tree bc32895b584bb21d751e2523ff4b9b1c4df391b9
parent 0ba51a6ca5b44ceb046f9341c45949bbea0357f9
author William A. Kennington III <wak@google.com> 1655417033 -0700
committer William A. Kennington III <wak@google.com> 1656704017 -0700

linux(5.15): Bump af80145..3dd947b

Brandon Wyman (2):
      hwmon: (pmbus) Add Vin unit off handling
      ARM: dts: aspeed: everest, rainier: Add power-ffs-sync-history GPIO

Christophe Leroy (1):
      eeprom: at25: Use DMA safe buffers

Cédric Le Goater (10):
      ARM: dts: aspeed: Adjust "reg" property of FMC/SPI controllers
      dt-bindings: spi: Add Aspeed SMC controllers device tree binding
      spi: spi-mem: Convert Aspeed SMC driver to spi-mem
      spi: aspeed: Add support for direct mapping
      spi: aspeed: Adjust direct mapping to device size
      spi: aspeed: Workaround AST2500 limitations
      spi: aspeed: Add support for the AST2400 SPI controller
      spi: aspeed: Calibrate read timings
      ARM: dts: aspeed: Enable Dual SPI RX transfers
      ARM: dts: aspeed: ast2600-evb: Enable Quad SPI RX tranfers

Dan Carpenter (1):
      hwmon: (nct6775) delete some extension lines

David Wang (7):
      udc: npcm: Add NPCM UDC driver
      misc: npcm7xx-jtag-master: Limit transfer size in spi mode
      mmc: npcm7xx: Add NPCM7xx eMMC and SD driver support
      peci: Sync with latest intel code
      mfd: intel-peci-client: Sync with latest intel code
      hwmon: peci: Sync with latest intel code
      driver : peci : modify gcr lookup

Denis Pauk (9):
      hwmon: (nct6775) Use superio_*() function pointers in sio_data.
      hwmon: (nct6775) Use nct6775_*() function pointers in nct6775_data.
      hwmon: (nct6775) Support access via Asus WMI
      hwmon: (nct6775) Add additional ASUS motherboards.
      hwmon: (nct6775) add ProArt X570-CREATOR WIFI.
      hwmon: (nct6775) add ROG STRIX B550-A/X570-I GAMING
      hwmon: (nct6775) Additional check for ChipID before ASUS WMI usage
      hwmon: (nct6775) add ASUS Pro B550M-C/PRIME B550M-A
      hwmon: (nct6775) add ASUS ROG STRIX Z390/Z490/X570-* / PRIME X570-P

Dmitry Baryshkov (1):
      hwmon: (nct6775) add PRIME B550-PLUS motherboard to whitelist

Dylan Hung (3):
      dt-bindings: net: add reset property for aspeed, ast2600-mdio binding
      net: mdio: add reset control for Aspeed MDIO
      ARM: dts: aspeed: add reset properties into MDIO nodes

Eddie James (18):
      spi: fsi: Implement a timeout for polling status
      leds: pca955x: Refactor with helper functions and renaming
      leds: pca955x: Use pointers to driver data rather than I2C client
      leds: pca955x: Optimize probe led selection
      leds: pca955x: Add HW blink support
      soc: aspeed: xdma: Add trace events
      fsi: occ: Fix checksum failure mode
      hwmon (occ): Retry for checksum failure
      fsi: occ: Prevent use after free
      leds: pca955x: Set blink duty cycle to fifty percent
      leds: Ensure hardware blinking turns off when requested
      iio: pressure: dps310: Refactor startup procedure
      iio: pressure: dps310: Reset chip if MEAS_CFG is corrupt
      iio: si7020: Remove reset in probe
      spi: fsi: Fix spurious timeout
      spi: core: Display return code when failing to transfer message
      i2c: core: Add mux root adapter operations
      iio: si7020: Lock root adapter to wait for reset

Graeme Gregory (1):
      ARM: dts: aspeed: Add Nuvia DC-SCM BMC

Guenter Roeck (1):
      hwmon: (nct6775) Fix crash in clear_caseopen

Howard Chiu (2):
      ARM: dts: aspeed: ast2600-evb: Enable RX delay on MAC0/MAC1
      ARM: dts: aspeed: ast2600-evb: Enable video engine

Jae Hyun Yoo (5):
      ARM: dts: aspeed-g6: remove FWQSPID group in pinctrl dtsi
      pinctrl: pinctrl-aspeed-g6: remove FWQSPID group in pinctrl
      dt-bindings: pinctrl: aspeed-g6: remove FWQSPID group
      dt-bindings: pinctrl: aspeed-g6: add FWQSPI function/group
      ARM: dts: aspeed-g6: fix SPI1/SPI2 quad pin group

Jaghathiswari Rankappagounder Natarajan (2):
      drivers: misc: Character device driver for seven segment display
      drivers: misc: Platform driver for seven segment display support

Joel Stanley (12):
      Merge tag 'v5.15.30' into dev-5.15
      ARM: dts: aspeed: rainier: Remove SPI NOR controllers
      Merge tag 'v5.15.34' into dev-5.15
      Merge tag 'v5.15.35' into dev-5.15
      fsi: sbefifo: Add detailed debugging information
      Merge tag 'v5.15.36' into dev-5.15
      Merge tag 'v5.15.41' into dev-5.15
      net: ftgmac100: Disable hardware checksum on AST2600
      ARM: dts: aspeed: everest: Add SiLabs sensor
      iio: si7020: Revert "Remove reset in probe"
      Merge tag 'v5.15.43' into dev-5.15
      Merge tag 'v5.15.50' into dev-5.15

Johnny Huang (4):
      pinctrl: pinctrl-aspeed-g6: add FWQSPI function-group
      ARM: dts: aspeed-g6: add FWQSPI group in pinctrl dtsi
      pinctrl: pinctrl-aspeed-g6: add FWQSPI function-group
      ARM: dts: aspeed-g6: add FWQSPI group in pinctrl dtsi

Neal Liu (1):
      ARM: dts: aspeed: Add USB2.0 device controller node

Oleksandr Natalenko (1):
      hwmon: (nct6775) add Pro WS X570-ACE

Potin Lai (18):
      mtd: spi-nor: aspeed: Set the decoding size to at least 2MB for AST2600
      net: mdio: aspeed: move reg accessing part into separate functions
      net: mdio: aspeed: Introduce read write function for c22 and c45
      net: mdio: aspeed: Add c45 support
      hwmon: (adm1275) Allow setting sample averaging
      dt-bindings: hwmon: Add sample averaging properties for ADM1275
      ARM: dts: aspeed: bletchley: add sample averaging for ADM1278
      mtd: spi-nor: aspeed: set the decoding size to at least 2MB for AST2600
      ARM: dts: aspeed: bletchley: enable ehci0 device node
      ARM: dts: aspeed: bletchley: switch spi2 driver to aspeed-smc
      ARM: dts: aspeed: bletchley: Enable mdio0 bus
      ARM: dts: aspeed: bletchley: update gpio0 line names
      ARM: dts: aspeed: bletchley: add pca9536 node on each sled
      ARM: dts: aspeed: bletchley: add eeprom node on each sled
      ARM: dts: aspeed: bletchley: change LED sys_log_id to active low
      ARM: dts: aspeed: bletchley: disable GPIOV2 pull-down
      ARM: dts: aspeed: bletchley: bind presence-sledX pins via gpio-keys
      ARM: dts: aspeed: bletchley: update fusb302 nodes

Roger Quadros (1):
      usb: gadget: f_mass_storage: Make CD-ROM emulation work with Mac OS-X

Tao Ren (1):
      ARM: dts: aspeed-g4: Set spi-max-frequency for all flashes

Vikash Chandola (1):
      hwmon: (pmbus) Clear pmbus fault/warning bits after read

William A. Kennington III (9):
      i2c: npcm7xx: Sync with latest nuvoton code
      net: npcm: Sync with the latest nuvoton code
      hwmon: (npcm-750-pwm-fan) Sync code from nuvoton
      ARM: dts: nuvoton: Add more gpio definitions
      ARM: dts: nuvoton: Fix FIU reg definition
      ARM: dts: nuvoton: Fix GPIO pin names
      soc: aspeed: Import ESPI driver
      mux: Fix missing Kconfig
      Merge remote-tracking branch 'gbmc/gbmc-5.15' into HEAD

Zev Weiss (10):
      ARM: dts: aspeed: Add ASRock ROMED8HM3 BMC
      hwmon: (nct6775) mask out bank number in nct6775_wmi_read_value()
      hwmon: (nct6775) add support for TSI temperature registers
      hwmon: (nct6775) Convert register access to regmap API
      hwmon: (nct6775) Rearrange attr-group initialization
      hwmon: (nct6775) Add read-only mode
      hwmon: (nct6775) Convert S_I* permissions macros to octal
      hwmon: (nct6775) Split core and platform driver
      dt-bindings: hwmon: Add nuvoton,nct6775
      hwmon: (nct6775) Add i2c driver

Change-Id: Id980b5ba0051b03bea7f6611cebeb25cd3e9ce99
Signed-off-by: William A. Kennington III <wak@google.com>
