]> www.infradead.org Git - users/jedix/linux-maple.git/log
users/jedix/linux-maple.git
4 years agosoc: document merges
Arnd Bergmann [Tue, 13 Apr 2021 09:24:05 +0000 (11:24 +0200)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge branch 'arm/dt' into for-next
Arnd Bergmann [Tue, 13 Apr 2021 09:22:17 +0000 (11:22 +0200)]
Merge branch 'arm/dt' into for-next

* arm/dt: (27 commits)
  ARM: dts: at91: sama5d2/trivial: fix letter case for etm hex address
  arm64: dts: rockchip: move mmc aliases to board dts on rk3399
  arm64: dts: rockchip: move mmc aliases to board dts on rk3368
  arm64: dts: rockchip: move mmc aliases to board dts on rk3328
  arm64: dts: rockchip: move mmc aliases to board dts on rk3308
  arm64: dts: rockchip: move mmc aliases to board dts on px30
  ARM: dts: rockchip: move rv1108 mmcx aliases to board dts files
  ARM: dts: rockchip: move rk322x mmcx aliases to board dts files
  ARM: dts: rockchip: remove clock-names property from watchdog node in rv1108.dtsi
  ARM: dts: rockchip: add new watchdog compatible to rk322x.dtsi
  ARM: dts: rockchip: add new watchdog compatible to rv1108.dtsi
  arm64: dts: rockchip: add new watchdog compatible to rk3399.dtsi
  arm64: dts: rockchip: add new watchdog compatible to rk3328.dtsi
  arm64: dts: rockchip: add new watchdog compatible to rk3308.dtsi
  arm64: dts: rockchip: add new watchdog compatible to px30.dtsi
  arm64: dts: rockchip: enable dwc3 usb for A95X Z2
  arm64: dts: rockchip: add rk3328 dwc3 usb controller node
  rockchip: rk3399: Add support for FriendlyARM NanoPi R4S
  dt-bindings: Add doc for FriendlyARM NanoPi R4S
  arm64: dts: rockchip: add phandle to timer0 on rk3368
  ...

4 years agoMerge branch 'arm/drivers' into for-next
Arnd Bergmann [Tue, 13 Apr 2021 09:22:12 +0000 (11:22 +0200)]
Merge branch 'arm/drivers' into for-next

* arm/drivers:
  soc: fsl: enable acpi support in RCPM driver
  Revert "soc: fsl: qe: introduce qe_io{read,write}* wrappers"
  tty: serial: ucc_uart: replace qe_io{read,write}* wrappers by generic io{read,write}*
  soc: fsl: qe: replace qe_io{read,write}* wrappers by generic io{read,write}*
  soc: fsl: guts: fix comment syntax in file
  soc: fsl: guts: remove unneeded semicolon
  soc: fsl: qe: Use DEFINE_SPINLOCK() for spinlock
  soc: fsl: qbman: Delete useless kfree code
  soc: fsl: qbman: Ensure device cleanup is run for kexec
  firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)
  firmware: xilinx: Fix dereferencing freed memory

4 years agoMerge tag 'soc-fsl-next-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/leo...
Arnd Bergmann [Tue, 13 Apr 2021 09:06:03 +0000 (11:06 +0200)]
Merge tag 'soc-fsl-next-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/leo/linux into arm/drivers

NXP/FSL SoC driver updates for v5.13

- Add ACPI support for RCPM driver
- Use generic io{read,write} for QE drivers after performance optimized
  for PowerPC
- Fix QBMAN probe to cleanup HW states correctly for kexec
- Various cleanup and style fix for QBMAN/QE/GUTS drivers

* tag 'soc-fsl-next-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/leo/linux:
  soc: fsl: enable acpi support in RCPM driver
  Revert "soc: fsl: qe: introduce qe_io{read,write}* wrappers"
  tty: serial: ucc_uart: replace qe_io{read,write}* wrappers by generic io{read,write}*
  soc: fsl: qe: replace qe_io{read,write}* wrappers by generic io{read,write}*
  soc: fsl: guts: fix comment syntax in file
  soc: fsl: guts: remove unneeded semicolon
  soc: fsl: qe: Use DEFINE_SPINLOCK() for spinlock
  soc: fsl: qbman: Delete useless kfree code
  soc: fsl: qbman: Ensure device cleanup is run for kexec

Link: https://lore.kernel.org/r/20210409205719.27927-1-leoyang.li@nxp.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'zynqmp-soc-for-v5.13' of https://github.com/Xilinx/linux-xlnx into arm...
Arnd Bergmann [Tue, 13 Apr 2021 08:59:45 +0000 (10:59 +0200)]
Merge tag 'zynqmp-soc-for-v5.13' of https://github.com/Xilinx/linux-xlnx into arm/drivers

arm64: soc: ZynqMP SoC changes for v5.13

- Fix firmware removal path
- Cleanup eemi doc and *ops()

* tag 'zynqmp-soc-for-v5.13' of https://github.com/Xilinx/linux-xlnx:
  firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)
  firmware: xilinx: Fix dereferencing freed memory

Link: https://lore.kernel.org/r/a44f8e9f-cea7-57ef-c3bc-10f5f5e064fc@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'zynqmp-dt-for-v5.13' of https://github.com/Xilinx/linux-xlnx into arm/dt
Arnd Bergmann [Tue, 13 Apr 2021 08:56:58 +0000 (10:56 +0200)]
Merge tag 'zynqmp-dt-for-v5.13' of https://github.com/Xilinx/linux-xlnx into arm/dt

arm64: dts: ZynqMP DT changes for v5.13

- Add power-domains for DP
- Remove si5328 node without compatible string

* tag 'zynqmp-dt-for-v5.13' of https://github.com/Xilinx/linux-xlnx:
  arm64: dts: zynqmp: Remove si5328 device nodes
  arm64: dts: zynqmp: Add power domain for the DisplayPort DMA controller

Link: https://lore.kernel.org/r/e422fa9c-3e58-28b4-f6f0-65aa44254131@xilinx.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'v5.13-rockchip-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Tue, 13 Apr 2021 08:55:19 +0000 (10:55 +0200)]
Merge tag 'v5.13-rockchip-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

New board the NanoPi R4S, OPP adjustments on rk3399 (sync with vendor
and using ranged values to allow better compatibility with regulator
steps), gpu opps on px30, infrared receiver on rockpro64,
USB3 support on rk3328, MMC alias fixups, dt-compatible fixes.

* tag 'v5.13-rockchip-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: move mmc aliases to board dts on rk3399
  arm64: dts: rockchip: move mmc aliases to board dts on rk3368
  arm64: dts: rockchip: move mmc aliases to board dts on rk3328
  arm64: dts: rockchip: move mmc aliases to board dts on rk3308
  arm64: dts: rockchip: move mmc aliases to board dts on px30
  arm64: dts: rockchip: add new watchdog compatible to rk3399.dtsi
  arm64: dts: rockchip: add new watchdog compatible to rk3328.dtsi
  arm64: dts: rockchip: add new watchdog compatible to rk3308.dtsi
  arm64: dts: rockchip: add new watchdog compatible to px30.dtsi
  arm64: dts: rockchip: enable dwc3 usb for A95X Z2
  arm64: dts: rockchip: add rk3328 dwc3 usb controller node
  rockchip: rk3399: Add support for FriendlyARM NanoPi R4S
  dt-bindings: Add doc for FriendlyARM NanoPi R4S
  arm64: dts: rockchip: add phandle to timer0 on rk3368
  arm64: dts: rockchip: add infrared receiver node to rockpro64
  arm64: dts: rockchip: drop separate opp table on rk3399-puma
  arm64: dts: rockchip: used range'd gpu opps on rk3399
  arm64: dts: rockchip: synchronize rk3399 opps with vendor kernel
  arm64: dts: rockchip: Add gpu opp nodes to px30 dtsi

Link: https://lore.kernel.org/r/2191862.ElGaqSPkdT@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'v5.13-rockchip-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Tue, 13 Apr 2021 08:54:16 +0000 (10:54 +0200)]
Merge tag 'v5.13-rockchip-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt

MMC aliases fixups and some property/compatible cleanups.

* tag 'v5.13-rockchip-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: move rv1108 mmcx aliases to board dts files
  ARM: dts: rockchip: move rk322x mmcx aliases to board dts files
  ARM: dts: rockchip: remove clock-names property from watchdog node in rv1108.dtsi
  ARM: dts: rockchip: add new watchdog compatible to rk322x.dtsi
  ARM: dts: rockchip: add new watchdog compatible to rv1108.dtsi

Link: https://lore.kernel.org/r/4638723.31r3eYUQgx@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoARM: dts: at91: sama5d2/trivial: fix letter case for etm hex address
Nicolas Ferre [Thu, 8 Apr 2021 16:44:43 +0000 (18:44 +0200)]
ARM: dts: at91: sama5d2/trivial: fix letter case for etm hex address

Fix the etm node hex address to lower case for matching regexp
specification and removing the additional warning that looks like:

arch/arm/boot/dts/at91-sama5d2_ptc_ek.dt.yaml: /: 'etm@73C000' does not
match any of the regexes: '@(0|[1-9a-f][0-9a-f]*)$', '^[^@]+$',
'pinctrl-[0-9]+'

Reported-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoarm64: dts: rockchip: move mmc aliases to board dts on rk3399
Heiko Stuebner [Wed, 24 Mar 2021 12:22:35 +0000 (13:22 +0100)]
arm64: dts: rockchip: move mmc aliases to board dts on rk3399

As suggested by Arnd Bergmann, the newly added mmc aliases
should be board specific, so move them from the general dtsi
to the individual boards.

Suggested-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Link: https://lore.kernel.org/r/20210324122235.1059292-7-heiko@sntech.de
4 years agoarm64: dts: rockchip: move mmc aliases to board dts on rk3368
Heiko Stuebner [Wed, 24 Mar 2021 12:22:34 +0000 (13:22 +0100)]
arm64: dts: rockchip: move mmc aliases to board dts on rk3368

As suggested by Arnd Bergmann, the newly added mmc aliases
should be board specific, so move them from the general dtsi
to the individual boards.

Suggested-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Link: https://lore.kernel.org/r/20210324122235.1059292-6-heiko@sntech.de
4 years agoarm64: dts: rockchip: move mmc aliases to board dts on rk3328
Heiko Stuebner [Wed, 24 Mar 2021 12:22:33 +0000 (13:22 +0100)]
arm64: dts: rockchip: move mmc aliases to board dts on rk3328

As suggested by Arnd Bergmann, the newly added mmc aliases
should be board specific, so move them from the general dtsi
to the individual boards.

Suggested-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Link: https://lore.kernel.org/r/20210324122235.1059292-5-heiko@sntech.de
4 years agoarm64: dts: rockchip: move mmc aliases to board dts on rk3308
Heiko Stuebner [Wed, 24 Mar 2021 12:22:32 +0000 (13:22 +0100)]
arm64: dts: rockchip: move mmc aliases to board dts on rk3308

As suggested by Arnd Bergmann, the newly added mmc aliases
should be board specific, so move them from the general dtsi
to the individual boards.

Suggested-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Link: https://lore.kernel.org/r/20210324122235.1059292-4-heiko@sntech.de
4 years agoarm64: dts: rockchip: move mmc aliases to board dts on px30
Heiko Stuebner [Wed, 24 Mar 2021 12:22:31 +0000 (13:22 +0100)]
arm64: dts: rockchip: move mmc aliases to board dts on px30

As suggested by Arnd Bergmann, the newly added mmc aliases
should be board specific, so move them from the general dtsi
to the individual boards.

For the Engicam-boards this means a split as the core
boards contains the emmc while the commit baseboard handles
sdmmc and sdio.

Suggested-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Link: https://lore.kernel.org/r/20210324122235.1059292-3-heiko@sntech.de
4 years agoARM: dts: rockchip: move rv1108 mmcx aliases to board dts files
Heiko Stuebner [Wed, 24 Mar 2021 12:22:30 +0000 (13:22 +0100)]
ARM: dts: rockchip: move rv1108 mmcx aliases to board dts files

As suggested by Arnd Bergmann, mmc-aliases are supposed to be
board-specific, so move the newly added general aliases to
the board-level on rv1108-based boards.

Suggested-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Link: https://lore.kernel.org/r/20210324122235.1059292-2-heiko@sntech.de
4 years agoARM: dts: rockchip: move rk322x mmcx aliases to board dts files
Heiko Stuebner [Wed, 24 Mar 2021 12:22:29 +0000 (13:22 +0100)]
ARM: dts: rockchip: move rk322x mmcx aliases to board dts files

As suggested by Arnd Bergmann, mmc-aliases are supposed to be
board-specific, so move the newly added general aliases to
the board-level on rk322x-based boards.

Suggested-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Heiko Stuebner <heiko.stuebner@theobroma-systems.com>
Link: https://lore.kernel.org/r/20210324122235.1059292-1-heiko@sntech.de
4 years agosoc: document merges
Arnd Bergmann [Fri, 9 Apr 2021 19:56:48 +0000 (21:56 +0200)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge branch 'arm/soc' into for-next
Arnd Bergmann [Fri, 9 Apr 2021 19:55:43 +0000 (21:55 +0200)]
Merge branch 'arm/soc' into for-next

* arm/soc:
  MAINTAINERS: Update ARM/UniPhier SoCs maintainers and status
  mailmap: Update email address for Nicolas Saenz
  MAINTAINERS: Update BCM2711/BCM2335 maintainer's mail

4 years agoMerge branch 'arm/drivers' into for-next
Arnd Bergmann [Fri, 9 Apr 2021 19:55:36 +0000 (21:55 +0200)]
Merge branch 'arm/drivers' into for-next

* arm/drivers:
  clk: socfpga: fix iomem pointer cast on 64-bit
  soc: qcom: mdt_loader: Detect truncated read of segments
  soc: qcom: mdt_loader: Validate that p_filesz < p_memsz
  soc: qcom: pdr: Fix error return code in pdr_register_listener
  firmware: qcom_scm: Fix kernel-doc function names to match
  firmware: qcom_scm: Suppress sysfs bind attributes
  firmware: qcom_scm: Workaround lack of "is available" call on SC7180
  firmware: qcom_scm: Reduce locking section for __get_convention()
  firmware: qcom_scm: Make __qcom_scm_is_call_available() return bool
  soc: qcom: wcnss_ctrl: Allow reading firmware-name from DT
  soc: qcom: wcnss_ctrl: Introduce local variable "dev"
  dt-bindings: soc: qcom: wcnss: Add firmware-name property
  soc: qcom: address kernel-doc warnings
  MAINTAINERS: add another entry for ARM/QUALCOMM SUPPORT

4 years agoMerge branch 'arm/dt' into for-next
Arnd Bergmann [Fri, 9 Apr 2021 19:55:28 +0000 (21:55 +0200)]
Merge branch 'arm/dt' into for-next

* arm/dt: (33 commits)
  arm64: dts: qcom: update usb qmp phy clock-cells property
  arm64: dts: qcom: msm8916: Add GICv2 hypervisor registers/interrupt
  arm64: dts: meson: add GPIO line names to ODROID N2/N2+
  arm64: dts: meson: add saradc node to ODROID N2/N2+
  arm64: dts: meson: remove extra tab from ODROID N2/N2+ ext_mdio node
  ARM: dts: qcom: msm8974-klte: Add bluetooth support
  ARM: dts: qcom: msm8974: add blsp2_uart8
  arm64: dts: sdm845-db845c: make firmware filenames follow linux-firmware
  arm64: dts: qcom: sdm845-xiaomi-beryllium: Add DSI and panel bits
  arm64: dts: qcom: sc7280: Add Coresight support
  arm64: dts: qcom: sc7280: Add AOSS QMP node
  arm64: dts: qcom: sc7280: Add IPCC for SC7280 SoC
  arm64: dts: qcom: sc7280: Add device tree node for LLCC
  arm64: dts: qcom: Add support for OnePlus 5/5T
  arm64: dts: qcom: msm8998: Disable MSS remoteproc by default
  arm64: dts: qcom: Move rmtfs memory region
  arm64: dts: qcom: Add sound node for sc7180-trogdor-coachz
  arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver
  arm64: dts: qcom: use dp_phy to provide clocks to dispcc
  arm64: dts: qcom: sm8250: switch usb1 qmp phy to USB3+DP mode
  ...

4 years agoMerge tag 'arm-soc/for-5.13/maintainers' of https://github.com/Broadcom/stblinux...
Arnd Bergmann [Fri, 9 Apr 2021 19:48:03 +0000 (21:48 +0200)]
Merge tag 'arm-soc/for-5.13/maintainers' of https://github.com/Broadcom/stblinux into arm/soc

This pull request contains Broadcom SoC MAINTAINERS file entries and
.mailmap updates for 5.13, please pull the following:

- Nicolas updates his maintainer email to a kernel.org address for
  continuity

* tag 'arm-soc/for-5.13/maintainers' of https://github.com/Broadcom/stblinux:
  mailmap: Update email address for Nicolas Saenz
  MAINTAINERS: Update BCM2711/BCM2335 maintainer's mail

Link: https://lore.kernel.org/r/20210409175018.3051283-1-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMAINTAINERS: Update ARM/UniPhier SoCs maintainers and status
Kunihiko Hayashi [Fri, 9 Apr 2021 16:36:11 +0000 (01:36 +0900)]
MAINTAINERS: Update ARM/UniPhier SoCs maintainers and status

Mark the UniPhier platform maintained and Masami Hiramatsu and
Kunihiko Hayashi are taking over maintainership of the UniPhier platform.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Link: https://lore.kernel.org/r/1617986171-20346-1-git-send-email-hayashi.kunihiko@socionext.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'qcom-drivers-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Fri, 9 Apr 2021 19:46:14 +0000 (21:46 +0200)]
Merge tag 'qcom-drivers-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/drivers

More Qualcomm driver updates for 5.13

This improves the Qualcomm SCM driver logic related to detecting the
calling convention, in particular on SC7180, and fixes a few small
issues in the same.

It introduces additonal sanity checks of the size of loaded segments in
the MDT loader and adds a missing error in the return path of
pdr_register_listener().

It makes it possible to specify the OEM specific firmware path in the
wcn36xx control (and WiFi) driver.

Lastly it adds a missing path specifier in the MAINTAINERS' entry and
fixes a bunch of kerneldoc issues in various drivers.

* tag 'qcom-drivers-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  soc: qcom: mdt_loader: Detect truncated read of segments
  soc: qcom: mdt_loader: Validate that p_filesz < p_memsz
  soc: qcom: pdr: Fix error return code in pdr_register_listener
  firmware: qcom_scm: Fix kernel-doc function names to match
  firmware: qcom_scm: Suppress sysfs bind attributes
  firmware: qcom_scm: Workaround lack of "is available" call on SC7180
  firmware: qcom_scm: Reduce locking section for __get_convention()
  firmware: qcom_scm: Make __qcom_scm_is_call_available() return bool
  soc: qcom: wcnss_ctrl: Allow reading firmware-name from DT
  soc: qcom: wcnss_ctrl: Introduce local variable "dev"
  dt-bindings: soc: qcom: wcnss: Add firmware-name property
  soc: qcom: address kernel-doc warnings
  MAINTAINERS: add another entry for ARM/QUALCOMM SUPPORT

Link: https://lore.kernel.org/r/20210409162001.775851-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman...
Arnd Bergmann [Fri, 9 Apr 2021 19:43:47 +0000 (21:43 +0200)]
Merge tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

arm64: dts: amlogic: updates for v5.13 (round 2)
- updates/cleanups for Hardkernel Odroid N2/N2+

* tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson: add GPIO line names to ODROID N2/N2+
  arm64: dts: meson: add saradc node to ODROID N2/N2+
  arm64: dts: meson: remove extra tab from ODROID N2/N2+ ext_mdio node

Link: https://lore.kernel.org/r/7htuofgwaz.fsf@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'qcom-arm64-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Fri, 9 Apr 2021 19:42:05 +0000 (21:42 +0200)]
Merge tag 'qcom-arm64-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

More Qualcomm ARM64 DT updates for 5.13

This adds RPMh regulators, coresight, AOSS qmp, ipcc, llcc for the
SC7280. It adds interconnect, PRNG and thermal pieces to SM8350. It
specifies the now required clocks for the SDM845 gcc, corrects the
firmware-name for adsp and cdsp on the db845c and defines DSI and panel
bits for Xiaomi Pocophone F1.

SM8150 gains iommu settings and the remaining I2C controllers and SM8250
gains Venus and the QMP PHY is updated to include the DP portion.

It adds the MSM8998 based OnePlus 5/5T device and enables sound support
on the Trogdor device family.

Lastly it adds the GIC hypervisor registers & interrupt for when Linux
is booted in EL2 on MSM8916.

* tag 'qcom-arm64-for-5.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (25 commits)
  arm64: dts: qcom: update usb qmp phy clock-cells property
  arm64: dts: qcom: msm8916: Add GICv2 hypervisor registers/interrupt
  arm64: dts: sdm845-db845c: make firmware filenames follow linux-firmware
  arm64: dts: qcom: sdm845-xiaomi-beryllium: Add DSI and panel bits
  arm64: dts: qcom: sc7280: Add Coresight support
  arm64: dts: qcom: sc7280: Add AOSS QMP node
  arm64: dts: qcom: sc7280: Add IPCC for SC7280 SoC
  arm64: dts: qcom: sc7280: Add device tree node for LLCC
  arm64: dts: qcom: Add support for OnePlus 5/5T
  arm64: dts: qcom: msm8998: Disable MSS remoteproc by default
  arm64: dts: qcom: Move rmtfs memory region
  arm64: dts: qcom: Add sound node for sc7180-trogdor-coachz
  arm64: dts: qcom: sc7180-trogdor: Add lpass dai link for I2S driver
  arm64: dts: qcom: use dp_phy to provide clocks to dispcc
  arm64: dts: qcom: sm8250: switch usb1 qmp phy to USB3+DP mode
  arm64: dts: qcom: sm8250: Add venus DT node
  arm64: dts: qcom: sm8250: Add videocc DT node
  arm64: dts: qcom: sm8350: Add interconnects
  arm64: dts: qcom: sm8350: Add support for PRNG EE
  arm64: dts: qcom: sc7280: Add RPMh regulators for sc7280-idp
  ...

Link: https://lore.kernel.org/r/20210409163949.776530-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'qcom-dts-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom...
Arnd Bergmann [Fri, 9 Apr 2021 19:40:30 +0000 (21:40 +0200)]
Merge tag 'qcom-dts-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt

Qualcomm dts updates for v5.13

This adds Bluetooth support on the Samsung Galaxy S5, corrects the mount
matrix for the IMU on Nexus 5 and corrects the fuel gauge irq trigger
for the two devices.

* tag 'qcom-dts-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  ARM: dts: qcom: msm8974-klte: Add bluetooth support
  ARM: dts: qcom: msm8974: add blsp2_uart8
  ARM: dts: qcom: msm8974-samsung-klte: correct fuel gauge interrupt trigger level
  ARM: dts: qcom: msm8974-lge-nexus5: correct fuel gauge interrupt trigger level
  ARM: dts: qcom: msm8974-hammerhead: add mount matrix for IMU

Link: https://lore.kernel.org/r/20210409162359.776076-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agomailmap: Update email address for Nicolas Saenz
Nicolas Saenz Julienne [Fri, 9 Apr 2021 11:14:53 +0000 (13:14 +0200)]
mailmap: Update email address for Nicolas Saenz

Add my kernel.org address for old email address.

Signed-off-by: Nicolas Saenz Julienne <nsaenz@kernel.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
4 years agoMAINTAINERS: Update BCM2711/BCM2335 maintainer's mail
Nicolas Saenz Julienne [Fri, 9 Apr 2021 10:44:47 +0000 (12:44 +0200)]
MAINTAINERS: Update BCM2711/BCM2335 maintainer's mail

The @kernel.org e-mail address is likely to last longer than the current
one, so use it.

Signed-off-by: Nicolas Saenz Julienne <nsaenz@kernel.org>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
4 years agosoc: document merges
Arnd Bergmann [Fri, 9 Apr 2021 07:37:53 +0000 (09:37 +0200)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoARM: dts: clps711x: fix missing interrupt parent
Arnd Bergmann [Fri, 9 Apr 2021 07:35:08 +0000 (09:35 +0200)]
ARM: dts: clps711x: fix missing interrupt parent

The kernelci.org bot reports a build time regression:

arch/arm/boot/dts/ep7209.dtsi:187.17-192.4: Warning (interrupts_property): /keypad: Missing interrupt-parent

There is only one interrupt controller in this SoC, so I assume this
is the parent.

Fixes: 2bd86203acf3 ("ARM: dts: clps711x: Add keypad node")
Reported-by: kernelci.org bot <bot@kernelci.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoARM: dts: mvebu: fix SPI device node
Arnd Bergmann [Fri, 9 Apr 2021 07:29:39 +0000 (09:29 +0200)]
ARM: dts: mvebu: fix SPI device node

dtc warns about a mismatched address:

arch/arm/boot/dts/armada-385-atl-x530.dts:171.14-199.4: Warning (spi_bus_reg): /soc/spi@10680/spi-flash@0: SPI bus unit address format error, expected "1"

I assume the "reg" property is correct here, so adjust the unit address
accordingly.

Fixes: c6dfc019c239 ("ARM: dts: mvebu: Add device tree for ATL-x530 Board")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Reported-by: kernelci.org bot <bot@kernelci.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoclk: socfpga: fix iomem pointer cast on 64-bit
Krzysztof Kozlowski [Sun, 14 Mar 2021 11:07:09 +0000 (12:07 +0100)]
clk: socfpga: fix iomem pointer cast on 64-bit

Pointers should be cast with uintptr_t instead of integer.  This fixes
warning when compile testing on ARM64:

  drivers/clk/socfpga/clk-gate.c: In function â€˜socfpga_clk_recalc_rate’:
  drivers/clk/socfpga/clk-gate.c:102:7: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

Fixes: b7cec13f082f ("clk: socfpga: Look for the GPIO_DB_CLK by its offset")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Acked-by: Dinh Nguyen <dinguyen@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge branch 'arm/drivers' into for-next
Arnd Bergmann [Fri, 9 Apr 2021 07:16:10 +0000 (09:16 +0200)]
Merge branch 'arm/drivers' into for-next

* arm/drivers:
  soc: aspeed: Adapt to new LPC device tree layout
  pinctrl: aspeed-g5: Adapt to new LPC device tree layout
  ipmi: kcs: aspeed: Adapt to new LPC DTS layout
  ARM: dts: Remove LPC BMC and Host partitions
  dt-bindings: aspeed-lpc: Remove LPC partitioning

4 years agoMerge branch 'arm/dt' into for-next
Arnd Bergmann [Fri, 9 Apr 2021 07:15:59 +0000 (09:15 +0200)]
Merge branch 'arm/dt' into for-next

* arm/dt: (21 commits)
  ARM: dts: nuvoton: Add Quanta GBS BMC Device Tree
  ARM: dts: aspeed: mihawk: Add GPIO line names
  ARM: dts: aspeed: Add Rainier 1S4U machine
  ARM: dts: aspeed: everest: Add size/address cells
  ARM: dts: aspeed: everest: Enable fan watchdog
  ARM: dts: aspeed: everest: Add RTC
  ARM: dts: aspeed: everest: GPIOs support
  ARM: dts: aspeed: everest: Add UCD90320 power sequencer
  ARM: dts: aspeed: everest: Add power supply i2c devices
  ARM: dts: aspeed: everest: Add pca9552 fan presence
  ARM: dts: aspeed: everest: Add FSI CFAMs and re-number engines
  ARM: dts: aspeed: everest: Add max31785 fan controller device
  ARM: dts: aspeed: everest: Add I2C components
  ARM: dts: aspeed: rainier 4U: Fix fan configuration
  ARM: dts: aspeed: rainier: Add missing fan nodes
  ARM: dts: aspeed: rainier: Enable fan watchdog
  ARM: dts: aspeed: rainier: Add presence GPIOs
  ARM: dts: aspeed: rainier: Add additional processor CFAMs
  ARM: dts: aspeed: rainier: Add gpio-keys-polled for fans
  ARM: dts: aspeed: rainier: Add directly controlled LEDs
  ...

4 years agoMerge branch 'arm/newsoc' into for-next
Arnd Bergmann [Fri, 9 Apr 2021 07:15:54 +0000 (09:15 +0200)]
Merge branch 'arm/newsoc' into for-next

* arm/newsoc:
  ARM: config: Add WPCM to multi v5
  MAINTAINERS: Add entry for Nuvoton WPCM450
  ARM: dts: Add devicetree for Supermicro X9SCi-LN4F based on WPCM450
  ARM: dts: Add devicetree for Nuvoton WPCM450 BMC chip
  watchdog: npcm: Add support for WPCM450
  ARM: npcm: Introduce Nuvoton WPCM450 SoC
  dt-bindings: watchdog: npcm: Add nuvoton,wpcm450-wdt
  dt-bindings: arm: npcm: Add nuvoton,wpcm450 compatible string
  dt-bindings: vendor-prefixes: Add Supermicro
  ARM: dts: Add board-specific compatible string to npcm750-evb devicetree
  dt-bindings: arm: Convert nuvoton,npcm750 binding to YAML

4 years agoMerge branch 'arm/apple-m1' into for-next
Arnd Bergmann [Fri, 9 Apr 2021 07:15:49 +0000 (09:15 +0200)]
Merge branch 'arm/apple-m1' into for-next

* arm/apple-m1:
  asm-generic/io.h: Unbork ioremap_np() declaration

4 years agoMerge tag 'bmc-5.13-wpcm450' of git://git.kernel.org/pub/scm/linux/kernel/git/joel...
Arnd Bergmann [Fri, 9 Apr 2021 07:02:55 +0000 (09:02 +0200)]
Merge tag 'bmc-5.13-wpcm450' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into arm/newsoc

Nuvoton WPCM450 BMC SoC

This adds basic support for the Nuvoton WPCM450 BMC SoC. It's an older
SoC but still commonly found on eBay, mostly in Supermicro X9 server
boards.

Third-party documentation is available at: https://github.com/neuschaefer/wpcm450/wiki

The code has been contributed by Jonathan Neuschäfer who has also
stepped forward to maintain the soc.

* tag 'bmc-5.13-wpcm450' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc:
  ARM: config: Add WPCM to multi v5
  MAINTAINERS: Add entry for Nuvoton WPCM450
  ARM: dts: Add devicetree for Supermicro X9SCi-LN4F based on WPCM450
  ARM: dts: Add devicetree for Nuvoton WPCM450 BMC chip
  watchdog: npcm: Add support for WPCM450
  ARM: npcm: Introduce Nuvoton WPCM450 SoC
  dt-bindings: watchdog: npcm: Add nuvoton,wpcm450-wdt
  dt-bindings: arm: npcm: Add nuvoton,wpcm450 compatible string
  dt-bindings: vendor-prefixes: Add Supermicro
  ARM: dts: Add board-specific compatible string to npcm750-evb devicetree
  dt-bindings: arm: Convert nuvoton,npcm750 binding to YAML

Link: https://lore.kernel.org/r/CACPK8Xdj20TcJckH8fx757ACa4hT4j3bZEctT0Przjv8XJd7KA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'aspeed-5.13-lpc' of git://git.kernel.org/pub/scm/linux/kernel/git/joel...
Arnd Bergmann [Fri, 9 Apr 2021 07:00:58 +0000 (09:00 +0200)]
Merge tag 'aspeed-5.13-lpc' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into arm/drivers

ASPEED LPC updates for 5.13

These patches fix the ASPEED LPC bindings and LPC-related device drivers
so in the future the KCS driver can properly use the hardware.

* tag 'aspeed-5.13-lpc' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc:
  soc: aspeed: Adapt to new LPC device tree layout
  pinctrl: aspeed-g5: Adapt to new LPC device tree layout
  ipmi: kcs: aspeed: Adapt to new LPC DTS layout
  ARM: dts: Remove LPC BMC and Host partitions
  dt-bindings: aspeed-lpc: Remove LPC partitioning

Link: https://lore.kernel.org/r/CACPK8Xcb12LsVr7CUaXXjQskKbVjb7x+jgueG1Hik-kBPWtDSg@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'bmc-5.13-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Fri, 9 Apr 2021 06:57:48 +0000 (08:57 +0200)]
Merge tag 'bmc-5.13-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into arm/dt

BMC device tree updates for 5.13

The ASPEED and Nuvoton pull request now comes as a combined BMC pull
request.

 - New machines

  * ASRock E3C246D4I, an AST2500 BMC for an Xeon E-2100/E-2200 mini-ITX
    system
  * Quanta GBS, an NPCM730 BMC for an x86 server

 - Power10 BMC updates for Everest and Rainier

 - GPIO line names for Mihawk

* tag 'bmc-5.13-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc: (21 commits)
  ARM: dts: nuvoton: Add Quanta GBS BMC Device Tree
  ARM: dts: aspeed: mihawk: Add GPIO line names
  ARM: dts: aspeed: Add Rainier 1S4U machine
  ARM: dts: aspeed: everest: Add size/address cells
  ARM: dts: aspeed: everest: Enable fan watchdog
  ARM: dts: aspeed: everest: Add RTC
  ARM: dts: aspeed: everest: GPIOs support
  ARM: dts: aspeed: everest: Add UCD90320 power sequencer
  ARM: dts: aspeed: everest: Add power supply i2c devices
  ARM: dts: aspeed: everest: Add pca9552 fan presence
  ARM: dts: aspeed: everest: Add FSI CFAMs and re-number engines
  ARM: dts: aspeed: everest: Add max31785 fan controller device
  ARM: dts: aspeed: everest: Add I2C components
  ARM: dts: aspeed: rainier 4U: Fix fan configuration
  ARM: dts: aspeed: rainier: Add missing fan nodes
  ARM: dts: aspeed: rainier: Enable fan watchdog
  ARM: dts: aspeed: rainier: Add presence GPIOs
  ARM: dts: aspeed: rainier: Add additional processor CFAMs
  ARM: dts: aspeed: rainier: Add gpio-keys-polled for fans
  ARM: dts: aspeed: rainier: Add directly controlled LEDs
  ...

Link: https://lore.kernel.org/r/CACPK8Xe-KV5BeQwOH6NKC1++FCVqwwNCGBh7hEbBORfrmxfTtQ@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoasm-generic/io.h: Unbork ioremap_np() declaration
Hector Martin [Fri, 9 Apr 2021 05:20:38 +0000 (14:20 +0900)]
asm-generic/io.h: Unbork ioremap_np() declaration

It accidentally slipped into the #ifdef for ioremap_uc().

Signed-off-by: Hector Martin <marcan@marcan.st>
Link: https://lore.kernel.org/r/20210409052038.58925-1-marcan@marcan.st'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoARM: config: Add WPCM to multi v5
Joel Stanley [Fri, 9 Apr 2021 05:45:11 +0000 (15:15 +0930)]
ARM: config: Add WPCM to multi v5

This is a newly added ARM926 platform that is not covered by any other
defconfigs.

Signed-off-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210409054511.1534181-1-joel@jms.id.au
4 years agoMAINTAINERS: Add entry for Nuvoton WPCM450
Jonathan Neuschäfer [Tue, 6 Apr 2021 12:09:21 +0000 (14:09 +0200)]
MAINTAINERS: Add entry for Nuvoton WPCM450

I am adding myself as the maintainer of WPCM450-related code.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-11-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agoARM: dts: Add devicetree for Supermicro X9SCi-LN4F based on WPCM450
Jonathan Neuschäfer [Tue, 6 Apr 2021 12:09:20 +0000 (14:09 +0200)]
ARM: dts: Add devicetree for Supermicro X9SCi-LN4F based on WPCM450

The Supermicro X9SCi-LN4F is a server mainboard featuring the WPCM450
BMC. This patch adds a minimal devicetree for Linux running on the BMC.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-10-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agoARM: dts: Add devicetree for Nuvoton WPCM450 BMC chip
Jonathan Neuschäfer [Tue, 6 Apr 2021 12:09:19 +0000 (14:09 +0200)]
ARM: dts: Add devicetree for Nuvoton WPCM450 BMC chip

The WPCM450 is an older BMC SoC in the Nuvoton NPCM family, originally
marketed as Winbond WPCM450.

This patch adds a devicetree with basic functionality.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-9-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agowatchdog: npcm: Add support for WPCM450
Jonathan Neuschäfer [Tue, 6 Apr 2021 12:09:18 +0000 (14:09 +0200)]
watchdog: npcm: Add support for WPCM450

Add a compatible string for WPCM450, which has essentially the same
watchdog mechanism as NPCM750.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Acked-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-8-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agoARM: npcm: Introduce Nuvoton WPCM450 SoC
Jonathan Neuschäfer [Tue, 6 Apr 2021 12:09:16 +0000 (14:09 +0200)]
ARM: npcm: Introduce Nuvoton WPCM450 SoC

The WPCM450 is an older BMC SoC in the Nuvoton NPCM family, originally
marketed as Winbond WPCM450.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-6-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agodt-bindings: watchdog: npcm: Add nuvoton,wpcm450-wdt
Jonathan Neuschäfer [Tue, 6 Apr 2021 12:09:15 +0000 (14:09 +0200)]
dt-bindings: watchdog: npcm: Add nuvoton,wpcm450-wdt

Add a compatible string for the WPCM450 SoC, which has the same watchdog
timer.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-5-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agodt-bindings: arm: npcm: Add nuvoton,wpcm450 compatible string
Jonathan Neuschäfer [Tue, 6 Apr 2021 12:09:13 +0000 (14:09 +0200)]
dt-bindings: arm: npcm: Add nuvoton,wpcm450 compatible string

The WPCM450 is an older BMC SoC in the Nuvoton NPCM family, originally
marketed as Winbond WPCM450.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-3-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agodt-bindings: vendor-prefixes: Add Supermicro
Jonathan Neuschäfer [Tue, 6 Apr 2021 12:09:12 +0000 (14:09 +0200)]
dt-bindings: vendor-prefixes: Add Supermicro

Super Micro Computer, Inc. (https://www.supermicro.com/en/), commonly
known as Supermicro, is a manufacturer of server hardware.

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210406120921.2484986-2-j.neuschaefer@gmx.net
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agosoc: aspeed: Adapt to new LPC device tree layout
Chia-Wei, Wang [Fri, 19 Mar 2021 06:27:36 +0000 (16:57 +1030)]
soc: aspeed: Adapt to new LPC device tree layout

Add check against LPC device v2 compatible string to
ensure that the fixed device tree layout is adopted.
The LPC register offsets are also fixed accordingly.

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210319062752.145730-5-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agopinctrl: aspeed-g5: Adapt to new LPC device tree layout
Chia-Wei, Wang [Fri, 19 Mar 2021 06:27:35 +0000 (16:57 +1030)]
pinctrl: aspeed-g5: Adapt to new LPC device tree layout

Add check against LPC device v2 compatible string to
ensure that the fixed device tree layout is adopted.
The LPC register offsets are also fixed accordingly.

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210319062752.145730-4-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agoipmi: kcs: aspeed: Adapt to new LPC DTS layout
Chia-Wei, Wang [Fri, 19 Mar 2021 06:27:34 +0000 (16:57 +1030)]
ipmi: kcs: aspeed: Adapt to new LPC DTS layout

Add check against LPC device v2 compatible string to
ensure that the fixed device tree layout is adopted.
The LPC register offsets are also fixed accordingly.

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Acked-by: Haiyue Wang <haiyue.wang@linux.intel.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210319062752.145730-3-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agoARM: dts: Remove LPC BMC and Host partitions
Chia-Wei, Wang [Fri, 19 Mar 2021 06:27:33 +0000 (16:57 +1030)]
ARM: dts: Remove LPC BMC and Host partitions

The LPC controller has no concept of the BMC and the Host partitions.

A concrete instance is that the HICRB[5:4] are for the I/O port address
configurtaion of KCS channel 1/2. However, the KCS driver cannot access
HICRB for channel 1/2 initialization via syscon regmap interface due to
the parition boundary. (i.e. offset 80h)

In addition, for the HW design backward compatibility, a newly added HW
control bit could be located at any reserved one over the LPC addressing
space. Thereby, this patch removes the lpc-bmc and lpc-host child node
and thus the LPC partitioning.

Note that this change requires the synchronization between device tree
change and the driver change. To prevent the misuse of old devicetrees
with new drivers, or vice versa, the v2 compatible strings are adopted
for the LPC device as listed:

"aspeed,ast2400-lpc-v2"
"aspeed,ast2500-lpc-v2"
"aspeed,ast2600-lpc-v2"

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Link: https://lore.kernel.org/r/20210319062752.145730-2-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agodt-bindings: aspeed-lpc: Remove LPC partitioning
Chia-Wei, Wang [Fri, 19 Mar 2021 06:27:32 +0000 (16:57 +1030)]
dt-bindings: aspeed-lpc: Remove LPC partitioning

The LPC controller has no concept of the BMC and the Host partitions.
This patch fixes the documentation by removing the description on LPC
partitions. The register offsets illustrated in the DTS node examples
are also fixed to adapt to the LPC DTS change.

Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com>
Reviewed-by: Andrew Jeffery <andrew@aj.id.au>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20210319062752.145730-1-andrew@aj.id.au
Signed-off-by: Joel Stanley <joel@jms.id.au>
4 years agosoc: fsl: enable acpi support in RCPM driver
Peng Ma [Thu, 8 Apr 2021 03:03:53 +0000 (11:03 +0800)]
soc: fsl: enable acpi support in RCPM driver

This patch enables ACPI support in RCPM driver.

Signed-off-by: Peng Ma <peng.ma@nxp.com>
Signed-off-by: Ran Wang <ran.wang_1@nxp.com>
Signed-off-by: Li Yang <leoyang.li@nxp.com>
4 years agosoc: document merges
Arnd Bergmann [Thu, 8 Apr 2021 20:18:33 +0000 (22:18 +0200)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge branch 'arm/soc' into for-next
Arnd Bergmann [Thu, 8 Apr 2021 20:16:49 +0000 (22:16 +0200)]
Merge branch 'arm/soc' into for-next

* arm/soc:
  ARM: exynos: correct kernel doc in platsmp
  ARM: hisi: use the correct HiSilicon copyright
  ARM: s3c: Use pwm_get() in favour of pwm_request() in RX1950
  ARM: OMAP1: fix incorrect kernel-doc comment syntax in file
  ARM: OMAP2+: fix incorrect kernel-doc comment syntax in file
  ARM: OMAP2+: Use DEFINE_SPINLOCK() for spinlock
  ARM: OMAP2+: use true and false for bool variable
  ARM: OMAP2+: add missing call to of_node_put()
  ARM: OMAP2+: Replace DEFINE_SIMPLE_ATTRIBUTE with DEFINE_DEBUGFS_ATTRIBUTE
  MAINTAINERS: use Krzysztof Kozlowski's Canonical address

4 years agoMerge branch 'arm/defconfig' into for-next
Arnd Bergmann [Thu, 8 Apr 2021 20:16:45 +0000 (22:16 +0200)]
Merge branch 'arm/defconfig' into for-next

* arm/defconfig:
  ARM: omap2plus_defconfig: Add AT25 EEPROM module
  ARM: omap2plus_defconfig: Enable Netfilter components as modules
  ARM: omap2plus_defconfig: Update for dropped simple-pm-bus
  arm64: defconfig: Enable Qualcomm SM8350 TLMM and GCC

4 years agoMerge branch 'arm/dt' into for-next
Arnd Bergmann [Thu, 8 Apr 2021 20:16:41 +0000 (22:16 +0200)]
Merge branch 'arm/dt' into for-next

* arm/dt: (73 commits)
  ARM: dts: owl-s500-roseapplepi: Add ATC2603C PMIC
  ARM: dts: mvebu: Add device tree for ATL-x530 Board
  ARM: dts: at91: sama5d2: add ETB and ETM unit name
  ARM: dts: at91: change the key code of the gpio key
  arm64: dts: meson: add initial device-tree for MeCool KIII Pro
  arm64: dts: meson: add initial device-tree for MeCool KII Pro
  dt-bindings: arm: amlogic: add MeCool KII/KIII Pro bindings
  ARM: dts: at91: Fix a typo
  arm64: dts: ti: k3-am64-main: Fix ospi compatible
  arm64: dts: ti: k3-j7200-mcu: Fix ospi compatible
  arm64: dts: ti: k3-j721e-mcu: Fix ospi compatible
  arm64: dts: amlogic: Assign a fixed index to mmc devices
  ARM: dts: am335x-boneblack.dts: unique gpio-line-names
  ARM: dts: exynos: Add front camera support to I9100
  arm64: dts: ti: k3-j7200: Add support for higher speed modes and update delay select values for MMCSD subsystems
  arm64: dts: ti: k3-j7200-common-proc-board: Disable unused gpio modules
  arm64: dts: ti: k3-j7200: Add gpio nodes
  arm64: dts: ti: k3-am642-evm/sk: Add IPC sub-mailbox nodes
  arm64: dts: ti: k3-am64-main: Add mailbox cluster nodes
  arm64: dts: ti: k3-am64-main: Add hwspinlock node
  ...

4 years agoMerge branch 'arm/apple-m1' into for-next
Arnd Bergmann [Thu, 8 Apr 2021 20:16:36 +0000 (22:16 +0200)]
Merge branch 'arm/apple-m1' into for-next

* arm/apple-m1: (79 commits)
  arm64: apple: Add initial Apple Mac mini (M1, 2020) devicetree
  dt-bindings: display: Add apple,simple-framebuffer
  arm64: Kconfig: Introduce CONFIG_ARCH_APPLE
  irqchip/apple-aic: Add support for the Apple Interrupt Controller
  dt-bindings: interrupt-controller: Add DT bindings for apple-aic
  arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h
  of/address: Add infrastructure to declare MMIO as non-posted
  asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np
  arm64: Implement ioremap_np() to map MMIO as nGnRnE
  docs: driver-api: device-io: Document ioremap() variants & access funcs
  docs: driver-api: device-io: Document I/O access functions
  asm-generic/io.h:  Add a non-posted variant of ioremap()
  arm64: arch_timer: Implement support for interrupt-names
  dt-bindings: timer: arm,arch_timer: Add interrupt-names support
  arm64: cputype: Add CPU implementor & types for the Apple M1 cores
  dt-bindings: arm: cpus: Add apple,firestorm & icestorm compatibles
  dt-bindings: arm: apple: Add bindings for Apple ARM platforms
  dt-bindings: vendor-prefixes: Add apple prefix
  arm64: irq: allow FIQs to be handled
  arm64: Always keep DAIF.[IF] in sync
  ...

4 years agoMerge branch 'arm/fixes' into for-next
Arnd Bergmann [Thu, 8 Apr 2021 20:16:30 +0000 (22:16 +0200)]
Merge branch 'arm/fixes' into for-next

* arm/fixes:
  ARM: OMAP2+: Fix uninitialized sr_inst
  ARM: dts: Fix swapped mmc order for omap3
  ARM: OMAP2+: Fix warning for omap_init_time_of()

4 years agoARM: dts: owl-s500-roseapplepi: Add ATC2603C PMIC
Cristian Ciocaltea [Thu, 8 Apr 2021 06:22:32 +0000 (11:52 +0530)]
ARM: dts: owl-s500-roseapplepi: Add ATC2603C PMIC

Add device tree node for ATC2603C PMIC and remove the 'fixed-3.1V'
dummy regulator used for the uSD supply.

Additionally, add 'SYSPWR' fixed regulator and provide cpu0 supply.

Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://lore.kernel.org/r/2e0a2931ae3757f016948e7c78e8e54afa325ae0.1615538629.git.cristian.ciocaltea@gmail.com
Link: https://lore.kernel.org/r/20210408062232.3575-1-mani@kernel.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'mvebu-dt-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement...
Arnd Bergmann [Thu, 8 Apr 2021 20:08:32 +0000 (22:08 +0200)]
Merge tag 'mvebu-dt-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into arm/dt

mvebu dt for 5.13 (part 1)

Add support for ATL-x530 Board (Armada 38x based)

* tag 'mvebu-dt-5.13-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: dts: mvebu: Add device tree for ATL-x530 Board

Link: https://lore.kernel.org/r/87v98xbzir.fsf@BL-laptop
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'omap-for-v5.13/defconfig-signed' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Thu, 8 Apr 2021 20:05:50 +0000 (22:05 +0200)]
Merge tag 'omap-for-v5.13/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/defconfig

Defconfig changes for omaps for v5.13

Update defconfig to have nefilter available as loadable modules
to make the defconfig more usable for networked devices. And we now
select SIMPLE_PM_BUS so it can be dropped. And some devices use
EEPROM_AT25 so let's add it as a loadable module.

* tag 'omap-for-v5.13/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: omap2plus_defconfig: Add AT25 EEPROM module
  ARM: omap2plus_defconfig: Enable Netfilter components as modules
  ARM: omap2plus_defconfig: Update for dropped simple-pm-bus

Link: https://lore.kernel.org/r/pull-1617703816-65652@atomide.com-3
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'qcom-arm64-defconfig-for-5.13' of git://git.kernel.org/pub/scm/linux/kerne...
Arnd Bergmann [Thu, 8 Apr 2021 20:04:21 +0000 (22:04 +0200)]
Merge tag 'qcom-arm64-defconfig-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/defconfig

Qualcomm ARM64 defconfig udpate for 5.13

This enables the SM8350 TLMM and GCC drivers, needed to boot the
platform.

* tag 'qcom-arm64-defconfig-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  arm64: defconfig: Enable Qualcomm SM8350 TLMM and GCC

Link: https://lore.kernel.org/r/20210404164841.712845-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'samsung-soc-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk...
Arnd Bergmann [Thu, 8 Apr 2021 20:02:11 +0000 (22:02 +0200)]
Merge tag 'samsung-soc-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/soc

Samsung mach/soc changes for v5.13

1. Update Krzysztof Kozlowski's email address in Maintainers.
2. Replace deprecated pwm_request() with pwm_get() in S3C24xx.
3. Correct kerneldoc.

* tag 'samsung-soc-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: exynos: correct kernel doc in platsmp
  ARM: s3c: Use pwm_get() in favour of pwm_request() in RX1950
  MAINTAINERS: use Krzysztof Kozlowski's Canonical address

Link: https://lore.kernel.org/r/20210407065828.7213-3-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'omap-for-v5.13/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 8 Apr 2021 19:56:11 +0000 (21:56 +0200)]
Merge tag 'omap-for-v5.13/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc

SoC changes for omaps for v5.13

Minor non-urgent fixes for issues found by robots and few typo fixes:

- Use DEFINE_DEBUGFS_ATTRIBUTE

- Add missing of_node_put()

- Use true and false for bool variable

- Use DEFINE_SPINLOCK

- Fix incorrect kerneldoc usage

* tag 'omap-for-v5.13/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP1: fix incorrect kernel-doc comment syntax in file
  ARM: OMAP2+: fix incorrect kernel-doc comment syntax in file
  ARM: OMAP2+: Use DEFINE_SPINLOCK() for spinlock
  ARM: OMAP2+: use true and false for bool variable
  ARM: OMAP2+: add missing call to of_node_put()
  ARM: OMAP2+: Replace DEFINE_SIMPLE_ATTRIBUTE with DEFINE_DEBUGFS_ATTRIBUTE

Link: https://lore.kernel.org/r/pull-1617703816-65652@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'hisi-armv7soc-for-5.13' of git://github.com/hisilicon/linux-hisi into...
Arnd Bergmann [Thu, 8 Apr 2021 19:54:57 +0000 (21:54 +0200)]
Merge tag 'hisi-armv7soc-for-5.13' of git://github.com/hisilicon/linux-hisi into arm/soc

HiSilicon ARMv7 SoC updates for v5.13

- Correct the HiSilicon copyright

* tag 'hisi-armv7soc-for-5.13' of git://github.com/hisilicon/linux-hisi:
  ARM: hisi: use the correct HiSilicon copyright

Link: https://lore.kernel.org/r/eba8b55e-0969-8ca2-eca3-7c471cb0ff6f@hisilicon.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'm1-soc-bringup-v5' of https://github.com/AsahiLinux/linux into arm/apple-m1
Arnd Bergmann [Thu, 8 Apr 2021 19:48:28 +0000 (21:48 +0200)]
Merge tag 'm1-soc-bringup-v5' of https://github.com/AsahiLinux/linux into arm/apple-m1

Apple M1 SoC platform bring-up

This series brings up initial support for the Apple M1 SoC, used in the
2020 Mac Mini, MacBook Pro, and MacBook Air models.

The following features are supported in this initial port:

- UART (samsung-style) with earlycon support
- Interrupts, including affinity and IPIs (Apple Interrupt Controller)
- SMP (through standard spin-table support)
- simplefb-based framebuffer
- Devicetree for the Mac Mini (should work for the others too at this
  stage)

== Merge notes ==

This tag is based on v5.12-rc3 and includes the following two
dependencies merged in:

* Tip of arm64/for-next/fiq: 3889ba70102e
  This is a hard (build) dependency that adds support for FIQ
  interrupts, which is required for this SoC and the included AIC
  irqchip driver. It is already merged in the arm64 tree.

* From tty/tty-next: 71b25f4df984
  This commit includes the Samsung UART changes that have already
  been merged into the tty tree. It is nominally a soft dependency,
  but if this series is merged first it would trigger devicetree
  validation failures as the DT included in it depends on bindings
  introduced in the tty tree.

  There was a merge conflict here. It has been resolved the same
  way gregkh resolved it in a later tty merge, and both tty-next
  and torvalds/master merge cleanly with this series at this time.

This series additionally depends on the nVHE changes in [1] to boot,
but we are letting those get merged through arm64.

[1] https://lore.kernel.org/linux-arm-kernel/20210408131010.1109027-1-maz@kernel.org/T/#u

== Testing notes ==

This has been tested on an Apple M1 Mac Mini booting to a framebuffer
and serial console, with SMP and KASLR, with an arm64 defconfig
(+ CONFIG_FB_SIMPLE for the fb). In addition, the AIC driver now supports
running in EL1, tested in UP mode only.

== About the hardware ==

These machines officially support booting unsigned/user-provided
XNU-like kernels, with a very different boot protocol and devicetree
format. We are developing an initial bootloader, m1n1 [1], to take care
of as many hardware peculiarities as possible and present a standard
Linux arm64 boot protocol and device tree. In the future, I expect that
production setups will add U-Boot and perhaps GRUB into the boot chain,
to make the boot process similar to other ARM64 platforms.

The machines expose their debug UART over USB Type C, triggered with
vendor-specific USB-PD commands. Currently, the easiest way to get a
serial console on these machines is to use a second M1 box and a simple
USB C cable [2]. You can also build a DIY interface using an Arduino, a
FUSB302 chip or board, and a 1.2V UART-TTL adapter [3]. In the coming
weeks we will be designing an open hardware project to provide
serial/debug connectivity to these machines (and, hopefully, also
support other UART-over-Type C setups from other vendors). Please
contact me privately if you are interested in getting an early prototype
version of one of these devices.

We also have WIP/not merged yet support for loading kernels and
interacting via dwc3 usb-gadget, which works with a standard C-C or C-A
cable and any Linux host.

A quickstart guide to booting Linux kernels on these machines is
available at [4], and we are documenting the hardware at [5].

[1] https://github.com/AsahiLinux/m1n1/
[2] https://github.com/AsahiLinux/macvdmtool/
[3] https://github.com/AsahiLinux/vdmtool/
[4] https://github.com/AsahiLinux/docs/wiki/Developer-Quickstart
[5] https://github.com/AsahiLinux/docs/wiki

== Project Blurb ==

Asahi Linux is an open community project dedicated to developing and
maintaining mainline support for Apple Silicon on Linux. Feel free to
drop by #asahi and #asahi-dev on freenode to chat with us, or check
our website for more information on the project:

https://asahilinux.org/

Signed-off-by: Hector Martin <marcan@marcan.st>
* tag 'm1-soc-bringup-v5' of https://github.com/AsahiLinux/linux:
  arm64: apple: Add initial Apple Mac mini (M1, 2020) devicetree
  dt-bindings: display: Add apple,simple-framebuffer
  arm64: Kconfig: Introduce CONFIG_ARCH_APPLE
  irqchip/apple-aic: Add support for the Apple Interrupt Controller
  dt-bindings: interrupt-controller: Add DT bindings for apple-aic
  arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h
  of/address: Add infrastructure to declare MMIO as non-posted
  asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np
  arm64: Implement ioremap_np() to map MMIO as nGnRnE
  docs: driver-api: device-io: Document ioremap() variants & access funcs
  docs: driver-api: device-io: Document I/O access functions
  asm-generic/io.h:  Add a non-posted variant of ioremap()
  arm64: arch_timer: Implement support for interrupt-names
  dt-bindings: timer: arm,arch_timer: Add interrupt-names support
  arm64: cputype: Add CPU implementor & types for the Apple M1 cores
  dt-bindings: arm: cpus: Add apple,firestorm & icestorm compatibles
  dt-bindings: arm: apple: Add bindings for Apple ARM platforms
  dt-bindings: vendor-prefixes: Add apple prefix

Link: https://lore.kernel.org/r/bdb18e9f-fcd7-1e31-2224-19c0e5090706@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge branch 'apple/m1-dependency' into arm/apple-m1
Arnd Bergmann [Thu, 8 Apr 2021 19:46:58 +0000 (21:46 +0200)]
Merge branch 'apple/m1-dependency' into arm/apple-m1

Pull in two dependency branches from the tty and arm64 trees
to make it possible to build all the remaining patches for
the Apple M1 series added next.

* apple/m1-dependency: (61 commits)
  arm64: irq: allow FIQs to be handled
  arm64: Always keep DAIF.[IF] in sync
  arm64: entry: factor irq triage logic into macros
  arm64: irq: rework root IRQ handler registration
  arm64: don't use GENERIC_IRQ_MULTI_HANDLER
  tty: serial: samsung_tty: Add earlycon support for Apple UARTs
  tty: serial: samsung_tty: Add support for Apple UARTs
  dt-bindings: serial: samsung: Add apple,s5l-uart compatible
  tty: serial: samsung_tty: Use devm_ioremap_resource
  tty: serial: samsung_tty: IRQ rework
  tty: serial: samsung_tty: Add s3c24xx_port_type
  tty: serial: samsung_tty: Separate S3C64XX ops structure
  tty: serial: samsung_tty: Add ucon_mask parameter
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'omap-for-v5.12/fixes-rc6-signed' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Thu, 8 Apr 2021 15:56:08 +0000 (17:56 +0200)]
Merge tag 'omap-for-v5.12/fixes-rc6-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/fixes

Fixes for omaps for v5.12-rc cycle

Fix swapped mmc device order also for omap3 that got changed with the
recent PROBE_PREFER_ASYNCHRONOUS changes. While eventually the aliases
should be board specific, all the mmc device instances are all there in
the SoC, and we do probe them by default so that PM runtime can idle the
devices if left enabled from the bootloader.

Also included are two compiler warning fixes.

* tag 'omap-for-v5.12/fixes-rc6-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Fix uninitialized sr_inst
  ARM: dts: Fix swapped mmc order for omap3
  ARM: OMAP2+: Fix warning for omap_init_time_of()
  ARM: OMAP4: PM: update ROM return address for OSWR and OFF
  ARM: OMAP4: Fix PMIC voltage domains for bionic
  ARM: dts: Fix moving mmc devices with aliases for omap4 & 5
  ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race

Link: https://lore.kernel.org/r/pull-1617702755-711306@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agosoc: document merges
Arnd Bergmann [Thu, 8 Apr 2021 15:54:28 +0000 (17:54 +0200)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge branch 'arm/drivers' into for-next
Arnd Bergmann [Thu, 8 Apr 2021 15:52:12 +0000 (17:52 +0200)]
Merge branch 'arm/drivers' into for-next

* arm/drivers: (71 commits)
  soc: mediatek: mmsys: Add support for MT8167 SoC
  dt-bindings: mediatek: mmsys: add mt8167 binding
  memory: pl353: fix mask of ECC page_size config register
  firmware: stratix10-svc: build only on 64-bit ARM
  dt-bindings: memory: tegra20: mc: Convert to schema
  dt-bindings: memory: tegra124: emc: Replace core regulator with power domain
  dt-bindings: memory: tegra30: emc: Replace core regulator with power domain
  dt-bindings: memory: tegra20: emc: Replace core regulator with power domain
  memory: tegra: Print out info-level once per driver probe
  memory: tegra20: Protect debug code with a lock
  memory: tegra20: Correct comment to MC_STAT registers writes
  memory: tegra20: Add debug statistics
  memory: tegra: replace DEFINE_SIMPLE_ATTRIBUTE with DEFINE_DEBUGFS_ATTRIBUTE
  memory: fsl-corenet-cf: Remove redundant dev_err call in ccf_probe()
  firmware: arm_scmi: Add dynamic scmi devices creation
  firmware: arm_scmi: Add protocol modularization support
  firmware: arm_scmi: Rename non devres notify_ops
  firmware: arm_scmi: Make notify_priv really private
  firmware: arm_scmi: Cleanup events registration transient code
  firmware: arm_scmi: Cleanup unused core transfer helper wrappers
  ...

4 years agoMerge branch 'arm/fixes' into for-next
Arnd Bergmann [Thu, 8 Apr 2021 15:52:01 +0000 (17:52 +0200)]
Merge branch 'arm/fixes' into for-next

* arm/fixes: (146 commits)
  arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference
  MAINTAINERS: Match on allwinner keyword
  MAINTAINERS: Add our new mailing-list
  arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems
  arm64: dts: allwinner: h6: Switch to macros for RSB clock/reset indices
  Linux 5.12-rc6
  firewire: nosy: Fix a use-after-free bug in nosy_ioctl()
  soc: litex: Remove duplicated header file inclusion
  io_uring: fix !CONFIG_BLOCK compilation failure
  block: remove the unused RQF_ALLOCED flag
  block: update a few comments in uapi/linux/blkpg.h
  io_uring: move reissue into regular IO path
  block: don't ignore REQ_NOWAIT for direct IO
  riscv: Make NUMA depend on MMU
  riscv: remove unneeded semicolon
  riscv,entry: fix misaligned base for excp_vect_table
  riscv: evaluate put_user() arg before enabling user access
  riscv: Drop const annotation for sp
  kbuild: lto: Merge module sections if and only if CONFIG_LTO_CLANG is enabled
  tracing: Fix stack trace event size
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'memory-controller-drv-tegra-5.13' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Thu, 8 Apr 2021 15:47:49 +0000 (17:47 +0200)]
Merge tag 'memory-controller-drv-tegra-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into arm/drivers

Memory controller drivers for v5.13 - Tegra SoC

1. Few cleanups.
2. Add debug statistics to Tegra20 memory controller.
3. Update bindings and convert to dtschema.  This update is not
   backwards compatible (ABI break) however the broken part was added
   recently (v5.11) and there are no users of it yet.

* tag 'memory-controller-drv-tegra-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  dt-bindings: memory: tegra20: mc: Convert to schema
  dt-bindings: memory: tegra124: emc: Replace core regulator with power domain
  dt-bindings: memory: tegra30: emc: Replace core regulator with power domain
  dt-bindings: memory: tegra20: emc: Replace core regulator with power domain
  memory: tegra: Print out info-level once per driver probe
  memory: tegra20: Protect debug code with a lock
  memory: tegra20: Correct comment to MC_STAT registers writes
  memory: tegra20: Add debug statistics
  memory: tegra: replace DEFINE_SIMPLE_ATTRIBUTE with DEFINE_DEBUGFS_ATTRIBUTE

Link: https://lore.kernel.org/r/20210407161333.73013-2-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'memory-controller-drv-5.13' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 8 Apr 2021 15:46:21 +0000 (17:46 +0200)]
Merge tag 'memory-controller-drv-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into arm/drivers

Memory controller drivers for v5.13

1. OMAP: fix unlikely but possible out of bounds read.
2. PL353: fix mask used in setting ECC page_size in config register.
3. Minor cleanup: Freescale Corenet.

* tag 'memory-controller-drv-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: pl353: fix mask of ECC page_size config register
  memory: fsl-corenet-cf: Remove redundant dev_err call in ccf_probe()
  memory: gpmc: fix out of bounds read and dereference on gpmc_cs[]

Link: https://lore.kernel.org/r/20210407161333.73013-1-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'v5.12-next-soc.2' of git://git.kernel.org/pub/scm/linux/kernel/git/matthia...
Arnd Bergmann [Thu, 8 Apr 2021 15:45:28 +0000 (17:45 +0200)]
Merge tag 'v5.12-next-soc.2' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/drivers

MT8167:
- add support for mmsys subsystem

* tag 'v5.12-next-soc.2' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  soc: mediatek: mmsys: Add support for MT8167 SoC
  dt-bindings: mediatek: mmsys: add mt8167 binding

Link: https://lore.kernel.org/r/14104322-3a6c-e8eb-cd21-a5343a81aa0f@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'socfpga_update_for_v5.13_part2' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Thu, 8 Apr 2021 15:44:14 +0000 (17:44 +0200)]
Merge tag 'socfpga_update_for_v5.13_part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/drivers

SoCFPGA updates for v5.13, part 2
- Only build Stratix10 Service Layer and RSU drivers on ARM64

* tag 'socfpga_update_for_v5.13_part2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  firmware: stratix10-svc: build only on 64-bit ARM

Link: https://lore.kernel.org/r/20210405155026.86309-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'qcom-drivers-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 8 Apr 2021 15:41:52 +0000 (17:41 +0200)]
Merge tag 'qcom-drivers-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/drivers

Qualcomm driver updates for 5.13

This introduces SC7280 and SM8350 support in the RPMH power-domain
driver, SC7280 support to the LLCC driver, SC7280 support tot he AOSS
QMP driver, cleanups to the RPMH driver and a few smaller fixes to the
SMEM, QMI and EBI2 drivers.

* tag 'qcom-drivers-for-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  bus: qcom: Put child node before return
  dt-bindings: firmware: scm: Add sc7280 support
  soc: qcom: rpmh-rsc: Fold WARN_ON() into if condition
  soc: qcom: rpmh-rsc: Loop over fewer bits in irq handler
  soc: qcom: rpmh-rsc: Remove tcs_is_free() API
  soc: qcom: smem: Update max processor count
  soc: qcom: aoss: Add AOSS QMP support for SC7280
  dt-bindings: soc: qcom: aoss: Add SC7280 compatible
  soc: qcom: llcc: Add configuration data for SC7280
  dt-bindings: arm: msm: Add LLCC for SC7280
  soc: qcom: Fix typos in the file qmi_encdec.c
  soc: qcom: rpmhpd: Add sc7280 powerdomains
  dt-bindings: power: rpmpd: Add sc7280 to rpmpd binding
  soc: qcom: rpmhpd: Add SM8350 power domains
  dt-bindings: power: Add rpm power domain bindings for SM8350

Link: https://lore.kernel.org/r/20210404164951.713045-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'scmi-updates-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep...
Arnd Bergmann [Thu, 8 Apr 2021 15:38:20 +0000 (17:38 +0200)]
Merge tag 'scmi-updates-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/drivers

ARM SCMI updates for v5.13

The major and big addition this time is to support modularisation of
individual SCMI protocols thus enabling to add support for vendors'
custom SCMI protocol. This changes the interface provided by the SCMI
driver to all the users of SCMI and hence involved changes in various
other subsystem SCMI drivers. The change has been split with a bit of
transient code to preserve bisectability and avoiding one big patch bomb
changing all the users.

This also includes SCMI IIO driver(pulled from IIO tree) and support for
per-cpu DVFS.

* tag 'scmi-updates-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: (41 commits)
  firmware: arm_scmi: Add dynamic scmi devices creation
  firmware: arm_scmi: Add protocol modularization support
  firmware: arm_scmi: Rename non devres notify_ops
  firmware: arm_scmi: Make notify_priv really private
  firmware: arm_scmi: Cleanup events registration transient code
  firmware: arm_scmi: Cleanup unused core transfer helper wrappers
  firmware: arm_scmi: Cleanup legacy protocol init code
  firmware: arm_scmi: Make references to handle const
  firmware: arm_scmi: Remove legacy scmi_voltage_ops protocol interface
  regulator: scmi: Port driver to the new scmi_voltage_proto_ops interface
  firmware: arm_scmi: Port voltage protocol to new protocols interface
  firmware: arm_scmi: Port systempower protocol to new protocols interface
  firmware: arm_scmi: Remove legacy scmi_sensor_ops protocol interface
  iio/scmi: Port driver to the new scmi_sensor_proto_ops interface
  hwmon: (scmi) port driver to the new scmi_sensor_proto_ops interface
  firmware: arm_scmi: Port sensor protocol to new protocols interface
  firmware: arm_scmi: Remove legacy scmi_reset_ops protocol interface
  reset: reset-scmi: Port driver to the new scmi_reset_proto_ops interface
  firmware: arm_scmi: Port reset protocol to new protocols interface
  firmware: arm_scmi: Remove legacy scmi_clk_ops protocol interface
  ...

Link: https://lore.kernel.org/r/20210331100657.ilu63i4swnr3zp4e@bogus
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'qcom-drivers-fixes-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 8 Apr 2021 15:36:40 +0000 (17:36 +0200)]
Merge tag 'qcom-drivers-fixes-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/fixes

Qualcomm fix for 5.12

This bypasses the, recently introduced, interconnect handling in the
GENI (serial engine) driver when running off ACPI, as this causes the
GENI probe to fail and the Lenovo Yoga C630 to boot without keyboard and
touchpad.

* tag 'qcom-drivers-fixes-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux:
  soc: qcom: geni: shield geni_icc_get() for ACPI boot

Link: https://lore.kernel.org/r/20210404155604.712236-1-bjorn.andersson@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agoMerge tag 'sunxi-fixes-for-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 8 Apr 2021 15:35:52 +0000 (17:35 +0200)]
Merge tag 'sunxi-fixes-for-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into arm/fixes

One 32kHz clock fix for the beelink gs1, a CD polarity fix for the SoPine, some
MAINTAINERS maintainance, and a clk / reset switch to our headers.

* tag 'sunxi-fixes-for-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: h6: beelink-gs1: Remove ext. 32 kHz osc reference
  MAINTAINERS: Match on allwinner keyword
  MAINTAINERS: Add our new mailing-list
  arm64: dts: allwinner: Fix SD card CD GPIO for SOPine systems
  arm64: dts: allwinner: h6: Switch to macros for RSB clock/reset indices

Link: https://lore.kernel.org/r/9972a85e-60b7-49f4-a246-db3396dd4764.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
4 years agosoc: qcom: mdt_loader: Detect truncated read of segments
Bjorn Andersson [Thu, 7 Jan 2021 23:25:26 +0000 (15:25 -0800)]
soc: qcom: mdt_loader: Detect truncated read of segments

Given that no validation of how much data the firmware loader read in
for a given segment truncated segment files would best case result in a
hash verification failure, without any indication of what went wrong.

Improve this by validating that the firmware loader did return the
amount of data requested.

Fixes: 445c2410a449 ("soc: qcom: mdt_loader: Use request_firmware_into_buf()")
Reviewed-by: Sibi Sankar <sibis@codeaurora.org>
Link: https://lore.kernel.org/r/20210107232526.716989-1-bjorn.andersson@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
4 years agosoc: qcom: mdt_loader: Validate that p_filesz < p_memsz
Bjorn Andersson [Thu, 7 Jan 2021 23:31:19 +0000 (15:31 -0800)]
soc: qcom: mdt_loader: Validate that p_filesz < p_memsz

The code validates that segments of p_memsz bytes of a segment will fit
in the provided memory region, but does not validate that p_filesz bytes
will, which means that an incorrectly crafted ELF header might write
beyond the provided memory region.

Fixes: 051fb70fd4ea ("remoteproc: qcom: Driver for the self-authenticating Hexagon v5")
Reviewed-by: Sibi Sankar <sibis@codeaurora.org>
Link: https://lore.kernel.org/r/20210107233119.717173-1-bjorn.andersson@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
4 years agoarm64: dts: qcom: update usb qmp phy clock-cells property
Jonathan Marek [Mon, 23 Nov 2020 14:37:05 +0000 (09:37 -0500)]
arm64: dts: qcom: update usb qmp phy clock-cells property

The top-level node doesn't provide any clocks, the subnode provides a
single clock with of_clk_hw_simple_get.

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Link: https://lore.kernel.org/r/20201123143705.14277-1-jonathan@marek.ca
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
4 years agoarm64: dts: qcom: msm8916: Add GICv2 hypervisor registers/interrupt
Stephan Gerhold [Wed, 7 Apr 2021 16:36:48 +0000 (18:36 +0200)]
arm64: dts: qcom: msm8916: Add GICv2 hypervisor registers/interrupt

The ARM Cortex-A53 CPU cores and QGIC2 interrupt controller
(an implementation of the ARM GIC 2.0 specification) used in MSM8916
support virtualization, e.g. for KVM on Linux. However, so far it was
not possible to make use of this functionality, because Qualcomm's
proprietary "hyp" firmware blocks the EL2 mode of the CPU and only
allows booting Linux in EL1.

However, on devices without (firmware) secure boot there is no need
to rely on all of Qualcomm's firmware. The "hyp" firmware on MSM8916
seems simple enough that it can be replaced with an open-source
alternative created only based on trial and error - with some similar
EL2/EL1 initialization code adapted from Linux and U-Boot.

qhypstub [1] is such an open-source firmware for MSM8916 that
can be used as drop-in replacement for Qualcomm's "hyp" firmware.
It does not implement any hypervisor functionality.
Instead, it allows booting Linux/KVM (or other hypervisors) in EL2.

With Linux booting in EL2, KVM seems to be working just fine on MSM8916.
However, so far it is not possible to make use of the virtualization
features in the GICv2. To use KVM's VGICv2 code, the QGIC2 device tree
node needs additional resources (according to binding documentation):

  - The CPU interface region (second reg) must be at least 8 KiB large
    to access the GICC_DIR register (mapped at 0x1000 offset)
  - Virtual control/CPU interface register base and size
  - Hypervisor maintenance interrupt

Fortunately, the public APQ8016E TRM [2] provides the required information:

  - The CPU interface region (at 0x0B002000) actually has a size of 8 KiB
  - Virtual control/CPU interface register is at 0x0B001000/0x0B004000
  - Hypervisor maintenance interrupt is "PPI #0"
      Note: This is a bit strange since almost all other ARM SoCs use
            GIC_PPI 9 for this. However, I have verified that this is
            indeed the interrupt that fires when bits are set in GICH_HCR.

Add the additional resources to the QGIC2 device tree node in msm8916.dtsi.
There is no functional difference when Linux is started in EL1 since the
additional resources are ignored in that case.

With these changes (and qhypstub), KVM seems to be fully working on
the DragonBoard 410c (apq8016-sbc) and BQ Aquaris X5 (longcheer-l8910).

[1]: https://github.com/msm8916-mainline/qhypstub
[2]: https://developer.qualcomm.com/download/sd410/snapdragon-410e-technical-reference-manual.pdf

Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20210407163648.4708-1-stephan@gerhold.net
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
4 years agoarm64: apple: Add initial Apple Mac mini (M1, 2020) devicetree
Hector Martin [Thu, 4 Feb 2021 13:30:21 +0000 (22:30 +0900)]
arm64: apple: Add initial Apple Mac mini (M1, 2020) devicetree

This currently supports:

* SMP (via spin-tables)
* AIC IRQs
* Serial (with earlycon)
* Framebuffer

A number of properties are dynamic, and based on system firmware
decisions that vary from version to version. These are expected
to be filled in by the loader.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agodt-bindings: display: Add apple,simple-framebuffer
Hector Martin [Thu, 4 Feb 2021 15:16:05 +0000 (00:16 +0900)]
dt-bindings: display: Add apple,simple-framebuffer

Apple SoCs run firmware that sets up a simplefb-compatible framebuffer
for us. Add a compatible for it, and two missing supported formats.

Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agoarm64: Kconfig: Introduce CONFIG_ARCH_APPLE
Hector Martin [Wed, 20 Jan 2021 07:51:23 +0000 (16:51 +0900)]
arm64: Kconfig: Introduce CONFIG_ARCH_APPLE

This adds a Kconfig option to toggle support for Apple ARM SoCs.
At this time this targets the M1 and later "Apple Silicon" Mac SoCs.

Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agoirqchip/apple-aic: Add support for the Apple Interrupt Controller
Hector Martin [Wed, 20 Jan 2021 23:55:15 +0000 (08:55 +0900)]
irqchip/apple-aic: Add support for the Apple Interrupt Controller

This is the root interrupt controller used on Apple ARM SoCs such as the
M1. This irqchip driver performs multiple functions:

* Handles both IRQs and FIQs

* Drives the AIC peripheral itself (which handles IRQs)

* Dispatches FIQs to downstream hard-wired clients (currently the ARM
  timer).

* Implements a virtual IPI multiplexer to funnel multiple Linux IPIs
  into a single hardware IPI

Reviewed-by: Marc Zyngier <maz@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agodt-bindings: interrupt-controller: Add DT bindings for apple-aic
Hector Martin [Thu, 4 Feb 2021 14:01:56 +0000 (23:01 +0900)]
dt-bindings: interrupt-controller: Add DT bindings for apple-aic

AIC is the Apple Interrupt Controller found on Apple ARM SoCs, such as
the M1.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agoarm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h
Hector Martin [Mon, 1 Mar 2021 03:36:24 +0000 (12:36 +0900)]
arm64: Move ICH_ sysreg bits from arm-gic-v3.h to sysreg.h

These definitions are in arm-gic-v3.h for historical reasons which no
longer apply. Move them to sysreg.h so the AIC driver can use them, as
it needs to peek into vGIC registers to deal with the GIC maintentance
interrupt.

Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agoof/address: Add infrastructure to declare MMIO as non-posted
Hector Martin [Thu, 11 Feb 2021 12:41:56 +0000 (21:41 +0900)]
of/address: Add infrastructure to declare MMIO as non-posted

This implements the 'nonposted-mmio' boolean property. Placing this
property in a bus marks all direct child devices as requiring
non-posted MMIO mappings. If no such property is found, the default
is posted MMIO.

of_mmio_is_nonposted() performs this check to determine if a given
device has requested non-posted MMIO.

of_address_to_resource() uses this to set the IORESOURCE_MEM_NONPOSTED
flag on resources that require non-posted MMIO.

of_iomap() and of_io_request_and_map() then use this flag to pick the
correct ioremap() variant.

This mechanism is currently restricted to builds that support Apple ARM
platforms, as an optimization.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agoasm-generic/io.h: implement pci_remap_cfgspace using ioremap_np
Hector Martin [Thu, 25 Mar 2021 13:50:19 +0000 (22:50 +0900)]
asm-generic/io.h: implement pci_remap_cfgspace using ioremap_np

Now that we have ioremap_np(), we can make pci_remap_cfgspace() default
to it, falling back to ioremap() on platforms where it is not available.

Remove the arm64 implementation, since that is now redundant. Future
cleanups should be able to do the same for other arches, and eventually
make the generic pci_remap_cfgspace() unconditional.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agoarm64: Implement ioremap_np() to map MMIO as nGnRnE
Hector Martin [Thu, 11 Feb 2021 12:37:48 +0000 (21:37 +0900)]
arm64: Implement ioremap_np() to map MMIO as nGnRnE

This is used on Apple ARM platforms, which require most MMIO
(except PCI devices) to be mapped as nGnRnE.

Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agodocs: driver-api: device-io: Document ioremap() variants & access funcs
Hector Martin [Thu, 4 Mar 2021 18:41:53 +0000 (03:41 +0900)]
docs: driver-api: device-io: Document ioremap() variants & access funcs

This documents the newly introduced ioremap_np() along with all the
other common ioremap() variants, and some higher-level abstractions
available.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agodocs: driver-api: device-io: Document I/O access functions
Arnd Bergmann [Thu, 4 Mar 2021 19:53:50 +0000 (04:53 +0900)]
docs: driver-api: device-io: Document I/O access functions

This adds more detailed descriptions of the various read/write
primitives available for use with I/O memory/ports.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agoasm-generic/io.h: Add a non-posted variant of ioremap()
Hector Martin [Thu, 11 Feb 2021 12:35:46 +0000 (21:35 +0900)]
asm-generic/io.h:  Add a non-posted variant of ioremap()

ARM64 currently defaults to posted MMIO (nGnRE), but some devices
require the use of non-posted MMIO (nGnRnE). Introduce a new ioremap()
variant to handle this case. ioremap_np() returns NULL on arches that
do not implement this variant.

sparc64 is the only architecture that needs to be touched directly,
because it includes neither of the generic io.h or iomap.h headers.

This adds the IORESOURCE_MEM_NONPOSTED flag, which maps to this
variant and marks a given resource as requiring non-posted mappings.
This is implemented in the resource system because it is a SoC-level
requirement, so existing drivers do not need special-case code to pick
this ioremap variant.

Then this is implemented in devres by introducing devm_ioremap_np(),
and making devm_ioremap_resource() automatically select this variant
when the resource has the IORESOURCE_MEM_NONPOSTED flag set.

Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agoarm64: arch_timer: Implement support for interrupt-names
Hector Martin [Sun, 14 Feb 2021 07:11:30 +0000 (16:11 +0900)]
arm64: arch_timer: Implement support for interrupt-names

This allows the devicetree to correctly represent the available set of
timers, which varies from device to device, without the need for fake
dummy interrupts for unavailable slots.

Also add the hyp-virt timer/PPI, which is not currently used, but worth
representing.

Reviewed-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
4 years agodt-bindings: timer: arm,arch_timer: Add interrupt-names support
Hector Martin [Sun, 14 Feb 2021 07:07:27 +0000 (16:07 +0900)]
dt-bindings: timer: arm,arch_timer: Add interrupt-names support

Not all platforms provide the same set of timers/interrupts, and Linux
only needs one (plus kvm/guest ones); some platforms are working around
this by using dummy fake interrupts. Implementing interrupt-names allows
the devicetree to specify an arbitrary set of available interrupts, so
the timer code can pick the right one.

This also adds the hyp-virt timer/interrupt, which was previously not
expressed in the fixed 4-interrupt form.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>