tree fecf5f0a03b4c6aa1bc54c1ee269afab62fb4061
parent 15388b16779e70f152184404ad2ac1a08bba5f9b
author Joel Stanley <joel@jms.id.au> 1552914100 +1030
committer Brad Bishop <bradleyb@fuzziesquirrel.com> 1554744624 -0400

linux-nuvoton: Move to Linux 5.0

[Commit message from original kernel bump. We've since moved to 5.0.6
which contains more patches, and importantly a build fix]

Out of tree patches include 96 files changed, 18067 insertions and 144
deletions (most lines coming from Nuvoton patches, with the Nuvoton
device trees dominating).

Alexander Amelkin (1):
      mtd: spi-nor: fix options for mx66l51235f

Andrew Jeffery (8):
      dt-bindings: hwmon: pmbus: Add Maxim MAX31785 documentation
      pmbus (max31785): Add support for devicetree configuration
      pmbus (core): One-shot retries for failure to set page
      pmbus (core): Use driver callbacks in pmbus_get_fan_rate()
      pmbus (max31785): Wrap all I2C accessors in one-shot failure handlers
      soc: aspeed: Miscellaneous control interfaces
      ARM: dts: aspeed: witherspoon: Update max31785 node
      ARM: dts: aspeed-g5: Expose VGA and SuperIO scratch registers

Benjamin Herrenschmidt (1):
      ARM: dts: aspeed: Add Power9 and Power9 CFAM description

Christopher Bostic (1):
      iio: dps310: Temperature measurement errata

Cyril Bur (1):
      misc: Add ASPEED mbox driver

Cédric Le Goater (7):
      mtd: spi-nor: aspeed: use command mode for reads
      mtd: spi-nor: aspeed: add support for SPI dual IO read mode
      mtd: spi-nor: aspeed: link controller with the ahb clock
      mtd: spi-nor: aspeed: optimize read mode
      mtd: spi-nor: aspeed: limit the maximum SPI frequency
      /dev/mem: add a devmem kernel parameter to activate the device
      ARM: dts: aspeed: Add "spi-max-frequency" property

Eddie James (1):
      hwmon: occ: Fix power sensor indexing

Jae Hyun Yoo (12):
      dt-bindings: Add a document of PECI subsystem
      Documentation: ioctl: Add ioctl numbers for PECI subsystem
      peci: Add support for PECI bus driver core
      dt-bindings: Add a document of PECI adapter driver for ASPEED AST24xx/25xx SoCs
      peci: Add a PECI adapter driver for Aspeed AST24xx/AST25xx
      dt-bindings: mfd: Add a document for PECI client MFD
      mfd: intel-peci-client: Add PECI client MFD driver
      Documentation: hwmon: Add documents for PECI hwmon client drivers
      hwmon: Add PECI cputemp driver
      hwmon: Add PECI dimmtemp driver
      Add maintainers for the PECI subsystem
      ARM: dts: aspeed: peci: Add PECI node

Joel Stanley (16):
      iio: Add driver for Infineon DPS310
      drm: Add ASPEED GFX driver
      drm: aspeed: Debugfs interface for GFX registers
      dt-bindings: gpu: Add ASPEED GFX bindings document
      rtc: Add ASPEED RTC driver
      dt-bindings: rtc: Add ASPEED description
      ARM: dts: aspeed-palmetto: Add i2c OCC hwmon node
      ARM: dts: aspeed-ast2500: Update flash layout
      ARM: dts: aspeed: Add LPC mailbox node
      ARM: dts: aspeed: Enable mbox
      ARM: dts: aspeed-g4: Expose SuperIO scratch registers
      ARM: dts: aspeed-g5: Add resets and clocks to GFX node
      ARM: dts: aspeed: Enable the GFX IP
      ARM: dts: aspeed: Add RTC node
      ARM: dts: aspeed: Rename flash-controller nodes
      ARM: config: aspeed: Update defconfigs

Lei YU (1):
      ARM: dts: palmetto: Fix flash_memory region

Mark Walton (1):
      ARM: dts: aspeed: Add #interrupt-cells property to gpio controllers

Tomer Maimon (16):
      dts: npcm7xx: Modify NPCM7xx device tree
      clk: nuvoton: add npcm750 clock function prototype initialization
      dt-binding: mtd: add NPCM FIU controller
      mtd: spi-nor: add NPCM FIU controller driver
      dt-bindings: i2c: npcm7xx: add binding for i2c controller
      i2c: npcm: driver for Poleg i2c controller
      dt-binding: bmc: Add NPCM7xx LPC BPC documentation
      misc: npcm7xx-lpc-bpc: add NPCM7xx BIOS post code driver
      dt-binding: bmc: add npcm7xx pci mailbox document
      misc: mbox: add npcm7xx pci mailbox driver
      dt-binding: net: document NPCM7xx EMC DT bindings
      net: npcm: add NPCM7xx Ethernet MAC controller
      dt-binding: iio: add NPCM ADC documentation
      iio: adc: add NPCM ADC driver
      ARM: npcm: add defconfig for Nuvoton NPCM7xx BMC
      ARM: dts: npcm7xx: Update device tree

Vijay Khemka (3):
      ARM: dts: aspeed: Add KCS support for LPC BMC
      ARM: dts: aspeed: tiogapass: Enable KCS
      ARM: dts: aspeed: tiogapass: Add sensors

(From meta-nuvoton rev: bfb9690ed2b6d15035ee904cb9c5f40b1ac32d16)

Change-Id: If20de6b8595a8e2426718030d63ddf209f0504cd
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
