Commit Graph

31437 Commits

Author SHA1 Message Date
Krishna Kurapati
0046325ae5 arm64: dts: qcom: msm8998: Disable SS instance in Parkmode for USB
For Gen-1 targets like MSM8998, it is seen that stressing out the
controller in host mode results in HC died error:

 xhci-hcd.12.auto: xHCI host not responding to stop endpoint command
 xhci-hcd.12.auto: xHCI host controller not responding, assume dead
 xhci-hcd.12.auto: HC died; cleaning up

And at this instant only restarting the host mode fixes it. Disable
SuperSpeed instance in park mode for MSM8998 to mitigate this issue.

Cc: stable@vger.kernel.org
Fixes: 026dad8f58 ("arm64: dts: qcom: msm8998: Add USB-related nodes")
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240704152848.3380602-4-quic_kriskura@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-06 13:00:41 -05:00
Krishna Kurapati
dc6ba95c6c arm64: dts: qcom: ipq8074: Disable SS instance in Parkmode for USB
For Gen-1 targets like IPQ8074, it is seen that stressing out the
controller in host mode results in HC died error:

 xhci-hcd.12.auto: xHCI host not responding to stop endpoint command
 xhci-hcd.12.auto: xHCI host controller not responding, assume dead
 xhci-hcd.12.auto: HC died; cleaning up

And at this instant only restarting the host mode fixes it. Disable
SuperSpeed instance in park mode for IPQ8074 to mitigate this issue.

Cc: stable@vger.kernel.org
Fixes: 5e09bc51d0 ("arm64: dts: ipq8074: enable USB support")
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240704152848.3380602-3-quic_kriskura@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-06 13:00:34 -05:00
Krishna Kurapati
4ae4837871 arm64: dts: qcom: ipq6018: Disable SS instance in Parkmode for USB
For Gen-1 targets like IPQ6018, it is seen that stressing out the
controller in host mode results in HC died error:

 xhci-hcd.12.auto: xHCI host not responding to stop endpoint command
 xhci-hcd.12.auto: xHCI host controller not responding, assume dead
 xhci-hcd.12.auto: HC died; cleaning up

And at this instant only restarting the host mode fixes it. Disable
SuperSpeed instance in park mode for IPQ6018 to mitigate this issue.

Cc: stable@vger.kernel.org
Fixes: 20bb9e3dd2 ("arm64: dts: qcom: ipq6018: add usb3 DT description")
Signed-off-by: Krishna Kurapati <quic_kriskura@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240704152848.3380602-2-quic_kriskura@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-06 13:00:11 -05:00
Srinivas Kandagatla
45247fe17d arm64: dts: qcom: x1e80100: add Lenovo Thinkpad Yoga slim 7x devicetree
Add an initial devicetree for the Lenovo Yoga slim 7x with support for
Display, usb, keyboard, touchpad, touchscreen, PMICs, speaker audio, gpu,
NVMe and remoteprocs.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Tested-by: Rob Clark <robdclark@gmail.com>
Link: https://lore.kernel.org/r/20240703-yoga-slim7x-v2-2-3b297dab8db1@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-06 12:57:41 -05:00
Josua Mayer
e9ff907f40 arm64: dts: add description for solidrun cn9132 cex7 module and clearfog board
Add description for the SolidRun CN9132 COM-Express Type 7 module, and
the Clearfog evaluation board.

The COM-Express module includes:
- CN9130 SoC
- 2x 88F8215 Southbridges
- eMMC
- SPI Flash
- DDR-4 SODIMM connector
- 1GBase-T Ethernet PHY

The Clearfog Evaluation board provides:
- 1x 10Gbps SFP+
- 2x 5GBase-T RJ45
- 4x 1GBase-T RJ45 on DSA switch with 2.5Gbps cpu link
- 1x full-size PCI-E x4
- 2x M.2 with PCI-E x1
- 1x M.2 with PCI-E x2
- 2x M.2 with PCI-E x1 and USB-2.0
- 1x M.2 with USB-2.0, USB-3.0 and 2x SIM slots
- 1x mini-PCI-E x1
- 2x SATA (Laptop-Style connector with data and power)
- 3x USB-3.0 Type-A
- microSD slot

Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2024-07-05 14:53:16 +02:00
Josua Mayer
1280840d20 arm64: dts: add description for solidrun cn9131 solidwan board
Add description for the SolidRun CN9131 SolidWAN, based on CN9130 SoM
with an extra communication  processor on the carrier board.

This board differentiates itself from CN9130 Clearfog by providing
additional SoC native network interfaces and pci buses:
2x 10Gbps SFP+
4x 1Gbps RJ45
1x miniPCI-E
1x m.2 b-key with sata, usb-2.0 and usb-3.0
1x m.2 m-key with pcie and usb-2.0
1x m.2 b-key with pcie, usb-2.0, usb-3.0 and 2x sim slots
1x mpcie with pcie only
2x type-a usb-2.0/3.0

Signed-off-by: Josua Mayer <josua@solid-run.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2024-07-05 14:53:16 +02:00
Josua Mayer
1c510c7d82 arm64: dts: add description for solidrun cn9130 som and clearfog boards
Add description for the SolidRun CN9130 SoM, and Clearfog Base / Pro
reference boards.

The SoM has been designed as a pin-compatible replacement for the older
Armada 388 based SoM. Therefore it supports the same boards and a
similar feature set.

Most notable upgrades:
- 4x Cortex-A72
- 10Gbps SFP
- Both eMMC and SD supported at the same time

The developer first supporting this product at SolidRun decided to use
different filenames for the DTBs: Armada 388 uses the full
"clearfog" string while cn9130 uses the abbreviation "cf".
This name is already hard-coded in pre-installed vendor u-boot and can
not be changed easily.

NOTICE IN CASE ANYBODY WANTS TO SELF-UPGRADE:
CN9130 SoM has a different footprint from Armada 388 SoM.
Components on the carrier board below the SoM may collide causing
damage, such as on Clearfog Base.

Signed-off-by: Josua Mayer <josua@solid-run.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2024-07-05 14:53:16 +02:00
Krzysztof Kozlowski
cf8b7454ec arm64: dts: armada-3720: align LED node name with bindings
Bindings expect the LED node names to follow certain pattern, see
dtbs_check warnings:

  armada-3720-gl-mv1000.dtb: leds: 'power', 'vpn', 'wan' do not match any of the regexes: '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2024-07-05 14:48:50 +02:00
Krzysztof Kozlowski
a034241443 arm64: dts: armada-3720: align GPIO keys node name with bindings
Bindings expect the GPIO key node names to follow certain pattern, see
dtbs_check warnings:

  armada-3720-gl-mv1000.dtb: keys: 'reset' does not match any of the regexes: '^(button|event|key|switch|(button|event|key|switch)...

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2024-07-05 14:48:50 +02:00
Pascal Paillet
419ed754a3 arm64: dts: st: describe power supplies for stm32mp257f-ev1 board
Describe power supplies for stm32mp257f-ev1 board.

Signed-off-by: Pascal Paillet <p.paillet@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-07-05 14:45:25 +02:00
Pascal Paillet
387abbb945 arm64: dts: st: add scmi regulators on stm32mp25
Add SCMI regulators description on STM32MP25.

Signed-off-by: Pascal Paillet <p.paillet@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-07-05 14:45:25 +02:00
Christophe Roullier
e0fc47d897 arm64: dts: st: enable Ethernet2 on stm32mp257f-ev1 board
ETHERNET2 instance is connected to Realtek PHY in RGMII mode
Ethernet is SNSP IP with GMAC5 version.

Signed-off-by: Christophe Roullier <christophe.roullier@foss.st.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-07-05 14:45:25 +02:00
Christophe Roullier
b4c354b1b2 arm64: dts: st: add eth2 pinctrl entries in stm32mp25-pinctrl.dtsi
Add pinctrl entry related to ETH2 in stm32mp25-pinctrl.dtsi
ethernet2: RGMII with crystal.

Signed-off-by: Christophe Roullier <christophe.roullier@foss.st.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-07-05 14:45:25 +02:00
Christophe Roullier
ed4dd5b795 arm64: dts: st: add ethernet1 and ethernet2 support on stm32mp25
Both instances ethernet based on GMAC SNPS IP on stm32mp25.
GMAC IP version is SNPS 5.3

Signed-off-by: Christophe Roullier <christophe.roullier@foss.st.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-07-05 14:45:24 +02:00
Amelie Delaunay
7253ddc6a3 arm64: dts: st: add HPDMA nodes on stm32mp251
The High Performance Direct Memory Access (HPDMA) controller is used to
perform programmable data transfers between memory-mapped peripherals
and memories (or between memories) via linked-lists.

There are 3 instances of HPDMA on stm32mp251, using stm32-dma3 driver, with
16 channels per instance and with one interrupt per channel.
Channels 0 to 7 are implemented with a FIFO of 8 bytes.
Channels 8 to 11 are implemented with a FIFO of 32 bytes.
Channels 12 to 15 are implemented with a FIFO of 128 bytes.
Thanks to stm32-dma3 bindings, the user can ask for a channel with specific
FIFO size.

Signed-off-by: Amelie Delaunay <amelie.delaunay@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2024-07-05 14:45:24 +02:00
Jakub Kicinski
76ed626479 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR.

Conflicts:

drivers/net/phy/aquantia/aquantia.h
  219343755e ("net: phy: aquantia: add missing include guards")
  61578f6793 ("net: phy: aquantia: add support for PHY LEDs")

drivers/net/ethernet/wangxun/libwx/wx_hw.c
  bd07a98178 ("net: txgbe: remove separate irq request for MSI and INTx")
  b501d261a5 ("net: txgbe: add FDIR ATR support")
https://lore.kernel.org/all/20240703112936.483c1975@canb.auug.org.au/

include/linux/mlx5/mlx5_ifc.h
  048a403648 ("net/mlx5: IFC updates for changing max EQs")
  99be56171f ("net/mlx5e: SHAMPO, Re-enable HW-GRO")
https://lore.kernel.org/all/20240701133951.6926b2e3@canb.auug.org.au/

Adjacent changes:

drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
  4130c67cd1 ("wifi: iwlwifi: mvm: check vif for NULL/ERR_PTR before dereference")
  3f3126515f ("wifi: iwlwifi: mvm: add mvm-specific guard")

include/net/mac80211.h
  816c6bec09 ("wifi: mac80211: fix BSS_CHANGED_UNSOL_BCAST_PROBE_RESP")
  5a009b42e0 ("wifi: mac80211: track changes in AP's TPE")

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-07-04 14:16:11 -07:00
Chukun Pan
e261bd7400 arm64: dts: rockchip: fixes PHY reset for Lunzn Fastrhino R68S
Fixed the PHY address and reset GPIOs (does not match the corresponding
pinctrl) for gmac0 and gmac1.

Fixes: b9f8ca655d ("arm64: dts: rockchip: Add Lunzn Fastrhino R68S")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://lore.kernel.org/r/20240630150010.55729-7-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 21:09:43 +02:00
Chukun Pan
2bf5d445df arm64: dts: rockchip: disable display subsystem for Lunzn Fastrhino R6xS
The R66S and R68S boards do not have HDMI output, so disable
the display subsystem.

Fixes: c79dab407a ("arm64: dts: rockchip: Add Lunzn Fastrhino R66S")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://lore.kernel.org/r/20240701143028.1203997-3-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 21:09:43 +02:00
Chukun Pan
cd77139a30 arm64: dts: rockchip: remove unused usb2 nodes for Lunzn Fastrhino R6xS
Fix the following error when booting:
[   15.851853] platform fd800000.usb: deferred probe pending
[   15.852384] platform fd840000.usb: deferred probe pending
[   15.852881] platform fd880000.usb: deferred probe pending

This is due to usb2phy1 is not enabled. There is no USB 2.0
port on the board, just remove it.

Fixes: c79dab407a ("arm64: dts: rockchip: Add Lunzn Fastrhino R66S")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://lore.kernel.org/r/20240630150010.55729-5-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 21:09:43 +02:00
Chukun Pan
cfeac8e5d0 arm64: dts: rockchip: fix pmu_io supply for Lunzn Fastrhino R6xS
Fixes pmu_io_domains supply according to the schematic. Among them,
the vccio3 is responsible for the io voltage of sdcard. There is no
sdcard slot on the R68S, and it's connected to vcc_3v3, so describe
the supply of vccio3 separately.

Fixes: c79dab407a ("arm64: dts: rockchip: Add Lunzn Fastrhino R66S")
Fixes: b9f8ca655d ("arm64: dts: rockchip: Add Lunzn Fastrhino R68S")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://lore.kernel.org/r/20240630150010.55729-4-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 21:09:43 +02:00
Chukun Pan
9e823ba921 arm64: dts: rockchip: fix usb regulator for Lunzn Fastrhino R6xS
Remove the non-existent usb_host regulator and fix the supply according
to the schematic. Also remove the unnecessary always-on and boot-on for
the usb_otg regulator.

Fixes: c79dab407a ("arm64: dts: rockchip: Add Lunzn Fastrhino R66S")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://lore.kernel.org/r/20240701143028.1203997-2-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 21:09:43 +02:00
Chukun Pan
2dad31528d arm64: dts: rockchip: fix regulator name for Lunzn Fastrhino R6xS
Make the regulator name the same as those marked by schematics.

Fixes: c79dab407a ("arm64: dts: rockchip: Add Lunzn Fastrhino R66S")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://lore.kernel.org/r/20240630150010.55729-2-amadeus@jmu.edu.cn
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 21:09:43 +02:00
Diederik de Haas
bf6f26deb0 arm64: dts: rockchip: Add dma-names to uart1 on quartz64-b
There have been several attempts to set the dma-names property on the
SoC level (in rk356x.dtsi), but that appears to cause problems when set
on channels without flow control.

Quoting part of a previous attempt for clarification:

> Nah, enabling it for bluetooth is fine because you have flow control.
> My issues have been on channels without flow control. Without DMA it
> simply drops messages or the channel hangs until you close and reopen
> it. With DMA, when an overflow locks up the channel it is usually
> unavailable until the board is rebooted.

Setting it on the board level for the bluetooth connection was deemed
safe, so do so for the Quartz64 Model B.

This fixes the following error/warning:

  of_dma_request_slave_channel: dma-names property of node
      '/serial@fe650000' missing or empty
  dw-apb-uart fe650000.serial: failed to request DMA

Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
Link: https://libera.irclog.whitequark.org/armlinux/2024-02-29
Link: https://lore.kernel.org/linux-rockchip/18284546.sWSEgdgrri@diego/
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
Link: https://lore.kernel.org/r/20240628120130.24076-1-didi.debian@cknow.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 19:56:46 +02:00
Dragan Simic
eb665b1c06 arm64: dts: rockchip: Update GPU OPP voltages in RK356x SoC dtsi
Update the values for the exact Rockchip RK356x GPU OPP voltages and the
lower limits for the GPU OPP voltage ranges, using the most conservative
values (i.e. the highest per-OPP voltages) found in the vendor kernel source
(cf. downstream commit f8b9431ee3 ("arm64: dts: rockchip: rk3568: support
adjust opp-table by otp")). [1][2]

Using the most conservative per-OPP voltages ensures reliable GPU operation
regardless of the actual GPU binning, with the downside of possibly using
a bit more power than absolutely needed.

[1] f8b9431ee3
[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi

Suggested-by: Diederik de Haas <didi.debian@cknow.org>
Helped-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Dragan Simic <dsimic@manjaro.org>
Link: https://lore.kernel.org/r/80301764e8983c8410c806ed2256403823709897.1719763100.git.dsimic@manjaro.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 19:56:46 +02:00
Dragan Simic
2e1fae8002 arm64: dts: rockchip: Add GPU OPP voltage ranges to RK356x SoC dtsi
Add support for voltage ranges to the GPU OPPs defined in the SoC dtsi for
Rockchip RK356x.  This is, for example, useful for RK356x-based boards that
are designed to use the same power supply for the GPU and NPU portions of
the SoC, which is described further in the following documents:

  - Rockchip RK3566 Hardware Design Guide, version 1.1.0, page 37
  - Rockchip RK3568 Hardware Design Guide, version 1.2, page 78

The values for the exact GPU OPP voltages and the lower limits for the GPU
OPP voltage ranges differ from the values found in the vendor kernel source
(cf. downstream commit f8b9431ee3 ("arm64: dts: rockchip: rk3568: support
adjust opp-table by otp")), [1][2] and present the exact GPU OPP voltage
values that have served us well so far.

[1] f8b9431ee3
[2] https://raw.githubusercontent.com/rockchip-linux/kernel/f8b9431ee38ed561650be7092ab93f564598daa9/arch/arm64/boot/dts/rockchip/rk3568.dtsi

Suggested-by: Diederik de Haas <didi.debian@cknow.org>
Helped-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Dragan Simic <dsimic@manjaro.org>
Link: https://lore.kernel.org/r/7e9ba70fd54a21d6f1f267df11e0acabff8d24e0.1719763100.git.dsimic@manjaro.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 19:56:46 +02:00
Marek Vasut
3573653dcf arm64: dts: rockchip: Drop ethernet-phy-ieee802.3-c22 from PHY compatible string on all RK3588 boards
The rtl82xx DT bindings do not require ethernet-phy-ieee802.3-c22
as the fallback compatible string. There are fewer users of the
Realtek PHY compatible string with fallback compatible string than
there are users without fallback compatible string, so drop the
fallback compatible string from the few remaining users:

$ git grep -ho ethernet-phy-id001c....... | sort | uniq -c
      1 ethernet-phy-id001c.c816",
      2 ethernet-phy-id001c.c915",
      2 ethernet-phy-id001c.c915";
      5 ethernet-phy-id001c.c916",
     13 ethernet-phy-id001c.c916";

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202406290316.YvZdvLxu-lkp@intel.com/
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20240630034910.173552-2-marex@denx.de
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 19:56:46 +02:00
Cristian Ciocaltea
9d42c3ee3c arm64: dts: rockchip: Add missing power-domains for rk356x vop_mmu
The iommu@fe043e00 on RK356x SoC shares the VOP power domain, but the
power-domains property was not provided when the node has been added.

The consequence is that an attempt to reload the rockchipdrm module will
freeze the entire system.  That is because on probe time,
pm_runtime_get_suppliers() gets called for vop@fe040000, which blocks
when pm_runtime_get_sync() is being invoked for iommu@fe043e00.

Fix the issue by adding the missing property.

Fixes: 9d6c6d978f ("arm64: dts: rockchip: rk356x: Add VOP2 nodes")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Link: https://lore.kernel.org/r/20240702-rk356x-fix-vop-mmu-v1-1-a66d1a0c45ea@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-07-04 19:56:45 +02:00
Liu Wei
f5a4af3c75 ACPI: Add acpi=nospcr to disable ACPI SPCR as default console on ARM64
For varying privacy and security reasons, sometimes we would like to
completely silence the _serial_ console, and only enable it when needed.

But there are many existing systems that depend on this _serial_ console,
so add acpi=nospcr to disable console in ACPI SPCR table as default
_serial_ console.

Signed-off-by: Liu Wei <liuwei09@cestc.cn>
Suggested-by: Prarit Bhargava <prarit@redhat.com>
Suggested-by: Will Deacon <will@kernel.org>
Suggested-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: Prarit Bhargava <prarit@redhat.com>
Link: https://lore.kernel.org/r/20240625030504.58025-1-liuwei09@cestc.cn
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-07-04 16:33:13 +01:00
Jean-Philippe Brucker
6bac338888 arm64: dts: fvp: Enable PCIe ATS for Base RevC FVP
Declare that the host controller supports ATS, so the OS can enable it
for ATS-capable PCIe endpoints.

Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Link: https://lore.kernel.org/r/20240607105415.2501934-5-jean-philippe@linaro.org
Signed-off-by: Will Deacon <will@kernel.org>
2024-07-04 14:54:02 +01:00
Anshuman Khandual
056600ff73 arm64/cpufeature: Replace custom macros with fields from ID_AA64PFR0_EL1
This replaces custom macros usage (i.e ID_AA64PFR0_EL1_ELx_64BIT_ONLY and
ID_AA64PFR0_EL1_ELx_32BIT_64BIT) and instead directly uses register fields
from ID_AA64PFR0_EL1 sysreg definition. Finally let's drop off both these
custom macros as they are now redundant.

Cc: Will Deacon <will@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20240613102710.3295108-3-anshuman.khandual@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-07-04 12:21:12 +01:00
Anshuman Khandual
42b9fed388 KVM: arm64: Replace custom macros with fields from ID_AA64PFR0_EL1
This replaces custom macros usage (i.e ID_AA64PFR0_EL1_ELx_64BIT_ONLY and
ID_AA64PFR0_EL1_ELx_32BIT_64BIT) and instead directly uses register fields
from ID_AA64PFR0_EL1 sysreg definition.

Cc: Marc Zyngier <maz@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>
Cc: Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: kvmarm@lists.linux.dev
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lore.kernel.org/r/20240613102710.3295108-2-anshuman.khandual@arm.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-07-04 12:21:12 +01:00
Matthew Wilcox (Oracle)
06668257a3 mm: remove page_mapping()
All callers are now converted, delete this compatibility wrapper.  Also
fix up some comments which referred to page_mapping.

Link: https://lkml.kernel.org/r/20240423225552.4113447-7-willy@infradead.org
Link: https://lkml.kernel.org/r/20240524181813.698813-1-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Cc: Eric Biggers <ebiggers@google.com>
Cc: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2024-07-03 19:29:59 -07:00
Marc Zyngier
3cfde36df7 KVM: arm64: nv: Truely enable nXS TLBI operations
Although we now have support for nXS-flavoured TLBI instructions,
we still don't expose the feature to the guest thanks to a mixture
of misleading comment and use of a bunch of magic values.

Fix the comment and correctly express the masking of LS64, which
is enough to expose nXS to the world. Not that anyone cares...

Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20240703154743.824824-1-maz@kernel.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2024-07-03 22:46:14 +00:00
Devarsh Thakkar
6406c5d551 arm64: dts: ti: k3-am62a7-sk: Reserve 576MiB of global CMA
Reserve 576MiB of CMA as global CMA pool starting after initial 1GiB of
DDR.

AM62ax has different multimedia components such as Camera, Display, H.264
VPU and JPEG Encoder which use CMA for buffer allocations.

The 12x 720x480 realtime VPU decode use-case requires 544MiB of CMA,
additional 32MiB is kept as buffer in case some other peripheral also
require it while VPU is running.

The reason to choose latter 1GiB is to not overlap with existing memory map
which is utilizing initial 1GiB for remoteproc firmwares as shared here
[1].

Also some drivers such as JPEG require 32bit addressing so not allocating
from higher DDR address.

Link: https://lore.kernel.org/all/20240605124859.3034-5-hnagalla@ti.com [1]
Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Tested-by: Brandon Brnich <b-brnich@ti.com>
Reviewed-by: Randolph Sapp <rs@ti.com>
Link: https://lore.kernel.org/r/20240613150902.2173582-3-devarsht@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-03 19:51:21 +05:30
Devarsh Thakkar
9e8560556f arm64: dts: ti: k3-am62x-sk-common: Reserve 128MiB of global CMA
Reserve 128MiB of global CMA which is also marked as re-usable
so that OS can also use the same if peripheral drivers are not using the
same.

AM62x supports multimedia components such as GPU, dual Display and Camera.
Assuming the worst-case scenario where all 3 are run in parallel below
is the calculation :

1) OV5640 camera sensor supports 1920x1080 resolution
-> 1920 width x 1080 height x 2 bytesperpixel x 8 buffers
   (default in yavta) : 32MiB

2) 1920x1200 Microtips LVDS panel supported
-> 1920 width x 1080 height x 4 bytesperpixel x 2 buffers :
   16 MiB

3) 1920x1080 HDMI display supported
-> 1920 width x 1080 height x 4 bytesperpixel x 2 buffers :
   15.82 MiB which is ~16 MiB

4) IMG GPU shares with display allocated buffers while rendering
   but in case some dedicated operation viz color conversion,
   keeping same window of ~16 MiB for GPU too.

Total is 80 MiB and adding 32 MiB for other peripherals and extra
16 MiB to keep as buffer for fragmentation thus rounding total to 128
MiB.

Signed-off-by: Devarsh Thakkar <devarsht@ti.com>
Reviewed-by: Randolph Sapp <rs@ti.com>
Link: https://lore.kernel.org/r/20240613150902.2173582-2-devarsht@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-03 19:51:21 +05:30
Rob Herring (Arm)
d688ffa269 perf: arm_pmuv3: Include asm/arm_pmuv3.h from linux/perf/arm_pmuv3.h
The arm64 asm/arm_pmuv3.h depends on defines from
linux/perf/arm_pmuv3.h. Rather than depend on include order, follow the
usual pattern of "linux" headers including "asm" headers of the same
name.

With this change, the include of linux/kvm_host.h is problematic due to
circular includes:

In file included from ../arch/arm64/include/asm/arm_pmuv3.h:9,
                 from ../include/linux/perf/arm_pmuv3.h:312,
                 from ../include/kvm/arm_pmu.h:11,
                 from ../arch/arm64/include/asm/kvm_host.h:38,
                 from ../arch/arm64/mm/init.c:41:
../include/linux/kvm_host.h:383:30: error: field 'arch' has incomplete type

Switching to asm/kvm_host.h solves the issue.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20240626-arm-pmu-3-9-icntr-v2-5-c9784b4f4065@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2024-07-03 14:07:14 +01:00
Biju Das
c1267e1afa arm64: dts: renesas: rz-smarc: Replace fixed regulator for USB VBUS
Replace the fixed regulator for USB VBUS and use the proper one that
controls regulator based on VBUS detection.

Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240702180032.207275-5-biju.das.jz@bp.renesas.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2024-07-03 10:51:53 +02:00
Xilin Wu
d0e2f8f62d arm64: dts: qcom: Add device tree for ASUS Vivobook S 15
ASUS Vivobook S 15 is a laptop based on the Qualcomm Snapdragon X Elite
SoC (X1E78100).

Add the device tree for the laptop with support for the following features:

- CPU frequency scaling up to 3.4GHz
- NVMe storage on PCIe 6a (capable of Gen4x4, currently limited to Gen4x2)
- Keyboard and touchpad
- WCN7850 Wi-Fi
- Two Type-C ports on the left side (USB3 only in one orientation)
- internal eDP display
- ADSP and CDSP remoteprocs

Further details could be found in the cover letter.

Signed-off-by: Xilin Wu <wuxilin123@gmail.com>
Link: https://lore.kernel.org/r/20240701-asus-vivobook-s15-v4-2-ce7933b4d4e5@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-02 22:14:15 -05:00
Dang Huynh
c6050d45cd arm64: dts: qcom: qrb4210-rb2: Correct max current draw for VBUS
According to downstream sources, maximum current for PMI632 VBUS
is 1A.

Taken from msm-4.19 (631561973a034e46ccacd0e53ef65d13a40d87a4)
Line 685-687 in drivers/power/supply/qcom/qpnp-smb5.c

Fixes: a06a2f12f9 ("arm64: dts: qcom: qrb4210-rb2: enable USB-C port handling")
Reviewed-by: Luca Weiss <luca.weiss@fairphone.com>
Signed-off-by: Dang Huynh <danct12@riseup.net>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240702-qrd4210rb2-vbus-volt-v3-1-fbd24661eec4@riseup.net
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-02 22:12:33 -05:00
Pierre-Hugues Husson
1c6285e10d arm64: dts: qcom: msm8998: add venus node
Now that the venus clocks are fixed, we can add the DT node.

Signed-off-by: Pierre-Hugues Husson <phhusson@freebox.fr>
Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Acked-by: Vikash Garodia <quic_vgarodia@quicinc.com>
Link: https://lore.kernel.org/r/6d86a6a3-4d99-4fda-9a38-7688587237e6@freebox.fr
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-02 09:58:23 -05:00
Fabio Estevam
e796887c06 arm64: dts: imx8mp: Remove 'snps,rx-sched-sp'
According to nxp,dwmac-imx.yaml, 'snps,rx-sched-sp' is not a valid
property.

Remove it from the imx8mp board devicetree files to avoid
dt-schema warnings:

... 'snps,tx-sched-sp' does not match any of the regexes

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-02 12:14:43 +08:00
Bartosz Golaszewski
818c2676e5 arm64: dts: qcom: sa8775p-ride-r3: add new board file
Revision 3 of the sa8775p-ride board uses a different PHY for the two
ethernet ports and supports 2.5G speed. Create a new file for the board
reflecting the changes.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240627114212.25400-4-brgl@bgdev.pl
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:30:27 -05:00
Bartosz Golaszewski
fe15631117 arm64: dts: qcom: move common parts for sa8775p-ride variants into a .dtsi
In order to support multiple revisions of the sa8775p-ride board, create
a .dtsi containing the common parts and split out the ethernet bits into
the actual board file as they will change in revision 3.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Link: https://lore.kernel.org/r/20240627114212.25400-3-brgl@bgdev.pl
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:30:27 -05:00
Krzysztof Kozlowski
6bf99fdb4c arm64: dts: qcom: sm8550-qrd: add port mapping to speakers
Add appropriate mappings of Soundwire ports of WSA8845 speaker.  This
solves second (south) speaker sound distortions when playing audio.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240627122015.30945-3-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:30:11 -05:00
Krzysztof Kozlowski
5ba3ba4d44 arm64: dts: qcom: sm8550-mtp: add port mapping to speakers
Add appropriate mappings of Soundwire ports of WSA8845 speaker.  This
solves second (right) speaker sound distortions when playing audio.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240627122015.30945-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:30:11 -05:00
Krzysztof Kozlowski
21663c69b3 arm64: dts: qcom: sm8550-hdk: add port mapping to speakers
Add appropriate mappings of Soundwire ports of WSA8845 speaker.  This
solves second (south) speaker sound distortions when playing audio.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20240627122015.30945-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:30:11 -05:00
Neil Armstrong
519df670e8 arm64: dts: qcom: sm8650-qrd: add port mapping to speakers
Add appropriate mappings of Soundwire ports of WSA8845 speaker
to correctly map the Speaker ports to the WSA macro ports.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240627-topic-sm8650-upstream-was-port-mapping-v1-3-4700bcc2489a@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:29:54 -05:00
Neil Armstrong
f3b84707c4 arm64: dts: qcom: sm8650-mtp: add port mapping to speakers
Add appropriate mappings of Soundwire ports of WSA8845 speaker
to correctly map the Speaker ports to the WSA macro ports.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240627-topic-sm8650-upstream-was-port-mapping-v1-2-4700bcc2489a@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:29:54 -05:00
Neil Armstrong
1cda6acb8f arm64: dts: qcom: sm8650-hdk: add port mapping to speakers
Add appropriate mappings of Soundwire ports of WSA8845 speaker
to correctly map the Speaker ports to the WSA macro ports.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240627-topic-sm8650-upstream-was-port-mapping-v1-1-4700bcc2489a@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:29:54 -05:00
Luca Weiss
d870196e33 arm64: dts: qcom: sm7225-fairphone-fp4: Name the regulators
Without explicitly specifying names for the regulators they are named
based on the DeviceTree node name. This results in multiple regulators
with the same name, making debug prints and regulator_summary impossible
to reason about.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240627-fp4-regulator-name-v1-1-66931111a006@fairphone.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:29:35 -05:00
Dmitry Baryshkov
ac3eb41a28 arm64: dts: qcom: pm8916: correct thermal zone name
Correct the name for the thermal zone on PM8916 PMIC. I ended up with
c&p mistake, which wasn't noticed until the patch got merged.

Reported-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Fixes: b7a28d8a7b ("arm64: dts: qcom: pm8916: add temp-alarm thermal zone")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240701-fix-pm8916-tz-v1-1-02f8a713f577@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:24:39 -05:00
Akhil P Oommen
721e38301b arm64: dts: qcom: x1e80100: Add gpu support
Add the necessary dt nodes for gpu support in X1E80100.

Signed-off-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240629015111.264564-6-quic_akhilpo@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:23:25 -05:00
Abel Vesa
9c99c33a90 arm64: dts: qcom: x1e80100: Fix USB HS PHY 0.8V supply
According to the power grid documentation, the 0.8v HS PHY shared
regulator is actually LDO3 from PM8550ve id J. Fix both CRD and QCP
boards.

Fixes: d7e03cce04 ("arm64: dts: qcom: x1e80100-crd: Enable more support")
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20240629-x1e80100-dts-fix-hsphy-0-8v-supplies-v1-1-de99ee030b27@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-07-01 22:21:03 -05:00
Linus Torvalds
651ab78190 SoC fixes for 6.10, part 2
A number of devicetree fixes came in for the rockchip platforms, correcting
 some of the address information, and reverting a change to the MMC controller
 configuration that caused regressions.
 
 Four drivers have one code change each, addressing minor build issues for
 the optee firmware driver, the litex SoC platform driver and two reset
 drivers.
 
 The riscv fixes as also simple, mainly turning off device nodes in the
 canaan dts files unless they are actually usable on a particular board.
 
 Finally, Drew takes over maintaining the THEAD RISC-V SoC platform.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmaCpVIACgkQYKtH/8kJ
 UieIfQ/+KtxzYPfLsUgSZJCeKa6d1A9EgtTBtcEn6gI4HAc5NFDGvYIIetWI/RYN
 2+zOLRdQ8t3CIi2c1sTqy1m+j5vX94p4/2WSW41zASHxN+ryz8VM2SKzE5TGV8IE
 WyHv5fBIHY97u2zegq8K4c/ze2W7bdwBd1V5tYwk7tZnm6VFNMCESQ+Q4mu7kjdy
 irCdxr0j+uDO0cGppwuGWSSR+BiCCCDhu9YjmluD9B57IIB95lyQRgdGy/V9cT9D
 yJS6VwEi+EFBNbzt7TzNrPiXvymQzDeC5K7JavfSRRxW1a/rWLmkmxripiSVZirf
 nHR7cIivj0gvjeZiM3UH/ZMPUdzRk4YXr9889EbO+JQ/iZy/1YIJHKuqLbCjAQZp
 RgjuYYAuG91aHeCHN6cSflNoC49FmmBi9k1GkBdWviU0mhBrfaNfqspMkWUuH34g
 w49H9iflFzJsh6p18h2wG3pB28zubUhLfpmbG5EOP4kXBYvgegAsY9mgSNWcdFFk
 JBxcJlToCm6ooha8bBCpsnDf8/Y1LMlUIcP2Spd/iZ0pxtF2wR8Pt80KDuVko+fj
 TZF3UTu3wuDCyHnSvX0Fc0YTQV0huVawd23upWBxpcdOa4vsScnUbMdKqBIjA6TX
 cGK+fCtVSk45KoAlRi4eLcnNmgse1G2J+ujcrs0QakLxdCx+Ggk=
 =+O9s
 -----END PGP SIGNATURE-----

Merge tag 'arm-fixes-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC fixes from Arnd Bergmann:
 "A number of devicetree fixes came in for the rockchip platforms,
  correcting some of the address information, and reverting a change to
  the MMC controller configuration that caused regressions.

  Four drivers have one code change each, addressing minor build issues
  for the optee firmware driver, the litex SoC platform driver and two
  reset drivers.

  The riscv fixes as also simple, mainly turning off device nodes in the
  canaan dts files unless they are actually usable on a particular
  board.

  Finally, Drew takes over maintaining the THEAD RISC-V SoC platform"

* tag 'arm-fixes-6.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  drivers/soc/litex: drop obsolete dependency on COMPILE_TEST
  tee: optee: ffa: Fix missing-field-initializers warning
  arm64: dts: rockchip: Add sound-dai-cells for RK3368
  arm64: dts: rockchip: Fix the i2c address of es8316 on Cool Pi 4B
  reset: hisilicon: hi6220: add missing MODULE_DESCRIPTION() macro
  reset: gpio: Fix missing gpiolib dependency for GPIO reset controller
  MAINTAINERS: thead: update Maintainer
  arm64: dts: rockchip: fix PMIC interrupt pin on ROCK Pi E
  riscv: dts: starfive: Set EMMC vqmmc maximum voltage to 3.3V on JH7110 boards
  arm64: dts: rockchip: make poweroff(8) work on Radxa ROCK 5A
  Revert "arm64: dts: rockchip: remove redundant cd-gpios from rk3588 sdmmc nodes"
  ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node
  arm64: dts: rockchip: Fix the value of `dlg,jack-det-rate` mismatch on rk3399-gru
  arm64: dts: rockchip: set correct pwm0 pinctrl on rk3588-tiger
  riscv: dts: canaan: Disable I/O devices unless used
  riscv: dts: canaan: Clean up serial aliases
  arm64: dts: rockchip: Rename LED related pinctrl nodes on rk3308-rock-pi-s
  arm64: dts: rockchip: Fix SD NAND and eMMC init on rk3308-rock-pi-s
  arm64: dts: rockchip: Fix rk3308 codec@ff560000 reset-names
  arm64: dts: rockchip: Fix the DCDC_REG2 minimum voltage on Quartz64 Model B
2024-07-01 09:36:20 -07:00
Gavin Shan
46800e38ef arm64: Kconfig: Fix dependencies to enable ACPI_HOTPLUG_CPU
Both ACPI_PROCESSOR and HOTPLUG_CPU are needed by ACPI_HOTPLUG_CPU.
Otherwise, we can have compiling error with the following configurations.

  CONFIG_HOTPLUG_CPU=n
  CONFIG_ACPI_PROCESSOR=y
  CONFIG_ACPI_HOTPLUG_CPU=y

  arch/arm64/kernel/smp.c: In function ‘arch_unregister_cpu’:
  arch/arm64/kernel/smp.c:563:9: error: implicit declaration of  \
  function ‘unregister_cpu’; did you mean ‘register_cpu’?        \
  [-Werror=implicit-function-declaration]
  563 |         unregister_cpu(c);
      |         ^~~~~~~~~~~~~~
      |         register_cpu

Fix it by enabling ACPI_HOTPLUG_CPU when both ACPI_PROCESSOR and
HOTPLUG_CPU are enabled, consistent with other architectures like
x86 and loongarch.

Fixes: 9d0873892f ("arm64: Kconfig: Enable hotplug CPU on arm64 if ACPI_PROCESSOR is enabled.")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202406300437.XnuW0n34-lkp@intel.com/
Signed-off-by: Gavin Shan <gshan@redhat.com>
Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240701001132.1585153-1-gshan@redhat.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-07-01 17:31:23 +01:00
Dhruva Gole
cf645197f0 arm64: dts: ti: k3-am62x-sk-common: Fix graph_child_address warns
Fix the following warnings when compiling dtbs with W=1:

../arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi:343.10-353.6: Warning (graph_child_address): /bus@f0000/i2c@20000000/tps6598x@3f/connector/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary
../arch/arm64/boot/dts/ti/k3-am62-main.dtsi:633.22-643.5: Warning (graph_child_address): /bus@f0000/dwc3-usb@f900000/usb@31000000: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary

Cc: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Dhruva Gole <d-gole@ti.com>
Tested-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20240626101520.1782320-3-d-gole@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Dhruva Gole
28a950c404 arm64: dts: ti: k3-am62p5-sk: fix graph_child_address warnings
Fix the following warnings that are thrown when building dtbs with W=1:

../arch/arm64/boot/dts/ti/k3-am62p5-sk.dts:367.10-376.6: Warning (graph_child_address): /bus@f0000/i2c@20000000/usb-power-controller@3f/connector/ports: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary
../arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi:647.22-657.5: Warning (graph_child_address): /bus@f0000/usb@f900000/usb@31000000: graph node has single child node 'port@0', #address-cells/#size-cells are not necessary
  also defined at ../arch/arm64/boot/dts/ti/k3-am62p5-sk.dts:517.7-528.3

Cc: Roger Quadros <rogerq@kernel.org>
Signed-off-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20240626101520.1782320-2-d-gole@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Jared McArthur
5e5c50964e arm64: dts: ti: k3-j722s: Add gpio-ranges properties
The AM67A/J722S/TDA4AEN platform is a derivative of AM62P platform
and we have no single 1:1 relation regarding index of GPIO and pin
controller. The GPIOs and pin controller registers have mapping and
holes in the map. These have been extracted from the J722S data
sheet. The MCU mapping is carried forward as is with J722S, however the
main GPIO block has differences that needs to be accounted for.

Mux mode input is selected as it is bi-directional. In case a specific
pull type or a specific pin level drive setting is desired, the board
device tree files will have to explicitly mux those pins for the GPIO
with the desired setting.

Ref: J722S Data sheet https://www.ti.com/lit/gpn/tda4aen-q1

Signed-off-by: Jared McArthur <j-mcarthur@ti.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20240627162539.691223-4-nm@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Nishanth Menon
d72d73a44c arm64: dts: ti: k3-am62p: Add gpio-ranges properties
On the AM62P platform we have no single 1:1 relation regarding index
of GPIO and pin controller. The GPIOs and pin controller registers
have mapping and holes in the map. These have been extracted from the
AM62P data sheet.

MCU pinctrl definition is shared as it is common between AM62P and
J722S, but that is not the case for main domain.

Ref: AM62P Data sheet https://www.ti.com/lit/gpn/am62p

Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20240627162539.691223-3-nm@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Nishanth Menon
50d9981fa1 arm64: dts: ti: k3-pinctrl: Define a generic GPIO MUX Mode
Introduce a GPIO mux mode macro for easier readability. All K3 devices
use mux mode 7 to switch to GPIO mux and this allows the gpio-ranges to
be defined for pinctrl-single clearly.

Signed-off-by: Nishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20240627162539.691223-2-nm@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Andrew Davis
c870321e43 arm64: dts: ti: k3-am62: Add cpsw-mac-efuse node to wkup_conf
The WKUP system controller address region contains an eFuse block with
MAC addresses to be used by the Ethernet controller. The property
“ti,syscon-efuse” contains a phandle to a syscon region and an offset
into this region where the MAC addresses can be found. Currently
"ti,syscon-efuse" points to the entire system controller address space
node with an offset to the eFuse IP address.

Instead add a cpsw-mac-efuse node to describe the exact eFuse area. Then
point the Ethernet controller directly to this region, no offset needed.

Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20240628151518.40100-8-afd@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Andrew Davis
00d20114b5 arm64: dts: ti: k3-am62a: Add cpsw-mac-efuse node to wkup_conf
The WKUP system controller address region contains an eFuse block with
MAC addresses to be used by the Ethernet controller. The property
“ti,syscon-efuse” contains a phandle to a syscon region and an offset
into this region where the MAC addresses can be found. Currently
"ti,syscon-efuse" points to the entire system controller address space
node with an offset to the eFuse IP address.

Instead add a cpsw-mac-efuse node to describe the exact eFuse area. Then
point the Ethernet controller directly to this region, no offset needed.

This makes it so the system controller memory area does not need to be one
big syscon area, describe this bus address area as the simple-bus it is.

Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20240628151518.40100-7-afd@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Andrew Davis
74e074d22a arm64: dts: ti: k3-j784s4: Add cpsw-mac-efuse node to mcu_conf
The MCU system controller address region contains an eFuse block with
MAC addresses to be used by the Ethernet controller. The property
“ti,syscon-efuse” contains a phandle to a syscon region and an offset
into this region where the MAC addresses can be found. Currently
"ti,syscon-efuse" points to the entire system controller address space
node with an offset to the eFuse IP address.

Instead add a cpsw-mac-efuse node to describe the exact eFuse area. Then
point the Ethernet controller directly to this region, no offset needed.

This makes it so the system controller memory area does not need to be one
big syscon area, describe this bus address area as the simple-bus it is.

Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20240628151518.40100-6-afd@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Andrew Davis
418291e705 arm64: dts: ti: k3-j721s2: Add cpsw-mac-efuse node to mcu_conf
The MCU system controller address region contains an eFuse block with
MAC addresses to be used by the Ethernet controller. The property
“ti,syscon-efuse” contains a phandle to a syscon region and an offset
into this region where the MAC addresses can be found. Currently
"ti,syscon-efuse" points to the entire system controller address space
node with an offset to the eFuse IP address.

Instead add a cpsw-mac-efuse node to describe the exact eFuse area. Then
point the Ethernet controller directly to this region, no offset needed.

This makes it so the system controller memory area does not need to be one
big syscon area, describe this bus address area as the simple-bus it is.

Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20240628151518.40100-5-afd@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Andrew Davis
1147fa465a arm64: dts: ti: k3-j721e: Add cpsw-mac-efuse node to mcu_conf
The MCU system controller address region contains an eFuse block with
MAC addresses to be used by the Ethernet controller. The property
“ti,syscon-efuse” contains a phandle to a syscon region and an offset
into this region where the MAC addresses can be found. Currently
"ti,syscon-efuse" points to the entire system controller address space
node with an offset to the eFuse IP address.

Instead add a cpsw-mac-efuse node to describe the exact eFuse area. Then
point the Ethernet controller directly to this region, no offset needed.

This makes it so the system controller memory area does not need to be one
big syscon area, describe this bus address area as the simple-bus it is.

Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20240628151518.40100-4-afd@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Andrew Davis
3128edb3c4 arm64: dts: ti: k3-j7200: Add cpsw-mac-efuse node to mcu_conf
The MCU system controller address region contains an eFuse block with
MAC addresses to be used by the Ethernet controller. The property
“ti,syscon-efuse” contains a phandle to a syscon region and an offset
into this region where the MAC addresses can be found. Currently
"ti,syscon-efuse" points to the entire system controller address space
node with an offset to the eFuse IP address.

Instead add a cpsw-mac-efuse node to describe the exact eFuse area. Then
point the Ethernet controller directly to this region, no offset needed.

This makes it so the system controller memory area does not need to be one
big syscon area, describe this bus address area as the simple-bus it is.

Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20240628151518.40100-3-afd@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Andrew Davis
0ab18cecc8 arm64: dts: ti: k3-am65: Add cpsw-mac-efuse node to mcu_conf
The MCU system controller address region contains an eFuse block with
MAC addresses to be used by the Ethernet controller. The property
“ti,syscon-efuse” contains a phandle to a syscon region and an offset
into this region where the MAC addresses can be found. Currently
"ti,syscon-efuse" points to the entire system controller address space
node with an offset to the eFuse IP address.

Instead add a cpsw-mac-efuse node to describe the exact eFuse area. Then
point the Ethernet controller directly to this region, no offset needed.

This makes it so the system controller memory area does not need to be one
big syscon area, describe this bus address area as the simple-bus it is.

Signed-off-by: Andrew Davis <afd@ti.com>
Link: https://lore.kernel.org/r/20240628151518.40100-2-afd@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Roger Quadros
447f85b70f arm: dts: k3-am642-evm-nand: Add bootph-all to NAND related nodes
NAND boot would require these nodes to be present at early stage.
Ensure that by adding "bootph-all" to relevant nodes.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20240628-am642-evm-nand-bootph-v2-1-387bfa1533a6@kernel.org
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Garrett Giordano
d693838855 arm64: dts: ti: Add basic support for phyBOARD-Lyra-AM62Ax
The phyCORE-AM62Ax [1] is a SoM (System on Module) featuring TI's AM62Ax SoC.
It can be used in combination with different carrier boards.
This module can come with different sizes and models for
DDR, eMMC, SPI NOR Flash and various SoCs from the AM62Ax family.

A development Kit, called phyBOARD-Lyra [2] is used as a carrier board
reference design with a mapper board being used to allow the phyCORE-AM62Ax
to fit the phyBOARD-Lyra.

Supported features:
  * Debug UART
  * SPI NOR Flash
  * eMMC
  * 2x Ethernet
  * Micro SD card
  * I2C EEPROM
  * I2C RTC
  * GPIO Expander
  * LEDs
  * USB
  * HDMI
  * USB-C
  * Audio

For more details, see:

[1] Product page SoM: https://www.phytec.com/product/phycore-am62a
[2] Product page CB: https://www.phytec.com/product/phyboard-am62a

Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Link: https://lore.kernel.org/r/20240626155244.3311436-4-ggiordano@phytec.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:07 +05:30
Garrett Giordano
f1b3adade0 arm64: dts: ti: Add am62x-phyboard-lyra carrier board
PHYTECs phyBOARD-Lyra carrier board is able to accomidate multiple SoMs.
Refactor k3-am625-phyboard-lyra-rdk.dts into an include file so it can
be reused in combination with our phyCORE-AM62Ax SoM.

Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
Link: https://lore.kernel.org/r/20240626155244.3311436-2-ggiordano@phytec.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Garrett Giordano
fe6a73eee3 arm64: dts: ti: k3-am62a: Enable AUDIO_REFCLKx
On AM62a SoCs the AUDIO_REFCLKx clocks can be used as an input to
external peripherals when configured through CTRL_MMR, so add the
clock nodes.

Based on: Link: https://lore.kernel.org/lkml/20230807202159.13095-2-francesco@dolcini.it/

Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
Link: https://lore.kernel.org/r/20240626155244.3311436-1-ggiordano@phytec.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Jayesh Choudhary
479112c9f5 arm64: dts: ti: k3-j784s4-evm: Enable analog audio support
The audio support on J784S4-EVM is using PCM3168A[0] codec
connected to McASP0 serializers.

- Add the nodes for sound-card, audio codec, MAIN_I2C3 and
  McASP0.
- Add pinmux for I2C3, McASP0 and AUDIO_EXT_REFCLK1.
- Add necessary GPIO hogs to route the MAIN_I2C3 lines and
  McASP serializer.
- Add idle-state as 1 in mux1 to route McASP clock signals.

[0]: <https://www.ti.com/lit/gpn/pcm3168a>

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Link: https://lore.kernel.org/r/20240626101645.36764-4-j-choudhary@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Jayesh Choudhary
3ea5142a97 arm64: dts: ti: k3-j784s4-main: Add audio_refclk node
On J784S4 SoC, the AUDIO_REFCLK1 can be used as input to external
peripherals when configured through CTRL_MMR.
Add audio_refclk1 node which would be used as system clock for
audio codec PCM3168A.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Link: https://lore.kernel.org/r/20240626101645.36764-3-j-choudhary@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Jayesh Choudhary
5095ec4aa1 arm64: dts: ti: k3-j784s4-main: Add McASP nodes
Add McASP 0-4 instances and keep them disabled because several
required properties are missing as they are board specific.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Link: https://lore.kernel.org/r/20240626101645.36764-2-j-choudhary@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Roger Quadros
e569152274 arm64: dts: ti: am62-lp-sk: Add overlay for NAND expansion card
The NAND expansion card (PROC143E1) connects over the User/MCU/PRU
Expansion port on the am62-lp-sk EVM.

The following pins are shared between McASP1 and GPMC-NAND so
both cannot work simultaneously.

Pin name	McASP1 function		GPMC function
========	===============		=============
J17		MCASP1_AXR0		GPMC0_WEN
P21		MCASP1_AFSX		GPMC0_WAIT0
K17		MCASP1_ACLKX		GPMC0_BE0N_CLE
K20		MCASP1_AXR2		GPMC0_ADVN_ALE

The factory default sets the pins for McASP1 use. (i.e.
Resistor Array RA1 installed, RA4 not installed).

For NAND use, RA1 has to be removed and RA4 must be
installed.

Signed-off-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20240622-am62lp-sk-nand-v1-2-caee496eaf42@kernel.org
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Nitin Yadav
a0286c7bf0 arm64: dts: ti: k3-am62: Add GPMC and ELM nodes
Add GPMC and ELM device tree nodes for AM62 SoC family.

Signed-off-by: Nitin Yadav <n-yadav@ti.com>
Signed-off-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20240622-am62lp-sk-nand-v1-1-caee496eaf42@kernel.org
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Jayesh Choudhary
3a36c535df arm64: dts: ti: k3-j722s-evm: Enable analog audio support
The audio support on J722S-EVM is using TLV320AIC3106[0] codec
connected to McASP1 serializers.

- Add the nodes for sound-card, audio codec and McASP1.
- Add hog for TRC_MUX_SEL to select between McASP and TRACE signals
- Add hogs for GPIO_AUD_RSTn and MCASP1_FET_SEL which is used to
  switch between HDMI audio and codec audio.
- Add pinmux for MCASP1 and AUDIO_EXT_REFCLK1.

[0]: <https://www.ti.com/lit/gpn/TLV320AIC3106>

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Reviewed-by: Jai Luthra <j-luthra@ti.com>
Link: https://lore.kernel.org/r/20240625113301.217369-3-j-choudhary@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Jayesh Choudhary
a5cd7067e4 arm64: dts: ti: k3-j722s-main: Add audio_refclk node
On J722S SoC, the AUDIO_REFCLK1 can be used as input to external
peripherals when configured through CTRL_MMR.
Add audio_refclk1 node which would be used as system clock for the
audio codec TLV320AIC3106.

Signed-off-by: Jayesh Choudhary <j-choudhary@ti.com>
Link: https://lore.kernel.org/r/20240625113301.217369-2-j-choudhary@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Sinthu Raja
73f1f26e2e arm64: dts: ti: k3-am68-sk-som: Add support for OSPI flash
AM68 SK has an OSPI NOR flash on its SOM connected to OSPI0 instance.
Enable support for the same. Also, describe the OSPI flash partition
information through the device tree, according to the offsets in the
bootloader.

Signed-off-by: Sinthu Raja <sinthu.raja@ti.com>
Signed-off-by: Udit Kumar <u-kumar1@ti.com>
Link: https://lore.kernel.org/r/20240622161835.3610348-1-u-kumar1@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Nathan Morrisson
45a792b513 arm64: dts: ti: k3-am6xx-phycore-qspi-nor: Add overlay to enable QSPI NOR
Add an overlay to change from the default OSPI NOR to QSPI NOR
for all am6xx-phycore-som boards.
The EEPROM on am6xx-phycore-soms contains information about the
configuration of the SOM. The standard configuration of the SOM
has an ospi nor, but if qspi nor is populated, the EEPROM will
indicate that change and we can use this overlay to cleanly change to
qspi nor.

Signed-off-by: Nathan Morrisson <nmorrisson@phytec.com>
Link: https://lore.kernel.org/r/20240621233143.2077941-1-nmorrisson@phytec.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Matthias Schiffer
60c2f9784d arm64: dts: ti: k3-am64-tqma64xxl: relicense to GPL-2.0-only OR MIT
MIT license was added to the AM64x SoC DTSIs in commit 6248b20e32
("arm64: dts: ti: k3-am64: Add MIT license along with GPL-2.0"). Apply
the same license change to the TQMa64xxL SoM and MBaX4XxL baseboard
Device Trees.

The copyright year is updated to indicate the license change.

Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Link: https://lore.kernel.org/r/20240625110244.9881-1-matthias.schiffer@ew.tq-group.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Andrejs Cainikovs
feebfe95a6 arm64: dts: k3-am625-verdin: enable nau8822 pll
In current configuration, nau8822 codec on development carrier board
provides distorted audio output. This happens due to reference clock
is fixed to 25MHz and no PLL is enabled. Following is the calculation
of deviation error for different frequencies:

44100Hz:

fs = 256 (fixed)
prescaler = 2
target frequency = 44100 * 256 * 2 = 22579200
deviation = 22579200 vs 25000000 = 9.6832%

48000Hz:

fs = 256 (fixed)
prescaler = 2
target frequency = 48000 * 256 * 2 = 24576000
deviation = 24576000 vs 25000000 = 1.696%

Enabling nau822 PLL via providing mclk-fs property to simple-audio-card
configures clocks properly, but also adjusts audio reference clock
(mclk), which in case of TI AM62 should be avoided, as it only
supports 25MHz output [1][2].

This change enables PLL on nau8822 by providing mclk-fs, and moves
away audio reference clock from DAI configuration, which prevents
simple-audio-card to adjust it before every playback [3].

[1]: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1175479/processor-sdk-am62x-output-audio_ext_refclk0-as-mclk-for-codec-and-mcbsp/4444986#4444986
[2]: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1188051/am625-audio_ext_refclk1-clock-output---dts-support/4476322#4476322
[3]: sound/soc/generic/simple-card-utils.c#L441

Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Link: https://lore.kernel.org/r/20240418105730.120913-1-andrejs.cainikovs@gmail.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
2024-07-01 21:36:06 +05:30
Vitor Soares
9db27bc55b arm64: dts: imx8mm-verdin: add TPM device
Add TPM device found on Verdin iMX8M Mini PID4 0090 variant.

While adding the node, rename `pinctrl_pmic_tpm_ena` to
`pinctrl_tpm_spi_cs`.

Signed-off-by: Vitor Soares <vitor.soares@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:46 +08:00
Shengjiu Wang
710bdbee25 arm64: dts: imx8mp-evk: Add audio XCVR sound card
Add audio XCVR sound card, which supports SPDIF TX & RX,
eARC RX, ARC RX functions.

HDMI_HPD is shared with the HDMI module so use pinctrl_hog.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:46 +08:00
Shengjiu Wang
29c4d4c54c arm64: dts: imx8mp: Add audio XCVR device node
XCVR (Audio Transceiver) is a on-chip functional module found
on i.MX8MP. It supports HDMI2.1 eARC, HDMI1.4 ARC and SPDIF.

The reset controller is provided by the audio block control driver.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:46 +08:00
Marek Vasut
a38d101e46 arm64: dts: imx8mp: Update Fast ethernet PHY MDIO addresses to match DH i.MX8MP DHCOM rev.200
The production DH i.MX8MP DHCOM SoM rev.200 uses updated PHY MDIO addresses
for the Fast ethernet PHYs. Update the base SoM DT to cater for this change.
Prototype rev.100 SoM was never publicly available and was manufactured in
limited series, anything currently available is rev.200 or newer, so it is
safe to update the DT this way.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:46 +08:00
Marek Vasut
037ee58e0a arm64: dts: imx8mp: Do not reconfigure Audio PLL2 on DH i.MX8M Plus DHCOM SoM
The DH i.MX8M Plus DHCOM SoM uses Audio PLL2 to supply clock to CLKOUT2
output. Those clock are used to supply on-SoM TC9595 DSI-to-(e)DP bridge
with RefClk and must not be reconfigured, otherwise the bridge cannot
work correctly. Stop reconfiguring Audio PLL2 on this SoM.

Fixes: f560da940e ("arm64: dts: imx8mp: Initialize audio PLLs from audiomix subsystem")
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:46 +08:00
Frank Li
8b898acb51 arm64: dts: layerscape: rename b(q)man-portals to b(q)man-portals-bus
Rename b(q)man-portals to b(q)man-portals-bus to fix below CHECK_DTB
warnings.

arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dtb:
  bman-portals@508000000: $nodename:0: 'bman-portals@508000000' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:46 +08:00
Frank Li
a1107e7c88 arm64: dts: fsl-ls1046a: rename thermal node name
Add thermal subfix for thermal node to fix below CHECK_DTB warnings.

	thermal-zones: '...' do not match any of the regexes:
	'^[a-zA-Z][a-zA-Z0-9\\-]{1,12}-thermal$'

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:45 +08:00
Frank Li
dcb3823932 arm64: dts: fsl-ls1043a: remove unused clk-name at watchdog node
clk-name is undocument property and never used in watchdog driver. Remove
it and fix below CHECK_DTB warning.

arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dtb: watchdog@2ad0000: Unevaluated properties are not allowed ('big-endian', 'clock-names' were unexpected)

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:45 +08:00
Frank Li
8cd751f27a arm64: dts: layerscape: rename aux_bus to aux-bus
Rename aux_bus to aux-bus to fix below CHECK_DTBS warning.
arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dtb:
    aux_bus: $nodename:0: 'aux_bus' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$'
        from schema $id: http://devicetree.org/schemas/simple-bus.yam

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:45 +08:00
Frank Li
7dcd914ba1 arm64: dts: layerscape: change pcie interrupt order
Change pcie interrupt order to fix below warning.

arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dtb: pcie@3400000: interrupt-names:0: 'pme' was expected
        from schema $id: http://devicetree.org/schemas/pci/fsl,layerscape-pcie.yaml#
arch/arm64/boot/dts/freescale/fsl-ls1012a-frdm.dtb: pcie@3400000: interrupt-names:1: 'aer' was expected
        from schema $id: http://devicetree.org/schemas/pci/fsl,layerscape-pcie.yaml#

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:45 +08:00
Frank Li
cfd95678a6 arm64: dts: layerscape: rename node name "wdt" to "watchdog"
Rename node name "wdt" to "watchdog" to fix below warning:

arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dtb:
wdt@c000000: $nodename:0: 'wdt@c000000' does not match '^(timer|watchdog)(@.*|-([0-9]|[1-9][0-9]+))?$

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:45 +08:00
Frank Li
327d71aa59 arm64: dts: layerscape: add #dma-cells for qdma
Add #dma-cells for qdma to fix below warning.
	dma-controller@8380000: '#dma-cells' is a required property

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:45 +08:00
Frank Li
04b22497df arm64: dts: layerscape: remove compatible string 'fsl,fman-xmdio' for fman3
Fman3 should use 'fsl,fman-memac-mdio'. 'fsl,fman-xmdio' is for fman2.
Fix below CHECK_DTBS warning.
fman@1a00000: mdio@eb000:compatible: ['fsl,fman-memac-mdio', 'fsl,fman-xmdio'] is too long

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:45 +08:00
Frank Li
6fc79a90a7 arm64: dts: layerscape: replace node name 'nor' with 'flash'
Replace node name 'nor' with 'flash' to fix below CHECK_DTBS warning.
nor@0,0: $nodename:0: 'nor@0,0' does not match '^(flash|.*sram|nand)(@.*)?$'

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:45 +08:00
Frank Li
b4ce7305f8 arm64: dts: fsl-ls1012a: remove property 'snps,host-vbus-glitches'
Workaround already applied unconditional at
commit a6ba1e4531 ("usb: dwc3: apply snps,host-vbus-glitches workaround unconditionally")

Remove it to fix CHECK_DTBS warning:
	usb@2f00000: Unevaluated properties are not allowed ('snps,host-vbus-glitches' was unexpected)

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:45 +08:00
Frank Li
9ba8e6c55f arm64: dts: fsl-lx2160a: fix #address-cells for pinctrl-single
Change #addres-cells to 1 and #size-cells to 0 to align binding doc
requiremement.

Fix below warning:
arch/arm64/boot/dts/freescale/fsl-lx2160a-rdb.dtb: pinmux@70010012c: #address-cells:0:0: 1 was expected
	from schema $id: http://devicetree.org/schemas/pinctrl/pinctrl-single.yaml#

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Frank Li
b26f63cf5b arm64: dts: layerscape: add platform special compatible string for gpio
Add platform special compatible string for all gpio controller to fix
below warning.

 gpio@2300000: compatible: 'oneOf' conditional failed, one must be fixed:
        ['fsl,qoriq-gpio'] is too short
        'fsl,qoriq-gpio' is not one of ['fsl,mpc5121-gpio', 'fsl,mpc5125-gpio', 'fsl,mpc8349-gpio', 'fsl,mpc8572-gpio', 'fsl,mpc8610-gpio', 'fsl,pq3-gpio']
        'fsl,qoriq-gpio' is not one of ['fsl,ls1021a-gpio', 'fsl,ls1028a-gpio', 'fsl,ls1043a-gpio', 'fsl,ls1088a-gpio', 'fsl,ls2080a-gpio']

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Frank Li
45c5e504b3 arm64: dts: layerscape: rename node 'timer' as 'rtc'
ftm_alarm is rtc. Correct the name as 'rtc' to fix DTB_CHECK warning.

timer@29d0000: $nodename:0: 'timer@29d0000' does not match '^rtc(@.*|-([0-9]|[1-9][0-9]+))?$'
        from schema $id: http://devicetree.org/schemas/rtc/fsl,ls-ftm-alarm.yaml

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Fabio Estevam
14949fe3f7 arm64: dts: imx8qxp-mek: Pass memory-region to the DSP node
According to fsl,dsp.yaml, 'memory-region' is a required property.

Pass 'memory-region' to fix the following dt-schema warning:

imx8qxp-mek.dtb: dsp@596e8000: 'memory-region' is a required property

Signed-off-by: Fabio Estevam <festevam@denx.de>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Frank Li
418ecfca8b arm64: dts: imx95-19x19-evk: add PCIe[0,1] support
Add PCIe[0,1] and all dependent nodes.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Frank Li
9ceb5cb24d arm64: dts: imx95-19x19-evk: add lpi2c7 and expander gpio pcal6524
Add lpi2c7 and expander gpio pcal6524.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Frank Li
3b1d5deb29 arm64: dts: imx95: add pcie[0,1] and pcie-ep[0,1] support
Add pcie[0,1] and pcie-ep[0,1] support.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Frank Li
d9c3449126 arm64: dts: imx95: add '#address-cells' and '#size-cells' for all i2c
Add '#address-cells' and '#size-cells' for all I2C to avoid duplicate these
at every board files.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Frank Li
227b474081 arm64: dts: fsl-ls1043a-rdb: use common spi-cs-setup(hold)-delay-ns
Use SPI common properties 'spi-cs-setup-delay-ns' and
'spi-cs-hold-delay-ns', mark private properties 'fsl,spi-cs-sck-delay'
and 'fsl,spi-sck-cs-delay' as deprecated.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Joy Zou
16d41d987f arm64: dts: imx93-11x11-evk: reorder lpi2c2, lpi2c3, mu1 and mu2 label
Reorder lpi2c2, lpi2c3, mu1 and mu2 label in alphabetical order.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Joy Zou
9684ba4977 arm64: dts: imx93-11x11-evk: fix duplicated lpi2c3 labels
Move node "rtc@53" to existed "&lpi2c3" and remove redundant
"&lpi2c3" label.

Signed-off-by: Joy Zou <joy.zou@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:44 +08:00
Shawn Guo
d77a66c540 i.MX fixes for 6.10:
- Fix GPIO number for reg_usdhc2_vmmc on imx8qm-mek board.
 - Enable hysteresis for SODIMM_17 pin on imx8mm-verdin board to increase
   immunity against noise.
 - Remove 'no-sdio' property for uSDHC2 on imx93-11x11-evk board, so that
   SDIO cards could also work.
 - Fix BT shutdown GPIO for imx8mp-venice-gw73xx-2x board.
 - Fix panel node deleting on imx53-qsb-hdmi, as /delete-node/ directive
   doesn't really delete a node in a DT overlay.
 - Fix TC9595 input clock on DH i.MX8M Plus DHCOM SoM.
 - Fix GPU speed for imx8mm-verdin board by enabling overdrive mode in
   the SOM dtsi.
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmZvsOEUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM5gAAf/dv5/cYTuA8MRKAM9Zf0Mf+FKGTDa
 /kgfsMz/zkSUke54ZI9clo9laoTyhucPjPu6mUJ7AkbsMiptUQ3fiV1mM+TWuQLV
 inlg5qUDvD6JFTiR1Dkm5ML0kyiqbRV6/bHGSCT/tmsqj14xZRgWgavh2e4UKavs
 upY1Rj1jaxjc+bycSW9IBTdPvpbNGDgEmBw1YkJysrqnRK3YSOU1QD/xYFKyEtJh
 X9gyYc8dmTmuNw3P8Go7T0ABQfYSz/m1hyZEEXWq6rx7xm11LtW+/TnNTcRXxtNM
 2WA/DBbCSlaUafZ2zwavb4l+ibr80VlVEechzEJxfrf5Df6Kq8Sv+Qh9eg==
 =GHYs
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-6.10' into imx/dt64

i.MX fixes for 6.10:

- Fix GPIO number for reg_usdhc2_vmmc on imx8qm-mek board.
- Enable hysteresis for SODIMM_17 pin on imx8mm-verdin board to increase
  immunity against noise.
- Remove 'no-sdio' property for uSDHC2 on imx93-11x11-evk board, so that
  SDIO cards could also work.
- Fix BT shutdown GPIO for imx8mp-venice-gw73xx-2x board.
- Fix panel node deleting on imx53-qsb-hdmi, as /delete-node/ directive
  doesn't really delete a node in a DT overlay.
- Fix TC9595 input clock on DH i.MX8M Plus DHCOM SoM.
- Fix GPU speed for imx8mm-verdin board by enabling overdrive mode in
  the SOM dtsi.
2024-07-01 22:21:22 +08:00
Adam Ford
2f8405fb07 arm64: dts: imx8mp: Fix pgc vpu locations
The various pgv_vpu nodes have a mismatch between the value after
the @ symbol and what is referenced by 'reg' so reorder the nodes
to align.

Fixes: df680992dd ("arm64: dts: imx8mp: add vpu pgc nodes")
Suggested-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewd-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:07 +08:00
Tim Harvey
9f05b20cee arm64: dts: imx8mp-venice-gw74xx: add DP83867 configuration
The GW7400 has an onboard DP83867 RGMII GbE PHY:
 - add RGMII delay and FIFO configuration
 - add LED configuration required to use them via netdev trigger:
   two LED's (LED1 and LED2, skipping LED0).

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:07 +08:00
Tim Harvey
fdf7a55d3f arm64: dts: imx8mp-venice-gw702x: add support for PHY LED's
The GW702x SoM has an onboard DP83867 RGMII GbE PHY that drives two
LED's (LED1 and LED2, skipping LED0). Add the appropriate dt bindings to
allow these PHY LED's to be controlled via a netdev trigger.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:07 +08:00
Tim Harvey
2a93ce5974 arm64: dts: imx8mm-venice-gw700x: add support for PHY LED's
The GW700x SoM has an onboard DP83867 RGMII GbE PHY that drives two
LED's (LED1 and LED2, skipping LED0). Add the appropriate dt bindings to
allow these PHY LED's to be controlled via a netdev trigger.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:07 +08:00
Tim Harvey
3343ab4cc6 arm64: dts: freescale: imx8m*-venice-*: fix gw,gsc dt-schema warnings
Fix the dt-schema warnings due to #address-cells/#size-cells being
unnecessary when there are no children with reg cells.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:06 +08:00
Adam Ford
106f68fc9d arm64: dts: imx8mp: Fix pgc_mlmix location
The pgc_mlmix shows a power-domain@24, but the reg value is
IMX8MP_POWER_DOMAIN_MLMIX which is set to 4.

The stuff after the @ symbol should match the stuff referenced
by 'reg' so reorder the pgc_mlmix so it to appear as power-domain@4.

Fixes: 834464c850 ("arm64: dts: imx8mp: add mlmix power domain")
Fixes: 4bedc468b7 ("arm64: dts: imx8mp: Add NPU Node")
Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:06 +08:00
Frank Li
ee39dbd9a6 arm64: dts: imx8dxl-evk: add imx8dxl_cm4, lsio mu5, related memory region
Add imx8dxl_cm4, lsio mu5 and related memory region.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:06 +08:00
Martin Schmiedel
ddabb3ce3f arm64: dts: freescale: add TQMa8MPQL on MBa8MP-RAS314
This adds support for TQMa8MPQL module on MBa8MP-RAS314 board.

Signed-off-by: Martin Schmiedel <Martin.Schmiedel@tq-group.com>
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2024-07-01 22:21:06 +08:00
Arnd Bergmann
35b94a99fc Amlogic ARM64 DT changes for v6.11:
- New Boards:
   - OSMC Vero 4K
   - Dreambox One & Two
   - GXLX/S905L p271 Reference Boards
 - Amlogic A4 Power Domain
 - A bunch of DT fixes to allmost solve all remaining check errors
 - Amlogic S4 PWM
 - Fixes for:
   - SM1 SPDIF compatibles
   - Bump G12 SPDIF driver strength
   - Add power domain to HDMI TX
   - Correct HDMI TX clocks
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmaCaVoACgkQd9zb2sjI
 SdH12Q//cjh5uKcQ0vwxQUCXRViQA2oTQA+YsAiI7CW3/e3iZOTtgTdf/vlp7eKt
 fboSw8RDbzI0B+Jr/jyi1gToyNuqlttmGAsBmBe0ETdTRG2wtd7Im+RVPS0shy0/
 GqDBemOpyXj08Vn/rB48g7YJGGOXfutvpK1/MPnBM0q+lYuy+gM6WatgVB1sZL4p
 mMY6feEwdemfWhXP3oX4HSrvj6AuuI/VVfbreueY0CRfieyWTDGLllsnEeBucU7V
 zm10iLG3ufalUiWMzswOSEMQUeqaA2OG8OWEKI7ie+hWcwJDlBBv3m5xSvVLd14J
 RqXwkeKTY1vT4ROi655yY70eZ5xU9/yb+C9QjgkG8ox6RKl2CI9qOsyhrPZysBx6
 CIY6C8qGw9hpJn9Yc2lXRqnJMUVK+zGujU/nAfopVAQ3W0r2xUJwi7XhWDFyQYG/
 lOo5pWf7mB688olngd2pHjhWlMEEJxniVtRpyDD9AInJ+90BB55bKhA0OXYOfBkn
 gxCa77wKjAqc6Rgib5mJ36ELy/WsBuIoHkDEhwxviSjnWqUN1VJwk74aTbvkyoSb
 Uphan5bjGVt2SRbW290M6bIUFiSz+Wg+CadnSdpoBzr5gRoFeJzAWZVuTwL4IWX4
 HFmvRI2o8ShZE0YmsbvbLF22XzaZxZ3lyEBo+HzZyUbOd63SuKE=
 =/Qxt
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmaCtFIACgkQYKtH/8kJ
 Uifl+xAArmGlq94Rm2y6RMy52qiV3C2kPV+JaLW3jSGXhtV3yQwUN2yFZeRMq3qc
 VNF/TOM4OJc848J63BztnvmP2uvHWdCrkU9AU8c5OR0zZa5GkiujFtOPE2cCUe2r
 9eiyxRbShhS/aO5mvOiL2bSmt3vg1To+rBBC5olUGgpYcfPEK+652ly8hsgLdBBc
 8okcCqsreNaLHUmaV+Q1SOFsQX/6nGKTO33BV8RDVper6VHF5HKlSwh7bc2uweyd
 iSWzYwisF5Z5SlTN10YRAt67eNBLjQGr5plshks604JO3JxeR8oTVzYiLY4EnO+l
 Xf2e3XVBBadmb9CAKiqxlRVFSwYBI7CeY6DTAl7dYDi0eLq7bnP3BB3u6Zc5MszX
 AuKLw635oTY8+BtFN0NWpl2U0Pkm0+2d/ebenaiEpODZMmMX57/+Nb/mo3xIvLJN
 XB8OFQJWb0I8gK9kMRz6bprVdf3SWn28H/quJSc152EjTrXIzT/lrMgGaiNAwR+W
 Tq2AyX/nYTHoDrd1vs8kqo9ncGghR4flb57l0FnxWj/qsQrjP8zEaNBn8jJmmXhX
 DAS2pjiPJpp1PyrI30sY80oyn/JGLZ2pcJFl4X19lGaHNpfH6CGTjiI/23ploZzT
 MDz70J/c7FRxbDM7iX7mqBha/hDa5453Xs47PPTIHbdlTvFo7R4=
 =jZg+
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-arm64-dt-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt

Amlogic ARM64 DT changes for v6.11:
- New Boards:
  - OSMC Vero 4K
  - Dreambox One & Two
  - GXLX/S905L p271 Reference Boards
- Amlogic A4 Power Domain
- A bunch of DT fixes to allmost solve all remaining check errors
- Amlogic S4 PWM
- Fixes for:
  - SM1 SPDIF compatibles
  - Bump G12 SPDIF driver strength
  - Add power domain to HDMI TX
  - Correct HDMI TX clocks

* tag 'amlogic-arm64-dt-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: (32 commits)
  arm64: dts: amlogic: setup hdmi system clock
  arm64: dts: amlogic: gx: correct hdmi clocks
  arm64: dts: amlogic: Add Amlogic S4 PWM
  arm64: dts: amlogic: add power domain to hdmitx
  arm64: dts: amlogic: g12: bump spdif output drive strength
  arm64: dts: amlogic: sm1: fix spdif compatibles
  arm64: dts: amlogic: ad402: fix thermal zone node name
  arm64: dts: meson: add initial support for Dreambox One/Two
  dt-bindings: arm: amlogic: add support for Dreambox One/Two
  dt-bindings: add dream vendor prefix
  arm64: dts: meson: add support for OSMC Vero 4K
  dt-bindings: arm: amlogic: add OSMC Vero 4K
  arm64: dts: amlogic: gxbb-odroidc2: fix invalid reset-gpio property
  arm64: dts: amlogic: a1: drop the invalid reset-name for usb@fe004400
  arm64: dts: amlogic: a1: use correct node name for mmc controller
  arm64: dts: amlogic: c3: use correct compatible for gpio_intc node
  arm64: dts: amlogic: axg: fix tdm audio-controller clock order
  arm64: dts: amlogic: g12a-u200: add missing AVDD-supply to acodec
  arm64: dts: amlogic: g12a-u200: drop invalid sound-dai-cells
  arm64: dts: amlogic: sm1: fix tdm controllers compatible
  ...

Link: https://lore.kernel.org/r/7f71e76c-c793-429a-b0ed-7296553a3eff@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-01 15:51:14 +02:00
Rob Herring (Arm)
04f08ef291
arm/arm64: dts: arm: Use generic clock and regulator nodenames
With the recent defining of preferred naming for fixed clock and
regulator nodes, convert the Arm Ltd. boards to use the preferred
names. In the cases which had a unit-address, warnings about missing
"reg" property are fixed.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/20240528191536.1444649-2-robh@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20240630-arm-dts-fixes-2-v1-1-a32ba57e5b1d@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-01 15:50:39 +02:00
Arnd Bergmann
7f8165eee1 Microchip ARM64 device tree updates for v6.11
It contains:
 - cleanups for simple-bus nodes to comply with dtbs_check
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCZoA+dQAKCRCejrg/N2X7
 /TfZAP9LSEdBajQ6dJduCxmwMiSndxDHeTL6cpdHHHRsBQr0hwD/SXyhGKlG3Awo
 3kA9wXRDARzOqikMC+uhd8zntqeQ/AU=
 =Lop2
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmaCs+oACgkQYKtH/8kJ
 UieE4A//eU6TF+FmdVSUpBNPCg11LGfDDdD4JcUtAuvVET5hsK9x2nm0PGZxTUeJ
 O3eVfqOFjDvWnJXflMgJZps2LznWhCv/akZox89qzc3OYTBv0C6+m/2UBvg0dOly
 qxJdGjSIekJ13g/OW1VfVzFIeN193FHu1vXs+QU4wewxsQOX1kfI/nUvaWuD7Vh3
 eww0meJIOCiuv1szMckOcLCZhoWCsesBQTvZfE6/Z4BCU9y1sRMUD6EMFWFerUYV
 cFf+iddqCxr0gicLB26pPKVrpqfQeLPFMD+ksHZbtM+JKPDGtYDg7iVCBLx3Rg2v
 n3CfvnrJnzCFNq6V/tM3JkbL/k2JGovcf9XCIe4pfd3/P7FVCBdiNJgPHiKtjTAy
 AIhpEOTjzAWvnxDOHmbzVDWNeUScB/N9G/nt6fvMBh8WpxH8ml4pG+FWl+g6aWP4
 KpSoe4LVSw8N36cBWbLlBE14yhs8UGkMWgqZ4efTUnnySRCQzTegk5RNN85t2vda
 dmUQ2Xv+GsRJguHP4IIDsEyF8airIX4z6++sZWMljkzE7u1kO0kL7+s9xqJgUVHE
 q3c5vjRDpRI8elBgKSZXWQwRW8j+mdibFcBpuwcW6R9GL3xRWKv4MOdSshet/krV
 fzI9/qnKSD2oxZKj02NhMCkB0lkFzVaF02/NttVx84jvNH/WTZk=
 =xwy6
 -----END PGP SIGNATURE-----

Merge tag 'microchip-dt64-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip ARM64 device tree updates for v6.11

It contains:
- cleanups for simple-bus nodes to comply with dtbs_check

* tag 'microchip-dt64-6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  arm64: dts: microchip: sparx5_pcb135: move non-MMIO nodes out of axi
  arm64: dts: microchip: sparx5_pcb134: move non-MMIO nodes out of axi

Link: https://lore.kernel.org/r/20240629174051.665027-1-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-01 15:49:30 +02:00
Arnd Bergmann
8181a2f151
Merge tag 'renesas-dts-for-v6.11-tag2-v2' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt
* tag 'renesas-dts-for-v6.11-tag2-v2' of https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r8a779h0: R-Car Sound support
  arm64: dts: renesas: r8a779g0: Tidy up sound DT settings
  arm64: dts: renesas: Add interrupt-names to arch timer nodes
  ARM: dts: renesas: Add interrupt-names to arch timer nodes
  arm64: dts: renesas: r9a08g045: Add missing hypervisor virtual timer IRQ
  arm64: dts: renesas: r9a07g054: Add missing hypervisor virtual timer IRQ
  arm64: dts: renesas: r9a07g044: Add missing hypervisor virtual timer IRQ
  arm64: dts: renesas: r9a07g043u: Add missing hypervisor virtual timer IRQ
  arm64: dts: renesas: r8a779g0: Add missing hypervisor virtual timer IRQ
  arm64: dts: renesas: r8a779f0: Add missing hypervisor virtual timer IRQ
  arm64: dts: renesas: r8a779a0: Add missing hypervisor virtual timer IRQ
  arm64: dts: renesas: r8a779h0: Drop "opp-shared" from opp-table-0

Link: https://lore.kernel.org/r/cover.1719837594.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-01 15:35:24 +02:00
Arnd Bergmann
07917ee087 Apart from the regular dts fixes for wrong addresses, missing
or wrong properties, this reverts the previous move away from
 cd-gpios to the mmc-controller's internal card-detect.
 With this change applied, it was reported that boards could not
 detect card anymore, so this go reverted of course.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmZ92SwQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgSDBB/95oWtHr8L4LZYeedAQLuf6regICaIIfjas
 7skbt+e4Nryl5B0eaieHd9UtotS+FWw/1T6fOIoACMLILUsbqtffUOyhP+yJsG3O
 fXFvi+8Mn9OOCbY1X28UTMnaLG1BLfc4TnMKXZsl6Rxt+pV0ktL9ZVUPzZOMA1tW
 Ssj7xgNDfi/xqjx5PqNluHWM3XHXABWjUWwRjNebbgmyVWdo3vmU5QxayVPd0AzF
 iSisrWojWLEVfL4+aQi2ten7udfSre7eB80KIySIQIoWzArqpt88/8LF+KM1jYpU
 uTGqbC2azGXqAgOnSKcAlj/ogmZpkjb+oPdJKtBuFjPvgMBFAqQR
 =vK3N
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmaCohgACgkQYKtH/8kJ
 Uif56g/9ESQjQdCzSxHxqjaBML3yaFfvoYgaRwLf2HGiplN5y8GLaVmvjhMYRR0B
 j9p2tZzSEe9kNTqPYfavaSd45OMJcJhDc3aiZ+NmSON2VS80zZoB+x7qiCGrskEj
 VBZQYAEDenUiIA6Um3ikaLMlGJIjWsqcP3+wrIPVEWUYnEG9DyLjPou4f8anSPZo
 Rx2tTFsuvnFfwaQE6q/OxoGu7m2aYNj6qSMAKrLgCu9sGnGafWrLrozZY/4LaW2K
 BaXEoK8/RFqGK+6rm3KpctnW0sn2tSQOsbeqZbMdYRR6ntkIjLKZO/JNOvsT3pWK
 ZDFXgKE/qaoQdhjFGs+3yjR8UenqLm2eoV8ubp5qpOPXyanRzHbK4M+wV0eAiSEI
 SbgfvVUe5tiF98Sw6QxZ+f+PJs19gzLAlvEIQp/ziLPypw8sxegSScx5DiC6kQV4
 NLQ8qtmNt/INczXaQplwTPjYwJUFcRIo6bMBlR6nkdOMwlsl00p4UqJ4tcHbUqHo
 EPzjM/X25JIEFLjcuPuKunaR0J3/oIC4jXwjBcJzS/8tziKw/bBe5oGo3zgvhNW7
 kmAjP3qbsvM6oN0UYE4iVKsyfKk8b2L3SUavkeesr+FgkIPiMrC0net7CL4mtBZ5
 2QtnDgqVO7j/kCO4OsVQPe1/sLnxOTpqkJx79fY71a+UVt7YQ8Q=
 =be1d
 -----END PGP SIGNATURE-----

Merge tag 'v6.10-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/fixes

Apart from the regular dts fixes for wrong addresses, missing
or wrong properties, this reverts the previous move away from
cd-gpios to the mmc-controller's internal card-detect.
With this change applied, it was reported that boards could not
detect card anymore, so this go reverted of course.

* tag 'v6.10-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: Add sound-dai-cells for RK3368
  arm64: dts: rockchip: Fix the i2c address of es8316 on Cool Pi 4B
  arm64: dts: rockchip: fix PMIC interrupt pin on ROCK Pi E
  arm64: dts: rockchip: make poweroff(8) work on Radxa ROCK 5A
  Revert "arm64: dts: rockchip: remove redundant cd-gpios from rk3588 sdmmc nodes"
  ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node
  arm64: dts: rockchip: Fix the value of `dlg,jack-det-rate` mismatch on rk3399-gru
  arm64: dts: rockchip: set correct pwm0 pinctrl on rk3588-tiger
  arm64: dts: rockchip: Rename LED related pinctrl nodes on rk3308-rock-pi-s
  arm64: dts: rockchip: Fix SD NAND and eMMC init on rk3308-rock-pi-s
  arm64: dts: rockchip: Fix rk3308 codec@ff560000 reset-names
  arm64: dts: rockchip: Fix the DCDC_REG2 minimum voltage on Quartz64 Model B

Link: https://lore.kernel.org/r/10237789.nnTZe4vzsl@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-07-01 14:33:27 +02:00
Sam Protsenko
64c7ea42fc arm64: dts: exynos850: Enable TRNG
Add True Random Number Generator (TRNG) node to Exynos850 SoC dtsi.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240618204523.9563-8-semen.protsenko@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2024-07-01 14:27:09 +02:00
Greg Kroah-Hartman
f7697db8b1 Merge 6.10-rc6 into usb-next
We need the USB fixes in here as well for some follow-on patches.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-01 13:59:29 +02:00
Kuninori Morimoto
07e7773189 arm64: dts: renesas: r8a779h0: R-Car Sound support
Add sound support for R-Car V4M.

[Kuninori: adjusted to latest upstream kernel]

Co-developed-by: Khanh Le <khanh.le.xr@renesas.com>
Signed-off-by: Khanh Le <khanh.le.xr@renesas.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/87ed8nkxeq.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2024-07-01 11:35:08 +02:00
Kuninori Morimoto
bd8d7546f9 arm64: dts: renesas: r8a779g0: Tidy up sound DT settings
R-Car V4H (R8A779G0) supports only 1 AUDIO_CLKOUT and 1 SSI,
thus, #clock-cells / #sound-dai-cells are both fixed to zero.
(#sound-dai-cells is needed for Simple-Audio-Card, but not needed for
Audio-Graph-Card).  Fix this up.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/87frt3kxew.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2024-07-01 11:35:08 +02:00
Geert Uytterhoeven
659c0b4444 arm64: dts: renesas: Add interrupt-names to arch timer nodes
Add interrupt-names properties to device nodes that represent ARM
architected timers for clarity.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/e5e2767011322daaebcc8dd6ecfcadc6966042d5.1718890849.git.geert+renesas@glider.be
2024-07-01 11:35:08 +02:00
Geert Uytterhoeven
10f9badc47 arm64: dts: renesas: r9a08g045: Add missing hypervisor virtual timer IRQ
Add the missing fifth interrupt to the device node that represents the
ARM architected timer.  While at it, add an interrupt-names property for
clarity,

Fixes: e20396d65b ("arm64: dts: renesas: Add initial DTSI for RZ/G3S SoC")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://lore.kernel.org/884c683fb6c1d1bf7d0d383a8df8f65a0a424dc7.1718890849.git.geert+renesas@glider.be
2024-07-01 11:35:08 +02:00
Geert Uytterhoeven
2918674704 arm64: dts: renesas: r9a07g054: Add missing hypervisor virtual timer IRQ
Add the missing fifth interrupt to the device node that represents the
ARM architected timer.  While at it, add an interrupt-names property for
clarity,

Fixes: 7c2b8198f4 ("arm64: dts: renesas: Add initial DTSI for RZ/V2L SoC")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/834244e77e5f407ee6fab1ab5c10c98a8a933085.1718890849.git.geert+renesas@glider.be
2024-07-01 11:35:08 +02:00
Geert Uytterhoeven
ecbc5206a1 arm64: dts: renesas: r9a07g044: Add missing hypervisor virtual timer IRQ
Add the missing fifth interrupt to the device node that represents the
ARM architected timer.  While at it, add an interrupt-names property for
clarity,

Fixes: 68a4552529 ("arm64: dts: renesas: Add initial DTSI for RZ/G2{L,LC} SoC's")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/21f556eb7e903d5b9f4c96188fd4b6ae0db71856.1718890849.git.geert+renesas@glider.be
2024-07-01 11:35:08 +02:00
Geert Uytterhoeven
4036bae6df arm64: dts: renesas: r9a07g043u: Add missing hypervisor virtual timer IRQ
Add the missing fifth interrupt to the device node that represents the
ARM architected timer.  While at it, add an interrupt-names property for
clarity,

Fixes: cf40c9689e ("arm64: dts: renesas: Add initial DTSI for RZ/G2UL SoC")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/15cc7a7522b1658327a2bd0c4990d0131bbcb4d7.1718890849.git.geert+renesas@glider.be
2024-07-01 11:35:07 +02:00
Geert Uytterhoeven
6775165fc9 arm64: dts: renesas: r8a779g0: Add missing hypervisor virtual timer IRQ
Add the missing fifth interrupt to the device node that represents the
ARM architected timer.  While at it, add an interrupt-names property for
clarity,

Fixes: 987da486d8 ("arm64: dts: renesas: Add Renesas R8A779G0 SoC support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/5eeabbeaea1c5fd518a608f2e8013d260b00fd7e.1718890849.git.geert+renesas@glider.be
2024-07-01 11:35:07 +02:00
Geert Uytterhoeven
b1c34567ae arm64: dts: renesas: r8a779f0: Add missing hypervisor virtual timer IRQ
Add the missing fifth interrupt to the device node that represents the
ARM architected timer.  While at it, add an interrupt-names property for
clarity,

Fixes: c62331e822 ("arm64: dts: renesas: Add Renesas R8A779F0 SoC support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/46deba1008f73e4b6864f937642d17f9d4ae7205.1718890849.git.geert+renesas@glider.be
2024-07-01 11:35:07 +02:00
Geert Uytterhoeven
6fca24a07e arm64: dts: renesas: r8a779a0: Add missing hypervisor virtual timer IRQ
Add the missing fifth interrupt to the device node that represents the
ARM architected timer.  While at it, add an interrupt-names property for
clarity,

Fixes: 834c310f54 ("arm64: dts: renesas: Add Renesas R8A779A0 SoC support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/671416fb31e3992101c32fe7e46147fe4cd623ae.1718890849.git.geert+renesas@glider.be
2024-07-01 11:35:07 +02:00
Geert Uytterhoeven
f3acb237a1 arm64: dts: renesas: r8a779h0: Drop "opp-shared" from opp-table-0
The four Cortex-A76 CPU cores on R-Car V4M share their Operating
Performance Points (OPP) table, but they have independent clocks.
All cores in the cluster can switch DVFS states independently, hence
the cluster's OPP table should not have an "opp-shared" property.

Fixes: 6bd8b0bc44 ("arm64: dts: renesas: r8a779h0: Add CA76 operating points")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/4e0227ff4388485cdb1ca2855ee6df92754e756e.1718890585.git.geert+renesas@glider.be
2024-07-01 11:35:07 +02:00
Krzysztof Kozlowski
c030444661 arm64: dts: apm: Add dedicated syscon poweroff compatibles
syscon nodes should always have dedicated compatible for full/accurate
hardware description.

Link: https://lore.kernel.org/r/20240519-dt-bindings-mfd-syscon-split-v1-8-aaf996e2313a@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2024-07-01 10:33:07 +02:00
Linus Torvalds
b75f947270 hardening fixes for v6.10-rc6
- Remove invalid tty __counted_by annotation (Nathan Chancellor)
 
 - Add missing MODULE_DESCRIPTION()s for KUnit string tests (Jeff Johnson)
 
 - Remove non-functional per-arch kstack entropy filtering
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEpcP2jyKd1g9yPm4TiXL039xtwCYFAmZ+4Z4ACgkQiXL039xt
 wCYUPQ/9Ghbg4CfOIyjl5G7fAYuG+/zLDCkY+kh7XcO2kAn3213KiyRKm0GUAhXY
 p3N7rDH9NsXedfO2bnQ0YTDR3TU8AWIegKgEyGBsyqvdtjSe0ParwWOoGGpavJZ2
 6Op39e6LL2fKGyL4N72lkhRpGPJgGQOqckTljaDl5yQfIHryMpQl0fXzMMjh1HUt
 TKc39kSRbQxguDdIqU1zHgs+Lu9Kph6A3q9PjVap9qzCcPZ4RjIRms4gDrghP7GK
 M0POyZbuXUWxaJ8VwRHbqAtEyEGjXdfBW9DgKQM1fg9XWGZbCkucu3PZbPHv+c6e
 eBGG6O5l6UylmXpmkqLMfIudUekfo8cAEXqcLCBYis8uIuasUWiLMhoTDjdfcvhn
 HHr6iu25IKR698PZzTHQ5yUiuBP38qjXfXr9DDzXrI2+SUbxjurTfbHxFBWK/FYX
 YSdrZR4DbeaU/HI1I+I5YghgeRfR6TQ5NGrmj61wW1QnwvEF6Gdlh+MZgUS59SP5
 S+T50ggGKEYARZcZj1N6Nz39Co9syn/xlhyPKFPkgsRTXw1QE0z6e841V1jxhr49
 cStKFcKAovDeG2UN4bAju49/MWUFlcpkIxn9Y0ZHiu6R6SC9zasXhKi7+xDFolmP
 B6PmON2ZSSoFNwMr7Fr1SC0gWg7V3TYLmpHITDWz5KL00ReEdJY=
 =dItV
 -----END PGP SIGNATURE-----

Merge tag 'hardening-v6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux

Pull hardening fixes from Kees Cook:

 - Remove invalid tty __counted_by annotation (Nathan Chancellor)

 - Add missing MODULE_DESCRIPTION()s for KUnit string tests (Jeff
   Johnson)

 - Remove non-functional per-arch kstack entropy filtering

* tag 'hardening-v6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  tty: mxser: Remove __counted_by from mxser_board.ports[]
  randomize_kstack: Remove non-functional per-arch entropy filtering
  string: kunit: add missing MODULE_DESCRIPTION() macros
2024-06-28 16:11:02 -07:00
Jonathan Cameron
9d0873892f arm64: Kconfig: Enable hotplug CPU on arm64 if ACPI_PROCESSOR is enabled.
In order to move arch_register_cpu() to be called via the same path
for initially present CPUs described by ACPI and hotplugged CPUs
ACPI_HOTPLUG_CPU needs to be enabled.

The protection against invalid IDs in acpi_map_cpu() is needed as
at least one production BIOS is in the wild which reports entries
in DSDT (with no _STA method, so assumed enabled and present)
that don't match MADT.

Tested-by: Miguel Luis <miguel.luis@oracle.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240529133446.28446-18-Jonathan.Cameron@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-06-28 18:38:32 +01:00
Jonathan Cameron
eba4675008 arm64: arch_register_cpu() variant to check if an ACPI handle is now available.
The ARM64 architecture does not support physical CPU HP today.
To avoid any possibility of a bug against such an architecture if defined
in future, check for the physical CPU HP case (not present) and
return an error on any such attempt.

On ARM64 virtual CPU Hotplug relies on the status value that can be
queried via the AML method _STA for the CPU object.

There are two conditions in which the CPU can be registered.
1) ACPI disabled.
2) ACPI enabled and the acpi_handle is available.
   _STA evaluates to the CPU is both enabled and present.
   (Note that in absence of the _STA method they are always in this
    state).

If neither of these conditions is met the CPU is not 'yet' ready
to be used and -EPROBE_DEFER is returned.

Success occurs in the early attempt to register the CPUs if we
are booting with DT (no concept yet of vCPU HP) if not it succeeds
for already enabled CPUs when the ACPI Processor driver attaches to
them.  Finally it may succeed via the CPU Hotplug code indicating that
the CPU is now enabled.

For ACPI if CONFIG_ACPI_PROCESSOR the only path to get to
arch_register_cpu() with that handle set is via
acpi_processor_hot_add_init() which is only called from an ACPI bus
scan in which _STA has already been queried there is no need to
repeat it here. Add a comment to remind us of this in the future.

Suggested-by: Rafael J. Wysocki <rafael@kernel.org>
Tested-by: Miguel Luis <miguel.luis@oracle.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240529133446.28446-17-Jonathan.Cameron@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-06-28 18:38:31 +01:00
Jean-Philippe Brucker
643e12da4a arm64: psci: Ignore DENIED CPUs
When a CPU is marked as disabled, but online capable in the MADT, PSCI
applies some firmware policy to control when it can be brought online.
PSCI returns DENIED to a CPU_ON request if this is not currently
permitted. The OS can learn the current policy from the _STA enabled bit.

Handle the PSCI DENIED return code gracefully instead of printing an
error.

Note the alternatives to the PSCI cpu_boot() callback do not
return -EPERM so the change in smp.c has no affect.

See https://developer.arm.com/documentation/den0022/f/?lang=en page 58.

Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
[ morse: Rewrote commit message ]
Signed-off-by: James Morse <james.morse@arm.com>
Tested-by: Miguel Luis <miguel.luis@oracle.com>
Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
Tested-by: Jianyong Wu <jianyong.wu@arm.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240529133446.28446-16-Jonathan.Cameron@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-06-28 18:38:31 +01:00
James Morse
d633da5d3a irqchip/gic-v3: Add support for ACPI's disabled but 'online capable' CPUs
To support virtual CPU hotplug, ACPI has added an 'online capable' bit
to the MADT GICC entries. This indicates a disabled CPU entry may not
be possible to online via PSCI until firmware has set enabled bit in
_STA.

This means that a "usable" GIC redistributor is one that is marked as
either enabled, or online capable. The meaning of the
acpi_gicc_is_usable() would become less clear than just checking the
pair of flags at call sites. As such, drop that helper function.
The test in gic_acpi_match_gicc() remains as testing just the
enabled bit so the count of enabled distributors is correct.

What about the redistributor in the GICC entry? ACPI doesn't want to say.
Assume the worst: When a redistributor is described in the GICC entry,
but the entry is marked as disabled at boot, assume the redistributor
is inaccessible.

The GICv3 driver doesn't support late online of redistributors, so this
means the corresponding CPU can't be brought online either.
Rather than modifying cpu masks that may already have been used,
register a new cpuhp callback to fail this case. This must run earlier
than the main gic_starting_cpu() so that this case can be rejected
before the section of cpuhp that runs on the CPU that is coming up as
that is not allowed to fail. This solution keeps the handling of this
broken firmware corner case local to the GIC driver. As precise ordering
of this callback doesn't need to be controlled as long as it is
in that initial prepare phase, use CPUHP_BP_PREPARE_DYN.

Systems that want CPU hotplug in a VM can ensure their redistributors
are always-on, and describe them that way with a GICR entry in the MADT.

Suggested-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tested-by: Miguel Luis <miguel.luis@oracle.com>
Co-developed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20240529133446.28446-15-Jonathan.Cameron@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-06-28 18:38:31 +01:00
Jonathan Cameron
2488444274 arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry
In a review discussion of the changes to support vCPU hotplug where
a check was added on the GICC being enabled if was online, it was
noted that there is need to map back to the cpu and use that to index
into a cpumask. As such, a valid ID is needed.

If an MPIDR check fails in acpi_map_gic_cpu_interface() it is possible
for the entry in cpu_madt_gicc[cpu] == NULL.  This function would
then cause a NULL pointer dereference.   Whilst a path to trigger
this has not been established, harden this caller against the
possibility.

Reviewed-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Link: https://lore.kernel.org/r/20240529133446.28446-13-Jonathan.Cameron@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-06-28 18:38:30 +01:00
James Morse
8d34b6f17b arm64: acpi: Move get_cpu_for_acpi_id() to a header
ACPI identifies CPUs by UID. get_cpu_for_acpi_id() maps the ACPI UID
to the Linux CPU number.

The helper to retrieve this mapping is only available in arm64's NUMA
code.

Move it to live next to get_acpi_id_for_cpu().

Signed-off-by: James Morse <james.morse@arm.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Tested-by: Miguel Luis <miguel.luis@oracle.com>
Tested-by: Vishnu Pajjuri <vishnu@os.amperecomputing.com>
Tested-by: Jianyong Wu <jianyong.wu@arm.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Acked-by: Hanjun Guo <guohanjun@huawei.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Link: https://lore.kernel.org/r/20240529133446.28446-12-Jonathan.Cameron@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2024-06-28 18:38:29 +01:00
Linus Torvalds
9038455948 arm64 fixes for -rc6
- Fix spurious page-table warning when clearing PTE_UFFD_WP in a live
   pte
 
 - Fix clearing of the idmap pgd when using large addressing modes
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCgAuFiEEPxTL6PPUbjXGY88ct6xw3ITBYzQFAmZ9gJgQHHdpbGxAa2Vy
 bmVsLm9yZwAKCRC3rHDchMFjNKEdB/9wDzyoyo+tMp2csPFk66ufbytbsSV2LWys
 kvUZdTYLAV4YlI6jTxXJ/3I3rXggc5SsXE/WosDQ1zfb1KsE/3sWaexIURHxeT73
 PUUqREUfvA7Ormv65A4zlKbVzfsPlM8VWT7mmSj3k6rV5TvNBkjm53x5t4QEPHxO
 VwHRd/JRm+8+JvhXUhPiECFWCalBvJKXxOsCK9Plj1uIOY+eFw3nYp59H2hE30be
 VDmdgBQ6u1mZvqgSv8P6jDV9r69qBxRbig5fo9C89E8ptS9u3piHvcBEtg6FAztA
 SYyrfxBbYvejM5cN4aEWc035kWW0o1K1MimQgZYpyYlqKNHywTw0
 =JzVF
 -----END PGP SIGNATURE-----

Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
 "A pair of small arm64 fixes for -rc6.

  One is a fix for the recently merged uffd-wp support (which was
  triggering a spurious warning) and the other is a fix to the clearing
  of the initial idmap pgd in some configurations

  Summary:

   - Fix spurious page-table warning when clearing PTE_UFFD_WP in a live
     pte

   - Fix clearing of the idmap pgd when using large addressing modes"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: Clear the initial ID map correctly before remapping
  arm64: mm: Permit PTE SW bits to change in live mappings
2024-06-28 09:10:01 -07:00
Kees Cook
6db1208bf9 randomize_kstack: Remove non-functional per-arch entropy filtering
An unintended consequence of commit 9c573cd313 ("randomize_kstack:
Improve entropy diffusion") was that the per-architecture entropy size
filtering reduced how many bits were being added to the mix, rather than
how many bits were being used during the offsetting. All architectures
fell back to the existing default of 0x3FF (10 bits), which will consume
at most 1KiB of stack space. It seems that this is working just fine,
so let's avoid the confusion and update everything to use the default.

The prior intent of the per-architecture limits were:

  arm64: capped at 0x1FF (9 bits), 5 bits effective
  powerpc: uncapped (10 bits), 6 or 7 bits effective
  riscv: uncapped (10 bits), 6 bits effective
  x86: capped at 0xFF (8 bits), 5 (x86_64) or 6 (ia32) bits effective
  s390: capped at 0xFF (8 bits), undocumented effective entropy

Current discussion has led to just dropping the original per-architecture
filters. The additional entropy appears to be safe for arm64, x86,
and s390. Quoting Arnd, "There is no point pretending that 15.75KB is
somehow safe to use while 15.00KB is not."

Co-developed-by: Yuntao Liu <liuyuntao12@huawei.com>
Signed-off-by: Yuntao Liu <liuyuntao12@huawei.com>
Fixes: 9c573cd313 ("randomize_kstack: Improve entropy diffusion")
Link: https://lore.kernel.org/r/20240617133721.377540-1-liuyuntao12@huawei.com
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Heiko Carstens <hca@linux.ibm.com> # s390
Link: https://lore.kernel.org/r/20240619214711.work.953-kees@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
2024-06-28 08:54:56 -07:00
Arnd Bergmann
aff39a02b5 New boards, the Radxa ROCK S0, Radxa ZERO 3W/3E, CM3588 NAS solution
and Neardi LBA3368.
 
 Interesting core changes: dropping of the rk3399pro dtsi - Dragan dug
 through available information, boards and found out that the pcie-stuff
 described in the existing rk3399pro dtsi is actually not true and the
 file can go away.
 
 And also a bit of reorganizing of rk3588 dtsi files. There are number
 of rk3588 variants in existence that select between two sets of
 peripherals and also multiple sets of operating points. So the change
 sorts it differently so that we stop including one soc-variant into
 others and also make room for the operating points.
 
 The rk3308 got io domains, a number of additions to the rk3308-rock-pi-s
 board (wifi, io-domains, otp, ethernet, uart, sdmmc).
 
 And then there are of course the usual set of new additions like
 rk3588 pcie endpoint support and individual peripherals for boards.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmZ+p5wQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgRR1B/47XZQRe94xg0is7nptf9UehEE6UaoDSrMj
 9C0JLEt6CLrlaCDVbd387/8+Ehm0Mc1SpXWZa+/JUROKiIaAMNesVsCDkrlsF5W/
 Df0z1Bxg3WOii2RNNidl4FC3UbZDJ+SQc8kRnk4AARsIJZEXtRuGv8ExrNTVjURC
 PwST1e7yL8xk4Mq5f7SVcT0V/vL6O/Ae27w464q45o8dFtoTKdgXHhEHZYqPiv1e
 XIvoVBBfkqFZcj+YbrPJHJWS9XguEHjUvzXVp3TO1WoHnwtjJeQbqdI9H2AWF5DY
 xYqRMrLDv0azqU4QwpkA9C81zSOko1EpqN7p2b9k/4V3NgmSzI7H
 =rZGA
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ+28YACgkQYKtH/8kJ
 UieK0Q//X4sGDnswiUtOqQdZIGxYCLkiQgO8zCdywUrAfm+a9mBQwljc7iL30a/a
 SAN80SVStELC6IP3cI1efn7bvimIeNMQEfo68+IKvBtmWoS6IhSiDWJAPeitZrJs
 iZXIOwx2lXVlC/5Y1r6ZCaGysSnwdREvQQpdG4tWj00n0WxadK4pFiIuz94taUaI
 hWm64BH/vkKwZQ+18QDw3F+QkXmsLQ09FIpXz8DwhW9G2GuFOwNw2Dmhkpc+lFjI
 BDDdzTIsonYpy1kIXzH7IWpkNCrXZCGLScZK/g+2xd+XUOJhMKsLu+glo7zHQ7f3
 7su7wN1ehjPMRgAudXS7yxfOhoKb5x/w51BcuKa7fBU3E7Zid/Hnrp700KYrnZjq
 W2Du9ptvyh0QnfncWJVl3Y3fls25IkfDiGRooqRE8D8RY126Ln/ysFnSJRTHryty
 6NVQly4uQinbMmBV336ufmyRiWnafvVzf8mL4LGrdrXxdHqGs7WBaP3/GC0edzd0
 oDP6etYWLGhDA+Qt37cZXuPDJdaOBVTIWe1dn40O2uV5a26IxnuXDfeDu9kqMNL1
 oylY5/nvzQTWLFXXCf7X9Ez7+eax8le3AzbplLciXSURECuGDrqA61UUpHP9alZh
 hSCXwY+0tayFTBUCsiVLx2WyCMxwQXK93EB7bk++NLldFHYq+A0=
 =yOYl
 -----END PGP SIGNATURE-----

Merge tag 'v6.11-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

New boards, the Radxa ROCK S0, Radxa ZERO 3W/3E, CM3588 NAS solution
and Neardi LBA3368.

Interesting core changes: dropping of the rk3399pro dtsi - Dragan dug
through available information, boards and found out that the pcie-stuff
described in the existing rk3399pro dtsi is actually not true and the
file can go away.

And also a bit of reorganizing of rk3588 dtsi files. There are number
of rk3588 variants in existence that select between two sets of
peripherals and also multiple sets of operating points. So the change
sorts it differently so that we stop including one soc-variant into
others and also make room for the operating points.

The rk3308 got io domains, a number of additions to the rk3308-rock-pi-s
board (wifi, io-domains, otp, ethernet, uart, sdmmc).

And then there are of course the usual set of new additions like
rk3588 pcie endpoint support and individual peripherals for boards.

* tag 'v6.11-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (42 commits)
  arm64: dts: rockchip: Delete the SoC variant dtsi for RK3399Pro
  arm64: dts: rockchip: Fix mic-in-differential usage on rk3568-evb1-v10
  arm64: dts: rockchip: Fix mic-in-differential usage on rk3566-roc-pc
  arm64: dts: rockchip: Drop invalid mic-in-differential on rk3568-rock-3a
  arm64: dts: rockchip: Add rock5b overlays for PCIe endpoint mode
  arm64: dts: rockchip: Add PCIe endpoint mode support
  arm64: dts: rockchip: Increase VOP clk rate on RK3328
  arm64: dts: rockchip: add gpio-line-names to radxa-zero-3
  arm64: dts: rockchip: Split GPU OPPs of RK3588 and RK3588j
  arm64: dts: rockchip: Add OPP data for CPU cores on RK3588j
  arm64: dts: rockchip: Add OPP data for CPU cores on RK3588
  arm64: dts: rockchip: Add CPU/memory regulator coupling for 2 RK3588 boards
  arm64: dts: rockchip: fix mmc aliases for Radxa ZERO 3E/3W
  arm64: dts: rockchip: Add Neardi LBA3368 board
  dt-bindings: arm: rockchip: Add Neardi LBA3368
  dt-bindings: vendor-prefixes: Add Neardi Technology
  arm64: dts: rockchip: Enable PinePhone Pro vibrator
  arm64: dts: rockchip: Enable PinePhone Pro IMU sensor
  arm64: dts: rockchip: Add Pinephone Pro support for GPIO LEDs
  arm64: dts: rockchip: Enable SPI flash on PinePhone Pro
  ...

Link: https://lore.kernel.org/r/4901395.GXAFRqVoOG@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-28 17:50:30 +02:00
Arnd Bergmann
c4043e7655 MediaTek ARM64 DTS updates for v6.11
This introduces the new Airoha (MediaTek) EN7581 home networking
 platform (routers) in early stages, but with support for its
 Evaluation Board, a few more MediaTek based machines, and
 improvements for existing ones.
 
 For the MT7981 router SoC we get pinctrl support, along with the
 enablement of its watchdog, eFuse/nvmem, I2C and integrated WiFi
 controller, other than the introduction of new machines based on
 this chip: the Cudy WR3000 V1 router and the OpenWRT One.
 
 MT7986 gets a new machine: the BananaPi R3 Mini.
 
 Some advancements have been done also on the MT7988 SoC, which
 gains support for its I2C, PWM and USB XHCI controllers.
 
 MediaTek Genio SoCs also get attention, with the introduction of a
 basic device tree for the MT8390 Genio 700-EVK board, and for the
 MT8395 Genio 1200 powered Kontron 3.5"-SBC-i1200.
 
 Additionally, the Genio 1200 Radxa NIO12L board gets support for
 USB Role Switching and proper PCI-Express controller PM suspend
 and resume, other than finally enabling CPU and GPU frequency
 and voltage scaling for improved efficiency.
 
 Speaking of MediaTek Kompanio SoCs (Chromebooks) instead, thanks
 to community interest and help in testing, there comes support for
 the MT8195-powered HP Chromebook X360 13b-ca0002sa, while Google
 contributed support for the MT8186-powered Acer Chromebook 311.
 
 Moreover, MT8188 gets support for its integrated power domains,
 other than its Global Command Engine (GCE) mailboxes, initial
 basic support for the VDO0/1 blocks for multimedia, and its GPU
 (ARM Mali G57-MC3, Valhall-JM) with Panfrost.
 
 Besides that, this also adds a few other cleanups and improvements
 for all machines using the MT8183, MT8192, MT8195/MT8395 SoCs and
 adds generation of symbols on base devicetrees of machines using
 Device Tree Overlay(s) (DTBO).
 
 In particular:
  - The MediaTek Smart Voltage Scaling (SVS) is now fully working
    those SoCs, bringing further power efficiency improvements;
  - Thermal zones were refactored on MT8183 for consistency with
    the other MediaTek SoCs and for readability
  - Sound DAI links are now consistently specified in device tree
    on MT8195 and MT8186 machines
  - Newly supported machines/boards
    - EN7581: EVK
    - MT7981: Cudy WR3000 V1, OpenWRT One
    - MT7986: BananaPi R3 Mini
    - MT8186: Acer Chromebook 311 (Corsola Voltorb)
    - MT8195: HP Chromebook X360 13b-ca0002sa (Cherry Dojo)
    - MT8390/8188: Genio 700 EVK
  - Some cleanups for unused/legacy devicetree properties
 -----BEGIN PGP SIGNATURE-----
 
 iJ4EABYKAEYWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCZn0thSgcYW5nZWxvZ2lv
 YWNjaGluby5kZWxyZWdub0Bjb2xsYWJvcmEuY29tAAoJEJo2BM+tl4R4B94BANp1
 sg23FYuR+RIMOtJ7542D1HVRr/l3D27XFSAw0yjbAP9cTg5ps+SR4fsr+ipectwP
 MBqhJLJu7KriAl63aY2/BQ==
 =paIN
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ+2boACgkQYKtH/8kJ
 Uieq2xAAvzQQUlIbLUm8GUZ+GzcMpYcXiuf1ngxym8dmc2ZJo+PB0XnI8R8bwM8p
 AffGi2sE6it8NjcPAw9Sg9x16p/HOloeQq/V36XeBGWyz8AVR4bA676J73yRVnNo
 fDEhdD5dcGE3SkmGX1V+FrwosEoYLjK6Jso/RB+IAWOgIesbU8yfObjl9NAfXsK1
 B+qA7HTJeKtpMORZLbA6sMGxOrR0EVv+7Ni1kkPnCqEw4q1FLGi9MUZ4pHNXXoDd
 9kDHL6QpWjfjr14rmpvV+C0vqbzcso3h1ZUmI2IDRN0PcOUuEaDHfmE4Tu+UNefE
 sfEvJCPPscgBJfCHH8fE9CgBu9wSfITRh4um4cEWo+XdiLaG5PTF/JAp+n+ugldr
 eKNFUZTx5xP7yReo0lzC2EExhugtPTXjabb64jtFst9WSjlFO34yoJ1R786gedKx
 C85pv3lQ0H2/NADB2cYsKdHVK+1tHZyl3yYU/clx3yp+iQwv5kr22wvQt68MAHL4
 oiepBhdqeLmMjn/cTJZLddp90t6ge+li3miyv0yisrQn57h4NjJapuNIVZnATbUa
 xJAH7BLdQPqxb8d9AXNR2h+Tqu/CqFdqEb8qdsYwdjmPrHuwQPVlCL7eMbI2+7Rn
 A5ME/9DSRs+zWKP7Q97dziKU0/otXkx7t+en+4O6eylxxMwF2AA=
 =lO7d
 -----END PGP SIGNATURE-----

Merge tag 'mtk-dts64-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt

MediaTek ARM64 DTS updates for v6.11

This introduces the new Airoha (MediaTek) EN7581 home networking
platform (routers) in early stages, but with support for its
Evaluation Board, a few more MediaTek based machines, and
improvements for existing ones.

For the MT7981 router SoC we get pinctrl support, along with the
enablement of its watchdog, eFuse/nvmem, I2C and integrated WiFi
controller, other than the introduction of new machines based on
this chip: the Cudy WR3000 V1 router and the OpenWRT One.

MT7986 gets a new machine: the BananaPi R3 Mini.

Some advancements have been done also on the MT7988 SoC, which
gains support for its I2C, PWM and USB XHCI controllers.

MediaTek Genio SoCs also get attention, with the introduction of a
basic device tree for the MT8390 Genio 700-EVK board, and for the
MT8395 Genio 1200 powered Kontron 3.5"-SBC-i1200.

Additionally, the Genio 1200 Radxa NIO12L board gets support for
USB Role Switching and proper PCI-Express controller PM suspend
and resume, other than finally enabling CPU and GPU frequency
and voltage scaling for improved efficiency.

Speaking of MediaTek Kompanio SoCs (Chromebooks) instead, thanks
to community interest and help in testing, there comes support for
the MT8195-powered HP Chromebook X360 13b-ca0002sa, while Google
contributed support for the MT8186-powered Acer Chromebook 311.

Moreover, MT8188 gets support for its integrated power domains,
other than its Global Command Engine (GCE) mailboxes, initial
basic support for the VDO0/1 blocks for multimedia, and its GPU
(ARM Mali G57-MC3, Valhall-JM) with Panfrost.

Besides that, this also adds a few other cleanups and improvements
for all machines using the MT8183, MT8192, MT8195/MT8395 SoCs and
adds generation of symbols on base devicetrees of machines using
Device Tree Overlay(s) (DTBO).

In particular:
 - The MediaTek Smart Voltage Scaling (SVS) is now fully working
   those SoCs, bringing further power efficiency improvements;
 - Thermal zones were refactored on MT8183 for consistency with
   the other MediaTek SoCs and for readability
 - Sound DAI links are now consistently specified in device tree
   on MT8195 and MT8186 machines
 - Newly supported machines/boards
   - EN7581: EVK
   - MT7981: Cudy WR3000 V1, OpenWRT One
   - MT7986: BananaPi R3 Mini
   - MT8186: Acer Chromebook 311 (Corsola Voltorb)
   - MT8195: HP Chromebook X360 13b-ca0002sa (Cherry Dojo)
   - MT8390/8188: Genio 700 EVK
 - Some cleanups for unused/legacy devicetree properties

* tag 'mtk-dts64-for-v6.11' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (58 commits)
  arm64: dts: mediatek: Declare drive-strength numerically
  arm64: dts: mt7622: fix switch probe on bananapi-r64
  arm64: dts: mediatek: Add MT8186 Voltorb Chromebooks
  dt-bindings: arm: mediatek: Add MT8186 Voltorb Chromebooks
  arm64: dts: mediatek: Makefile: Generate symbols for DTBO support
  arm64: dts: mediatek: mt8183-kukui-jacuzzi: Add ports node for anx7625
  arm64: dts: mediatek: mt8183-pico6: Fix wake-on-X event node names
  arm64: dts: mt8173: Add G2Touch touchscreen node
  arm64: dts: mediatek: mt8183-kukui: Fix the value of `dlg,jack-det-rate` mismatch
  arm64: dts: mediatek: mt8188: Add support for Mali GPU on Panfrost
  arm64: dts: mediatek: mt8188: Add support for SoC power domains
  arm64: dts: mediatek: mt8188: Add VDOSYS0/1 support for multimedia
  arm64: dts: mediatek: mt8188: Add Global Command Engine mailboxes
  arm64: dts: mediatek: mt8173-elm: drop PMIC's syscon node
  arm64: dts: mediatek: mt8365: use a specific SCPSYS compatible
  arm64: dts: mediatek: mt8365: drop incorrect power-domain-cells
  arm64: dts: mediatek: mt7981: add I2C controller
  arm64: dts: mediatek: mt7622: fix "emmc" pinctrl mux
  arm64: dts: mediatek: mt7988: add I2C controllers
  arm64: dts: mediatek: mt7988: add PWM controller
  ...

Link: https://lore.kernel.org/r/20240628093801.126013-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-28 17:41:45 +02:00
Vedant Deshpande
5e4bbe5220 arm64: tegra: Restructure Orin NX/Nano device tree
The Orin NX and Orin Nano boards share a common carrier board and the
module boards for both platforms are very similar. Therefore,
restructure the Orin NX/Nano device-tree source files to adhere to a
simple hierarchical format. This will help make clear where changes
should go, and eliminates redundancy within the files.

Previously the carrier board file was independent. However, given
that it is so tightly coupled with the module design, it will be
more practical to combine files together for a simpler layout.

Following changes are made to restructure the device tree source files:
1) Change include hierarchy. Top-level dts includes board dtsi.
   Board dtsi includes module dtsi. Module dtsi includes SoC dtsi.
2) Data from the top level dts file that is common to both Orin NX
   and Orin Nano is in tegra234-p3768-0000+p3767.dtsi.
3) Only data that is unique to NX/Nano is present in the top-level dts.

Signed-off-by: Vedant Deshpande <vedantd@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-06-28 17:37:19 +02:00
Besar Wicaksono
fa071acfef arm64: defconfig: Enable NVIDIA CoreSight PMU driver
Enable NVIDIA driver for Coresight PMU arch device.

Signed-off-by: Besar Wicaksono <bwicaksono@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2024-06-28 16:54:06 +02:00
Dragan Simic
9417909e25 arm64: dts: rockchip: Delete the SoC variant dtsi for RK3399Pro
The commit 587b4ee24f ("arm64: dts: rockchip: add core dtsi file for
RK3399Pro SoCs") describes the RK3399Pro's PCI Express interface as the way
built-in NPU communicates with the rest of the SoC.  All available evidence
shows this not to be accurate, as described in detail below.  Moreover, the
rk3399pro.dtsi isn't used anywhere, so let's delete it.

The publicly available schematics of the Radxa Rock Pi N10 carrier board [1]
and the Vamrs VMARC RK3399Pro SoM, [2] which put together form the currently
single supported RK3399Pro-based board, clearly show that the PCI Express x4
interface of this SoC is fully functional and actually not used by the SoC
to communicate with the built-in NPU.  In more detail, the VMARC SoM exports
the SoC's PCI Express interface at its board-to-board connector, and the Rock
Pi N10 routes it to an M.2 M-key slot with four PCI Express lanes.

Both the Rockchip RK3399Pro datasheet, version 1.1, [3] and the Rockchip
RK3399Pro technical reference manual (TRM), first part of the version 1.0, [4]
don't describe that the SoC's PCI Express interface is reserved for the NPU.
Instead, the RK3399Pro TRM describes that the NPU uses AHB and AXI interfaces
as the host interface (HIF).  The RK3399Pro datasheet clearly describes that
the PCI Express x4 interface is available for general-purpose use, just like
it's the case with the standard Rockchip RK3399 SoC, [5] albeit with a bit
shorter feature list provided in the RK3399Pro datasheet.

Even the publicly available reference RK3399Pro schematic from Rockchip [6]
shows the availability of a standard PCI Express slot with four lanes, which
would be pretty much impossible if the PCI Express interface was reserved
for the communication with the built-in NPU.

Based on the RK3399Pro datasheet [3] and the board schematics, [2][6] the
built-in NPU actually exports NPU_PCIE as a separate PCI Express x2 interface
that's partially pinmuxed with the NPU's separate USB 3.0 interface, which is
described further in the next paragraph.  However, the NPU's separate PCI
Express x2 interface is left undocumented in the publicly available RK3399Pro
documentation, in which it's clearly described as reserved for internal use
and not intended for the communication with the NPU.  Finally, the evidently
independent nature of the separate NPU_PCIE x2 interface makes ignoring it
safe when it comes to determining the nature and the availability of the
RK3399Pro's main PCI Express x4 interface.

The actual application-level communication with the built-in NPU, including
powering it up and down and uploading the NPU firmware, is performed through
the separate USB 2.0 and USB 3.0 interfaces exported by the NPU, [7] which
the VMARC SoM [2] and the reference board design from Rockchip [6] route to
the SoC's standard USB 2.0 and USB 3.0 interfaces, to make the NPU accessible
to software running on the SoC's ARM cores.

[1] https://dl.radxa.com/rockpin10/docs/hw/rockpi_n10_sch_v1.1_20190909.pdf
[2] https://dl.radxa.com/rockpin10/docs/hw/VMARC_RK3399Pro_sch_V1.1_20190619.pdf
[3] https://www.rockchip.fr/RK3399Pro%20datasheet%20V1.1.pdf
[4] https://www.rockchip.fr/Rockchip%20RK3399Pro%20TRM%20V1.0%20Part1.pdf
[5] https://www.rockchip.fr/RK3399%20datasheet%20V1.8.pdf
[6] https://opensource.rock-chips.com/images/e/e4/RK_EVB_RK3399PRO_LP3S178P332SD8_V11_20181113_RZF.pdf
[7] https://wiki.radxa.com/RockpiN10/dev/NPU-booting

Signed-off-by: Dragan Simic <dsimic@manjaro.org>
Link: https://lore.kernel.org/r/4449f7d4eead787308300e2d1d37b88c9d1446b2.1717308862.git.dsimic@manjaro.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-06-28 14:02:39 +02:00
Cristian Ciocaltea
ec03073888 arm64: dts: rockchip: Fix mic-in-differential usage on rk3568-evb1-v10
The 'mic-in-differential' DT property supported by the RK809/RK817 audio
codec driver is actually valid if prefixed with 'rockchip,':

  DTC_CHK arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dtb

  rk3568-evb1-v10.dtb: pmic@20: codec: 'mic-in-differential' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml#

Make use of the correct property name.

Fixes: 3e4c629ca6 ("arm64: dts: rockchip: enable rk809 audio codec on the rk3568 evb1-v10")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Link: https://lore.kernel.org/r/20240622-rk809-fixes-v2-5-c0db420d3639@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-06-28 14:02:39 +02:00
Cristian Ciocaltea
e643e4eb4b arm64: dts: rockchip: Fix mic-in-differential usage on rk3566-roc-pc
The 'mic-in-differential' DT property supported by the RK809/RK817 audio
codec driver is actually valid if prefixed with 'rockchip,':

  DTC_CHK arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dtb
  rk3566-roc-pc.dtb: pmic@20: codec: 'mic-in-differential' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml#

Make use of the correct property name.

Fixes: a8e35c4beb ("arm64: dts: rockchip: add audio nodes to rk3566-roc-pc")
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Link: https://lore.kernel.org/r/20240622-rk809-fixes-v2-4-c0db420d3639@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-06-28 14:02:39 +02:00
Cristian Ciocaltea
406a554b38 arm64: dts: rockchip: Drop invalid mic-in-differential on rk3568-rock-3a
The 'mic-in-differential' DT property supported by the RK809/RK817 audio
codec driver is actually valid if prefixed with 'rockchip,':

  DTC_CHK arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dtb
  rk3568-rock-3a.dtb: pmic@20: codec: 'mic-in-differential' does not match any of the regexes: 'pinctrl-[0-9]+'
	from schema $id: http://devicetree.org/schemas/mfd/rockchip,rk809.yaml#

However, the board doesn't make use of differential signaling, hence
drop the incorrect property and the now unnecessary 'codec' node.

Fixes: 22a442e658 ("arm64: dts: rockchip: add basic dts for the radxa rock3 model a")
Reported-by: Jonas Karlman <jonas@kwiboo.se>
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
Link: https://lore.kernel.org/r/20240622-rk809-fixes-v2-3-c0db420d3639@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-06-28 14:02:39 +02:00
Niklas Cassel
4065853475 arm64: dts: rockchip: Add rock5b overlays for PCIe endpoint mode
Add rock5b overlays for PCIe endpoint mode support.

If using the rock5b as an endpoint against a normal PC, only the
rk3588-rock-5b-pcie-ep.dtbo needs to be applied.

If using two rock5b:s, with one board as EP and the other board as RC,
rk3588-rock-5b-pcie-ep.dtbo and rk3588-rock-5b-pcie-srns.dtbo has to
be applied to the respective boards.

Signed-off-by: Niklas Cassel <cassel@kernel.org>
Link: https://lore.kernel.org/r/20240607-rockchip-pcie-ep-v1-v5-13-0a042d6b0049@kernel.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-06-28 14:02:38 +02:00
Niklas Cassel
7ef44e179a arm64: dts: rockchip: Add PCIe endpoint mode support
Add a device tree node representing PCIe endpoint mode.

The controller can either be configured to run in Root Complex or Endpoint
mode.

If a user wants to run the controller in endpoint mode, the user has to
disable the pcie3x4 node and enable the pcie3x4_ep node.

Signed-off-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20240607-rockchip-pcie-ep-v1-v5-12-0a042d6b0049@kernel.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-06-28 14:02:38 +02:00
Jerome Brunet
1443b6ea80 arm64: dts: amlogic: setup hdmi system clock
HDMI Tx needs the system clock set on the xtal rate.
This clock is managed by the main clock controller of the related SoCs.

Currently 2 part of the display drivers race to setup the HDMI system
clock by directly poking the controller register. The clock API should
be used to setup the rate instead.

Use assigned-clock to setup the HDMI system clock.

Fixes: 6939db7e0d ("ARM64: dts: meson-gx: Add support for HDMI output")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20240626152733.1350376-3-jbrunet@baylibre.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2024-06-28 10:10:42 +02:00
Jerome Brunet
0602ba0dcd arm64: dts: amlogic: gx: correct hdmi clocks
The clocks provided to HDMI tx are not consistent between gx and g12:
* gx receives the peripheral clock as 'isfr' while g12 receives it as
  'iahb'
* g12 gets the HDMI system clock as 'isfr' but gx does not even get it.
  It surely needs that clock since the driver is directly poking around
  the clock controller's registers for that clock.

Align gx SoCs with g12 and provide:
 * the HDMI peripheral clock as 'iahb'
 * the HDMI system clock as 'isfr'

Fixes: 6939db7e0d ("ARM64: dts: meson-gx: Add support for HDMI output")
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20240626152733.1350376-2-jbrunet@baylibre.com
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2024-06-28 10:10:42 +02:00
Venkata Prahlad Valluru
fd513b922e arm64: dts: qcom: qcs6490-rb3gen2: enable hdmi bridge
Rb3Gen2 has a lt9611uxc DSI-to-HDMI bridge on i2c0, with
reset gpio from pm7250b gpio2 and irq gpio from tlmm gpio24.
Bridge supplies are Vdd connected to input supply directly
and vcc to L11c. Enable HDMI output, bridge and corresponding
DSI output.

Signed-off-by: Venkata Prahlad Valluru <quic_vvalluru@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20240528141954.7567-1-quic_vvalluru@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2024-06-27 16:17:54 -05:00
Jakub Kicinski
193b9b2002 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR.

No conflicts.

Adjacent changes:
  e3f02f32a0 ("ionic: fix kernel panic due to multi-buffer handling")
  d9c0420999 ("ionic: Mark error paths in the data path as unlikely")

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-06-27 12:14:11 -07:00
Arnd Bergmann
4bd85abeda SoCFPGA DTS updates for v6.11
- Drop unneeded flash address
 - Add L2 Cache info for Stratix10
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmZ8gk4ACgkQGZQEC4Gj
 KPQtUQ//Q91yj7kZUH5dNQ2hx+PsstaE1e21ucJr388x3ZUoTVF9oTCc0nxqwJnN
 iyl6QkJvkioPhwL1HK5H7eeVCcj3hVa0QaqluMjGXJN8Cc3vP8CXKiDGydceUdlH
 nRMz94hOqM/H++4gxUYawhYpRSymvKTDzR7e+6FLgFHdwe/ZyfXM3+h5y/Bp9ub+
 DIoHMQekUBXlkX6U9ezZVKwSTfCyXPF1xOjgxupxPH9qittR0e+nL7YNkLQWQF8r
 u/UlCKFVQqOsPCT8RH0AsgKPs59+nywRFtxULRX8sOFOhYJh167lHgbgD7LKPDWp
 wPPy8IXBabxubv86HC+M7d9qcdptnbd5fEqQz8ZYA7XYdS6hRIii8cek1PEfp2T4
 9tkEizRikjiznB+6DKtL6d2dy9JdTkxrPT4ftCyH+qxiKp+GbFOsUggBdZssROUn
 sXSe2yI4gidhKYVPyoFwR85lp0Q6SXhbbR04sYikiPUFHZprDWqCD+osvhsCdN1K
 LB0CNcqMa/apEOcWkcl42qiijpyRmIdhlfEOxWVnI0NxPTJcLj8A+yvs6QcoIAqO
 4AwWYsEWhJXb+PRHSYPdCGA9EEEq27pxz53TO6K7Es874ll82F1BMe3QYzS5GFmz
 EnKhGMUCVFbGc2huxFqGQGH71ZXCWNdgTOrUxQTW2jqEOjPggL8=
 =Ewb3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eZQACgkQYKtH/8kJ
 Uif9bxAAjkd1tXq1G3eFwLvzNW3kVuxYovmMp2TXQiTLp+gInf8PRIZp4QxRaWyB
 e+e7fqO2fgLsXktquz382aMYrv/K8NjI6uNUi2I7Pb4eb/JJuaQbSTfyWdf53Gim
 Hk/F+fPDREjUoKdrFN30lKedfM9AlaPsd0V/b+vwn4MqPtue9NSfKPTeOug6fvMj
 aJ+7sn12z4GqE8KrzyqO6y05W388Bvb2CBPSYi+nqcettqi0DSBbyri4YzBkF8mx
 +FANW+HzyJKUBs2TeMjPwomeKR3dlffXVy5KM0GtohlZMlKWrtAEW/YhfFRj1iYR
 hZkxLQsKF3YaX8at9VEHoy9Kk/WbVXBihrlkJSD5g7QRtbSs/NbxX0lPglPszoPK
 gHTWQ5542Hk2z6oH2suVgvByzEZzYl12mtu9iorYWpi3c8J5+vfONHrB+KoXOj/v
 Sffibr3pyjk1zRlYTqx4B64oWdecpw+B18b+FXEWxxlER8rGRaC05I0neZAcWeJr
 B5ZvpEpXs9YQGKCSJrJx3D+pcivSWQWq04kvXx//lc89pl0We+j2yhO1e5Etwd86
 OEMTBhr7l8hWN2iy9LNolsTcFlhG+pPQT076aN58i1upx7WMjjvA37NMmQFYG+1I
 Gp0XFMH4SujfqZakeVNJAaqz5YZF2AorvuT++7DAA1Np/rWm1A4=
 =PuBL
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_updates_for_v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt

SoCFPGA DTS updates for v6.11
- Drop unneeded flash address
- Add L2 Cache info for Stratix10

* tag 'socfpga_dts_updates_for_v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: socfpga: stratix10: add L2 cache info
  arm64: dts: n5x: socdk: drop unneeded flash address/size-cells
  arm64: dts: agilex: socdk: drop unneeded flash address/size-cells
  arm64: dts: stratix10: socdk_nand: drop unneeded flash address/size-cells
  arm64: dts: stratix10: socdk: drop unneeded flash address/size-cells

Link: https://lore.kernel.org/r/20240626210728.21295-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:39:16 +02:00
Arnd Bergmann
02295aa2a4 arm64: Xilinx DT changes for 6.11
- Add remoteproc TCM support
 - Add coresight cpu debug support
 - Describe OCM controller
 - Disable Tri-state for SDIO on kv260
 - Add compatibility strings for kv260 overlays
 - Add support for k26-rev2 SOM
 - Describe ina260/DP/TTC and PWM on kv260
 
 DT schema alignments and fixes
 - Align soc-nvmem binding with dt-schema
 - Fix fpga region node
 - Add description for efuses
 - Describe USB wakeup interrupt
 - Fix ams-pl node
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCZnrCoAAKCRDKSWXLKUoM
 ITY3AJ4u5YTaYTdmqmBgpdeTsk5FhDs9twCffL23QicStiny356f94i2eO+FVrU=
 =gKKi
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eU8ACgkQYKtH/8kJ
 Uid1xRAApSU6yiN+Tcbe8ljBg1yj9suU61ByK8MutLmKMrwGHi20BZq6yXH5hItY
 N3AKGeK+vUFv9IYuuvcJ4D+0Cah4XV5s71Ud+sX8WXuG48A6qf2CQTQqynn9oSmX
 Znh51fOlyvhyl50AAV/KFqvcXPMqiOjBvaQeT28DuCnOWc8W5gXCYuZn+UmEvNOO
 n1FrWV+6XQ+7uVhy9MgSv6DFVHGJNeMI2vCxh2M/TRjL6iY7a8bDourmqLBdznJF
 u7VDEBF1P5kyQNarf2hNzKxXdGC3q5CxmFyXZ+4hxLNFZo5mY6nmKrBWB9EzYKUh
 MBWRealJ9IQXELXY9PWXh1kM3DtlfadZ+vS/ZGt4ok5O6gogKcn6yajY0pt+xJ6q
 Czo5tYRGUxMQWnkWCTCdfJ82IRm5b5TWNz6rHKvmfZyAdioRZ/vqRgduIpDkLIXW
 gKjaWXH1LfU1Pf2evCeL5l/vmm9IYT66T1dIQ2CTaxzwqhER3SGVczMCzYgIOVuy
 9bFaCblb4yMMqGXE+wgwpECluzCKy4Rco7/+avIGBglWXZu0FGpTsNLCfHfTzg1n
 DQzQfx7RCIWHjsXHmGJq379afJFaRZcYrCyQEoUQxUuAau7s/ucKPbbnzBNumBhc
 lu5bZE+GcEHlZY6hHHlGFw7nRz5hvC9U9CJ19q2w7ClvBwYqhss=
 =9eHq
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-soc-for-6.11' of https://github.com/Xilinx/linux-xlnx into soc/dt

arm64: Xilinx DT changes for 6.11

- Add remoteproc TCM support
- Add coresight cpu debug support
- Describe OCM controller
- Disable Tri-state for SDIO on kv260
- Add compatibility strings for kv260 overlays
- Add support for k26-rev2 SOM
- Describe ina260/DP/TTC and PWM on kv260

DT schema alignments and fixes
- Align soc-nvmem binding with dt-schema
- Fix fpga region node
- Add description for efuses
- Describe USB wakeup interrupt
- Fix ams-pl node

* tag 'zynqmp-soc-for-6.11' of https://github.com/Xilinx/linux-xlnx:
  arm64: zynqmp: Add pwm-fan node and fix ttc0 pwm-cells property
  arm64: zynqmp: Add support for K26 rev2 boards
  arm64: zynqmp: Describe DisplayPort connector for Kria
  arm64: zynqmp: Add description for ina260 on kv260
  arm64: zynqmp: Add compatible string for kv260
  arm64: zynqmp: Disable Tri-state for SDIO
  arm64: zynqmp: Remove address/size-cells from ams node
  arm64: zynqmp: Describe OCM controller
  arm64: zynqmp: Describe USB wakeup interrupt
  arm64: zynqmp: Add missing description for efuses
  arm64: zynqmp: Use fpga-region as node name
  arm64: zynqmp: Align nvmem node with dt schema
  arm64: zynqmp: Add coresight cpu debug support
  dts: zynqmp: add properties for TCM in remoteproc

Link: https://lore.kernel.org/r/CAHTX3dLbNAYL4hm+bs=GByA4DqjRr3Rt6WESram8VyU1By8Mow@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:38:07 +02:00
Arnd Bergmann
c02138cf7c Arm Juno updates for v6.11
Addition of dedicated FPGA syscon compatible for Juno platforms. Also
 enablement of GPU device node now that the panfrost driver is already
 enabled as a module in defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAmZz7qcACgkQAEG6vDF+
 4piYSA/+OvKsSMJAo7M0QKX7xfFtZloisVdfsVU3ZruPChrhzk3/k9gDhgk2ov4m
 KCZprXYyF1MF2LAZ1fvMmkEZA0h4t0njuGoMbHyzm5w7ycxX5SAeeL4NO58hmz+s
 Rl51Gl64HP6urXbFrsHxwkpl07pacmdecejJ2RNDtBCjq8qW9u3m58aC8xroKrQe
 lmhCZRcTXDjE85su2PE40E5BLqQb+Ns4RhdtLbkoLYAzz+OYrLchd+twZtk236f1
 4e7iNkiXWeDWbqL5TuzNG3+6jH+6o2QI/qbNV8HkaprGqoqH7g/c5dsJjNRg/dA2
 KpHvFRWt4KOiFOgavTzLkP8MHmVBgxc1qay8rsy/HlRC1iiQM16B24XJ0fYrRcOH
 o8Ly8uw/udTi9MLGLoESvoqHyzMvi07uYnb/qIFZKAakKWZINoqxaf76Q90CMcj1
 5tTBiTbQyWldKNZVcNeRdqZwkAEYfTjijUucpy4hKvSedemOwAt66fTcU+vPZ1lw
 Yz/ORJtyerg+IxDTulNv4QjY6yEX1WKkktseGOOfpeoUwBos92M561v8X9jmubYK
 KjU3xO0LjSRLcxhLUtxkZqZgR5UpzvcgKzRvEF0g05cjttJXwBY+UrS4ZURdpSwZ
 eDHKDykWVOVX+4LIWYoxy5GgZRlFNQe8GEg8sd7VhgUdTVp0KkE=
 =trlg
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eQQACgkQYKtH/8kJ
 UicGig//TjADx5oCnrfGawk/Xg8cF4ddJN9gK8BvUVzW3PkTeB64zdtMsvRxq1IO
 dIjFXJzUsquG373UpXBAx+lJ54w3zMX/Hq/D61+6g8uDrVFmTNqGqD/EWtYy9wv1
 7aDrNCAOKUHN/Ub+nAAZGfFmPaziLk1dKF6dgVpjQ1ibM+cFWUK7p6p5AM90LS2o
 7Je6F0gmT++50fHWhdixsuWJg/ypU5sB/pzVvp8lfQUB4FipRpcWfIN99nkZ5774
 YxJmzXqLhWuufBIxgwbHzoUP4prYGM7Zh0Su8xKu4Anjaztwer8+pVtOlV+8KH/o
 mTa4Y8IOludFSe3k8FIBZe7HXM3oLMNHSWaIQgKStomW2ploK95QyZnNwfTFTruq
 RWHklQxvGBgEOSVTpbjlNJWxDl4mMlKMvf6YZ1SHz9E1qqmAyXjG/b6sCqW37nq9
 lmOWY5IT4yBDeQgQk0HeNpR861ae1e1R0HELA832s+Zn4TCHLaWcbZcqsv5pbV9x
 laivZv/8ypx/2t4s591bo1ec63eMTYdsysOETr92SQVN+e5/pfQvGovoSxoyE/x7
 hhEjt4JR8OuezYCD9uwpkQ5hWSTZlMX//IlZgR16A5AmcjMTyoZ6v/8X/J2ctmP3
 0uc/KOCgLcpaX2sy+fOs9QaGrk4idq0xOd7NZlDhWu9q7mNIXjY=
 =lU78
 -----END PGP SIGNATURE-----

Merge tag 'juno-updates-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/dt

Arm Juno updates for v6.11

Addition of dedicated FPGA syscon compatible for Juno platforms. Also
enablement of GPU device node now that the panfrost driver is already
enabled as a module in defconfig.

* tag 'juno-updates-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  arm64: dts: juno: Enable GPU
  arm64: dts: juno: add dedicated FPGA syscon compatible
  dt-bindings: arm: arm,juno-fpga-apb-regs: document FPGA syscon

Link: https://lore.kernel.org/r/20240620093924.375244-2-sudeep.holla@arm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:36:52 +02:00
Arnd Bergmann
88d81c8643 Renesas DTS updates for v6.11
- Add support for the second and third Ethernet interfaces on the
     White Hawk development board,
   - Add support for the second Ethernet interface on the RZ/N1 SoC,
   - Add I2C EEPROM support for the Condor-I development board,
   - Add video capture support for the R-Car V4M SoC,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCZmv/jAAKCRCKwlD9ZEnx
 cNnMAQCcV1ReuhVkemL08Y18kumtj7Mb9L4DgrSuXHhg0h88+gD+OJ2IRa+50CV9
 wg830gqRhFvwdL+A3oAKvSKsfvjVIAI=
 =jGtG
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmZ9eLwACgkQYKtH/8kJ
 UieK9Q//UQUqcgqmVwjtqzXPV6FDwk/mbi6VyoQ2p/8uckML3LnzpNWDo8uU6OG2
 epVsgCF3E3scJvx2O08B+T3Gd9cRsfP/bGVwfTlROG7CeZJ83yqBhKjr/lXuHL3g
 gLLtJBD7c989Tu+g+KWSE8oLhBJXor6nD7scUPJp8fHBmhwA64qH/E72+jEQpeRh
 wu2DKR6B3YGknfJCNy7DM7rKa1h2srG+Lg7qCNLXJ1c0wuGWxp4QYYmCNcR6KAh3
 9tvFMYy9ucRPY6SmEWlHWTt8WcBoE9sKwfY57XRJZDikxH8ijla6U8KyAhVbj7IH
 roF7mlv65Jg1oKhwdrY4g3xMu9ffedJ2+Y6DDvwvGPY1FdAzBsSK03Iz2zdBVEbV
 dV8HvZ/TPCEA1itk7U3isZMQDTTLsURoXORD8mI3nU2MfghMhABT2tnxUI31/wXR
 PXKWir5+BC3rIDseOP2J5p5oNI5bDqlzhLULxboYwRCyfPAkNi9C5iTiw1MQE9o7
 dDVjey38rddtZkxyDavAajIvbD01TkA4ttZM8PjPc1FaGRjjXVi20YbEF4rg9QQ0
 aFUHrWb5b/mSYUGQNWtOOL+U0OFC/paXZbTqfRa+M1rktYKjIyUPf7J/rGePyEX5
 PkQ7oH2IuYMwOIvj5O4lios51ICBiMP6Gqf1WDmq/C776A0kgnE=
 =guZW
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dts-for-v6.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DTS updates for v6.11

  - Add support for the second and third Ethernet interfaces on the
    White Hawk development board,
  - Add support for the second Ethernet interface on the RZ/N1 SoC,
  - Add I2C EEPROM support for the Condor-I development board,
  - Add video capture support for the R-Car V4M SoC,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v6.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r8a779h0: Add video capture nodes
  arm64: dts: renesas: r9a08g045: Update fallback string for SDHI nodes
  arm64: dts: renesas: rzg2l: Update fallback string for SDHI nodes
  arm64: dts: renesas: r9a09g011: Update fallback string for SDHI nodes
  arm64: dts: renesas: s4sk: Add aliases for I2C buses
  arm64: dts: renesas: spider-cpu: Add aliases for I2C buses
  arm64: dts: renesas: white-hawk-cpu: Add aliases for I2C buses
  arm64: dts: renesas: condor-i: Add I2C EEPROM
  arm64: dts: renesas: gray-hawk-single: Add aliases for I2C buses
  ARM: dts: renesas: r9a06g032: Describe GMAC1
  arm64: dts: renesas: white-hawk: ethernet: Describe AVB1 and AVB2
  arm64: dts: renesas: r8a779g0: Use MDIO node for all AVB devices

Link: https://lore.kernel.org/r/cover.1718355312.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-06-27 16:35:40 +02:00
Andre Przywara
0c85e2e377 arm64: dts: allwinner: h616: add IOMMU node
The Allwinner H616 contains a scatter-gather IOMMU connected to some
video related devices. It's almost compatible to the one used in the H6,
though with minor incompatibilities.

Add the DT node describing its resources, so that devices like the video
or display engine can connect to it.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Tested-by: Ryan Walklin <ryan@testtoast.com>
Link: https://lore.kernel.org/r/20240616224056.29159-6-andre.przywara@arm.com
[wens@csie.org: Move IOMMU node after GIC node for address order]
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2024-06-27 21:58:33 +08:00
AngeloGioacchino Del Regno
d79603c2be
arm64: dts: mediatek: Declare drive-strength numerically
On some devicetrees, the drive-strength property gets assigned a
MTK_DRIVE_(x)_mA definition, which matches with (x).

For example, MTK_DRIVE_8mA equals to 8 and MTK_DRIVE_30mA equals
to 30.

Also keeping in mind that the drive-strength property is, by
(binding) definition, taking a number in milliamperes unit,
change all devicetrees to avoid the usage of any MTK_DRIVE_(x)
definition.

Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20240620101656.1096374-2-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 11:12:02 +02:00
Frank Wunderlich
df768350a8
arm64: dts: mt7622: fix switch probe on bananapi-r64
After commit 868ff5f494
("net: dsa: mt7530-mdio: read PHY address of switch from device tree")
the mt7531 switch on Bananapi-R64 was not detected.

mt7530-mdio mdio-bus:00: reset timeout
mt7530-mdio mdio-bus:00: probe with driver mt7530-mdio failed with error -110

Fix this by adding phy address in devicetree.

Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Link: https://lore.kernel.org/r/20240516204847.171029-1-linux@fw-web.de
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:26 +02:00
Chen-Yu Tsai
321ad586e6
arm64: dts: mediatek: Add MT8186 Voltorb Chromebooks
Add device trees for the MT8186 based Voltorb Chromebooks, also known
as the Acer Chromebook 311 (C723/C723T). The devices are clamshell
style laptops with an optional touchscreen.

The devices differ from the other existing MT8186 Chromebooks in that
it uses a higher speced / binned SoC which also requires a separate
PMIC for the big core cluster. Also, a different codec is used for
the internal speakers.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20240620094746.2404753-4-wenst@chromium.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:26 +02:00
AngeloGioacchino Del Regno
db77778a40
arm64: dts: mediatek: Makefile: Generate symbols for DTBO support
Add DTC_FLAGS '-@' for mt7986a-bananapi-bpi-r3 and -mini to
instruct the devicetree compiler to enable generation of symbols.

This allows proper support for Device Tree Overlay(s) for those
boards; future boards that need DTBO support are expected to add
their own DTC_FLAGS_{dtb-name}.

Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20240620101830.1097548-1-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:26 +02:00
Chen-Yu Tsai
4055416e6c
arm64: dts: mediatek: mt8183-kukui-jacuzzi: Add ports node for anx7625
The anx7625 binding requires a "ports" node as a container for the
"port" nodes. The jacuzzi dtsi file is missing it.

Add a "ports" node under the anx7625 node, and move the port related
nodes and properties under it.

Fixes: cabc71b08e ("arm64: dts: mt8183: Add kukui-jacuzzi-damu board")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240131083931.3970388-1-wenst@chromium.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:26 +02:00
Chen-Yu Tsai
70bf81dd2c
arm64: dts: mediatek: mt8183-pico6: Fix wake-on-X event node names
The wake-on-bt and wake-on-wlan nodes don't have a button- or event-
prefix that the gpio-keys binding requires.

Fix up the node names to satisfy the binding. While at it, also fix up
the GPIO overriding structure for the wake-on-wlan node. Instead of
referencing the gpio-keys node and then open coding the node, add a
label for the event node, and use that to reference and override the
GPIO settings.

Fixes: 055ef10ccd ("arm64: dts: mt8183: Add jacuzzi pico/pico6 board")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240131084043.3970576-1-wenst@chromium.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:26 +02:00
Pin-yen Lin
0b2f9d0e39
arm64: dts: mt8173: Add G2Touch touchscreen node
Lenovo Ideapad C330 Chromebook (MTK) uses G2Touch touchscreen as a
second source component.

Signed-off-by: Pin-yen Lin <treapking@chromium.org>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20231115043511.2670477-1-treapking@chromium.org
[Angelo: Rebased and added comment]
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:25 +02:00
Hsin-Te Yuan
95173af725
arm64: dts: mediatek: mt8183-kukui: Fix the value of dlg,jack-det-rate mismatch
According to Documentation/devicetree/bindings/sound/dialog,da7219.yaml,
the value of `dlg,jack-det-rate` property should be "32_64" instead of
"32ms_64ms".

Fixes: dc0ff0fa3a ("ASoC: da7219: Add Jack insertion detection polarity")
Signed-off-by: Hsin-Te Yuan <yuanhsinte@chromium.org>
Link: https://lore.kernel.org/r/20240613-jack-rate-v2-1-ebc5f9f37931@chromium.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:25 +02:00
AngeloGioacchino Del Regno
c44589a890
arm64: dts: mediatek: mt8188: Add support for Mali GPU on Panfrost
Add the necessary OPP table for the GPU and also add a GPU node
to enable support for the Valhall-JM G57 MC3 found on this SoC,
using the Panfrost driver.

Link: https://lore.kernel.org/r/20240527093908.97574-6-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:25 +02:00
AngeloGioacchino Del Regno
eaf73e4224
arm64: dts: mediatek: mt8188: Add support for SoC power domains
In preparation for adding support for hardware IP that requires
power switching, add the necessary power domains nodes for the
MT8188 SoC.

Link: https://lore.kernel.org/r/20240527093908.97574-5-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:25 +02:00
AngeloGioacchino Del Regno
e15d0dd73e
arm64: dts: mediatek: mt8188: Add VDOSYS0/1 support for multimedia
Add support for the two VDOSYS blocks in MT8188, later on used for
various Multimedia related IP, including display and video codecs.

Link: https://lore.kernel.org/r/20240527093908.97574-4-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:25 +02:00
AngeloGioacchino Del Regno
45682a4fff
arm64: dts: mediatek: mt8188: Add Global Command Engine mailboxes
In preparation for adding multimedia nodes and power domains, add
support for the two Global Command Engine (GCE) mailboxes found in
this SoC.

Link: https://lore.kernel.org/r/20240527093908.97574-3-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:25 +02:00
Krzysztof Kozlowski
b220332f98
arm64: dts: mediatek: mt8173-elm: drop PMIC's syscon node
According to AngeloGioacchino Del Regno, the syscon node in PMIC is
neither needed nor used.  It looks like a solution to expose some of the
registers of PMIC.

Drop it to solve also incorrect number of entries in the "reg" property
and fix dtbs_check warning:

  mt8173-elm.dtb: syscon@c000: reg: [[0, 49152], [0, 264]] is too long

Link: https://lore.kernel.org/all/671a4b1e-3d95-438c-beae-d967e0ad1c77@collabora.com/
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240612092421.52917-3-krzysztof.kozlowski@linaro.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:24 +02:00
Krzysztof Kozlowski
cc827572ad
arm64: dts: mediatek: mt8365: use a specific SCPSYS compatible
SoCs should use dedicated compatibles for each of their syscon nodes to
precisely describe the block.  Using an incorrect compatible does not
allow to properly match/validate children of the syscon device.  Replace
SYSCFG compatible, which does not have children, with a new dedicated
one for SCPSYS block.

Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Tested-by: Alexandre Mergnat <amergnat@baylibre.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240612092421.52917-2-krzysztof.kozlowski@linaro.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:24 +02:00
Krzysztof Kozlowski
1e8a1a9ea2
arm64: dts: mediatek: mt8365: drop incorrect power-domain-cells
The top SCPSYS node is not a power domain provider.  It's child
"power-controller" is instead.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240612092421.52917-1-krzysztof.kozlowski@linaro.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:24 +02:00
Rafał Miłecki
c3e87229b0
arm64: dts: mediatek: mt7981: add I2C controller
MT7981 has one on-SoC I2C controller that differs from recent Mediatek
blocks by having a different SLAVE_ADDR register offset (thus a custom
binding compatible string).

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20240604063159.29216-1-zajec5@gmail.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:24 +02:00
Rafał Miłecki
aebba1030a
arm64: dts: mediatek: mt7622: fix "emmc" pinctrl mux
Value "emmc_rst" is a group name and should be part of the "groups"
property.

This fixes:
arch/arm64/boot/dts/mediatek/mt7622-rfb1.dtb: pinctrl@10211000: emmc-pins-default:mux:function: ['emmc', 'emmc_rst'] is too long
        from schema $id: http://devicetree.org/schemas/pinctrl/mediatek,mt7622-pinctrl.yaml#
arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dtb: pinctrl@10211000: emmc-pins-default:mux:function: ['emmc', 'emmc_rst'] is too long
        from schema $id: http://devicetree.org/schemas/pinctrl/mediatek,mt7622-pinctrl.yaml#

Fixes: 3725ba3f55 ("arm64: dts: mt7622: add pinctrl related device nodes")
Fixes: 0b6286dd96 ("arm64: dts: mt7622: add bananapi BPI-R64 board")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240604074916.7929-1-zajec5@gmail.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:24 +02:00
Rafał Miłecki
660c230bf3
arm64: dts: mediatek: mt7988: add I2C controllers
MT7988 has three on-SoC I2C controllers that are the same hardware
blocks as already noticed on MT7981 chipsets.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20240604064302.487-2-zajec5@gmail.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:24 +02:00
Rafał Miłecki
09ff2216a0
arm64: dts: mediatek: mt7988: add PWM controller
MT7988 has on-SoC controller that can control up to 8 PWM interfaces.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20240604064302.487-1-zajec5@gmail.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:23 +02:00
Rafał Miłecki
95c465c439
arm64: dts: mediatek: Add OpenWrt One
OpenWrt One is the first ever OpenWrt product. It's based on MT7981B
(AKA Filogic 820) and has 1 GiB or DDR4 RAM. The rest of peripherals
remains to be added later.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240527115933.7396-4-zajec5@gmail.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:23 +02:00
Frank Wunderlich
a098310bee
arm64: dts: mediatek: Add mt7986 based Bananapi R3 Mini
Add devicetree for Bananapi R3 Mini SBC.

Key features:
- MediaTek MT7986A(Filogic 830) Quad core ARM Cortex A53
- Wifi 6 2.4G/5G (MT7976C)
- 2G DDR RAM
- 8G eMMC flash
- 128MB Nand flash
- 2x 2.5GbE network port
- 1x M.2 Key B USB interface
- 1x M.2 KEY M PCIe interface
- 1x USB2.0 interface

source: https://wiki.banana-pi.org/Banana_Pi_BPI-R3_Mini

Co-developed-by: Eric Woudstra <ericwouds@gmail.com>
Signed-off-by: Eric Woudstra <ericwouds@gmail.com>
Co-developed-by: Tianling Shen <cnsztl@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240510095707.6895-3-linux@fw-web.de
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:23 +02:00
Rafał Miłecki
454880d616
arm64: dts: mediatek: mt7981: add efuse block
MT7981 (Filogic 820) uses efuse for storing calibration data.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240514015154.11206-2-zajec5@gmail.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:22 +02:00
Rafał Miłecki
f80cfe9616
arm64: dts: mediatek: mt7981: fix code alignment for PWM clocks
Align "clocks" array entries to start at the same column.

Fixes: cf29427573 ("arm64: dts: mediatek: Add initial MT7981B and Xiaomi AX3000T")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Link: https://lore.kernel.org/r/20240405105030.24559-1-zajec5@gmail.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:22 +02:00
Geert Uytterhoeven
f14cdf03d1
arm64: dts: mediatek: mt7986a: bpi-r3: Convert to sugar syntax
Overlay syntactic sugar for generating target-path fragments is
supported by the version of dtc supplied with the kernel since commit
50aafd6089 ("scripts/dtc: Update to upstream version
v1.4.6-21-g84e414b0b5bc").  Hence convert the Bananapi R3 overlay
devicetree source files to sugar syntax, improving readability.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/2fd900a30b5a0f7de4ea68f60bac250794b8cdb4.1716984213.git.geert+renesas@glider.be
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:22 +02:00
Pin-yen Lin
897a7edba9
arm64: dts: mediatek: mt8192-asurada: Add off-on-delay-us for pp3300_mipibrdg
Set off-on-delay-us to 500000 us for pp3300_mipibrdg to make sure it
complies with the panel's unprepare delay (the time to power down
completely) of the power sequence. Explicit configuration on the
regulator node is required because mt8192-asurada uses the same power
supply for the panel and the anx7625 DP bridge.

For example, the power sequence could be violated in this sequence:
1. Bridge on: panel goes off, but regulator doesn't turn off (refcount=1).
2. Bridge off: regulator turns off (refcount=0).
3. Bridge resume -> regulator turns on but the bridge driver doesn't
   check the delay.

Or in this sequence:
1. Bridge on: panel goes off. The regulator doesn't turn off (refcount=1),
   but the .unprepared_time in panel_edp is still updated.
2. Bridge off, regulator goes off (refcount=0).
3. Panel on, but the panel driver uses the wrong .unprepared_time to check
   the unprepare delay.

Fixes: f9f00b1f6b ("arm64: dts: mediatek: asurada: Add display regulators")
Signed-off-by: Pin-yen Lin <treapking@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240502154455.3427793-1-treapking@chromium.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:22 +02:00
Michael Walle
94aaf79a6a
arm64: dts: mediatek: add Kontron 3.5"-SBC-i1200
Add basic support for the Kontron 3.5" single board computer featuring a
Mediatek i1200 SoC (MT8395/MT8195).

Signed-off-by: Michael Walle <mwalle@kernel.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20240408080816.4134370-2-mwalle@kernel.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:22 +02:00
Macpaul Lin
666e6f39fa
arm64: dts: mediatek: mt8395-genio-1200-evk: add u3port1 for xhci1
This patch fixes an issue where xhci1 was not functioning properly because
the state and PHY settings were incorrect.

The introduction of the 'force-mode' property in the phy-mtk-tphy driver
allows for the correct initialization of xhci1 by updating the Device Tree
settings accordingly.

The necessary fixup which added support for the 'force-mode' switch in the
phy-mtk-tphy driver.
commit 9b27303003 ("phy: mediatek: tphy: add support force phy mode switch")
Link: https://lore.kernel.org/r/20231211025624.28991-2-chunfeng.yun@mediatek.com

Prior to this fix, the system would exhibit the following probe failure messages
for xhci1:
  xhci-mtk 11290000.usb: supply vbus not found, using dummy regulator
  xhci-mtk 11290000.usb: uwk - reg:0x400, version:104
  xhci-mtk 11290000.usb: xHCI Host Controller
  xhci-mtk 11290000.usb: new USB bus registered, assigned bus number 5
  xhci-mtk 11290000.usb: clocks are not stable (0x1003d0f)
  xhci-mtk 11290000.usb: can't setup: -110
  xhci-mtk 11290000.usb: USB bus 5 deregistered
  xhci-mtk: probe of 11290000.usb failed with error -110

With the application of this dts fixup, the aforementioned initialization errors
are resolved and xhci1 is working.

Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
Link: https://lore.kernel.org/r/20240216095751.4937-1-macpaul.lin@mediatek.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:22 +02:00
AngeloGioacchino Del Regno
52b7afd5b9
arm64: mediatek: mt8195-cherry: Introduce the MT8195 Dojo Chromebook
Add a devicetree for the Cherry Dojo (HP Chromebook x360 13b-ca0002sa)
convertible type machine.

Differences with the already supported Tomato machines include:
 - Different speaker amplifiers (Dual MAX98380, one per channel)
 - I2C Touchscreen is on a different address (though still a HID device)
 - Has NVMe storage on the PCIe0 controller
 - Slightly different keyboard top row keymap

Link: https://lore.kernel.org/r/20240314103500.93158-3-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:21 +02:00
AngeloGioacchino Del Regno
458d92b55b
arm64: dts: mediatek: mt8186-corsola: Specify sound DAI links and routing
The drivers and bindings acquired support for specifying audio hardware
and links in device tree: describe and link the sound related HW of this
machine.

Link: https://lore.kernel.org/r/20240416071410.75620-19-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:21 +02:00
AngeloGioacchino Del Regno
87728e3ccf
arm64: dts: mediatek: mt8195-cherry: Specify sound DAI links and routing
The drivers and bindings acquired support for specifying audio hardware
and links in device tree: describe and link the sound related HW of this
machine.

Link: https://lore.kernel.org/r/20240416071410.75620-18-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:21 +02:00
Chen-Yu Tsai
27f0974a98
arm64: dts: mediatek: Drop mediatek,drive-strength-adv usage
The "mediatek,drive-strength-adv" pin config property has been
deprecated in favor of the generic "drive-strength-microamp" property.

Drop or convert all instances. A value of 0 disables the advanced
mode, which is the hardware default.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20240412075516.1199846-1-wenst@chromium.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:21 +02:00
Chen-Yu Tsai
e9a9055fdc
arm64: dts: mediatek: mt8183-kukui: Drop bogus output-enable property
The "output-enable" property is set on uart1's RTS pin. This is bogus
because the hardware does not actually have a controllable output
buffer. Secondly, the implementation incorrectly treats this property
as a request to switch the pin to GPIO output. This does not fit the
intended semantic of "output-enable" and it does not have any affect
either because the pin is muxed to the UART function, not the GPIO
function.

Drop the property.

Fixes: cd894e274b ("arm64: dts: mt8183: Add krane-sku176 board")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20240412075613.1200048-1-wenst@chromium.org
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:21 +02:00
AngeloGioacchino Del Regno
7ca7bbd289
arm64: dts: mediatek: mt8395-nio-12l: Add power supplies for CPU/GPU scaling
Add the necessary power supplies to safely enable CPU and GPU frequency
scaling.

Link: https://lore.kernel.org/r/20240409114211.310462-6-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:20 +02:00
AngeloGioacchino Del Regno
9af4238590
arm64: dts: mediatek: mt8395-nio-12l: Enable PHYs and USB role switch
Enable the PCIe0 PHY to be able to set calibrations read from eFuses,
improving the stability and performance of the PCIe link.

While at it, also enable the T-PHYs for both PCIe1 and for USB, allowing
the USB ports to finally switch to gadget mode if needed, and configure
the VBUS/ID pins of both USB ports for the same.

Link: https://lore.kernel.org/r/20240409114211.310462-5-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:20 +02:00
AngeloGioacchino Del Regno
048a70e314
arm64: dts: mediatek: mt8395-nio-12l: Define RSEL in microamperes
The paris pinctrl driver supports specifying the RSEL drive strength
in microamperes as well as internal bits definitions: choose to specify
those in uA to avoid using hardware specific values in device trees.

Link: https://lore.kernel.org/r/20240409114211.310462-4-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:20 +02:00
AngeloGioacchino Del Regno
32b33be889
arm64: dts: medaitek: mt8395-nio-12l: Set i2c6 pins to bias-disable
GPIOs 25 and 26 do not support pull-up/pull-down when those are muxed
as I2C6's SDA6/SCL6 lines: set those to bias-disable to avoid warning
messages from the pinctrl driver.

Fixes: 96564b1e2e ("arm64: dts: mediatek: Introduce the MT8395 Radxa NIO 12L board")
Link: https://lore.kernel.org/r/20240409114211.310462-3-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
2024-06-27 10:10:20 +02:00