TI K3 device tree updates for v6.9

New Features across family / New SoCs:
 - J722s SoC and board support with OSPI NOR, CPSW ethernet
 - Camera capture support on mulitple J7xx SoCs, AM68, AM69 and AM62P SoCs
 - Wave5 Encoder/Decoder support for J721s2, J784s4 and AM62P
 
 Generic Cleanups/Fixes:
 - Stop spliting single mbox items
 - Adds MIT license along with GPL-2.0 for all TI DTS files
 - Moves PCIe EP nodes in overlays
 - VTM Power domain fixups for J7xx SoCs
 - Conversion of mmio mux users to reg-mux where possible
 - Drops unnecessary UART pinmuxes on J7xx SoCs
 - MMC TAP value updates for AM64/AM62A/AM62P for improved stability
 - DSS register space updates for AM65/AM62/AM62A
 
 SoC specific Fixes/Features:
 J7200:
 - Adds CAN support
 - New compatible for J7200 to support IO wakeup
 
 AM62A
 - HDMI Display (DSS) support
 - Move to simple-bus for main_conf node
 - eMMC, additional MMC/SD instance support
 
 AM62
 - move to simple-bus for main_conf node
 
 AM654
 - IOT2050-SM board support
 - IOT2050 DT refractoring.
 
 AM64
 - SolidRun AM642 HummingBoard-T support and its DT overlays
 - ICSSG Ethernet support and associated peripherals
 
 Board specific fixes/Features:
 - Beagle Play MDIO and USB node fixes
 - TPM support on k3-am642-phyboard-electra and verdin-am62-mallow
 - Phycore-am64 ADC
 - PCIe + USB2.0 SERDES and PCIe + USB3.0 SERDES card support
 - USB1 support on verdin-am62
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEEyRC2zAhGcGjrhiNExEYeRXyRFuMFAmXdqWMQHHZpZ25lc2hy
 QHRpLmNvbQAKCRDERh5FfJEW425kB/4spafS0XBafSITRuMy4qcIpXtoEUJoGky3
 yQje7rZoM6QX2xuISUv+AydIn5JO2U/ar7UVGwY8qsKB/frq+RjvHlZLGNUynwTR
 viAai3aRQv+olhUlZByWS7R8rax5f7H4dPh2a1im4bg1Ljxv1Az7NTRAFh8XzF+e
 bMJgNI1Y0iCog9uf1gLig/tXAKBo4SZruE+UqC5muTfk4zUZx1je5emf+1zBb60X
 en15AdoSI/8zOVil0tUmiVO582KJpfALbUK+AwExzlimeqo/PXVcgxAJKD8VxjUi
 TZa2MFeZCO+D01tMk1SzVLIx/Hv5o10MOiqL8jF1HNjmIYctsV8x
 =ILYz
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmXiFRgACgkQYKtH/8kJ
 UieNURAAycjd4jonMyCs5SxwtDMLmcXt2xSQuAs5T2D1eBj3D0CC1Fi+CDq0gizP
 0sSYbMaTGs4dHXY73fGVMGMmCNhmLjVt0wArX2egzBZlskYrk4il24nZR7geNQ1w
 c0bW1uoCEVP19aO8FaIfdyfRGH4V2yIeugNoaDYrh7FrdRNwJMi00G1Alx5lja4S
 ZtMvZ7FVjKUCoBUccctyOkEZxrqO/uvpE6EYKUaZFMiip5hdY3CQsFic9AjAv8XF
 aeW6x8w7+KDKXXOGLRG+p1J3wysP2r91WcZd0wB8gYM2R6qCZt1irYVtdDf16x65
 n+i4vlRouQYqUsll18EEQPj9Pin4iv6b2jZwAl20ZzHHZzpsbp4r8Zacqw4hLOwR
 gaGHck4q/Nc++CeirvF7MptIC5kWCXu2+McKjx2bavM2C2p3ezhWQpo4Cbu2v93t
 SvEQir25SvFJ1Y48S27nDPgRqt8dCMNCuatKbAPpqi1/jbwqi3coKZdRWYHf6iUT
 e4x7cgNC1fms0Fdovx8VAcTsGBJITL4/VZ6/n6V6LcVHKtuSbX9swkyWso+kHYUt
 ITFTgNK9oSrCITJ/a3VZLQSP5CyNJyuhYfUj/b5sqJY63T/yJGNkaPY2EaWqmyz8
 2YHv+1hYKzsGAnt1ZEgKP8uy2T9N1CNWL3PYNGu6555wiNJAIrc=
 =50d/
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt

TI K3 device tree updates for v6.9

New Features across family / New SoCs:
- J722s SoC and board support with OSPI NOR, CPSW ethernet
- Camera capture support on mulitple J7xx SoCs, AM68, AM69 and AM62P SoCs
- Wave5 Encoder/Decoder support for J721s2, J784s4 and AM62P

Generic Cleanups/Fixes:
- Stop spliting single mbox items
- Adds MIT license along with GPL-2.0 for all TI DTS files
- Moves PCIe EP nodes in overlays
- VTM Power domain fixups for J7xx SoCs
- Conversion of mmio mux users to reg-mux where possible
- Drops unnecessary UART pinmuxes on J7xx SoCs
- MMC TAP value updates for AM64/AM62A/AM62P for improved stability
- DSS register space updates for AM65/AM62/AM62A

SoC specific Fixes/Features:
J7200:
- Adds CAN support
- New compatible for J7200 to support IO wakeup

AM62A
- HDMI Display (DSS) support
- Move to simple-bus for main_conf node
- eMMC, additional MMC/SD instance support

AM62
- move to simple-bus for main_conf node

AM654
- IOT2050-SM board support
- IOT2050 DT refractoring.

AM64
- SolidRun AM642 HummingBoard-T support and its DT overlays
- ICSSG Ethernet support and associated peripherals

Board specific fixes/Features:
- Beagle Play MDIO and USB node fixes
- TPM support on k3-am642-phyboard-electra and verdin-am62-mallow
- Phycore-am64 ADC
- PCIe + USB2.0 SERDES and PCIe + USB3.0 SERDES card support
- USB1 support on verdin-am62

* tag 'ti-k3-dt-for-v6.9' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (126 commits)
  arm64: dts: ti: hummingboard-t: add overlays for m.2 pci-e and usb-3
  arm64: dts: add description for solidrun am642 som and evaluation board
  dt-bindings: arm: ti: Add bindings for SolidRun AM642 HummingBoard-T
  arm64: dts: ti: k3-am62p: Add Wave5 Video Encoder/Decoder Node
  arm64: dts: ti: k3-j721s2-main: Add Wave5 Video Encoder/Decoder Node
  arm64: dts: ti: k3-j784s4: Add Wave5 Video Encoder/Decoder Node
  arm64: dts: ti: k3-am69-sk: Add support for OSPI flash
  arm64: dts: ti: k3-am69-sk: Enable CAN interfaces for AM69 SK board
  arm64: dts: ti: Enable overlays for SK-AM62P
  arm64: dts: ti: k3-am62p: Add nodes for CSI-RX
  arm64: dts: ti: k3-am62p: Add DMASS1 for CSI
  arm64: dts: ti: k3-am62p: Fix memory ranges for DMSS
  arm64: dts: ti: k3-j722s-evm: Enable OSPI NOR support
  arm64: dts: ti: k3-j722s-evm: Enable CPSW3G RGMII1
  arm64: dts: ti: k3-j784s4-main: Fix mux-reg-masks in serdes_ln_ctrl
  arm64: dts: ti: k3-j721e: Fix mux-reg-masks in hbmc_mux
  arm64: dts: ti: Add common1 register space for AM62A SoC
  arm64: dts: ti: Add common1 register space for AM62x SoC
  arm64: dts: ti: Add common1 register space for AM65x SoC
  arm64: dts: ti: k3-am642-evm: add overlay for ICSSG1 2nd port
  ...

Link: https://lore.kernel.org/r/e7e984db-47b9-404a-9471-5d2ed0effe1d@ti.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2024-03-01 18:39:12 +01:00
commit 38efda94ed
121 changed files with 5249 additions and 1399 deletions

View file

@ -87,12 +87,20 @@ properties:
- const: tq,am642-tqma6442l
- const: ti,am642
- description: K3 AM642 SoC SolidRun SoM based boards
items:
- enum:
- solidrun,am642-hummingboard-t
- const: solidrun,am642-sr-som
- const: ti,am642
- description: K3 AM654 SoC
items:
- enum:
- siemens,iot2050-advanced
- siemens,iot2050-advanced-m2
- siemens,iot2050-advanced-pg2
- siemens,iot2050-advanced-sm
- siemens,iot2050-basic
- siemens,iot2050-basic-pg2
- ti,am654-evm
@ -123,6 +131,12 @@ properties:
- ti,j721s2-evm
- const: ti,j721s2
- description: K3 J722S SoC and Boards
items:
- enum:
- ti,j722s-evm
- const: ti,j722s
- description: K3 J784s4 SoC
items:
- enum:

View file

@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
# SPDX-License-Identifier: GPL-2.0-only
#
# Make file to build device tree binaries for boards based on
# Texas Instruments Inc processors
@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dahlia.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-dev.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-mallow.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am625-verdin-wifi-yavia.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am62x-phyboard-lyra-gpio-fan.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am62-lp-sk.dtb
# Boards with AM62Ax SoC
@ -37,7 +38,15 @@ dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-csi2-imx219.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am62x-sk-hdmi-audio.dtbo
# Boards with AM64x SoC
k3-am642-hummingboard-t-pcie-dtbs := \
k3-am642-hummingboard-t.dtb k3-am642-hummingboard-t-pcie.dtbo
k3-am642-hummingboard-t-usb3-dtbs := \
k3-am642-hummingboard-t.dtb k3-am642-hummingboard-t-usb3.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am642-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-evm-icssg1-dualemac.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am642-hummingboard-t.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-hummingboard-t-pcie.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-hummingboard-t-usb3.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-phyboard-electra-rdk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am642-tqma64xxl-mbax4xxl.dtb
@ -45,18 +54,24 @@ dtb-$(CONFIG_ARCH_K3) += k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am64-tqma64xxl-mbax4xxl-wlan.dtbo
# Boards with AM65x SoC
k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb k3-am654-base-board-rocktech-rk101-panel.dtbo
k3-am654-gp-evm-dtbs := k3-am654-base-board.dtb \
k3-am654-base-board-rocktech-rk101-panel.dtbo \
k3-am654-pcie-usb3.dtbo
k3-am654-evm-dtbs := k3-am654-base-board.dtb k3-am654-icssg2.dtbo
k3-am654-idk-dtbs := k3-am654-evm.dtb k3-am654-idk.dtbo
k3-am654-idk-dtbs := k3-am654-evm.dtb k3-am654-idk.dtbo k3-am654-pcie-usb2.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am6528-iot2050-basic-pg2.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-m2.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-pg2.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am6548-iot2050-advanced-sm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am654-gp-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am654-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am654-idk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-am654-base-board-rocktech-rk101-panel.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am654-pcie-usb2.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-am654-pcie-usb3.dtbo
# Boards with J7200 SoC
k3-j7200-evm-dtbs := k3-j7200-common-proc-board.dtb k3-j7200-evm-quad-port-eth-exp.dtbo
@ -69,6 +84,7 @@ dtb-$(CONFIG_ARCH_K3) += k3-j721e-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j721e-evm-gesi-exp-board.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-j721e-evm-pcie0-ep.dtbo
dtb-$(CONFIG_ARCH_K3) += k3-j721e-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j721e-sk-csi2-dual-imx219.dtbo
# Boards with J721s2 SoC
dtb-$(CONFIG_ARCH_K3) += k3-am68-sk-base-board.dtb
@ -78,6 +94,9 @@ k3-j721s2-evm-dtbs := k3-j721s2-common-proc-board.dtb k3-j721s2-evm-gesi-exp-boa
dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j721s2-evm-pcie1-ep.dtbo
# Boards with J722s SoC
dtb-$(CONFIG_ARCH_K3) += k3-j722s-evm.dtb
# Boards with J784s4 SoC
dtb-$(CONFIG_ARCH_K3) += k3-am69-sk.dtb
dtb-$(CONFIG_ARCH_K3) += k3-j784s4-evm.dtb
@ -87,6 +106,8 @@ k3-am625-beagleplay-csi2-ov5640-dtbs := k3-am625-beagleplay.dtb \
k3-am625-beagleplay-csi2-ov5640.dtbo
k3-am625-beagleplay-csi2-tevi-ov5640-dtbs := k3-am625-beagleplay.dtb \
k3-am625-beagleplay-csi2-tevi-ov5640.dtbo
k3-am625-phyboard-lyra-gpio-fan-dtbs := k3-am625-phyboard-lyra-rdk.dtb \
k3-am62x-phyboard-lyra-gpio-fan.dtbo
k3-am625-sk-csi2-imx219-dtbs := k3-am625-sk.dtb \
k3-am62x-sk-csi2-imx219.dtbo
k3-am625-sk-csi2-ov5640-dtbs := k3-am625-sk.dtb \
@ -101,12 +122,27 @@ k3-am62a7-sk-csi2-ov5640-dtbs := k3-am62a7-sk.dtb \
k3-am62x-sk-csi2-ov5640.dtbo
k3-am62a7-sk-csi2-tevi-ov5640-dtbs := k3-am62a7-sk.dtb \
k3-am62x-sk-csi2-tevi-ov5640.dtbo
k3-am62a7-sk-hdmi-audio-dtbs := k3-am62a7-sk.dtb k3-am62x-sk-hdmi-audio.dtbo
k3-am62p5-sk-csi2-imx219-dtbs := k3-am62p5-sk.dtb \
k3-am62x-sk-csi2-imx219.dtbo
k3-am62p5-sk-csi2-ov5640-dtbs := k3-am62p5-sk.dtb \
k3-am62x-sk-csi2-ov5640.dtbo
k3-am62p5-sk-csi2-tevi-ov5640-dtbs := k3-am62p5-sk.dtb \
k3-am62x-sk-csi2-tevi-ov5640.dtbo
k3-am642-evm-icssg1-dualemac-dtbs := \
k3-am642-evm.dtb k3-am642-evm-icssg1-dualemac.dtbo
k3-am642-tqma64xxl-mbax4xxl-sdcard-dtbs := \
k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-sdcard.dtbo
k3-am642-tqma64xxl-mbax4xxl-wlan-dtbs := \
k3-am642-tqma64xxl-mbax4xxl.dtb k3-am64-tqma64xxl-mbax4xxl-wlan.dtbo
k3-am68-sk-base-board-csi2-dual-imx219-dtbs := k3-am68-sk-base-board.dtb \
k3-j721e-sk-csi2-dual-imx219.dtbo
k3-am69-sk-csi2-dual-imx219-dtbs := k3-am69-sk.dtb \
k3-j721e-sk-csi2-dual-imx219.dtbo
k3-j721e-evm-pcie0-ep-dtbs := k3-j721e-common-proc-board.dtb \
k3-j721e-evm-pcie0-ep.dtbo
k3-j721e-sk-csi2-dual-imx219-dtbs := k3-j721e-sk.dtb \
k3-j721e-sk-csi2-dual-imx219.dtbo
k3-j721s2-evm-pcie1-ep-dtbs := k3-j721s2-common-proc-board.dtb \
k3-j721s2-evm-pcie1-ep.dtbo
dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
@ -118,9 +154,17 @@ dtb- += k3-am625-beagleplay-csi2-ov5640.dtb \
k3-am62-lp-sk-hdmi-audio.dtb \
k3-am62a7-sk-csi2-imx219.dtb \
k3-am62a7-sk-csi2-ov5640.dtb \
k3-am62a7-sk-hdmi-audio.dtb \
k3-am62p5-sk-csi2-imx219.dtb \
k3-am62p5-sk-csi2-ov5640.dtb \
k3-am62p5-sk-csi2-tevi-ov5640.dtb \
k3-am642-evm-icssg1-dualemac.dtb \
k3-am642-tqma64xxl-mbax4xxl-sdcard.dtb \
k3-am642-tqma64xxl-mbax4xxl-wlan.dtb \
k3-am68-sk-base-board-csi2-dual-imx219-dtbs \
k3-am69-sk-csi2-dual-imx219-dtbs \
k3-j721e-evm-pcie0-ep.dtb \
k3-j721e-sk-csi2-dual-imx219-dtbs \
k3-j721s2-evm-pcie1-ep.dtb
# Enable support for device-tree overlays
@ -128,7 +172,12 @@ DTC_FLAGS_k3-am625-beagleplay += -@
DTC_FLAGS_k3-am625-sk += -@
DTC_FLAGS_k3-am62-lp-sk += -@
DTC_FLAGS_k3-am62a7-sk += -@
DTC_FLAGS_k3-am62p5-sk += -@
DTC_FLAGS_k3-am642-evm += -@
DTC_FLAGS_k3-am642-tqma64xxl-mbax4xxl += -@
DTC_FLAGS_k3-am6548-iot2050-advanced-m2 += -@
DTC_FLAGS_k3-am68-sk-base-board += -@
DTC_FLAGS_k3-am69-sk += -@
DTC_FLAGS_k3-j721e-common-proc-board += -@
DTC_FLAGS_k3-j721e-sk += -@
DTC_FLAGS_k3-j721s2-common-proc-board += -@

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* AM62x LP SK: https://www.ti.com/tool/SK-AM62-LP
*
* Copyright (C) 2021-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2021-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM625 SoC Family Main Domain peripherals
*
* Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_main {
@ -42,9 +42,8 @@
};
};
main_conf: syscon@100000 {
compatible = "syscon", "simple-mfd";
reg = <0x00 0x00100000 0x00 0x20000>;
main_conf: bus@100000 {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x00 0x00100000 0x20000>;
@ -559,10 +558,9 @@
clock-names = "clk_ahb", "clk_xin";
assigned-clocks = <&k3_clks 57 6>;
assigned-clock-parents = <&k3_clks 57 8>;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
ti,trm-icp = <0x2>;
bus-width = <8>;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-mmc-hs = <0x0>;
@ -580,7 +578,8 @@
power-domains = <&k3_pds 58 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 58 5>, <&k3_clks 58 6>;
clock-names = "clk_ahb", "clk_xin";
ti,trm-icp = <0x2>;
bus-width = <4>;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x8>;
ti,otap-del-sel-sd-hs = <0x0>;
ti,otap-del-sel-sdr12 = <0x0>;
@ -592,8 +591,6 @@
ti,itap-del-sel-sd-hs = <0x1>;
ti,itap-del-sel-sdr12 = <0xa>;
ti,itap-del-sel-sdr25 = <0x1>;
ti,clkbuf-sel = <0x7>;
bus-width = <4>;
status = "disabled";
};
@ -604,7 +601,8 @@
power-domains = <&k3_pds 184 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 184 5>, <&k3_clks 184 6>;
clock-names = "clk_ahb", "clk_xin";
ti,trm-icp = <0x2>;
bus-width = <4>;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x8>;
ti,otap-del-sel-sd-hs = <0x0>;
ti,otap-del-sel-sdr12 = <0x0>;
@ -616,7 +614,6 @@
ti,itap-del-sel-sd-hs = <0xa>;
ti,itap-del-sel-sdr12 = <0xa>;
ti,itap-del-sel-sdr25 = <0x1>;
ti,clkbuf-sel = <0x7>;
status = "disabled";
};
@ -640,6 +637,8 @@
interrupt-names = "host", "peripheral";
maximum-speed = "high-speed";
dr_mode = "otg";
snps,usb2-gadget-lpm-disable;
snps,usb2-lpm-disable;
};
};
@ -663,6 +662,8 @@
interrupt-names = "host", "peripheral";
maximum-speed = "high-speed";
dr_mode = "otg";
snps,usb2-gadget-lpm-disable;
snps,usb2-lpm-disable;
};
};
@ -779,9 +780,10 @@
<0x00 0x30207000 0x00 0x1000>, /* ovr1 */
<0x00 0x30208000 0x00 0x1000>, /* ovr2 */
<0x00 0x3020a000 0x00 0x1000>, /* vp1: Used for OLDI */
<0x00 0x3020b000 0x00 0x1000>; /* vp2: Used as DPI Out */
<0x00 0x3020b000 0x00 0x1000>, /* vp2: Used as DPI Out */
<0x00 0x30201000 0x00 0x1000>; /* common1 */
reg-names = "common", "vidl1", "vid",
"ovr1", "ovr2", "vp1", "vp2";
"ovr1", "ovr2", "vp1", "vp2", "common1";
power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 186 6>,
<&dss_vp1_clk>,

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM625 SoC Family MCU Domain peripherals
*
* Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_mcu {

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2022 - 2023 PHYTEC Messtechnik GmbH
* Copyright (C) 2022-2024 PHYTEC Messtechnik GmbH
* Author: Wadim Egorov <w.egorov@phytec.de>
*
* Product homepage:
@ -317,7 +317,6 @@
&sdhci0 {
pinctrl-names = "default";
pinctrl-0 = <&main_mmc0_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
non-removable;
status = "okay";

View file

@ -1,4 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/thermal/thermal.h>

View file

@ -185,7 +185,6 @@
/* Verdin SD_1 */
&sdhci1 {
ti,driver-strength-ohm = <33>;
status = "okay";
};

View file

@ -206,7 +206,6 @@
/* Verdin SD_1 */
&sdhci1 {
ti,driver-strength-ohm = <33>;
status = "okay";
};

View file

@ -127,6 +127,16 @@
<&pinctrl_qspi1_cs2_gpio>;
cs-gpios = <0>, <&main_gpio0 12 GPIO_ACTIVE_LOW>;
status = "okay";
tpm@1 {
compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
reg = <1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_qspi1_dqs_gpio>;
interrupt-parent = <&main_gpio1>;
interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
spi-max-frequency = <18500000>;
};
};
/* Verdin UART_3 */

View file

@ -26,7 +26,6 @@
mmc-pwrseq = <&wifi_pwrseq>;
non-removable;
ti,fails-without-test-cd;
ti,driver-strength-ohm = <50>;
vmmc-supply = <&reg_3v3>;
status = "okay";
};

View file

@ -42,6 +42,22 @@
usb1 = &usb1;
};
connector {
compatible = "gpio-usb-b-connector", "usb-b-connector";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb0_id>;
id-gpios = <&main_gpio1 19 GPIO_ACTIVE_HIGH>;
label = "USB_1";
self-powered;
vbus-supply = <&reg_usb0_vbus>;
port {
usb_dr_connector: endpoint {
remote-endpoint = <&usb0_ep>;
};
};
};
verdin_gpio_keys: gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
@ -151,6 +167,18 @@
vin-supply = <&reg_sd_3v3_1v8>;
};
reg_usb0_vbus: regulator-usb0-vbus {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb0_en>;
enable-active-high;
/* Verdin USB_1_EN (SODIMM 155) */
gpio = <&main_gpio1 50 GPIO_ACTIVE_HIGH>;
regulator-max-microvolt = <5000000>;
regulator-min-microvolt = <5000000>;
regulator-name = "USB_1_EN";
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
@ -436,6 +464,13 @@
>;
};
/* Verdin USB_1_EN */
pinctrl_usb0_en: main-gpio1-50-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0254, PIN_INPUT, 7) /* (C20) USB0_DRVVBUS.GPIO1_50 */ /* SODIMM 155 */
>;
};
/* On-module I2C - PMIC_I2C */
pinctrl_i2c0: main-i2c0-default-pins {
pinctrl-single,pins = <
@ -660,13 +695,6 @@
>;
};
/* Verdin USB_1 */
pinctrl_usb0: main-usb0-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0254, PIN_OUTPUT, 0) /* (C20) USB0_DRVVBUS */ /* SODIMM 155 */
>;
};
/* Verdin USB_2 */
pinctrl_usb1: main-usb1-default-pins {
pinctrl-single,pins = <
@ -1013,7 +1041,7 @@
"",
"",
"SODIMM_17",
"", /* 50 */
"SODIMM_155", /* 50 */
"",
"",
"",
@ -1118,7 +1146,7 @@
regulator-always-on;
regulator-boot-on;
regulator-max-microvolt = <850000>;
regulator-min-microvolt = <850000>;
regulator-min-microvolt = <750000>;
regulator-name = "+VDD_CORE (PMIC BUCK1)";
};
@ -1407,7 +1435,6 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sdhci0>;
non-removable;
ti,driver-strength-ohm = <50>;
status = "okay";
};
@ -1416,7 +1443,6 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sdhci1>;
disable-wp;
ti,driver-strength-ohm = <50>;
vmmc-supply = <&reg_sdhc1_vmmc>;
vqmmc-supply = <&reg_sdhc1_vqmmc>;
status = "disabled";
@ -1428,11 +1454,16 @@
status = "disabled";
};
/* TODO: role swich using ID pin */
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb0_id>;
adp-disable;
usb-role-switch;
status = "disabled";
port {
usb0_ep: endpoint {
remote-endpoint = <&usb_dr_connector>;
};
};
};
/* Verdin USB_2 */

View file

@ -1,10 +1,12 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM625 SoC Family Wakeup Domain peripherals
*
* Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/bus/ti-sysc.h>
&cbass_wakeup {
wkup_conf: syscon@43000000 {
bootph-all;
@ -21,14 +23,34 @@
};
};
wkup_uart0: serial@2b300000 {
compatible = "ti,am64-uart", "ti,am654-uart";
reg = <0x00 0x2b300000 0x00 0x100>;
interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
target-module@2b300050 {
compatible = "ti,sysc-omap2", "ti,sysc";
reg = <0x00 0x2b300050 0x00 0x4>,
<0x00 0x2b300054 0x00 0x4>,
<0x00 0x2b300058 0x00 0x4>;
reg-names = "rev", "sysc", "syss";
ti,sysc-mask = <(SYSC_OMAP2_ENAWAKEUP |
SYSC_OMAP2_SOFTRESET |
SYSC_OMAP2_AUTOIDLE)>;
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
<SYSC_IDLE_NO>,
<SYSC_IDLE_SMART>,
<SYSC_IDLE_SMART_WKUP>;
ti,syss-mask = <1>;
ti,no-reset-on-init;
power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 114 0>;
clock-names = "fclk";
status = "disabled";
clock-names = "fck";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x00 0x2b300000 0x100000>;
wkup_uart0: serial@0 {
compatible = "ti,am64-uart", "ti,am654-uart";
reg = <0x0 0x100>;
interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
};
wkup_i2c0: i2c@2b200000 {

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM62 SoC Family
*
* Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/gpio/gpio.h>

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* ALINX AN5641 & Digilent PCam 5C - OV5640 camera module
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Technexion TEVI-OV5640-*-RPI - OV5640 camera module
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,9 +1,9 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* https://beagleplay.org/
*
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Robert Nelson, BeagleBoard.org Foundation
*/
/dts-v1/;
@ -29,7 +29,6 @@
i2c3 = &main_i2c3;
i2c4 = &wkup_i2c0;
i2c5 = &mcu_i2c0;
mdio-gpio0 = &mdio0;
mmc0 = &sdhci0;
mmc1 = &sdhci1;
mmc2 = &sdhci2;
@ -231,27 +230,6 @@
};
};
/* Workaround for errata i2329 - just use mdio bitbang */
mdio0: mdio {
compatible = "virtual,mdio-gpio";
pinctrl-names = "default";
pinctrl-0 = <&mdio0_pins_default>;
gpios = <&main_gpio0 86 GPIO_ACTIVE_HIGH>, /* MDC */
<&main_gpio0 85 GPIO_ACTIVE_HIGH>; /* MDIO */
#address-cells = <1>;
#size-cells = <0>;
cpsw3g_phy0: ethernet-phy@0 {
reg = <0>;
};
cpsw3g_phy1: ethernet-phy@1 {
reg = <1>;
reset-gpios = <&main_gpio1 5 GPIO_ACTIVE_LOW>;
reset-assert-us = <25>;
reset-deassert-us = <60000>; /* T2 */
};
};
};
&main_pmx0 {
@ -312,8 +290,8 @@
mdio0_pins_default: mdio0-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0160, PIN_OUTPUT, 7) /* (AD24) MDIO0_MDC.GPIO0_86 */
AM62X_IOPAD(0x015c, PIN_INPUT, 7) /* (AB22) MDIO0_MDIO.GPIO0_85 */
AM62X_IOPAD(0x0160, PIN_OUTPUT, 0) /* (AD24) MDIO0_MDC */
AM62X_IOPAD(0x015c, PIN_INPUT, 0) /* (AB22) MDIO0_MDIO */
>;
};
@ -573,11 +551,13 @@
};
&usbss0 {
bootph-all;
ti,vbus-divider;
status = "okay";
};
&usb0 {
bootph-all;
dr_mode = "peripheral";
};
@ -611,8 +591,20 @@
};
&cpsw3g_mdio {
/* Workaround for errata i2329 - Use mdio bitbang */
status = "disabled";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mdio0_pins_default>;
cpsw3g_phy0: ethernet-phy@0 {
reg = <0>;
};
cpsw3g_phy1: ethernet-phy@1 {
reg = <1>;
reset-gpios = <&main_gpio1 5 GPIO_ACTIVE_LOW>;
reset-assert-us = <25>;
reset-deassert-us = <60000>; /* T2 */
};
};
&main_gpio0 {
@ -827,7 +819,6 @@
bootph-all;
pinctrl-names = "default";
pinctrl-0 = <&emmc_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
status = "okay";
};
@ -840,7 +831,6 @@
vmmc-supply = <&vdd_3v3_sd>;
vqmmc-supply = <&vdd_sd_dv>;
ti,driver-strength-ohm = <50>;
disable-wp;
cd-gpios = <&main_gpio1 48 GPIO_ACTIVE_LOW>;
cd-debounce-delay-ms = <100>;
@ -852,12 +842,10 @@
vmmc-supply = <&wlan_en>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_pins_default>, <&wifi_32k_clk>;
bus-width = <4>;
non-removable;
ti,fails-without-test-cd;
cap-power-off-card;
keep-power-in-suspend;
ti,driver-strength-ohm = <50>;
assigned-clocks = <&k3_clks 157 158>;
assigned-clock-parents = <&k3_clks 157 160>;
#address-cells = <1>;

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2022 - 2023 PHYTEC Messtechnik GmbH
* Copyright (C) 2022-2024 PHYTEC Messtechnik GmbH
* Author: Wadim Egorov <w.egorov@phytec.de>
*
* Product homepage:
@ -222,6 +222,7 @@
cpsw3g_phy3: ethernet-phy@3 {
compatible = "ethernet-phy-id2000.a231", "ethernet-phy-ieee802.3-c22";
reg = <3>;
ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
};
@ -333,7 +334,6 @@
vqmmc-supply = <&vddshv5_sdio>;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
no-1-8-v;
status = "okay";

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* AM625 SK: https://www.ti.com/lit/zip/sprr448
*
* Copyright (C) 2021-2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2021-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,10 +1,10 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM625 SoC family in Quad core configuration
*
* TRM: https://www.ti.com/lit/pdf/spruiv7
*
* Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM62A SoC Family Main Domain peripherals
*
* Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_main {
@ -42,9 +42,8 @@
};
};
main_conf: syscon@100000 {
compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
reg = <0x00 0x00100000 0x00 0x20000>;
main_conf: bus@100000 {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x00 0x00 0x00100000 0x20000>;
@ -536,6 +535,24 @@
status = "disabled";
};
sdhci0: mmc@fa10000 {
compatible = "ti,am62-sdhci";
reg = <0x00 0xfa10000 0x00 0x260>, <0x00 0xfa18000 0x00 0x134>;
interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&k3_pds 57 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 57 5>, <&k3_clks 57 6>;
clock-names = "clk_ahb", "clk_xin";
assigned-clocks = <&k3_clks 57 6>;
assigned-clock-parents = <&k3_clks 57 8>;
bus-width = <8>;
mmc-hs200-1_8v;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-mmc-hs = <0x0>;
ti,otap-del-sel-hs200 = <0x6>;
status = "disabled";
};
sdhci1: mmc@fa00000 {
compatible = "ti,am62-sdhci";
reg = <0x00 0xfa00000 0x00 0x260>, <0x00 0xfa08000 0x00 0x134>;
@ -543,7 +560,8 @@
power-domains = <&k3_pds 58 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 58 5>, <&k3_clks 58 6>;
clock-names = "clk_ahb", "clk_xin";
ti,trm-icp = <0x2>;
bus-width = <4>;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-sd-hs = <0x0>;
ti,otap-del-sel-sdr12 = <0xf>;
@ -555,8 +573,30 @@
ti,itap-del-sel-sd-hs = <0x0>;
ti,itap-del-sel-sdr12 = <0x0>;
ti,itap-del-sel-sdr25 = <0x0>;
ti,clkbuf-sel = <0x7>;
no-1-8-v;
status = "disabled";
};
sdhci2: mmc@fa20000 {
compatible = "ti,am62-sdhci";
reg = <0x00 0xfa20000 0x00 0x260>, <0x00 0xfa28000 0x00 0x134>;
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
power-domains = <&k3_pds 184 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 184 5>, <&k3_clks 184 6>;
clock-names = "clk_ahb", "clk_xin";
bus-width = <4>;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-sd-hs = <0x0>;
ti,otap-del-sel-sdr12 = <0xf>;
ti,otap-del-sel-sdr25 = <0xf>;
ti,otap-del-sel-sdr50 = <0xc>;
ti,otap-del-sel-sdr104 = <0x6>;
ti,otap-del-sel-ddr50 = <0x9>;
ti,itap-del-sel-legacy = <0x0>;
ti,itap-del-sel-sd-hs = <0x0>;
ti,itap-del-sel-sdr12 = <0x0>;
ti,itap-del-sel-sdr25 = <0x0>;
no-1-8-v;
status = "disabled";
};
@ -985,4 +1025,30 @@
power-domains = <&k3_pds 185 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
dss: dss@30200000 {
compatible = "ti,am62a7-dss";
reg = <0x00 0x30200000 0x00 0x1000>, /* common */
<0x00 0x30202000 0x00 0x1000>, /* vidl1 */
<0x00 0x30206000 0x00 0x1000>, /* vid */
<0x00 0x30207000 0x00 0x1000>, /* ovr1 */
<0x00 0x30208000 0x00 0x1000>, /* ovr2 */
<0x00 0x3020a000 0x00 0x1000>, /* vp1: Tied OFF in the SoC */
<0x00 0x3020b000 0x00 0x1000>, /* vp2: Used as DPI Out */
<0x00 0x30201000 0x00 0x1000>; /* common1 */
reg-names = "common", "vidl1", "vid",
"ovr1", "ovr2", "vp1", "vp2", "common1";
power-domains = <&k3_pds 186 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 186 6>,
<&k3_clks 186 0>,
<&k3_clks 186 2>;
clock-names = "fck", "vp1", "vp2";
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
dss_ports: ports {
#address-cells = <1>;
#size-cells = <0>;
};
};
};

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM625 SoC Family MCU Domain peripherals
*
* Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_mcu {

View file

@ -1,4 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/thermal/thermal.h>

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM62A SoC Family Wakeup Domain peripherals
*
* Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_wakeup {

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM62A SoC Family
*
* Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/gpio/gpio.h>

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* AM62A SK: https://www.ti.com/lit/zip/sprr459
*
* Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
@ -20,6 +20,7 @@
serial0 = &wkup_uart0;
serial2 = &main_uart0;
serial3 = &main_uart1;
mmc0 = &sdhci0;
mmc1 = &sdhci1;
};
@ -132,6 +133,18 @@
clock-frequency = <12288000>;
};
hdmi0: connector-hdmi {
compatible = "hdmi-connector";
label = "hdmi";
type = "a";
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&sii9022_out>;
};
};
};
codec_audio: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "AM62Ax-SKEVM";
@ -181,6 +194,39 @@
};
&main_pmx0 {
main_dss0_pins_default: main-dss0-default-pins {
pinctrl-single,pins = <
AM62AX_IOPAD(0x100, PIN_OUTPUT, 0) /* (V17) VOUT0_VSYNC */
AM62AX_IOPAD(0x0f8, PIN_OUTPUT, 0) /* (T18) VOUT0_HSYNC */
AM62AX_IOPAD(0x104, PIN_OUTPUT, 0) /* (AA22) VOUT0_PCLK */
AM62AX_IOPAD(0x0fc, PIN_OUTPUT, 0) /* (U17) VOUT0_DE */
AM62AX_IOPAD(0x0b8, PIN_OUTPUT, 0) /* (U22) VOUT0_DATA0 */
AM62AX_IOPAD(0x0bc, PIN_OUTPUT, 0) /* (U21) VOUT0_DATA1 */
AM62AX_IOPAD(0x0c0, PIN_OUTPUT, 0) /* (U20) VOUT0_DATA2 */
AM62AX_IOPAD(0x0c4, PIN_OUTPUT, 0) /* (U19) VOUT0_DATA3 */
AM62AX_IOPAD(0x0c8, PIN_OUTPUT, 0) /* (T19) VOUT0_DATA4 */
AM62AX_IOPAD(0x0cc, PIN_OUTPUT, 0) /* (U18) VOUT0_DATA5 */
AM62AX_IOPAD(0x0d0, PIN_OUTPUT, 0) /* (V22) VOUT0_DATA6 */
AM62AX_IOPAD(0x0d4, PIN_OUTPUT, 0) /* (V21) VOUT0_DATA7 */
AM62AX_IOPAD(0x0d8, PIN_OUTPUT, 0) /* (V19) VOUT0_DATA8 */
AM62AX_IOPAD(0x0dc, PIN_OUTPUT, 0) /* (V18) VOUT0_DATA9 */
AM62AX_IOPAD(0x0e0, PIN_OUTPUT, 0) /* (W22) VOUT0_DATA10 */
AM62AX_IOPAD(0x0e4, PIN_OUTPUT, 0) /* (W21) VOUT0_DATA11 */
AM62AX_IOPAD(0x0e8, PIN_OUTPUT, 0) /* (W20) VOUT0_DATA12 */
AM62AX_IOPAD(0x0ec, PIN_OUTPUT, 0) /* (W19) VOUT0_DATA13 */
AM62AX_IOPAD(0x0f0, PIN_OUTPUT, 0) /* (Y21) VOUT0_DATA14 */
AM62AX_IOPAD(0x0f4, PIN_OUTPUT, 0) /* (Y22) VOUT0_DATA15 */
AM62AX_IOPAD(0x05c, PIN_OUTPUT, 1) /* (P22) GPMC0_AD8.VOUT0_DATA16 */
AM62AX_IOPAD(0x060, PIN_OUTPUT, 1) /* (R19) GPMC0_AD9.VOUT0_DATA17 */
AM62AX_IOPAD(0x064, PIN_OUTPUT, 1) /* (R20) GPMC0_AD10.VOUT0_DATA18 */
AM62AX_IOPAD(0x068, PIN_OUTPUT, 1) /* (R22) GPMC0_AD11.VOUT0_DATA19 */
AM62AX_IOPAD(0x06c, PIN_OUTPUT, 1) /* (T22) GPMC0_AD12.VOUT0_DATA20 */
AM62AX_IOPAD(0x070, PIN_OUTPUT, 1) /* (R21) GPMC0_AD13.VOUT0_DATA21 */
AM62AX_IOPAD(0x074, PIN_OUTPUT, 1) /* (T20) GPMC0_AD14.VOUT0_DATA22 */
AM62AX_IOPAD(0x078, PIN_OUTPUT, 1) /* (T21) GPMC0_AD15.VOUT0_DATA23 */
>;
};
main_uart0_pins_default: main-uart0-default-pins {
pinctrl-single,pins = <
AM62AX_IOPAD(0x1c8, PIN_INPUT, 0) /* (E14) UART0_RXD */
@ -218,6 +264,22 @@
>;
};
main_mmc0_pins_default: main-mmc0-default-pins {
pinctrl-single,pins = <
AM62AX_IOPAD(0x220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */
AM62AX_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLKLB */
AM62AX_IOPAD(0x21c, PIN_INPUT, 0) /* (AB1) MMC0_CLK */
AM62AX_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
AM62AX_IOPAD(0x210, PIN_INPUT_PULLUP, 0) /* (AA1) MMC0_DAT1 */
AM62AX_IOPAD(0x20c, PIN_INPUT_PULLUP, 0) /* (AA3) MMC0_DAT2 */
AM62AX_IOPAD(0x208, PIN_INPUT_PULLUP, 0) /* (Y4) MMC0_DAT3 */
AM62AX_IOPAD(0x204, PIN_INPUT_PULLUP, 0) /* (AB2) MMC0_DAT4 */
AM62AX_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (AC1) MMC0_DAT5 */
AM62AX_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (AD2) MMC0_DAT6 */
AM62AX_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (AC2) MMC0_DAT7 */
>;
};
main_mmc1_pins_default: main-mmc1-default-pins {
pinctrl-single,pins = <
AM62AX_IOPAD(0x23c, PIN_INPUT, 0) /* (A21) MMC1_CMD */
@ -466,6 +528,36 @@
"CSI_EN", "AUTO_100M_1000M_CONFIG",
"CSI_VLDO_SEL", "SoC_WLAN_SDIO_RST";
};
sii9022: bridge-hdmi@3b {
compatible = "sil,sii9022";
reg = <0x3b>;
interrupt-parent = <&exp1>;
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
#sound-dai-cells = <0>;
sil,i2s-data-lanes = < 0 >;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
sii9022_in: endpoint {
remote-endpoint = <&dpi1_out>;
};
};
port@1 {
reg = <1>;
sii9022_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};
&main_i2c2 {
@ -475,13 +567,21 @@
clock-frequency = <400000>;
};
&sdhci0 {
/* eMMC */
status = "okay";
non-removable;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc0_pins_default>;
disable-wp;
};
&sdhci1 {
/* SD/MMC */
status = "okay";
vmmc-supply = <&vdd_mmc1>;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
};
@ -583,3 +683,20 @@
tx-num-evt = <32>;
rx-num-evt = <32>;
};
&dss {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_dss0_pins_default>;
};
&dss_ports {
/* VP2: DPI Output */
port@1 {
reg = <1>;
dpi1_out: endpoint {
remote-endpoint = <&sii9022_in>;
};
};
};

View file

@ -1,10 +1,10 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM62A7 SoC family in Quad core configuration
*
* TRM: https://www.ti.com/lit/zip/spruj16
*
* Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree file for the AM62P main domain peripherals
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_main {
@ -158,6 +158,43 @@
};
};
dmss_csi: bus@4e000000 {
compatible = "simple-bus";
ranges = <0x00 0x4e000000 0x00 0x4e000000 0x00 0x408000>;
#address-cells = <2>;
#size-cells = <2>;
dma-ranges;
ti,sci-dev-id = <198>;
inta_main_dmss_csi: interrupt-controller@4e400000 {
compatible = "ti,sci-inta";
reg = <0x00 0x4e400000 0x00 0x8000>;
#interrupt-cells = <0>;
interrupt-controller;
interrupt-parent = <&gic500>;
msi-controller;
power-domains = <&k3_pds 182 TI_SCI_PD_EXCLUSIVE>;
ti,sci = <&dmsc>;
ti,sci-dev-id = <200>;
ti,interrupt-ranges = <0 237 8>;
ti,unmapped-event-sources = <&main_bcdma_csi>;
};
main_bcdma_csi: dma-controller@4e230000 {
compatible = "ti,am62a-dmss-bcdma-csirx";
reg = <0x00 0x4e230000 0x00 0x100>,
<0x00 0x4e180000 0x00 0x8000>,
<0x00 0x4e100000 0x00 0x10000>;
reg-names = "gcfg", "rchanrt", "ringrt";
#dma-cells = <3>;
msi-parent = <&inta_main_dmss_csi>;
power-domains = <&k3_pds 182 TI_SCI_PD_EXCLUSIVE>;
ti,sci = <&dmsc>;
ti,sci-dev-id = <199>;
ti,sci-rm-range-rchan = <0x21>;
};
};
dmsc: system-controller@44043000 {
compatible = "ti,k2g-sci";
ti,host-id = <12>;
@ -534,7 +571,21 @@
clock-names = "clk_ahb", "clk_xin";
assigned-clocks = <&k3_clks 57 2>;
assigned-clock-parents = <&k3_clks 57 4>;
ti,otap-del-sel-legacy = <0x0>;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
ti,clkbuf-sel = <0x7>;
ti,strobe-sel = <0x77>;
ti,trm-icp = <0x8>;
ti,otap-del-sel-legacy = <0x1>;
ti,otap-del-sel-mmc-hs = <0x1>;
ti,otap-del-sel-ddr52 = <0x6>;
ti,otap-del-sel-hs200 = <0x8>;
ti,otap-del-sel-hs400 = <0x5>;
ti,itap-del-sel-legacy = <0x10>;
ti,itap-del-sel-mmc-hs = <0xa>;
ti,itap-del-sel-ddr52 = <0x3>;
status = "disabled";
};
@ -545,7 +596,19 @@
power-domains = <&k3_pds 58 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 58 5>, <&k3_clks 58 6>;
clock-names = "clk_ahb", "clk_xin";
ti,otap-del-sel-legacy = <0x8>;
bus-width = <4>;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-sd-hs = <0x0>;
ti,otap-del-sel-sdr12 = <0xf>;
ti,otap-del-sel-sdr25 = <0xf>;
ti,otap-del-sel-sdr50 = <0xc>;
ti,otap-del-sel-ddr50 = <0x9>;
ti,otap-del-sel-sdr104 = <0x6>;
ti,itap-del-sel-legacy = <0x0>;
ti,itap-del-sel-sd-hs = <0x0>;
ti,itap-del-sel-sdr12 = <0x0>;
ti,itap-del-sel-sdr25 = <0x0>;
status = "disabled";
};
@ -556,7 +619,19 @@
power-domains = <&k3_pds 184 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 184 5>, <&k3_clks 184 6>;
clock-names = "clk_ahb", "clk_xin";
ti,otap-del-sel-legacy = <0x8>;
bus-width = <4>;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-sd-hs = <0x0>;
ti,otap-del-sel-sdr12 = <0xf>;
ti,otap-del-sel-sdr25 = <0xf>;
ti,otap-del-sel-sdr50 = <0xc>;
ti,otap-del-sel-ddr50 = <0x9>;
ti,otap-del-sel-sdr104 = <0x6>;
ti,itap-del-sel-legacy = <0x0>;
ti,itap-del-sel-sd-hs = <0x0>;
ti,itap-del-sel-sdr12 = <0x0>;
ti,itap-del-sel-sdr25 = <0x0>;
status = "disabled";
};
@ -891,4 +966,73 @@
power-domains = <&k3_pds 192 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
ti_csi2rx0: ticsi2rx@30102000 {
compatible = "ti,j721e-csi2rx-shim";
reg = <0x00 0x30102000 0x00 0x1000>;
ranges;
#address-cells = <2>;
#size-cells = <2>;
dmas = <&main_bcdma_csi 0 0x5000 0>;
dma-names = "rx0";
power-domains = <&k3_pds 182 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
cdns_csi2rx0: csi-bridge@30101000 {
compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
reg = <0x00 0x30101000 0x00 0x1000>;
clocks = <&k3_clks 182 0>, <&k3_clks 182 3>, <&k3_clks 182 0>,
<&k3_clks 182 0>, <&k3_clks 182 4>, <&k3_clks 182 4>;
clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
"pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
phys = <&dphy0>;
phy-names = "dphy";
ports {
#address-cells = <1>;
#size-cells = <0>;
csi0_port0: port@0 {
reg = <0>;
status = "disabled";
};
csi0_port1: port@1 {
reg = <1>;
status = "disabled";
};
csi0_port2: port@2 {
reg = <2>;
status = "disabled";
};
csi0_port3: port@3 {
reg = <3>;
status = "disabled";
};
csi0_port4: port@4 {
reg = <4>;
status = "disabled";
};
};
};
};
dphy0: phy@30110000 {
compatible = "cdns,dphy-rx";
reg = <0x00 0x30110000 0x00 0x1100>;
#phy-cells = <0>;
power-domains = <&k3_pds 185 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
vpu: video-codec@30210000 {
compatible = "ti,j721s2-wave521c", "cnm,wave521c";
reg = <0x00 0x30210000 0x00 0x10000>;
interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&k3_clks 204 2>;
power-domains = <&k3_pds 204 TI_SCI_PD_EXCLUSIVE>;
};
};

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree file for the AM62P MCU domain peripherals
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_mcu {
@ -187,6 +187,8 @@
ranges = <0x79000000 0x00 0x79000000 0x8000>,
<0x79020000 0x00 0x79020000 0x8000>;
power-domains = <&k3_pds 7 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
mcu_r5fss0_core0: r5f@79000000 {
compatible = "ti,am62-r5f";
reg = <0x79000000 0x00008000>,

View file

@ -1,4 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/thermal/thermal.h>

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree file for the AM62P wakeup domain peripherals
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_wakeup {
@ -78,6 +78,7 @@
ranges = <0x78000000 0x00 0x78000000 0x8000>,
<0x78100000 0x00 0x78100000 0x8000>;
power-domains = <&k3_pds 119 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
wkup_r5fss0_core0: r5f@78000000 {
compatible = "ti,am62-r5f";

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM62P SoC Family
*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/gpio/gpio.h>
@ -71,7 +71,7 @@
<0x00 0x43600000 0x00 0x43600000 0x00 0x00010000>, /* SA3 sproxy data */
<0x00 0x44043000 0x00 0x44043000 0x00 0x00000fe0>, /* TI SCI DEBUG */
<0x00 0x44860000 0x00 0x44860000 0x00 0x00040000>, /* SA3 sproxy config */
<0x00 0x48000000 0x00 0x48000000 0x00 0x06400000>, /* DMSS */
<0x00 0x48000000 0x00 0x48000000 0x00 0x06408000>, /* DMSS */
<0x00 0x60000000 0x00 0x60000000 0x00 0x08000000>, /* FSS0 DAT1 */
<0x00 0x70000000 0x00 0x70000000 0x00 0x00010000>, /* OCSRAM */
<0x01 0x00000000 0x01 0x00000000 0x00 0x00310000>, /* A53 PERIPHBASE */

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree file for the AM62P5-SK
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*
* Schematics: https://www.ti.com/lit/zip/sprr487
*/
@ -413,6 +413,7 @@
status = "okay";
ti,driver-strength-ohm = <50>;
disable-wp;
bootph-all;
};
&sdhci1 {
@ -422,9 +423,7 @@
vqmmc-supply = <&vddshv_sdio>;
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
no-1-8-v;
bootph-all;
};
@ -445,6 +444,10 @@
};
&cpsw3g_mdio {
pinctrl-names = "default";
pinctrl-0 = <&main_mdio1_pins_default>;
status = "okay";
cpsw3g_phy0: ethernet-phy@0 {
reg = <0>;
ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree file for the AM62P5 SoC family (quad core)
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*
* TRM: https://www.ti.com/lit/pdf/spruj83
*/

View file

@ -0,0 +1,50 @@
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2024 PHYTEC America LLC
* Author: Garrett Giordano <ggiordano@phytec.com>
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/thermal/thermal.h>
#include "k3-pinctrl.h"
&{/} {
fan: gpio-fan {
compatible = "gpio-fan";
gpio-fan,speed-map = <0 0 8600 1>;
gpios = <&main_gpio0 40 GPIO_ACTIVE_LOW>;
#cooling-cells = <2>;
pinctrl-names = "default";
pinctrl-0 = <&gpio_fan_pins_default>;
};
};
&main_pmx0 {
gpio_fan_pins_default: gpio-fan-default-pins {
pinctrl-single,pins = <
AM62X_IOPAD(0x0a4, PIN_OUTPUT, 7) /* (M22) GPMC0_DIR.GPIO0_40 */
>;
};
};
&thermal_zones {
main0_thermal: main0-thermal {
trips {
main0_thermal_trip0: main0-thermal-trip {
temperature = <65000>; /* millicelsius */
hysteresis = <2000>; /* millicelsius */
type = "active";
};
};
cooling-maps {
map0 {
trip = <&main0_thermal_trip0>;
cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
};

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Common dtsi for AM62x SK and derivatives
*
* Copyright (C) 2021-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2021-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/leds/common.h>
@ -411,7 +411,6 @@
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_mmc0_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
};
@ -421,7 +420,6 @@
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
};
@ -460,6 +458,7 @@
};
&usbss0 {
bootph-all;
status = "okay";
ti,vbus-divider;
};
@ -470,6 +469,7 @@
};
&usb0 {
bootph-all;
#address-cells = <1>;
#size-cells = <0>;
usb-role-switch;

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* IMX219 (RPi v2) Camera Module
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* ALINX AN5641 & Digilent PCam 5C - OV5640 camera module
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Technexion TEVI-OV5640-*-RPI - OV5640 camera module
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,4 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* Audio playback via HDMI for AM625-SK and AM62-LP SK.
*
@ -6,7 +6,7 @@
* AM625 SK: https://www.ti.com/tool/SK-AM62
* AM62-LP SK: https://www.ti.com/tool/SK-AM62-LP
*
* Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM642 SoC Family Main Domain peripherals
*
* Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/phy/phy-cadence.h>
@ -51,10 +51,11 @@
reg = <0x00000014 0x4>;
};
serdes_ln_ctrl: mux-controller {
compatible = "mmio-mux";
serdes_ln_ctrl: mux-controller@4080 {
compatible = "reg-mux";
reg = <0x4080 0x4>;
#mux-control-cells = <1>;
mux-reg-masks = <0x4080 0x3>; /* SERDES0 lane0 select */
mux-reg-masks = <0x0 0x3>; /* SERDES0 lane0 select */
};
phy_gmii_sel: phy@4044 {
@ -626,13 +627,18 @@
power-domains = <&k3_pds 57 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 57 0>, <&k3_clks 57 1>;
clock-names = "clk_ahb", "clk_xin";
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
ti,clkbuf-sel = <0x7>;
ti,trm-icp = <0x2>;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-mmc-hs = <0x0>;
ti,otap-del-sel-ddr52 = <0x6>;
ti,otap-del-sel-hs200 = <0x7>;
ti,itap-del-sel-legacy = <0x10>;
ti,itap-del-sel-mmc-hs = <0xa>;
ti,itap-del-sel-ddr52 = <0x3>;
status = "disabled";
};
@ -643,15 +649,19 @@
power-domains = <&k3_pds 58 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 58 3>, <&k3_clks 58 4>;
clock-names = "clk_ahb", "clk_xin";
ti,trm-icp = <0x2>;
bus-width = <4>;
ti,clkbuf-sel = <0x7>;
ti,otap-del-sel-legacy = <0x0>;
ti,otap-del-sel-sd-hs = <0xf>;
ti,otap-del-sel-sd-hs = <0x0>;
ti,otap-del-sel-sdr12 = <0xf>;
ti,otap-del-sel-sdr25 = <0xf>;
ti,otap-del-sel-sdr50 = <0xc>;
ti,otap-del-sel-sdr104 = <0x6>;
ti,otap-del-sel-ddr50 = <0x9>;
ti,clkbuf-sel = <0x7>;
ti,itap-del-sel-legacy = <0x0>;
ti,itap-del-sel-sd-hs = <0x0>;
ti,itap-del-sel-sdr12 = <0x0>;
ti,itap-del-sel-sdr25 = <0x0>;
status = "disabled";
};
@ -1041,25 +1051,6 @@
status = "disabled";
};
pcie0_ep: pcie-ep@f102000 {
compatible = "ti,am64-pcie-ep", "ti,j721e-pcie-ep";
reg = <0x00 0x0f102000 0x00 0x1000>,
<0x00 0x0f100000 0x00 0x400>,
<0x00 0x0d000000 0x00 0x00800000>,
<0x00 0x68000000 0x00 0x08000000>;
reg-names = "intd_cfg", "user_cfg", "reg", "mem";
interrupt-names = "link_state";
interrupts = <GIC_SPI 203 IRQ_TYPE_EDGE_RISING>;
ti,syscon-pcie-ctrl = <&main_conf 0x4070>;
max-link-speed = <2>;
num-lanes = <1>;
power-domains = <&k3_pds 114 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 114 0>;
clock-names = "fck";
max-functions = /bits/ 8 <1>;
status = "disabled";
};
epwm0: pwm@23000000 {
compatible = "ti,am64-epwm", "ti,am3352-ehrpwm";
#pwm-cells = <3>;
@ -1244,6 +1235,18 @@
};
};
icssg0_iep0: iep@2e000 {
compatible = "ti,am654-icss-iep";
reg = <0x2e000 0x1000>;
clocks = <&icssg0_iepclk_mux>;
};
icssg0_iep1: iep@2f000 {
compatible = "ti,am654-icss-iep";
reg = <0x2f000 0x1000>;
clocks = <&icssg0_iepclk_mux>;
};
icssg0_mii_rt: mii-rt@32000 {
compatible = "ti,pruss-mii", "syscon";
reg = <0x32000 0x100>;
@ -1385,6 +1388,18 @@
};
};
icssg1_iep0: iep@2e000 {
compatible = "ti,am654-icss-iep";
reg = <0x2e000 0x1000>;
clocks = <&icssg1_iepclk_mux>;
};
icssg1_iep1: iep@2f000 {
compatible = "ti,am654-icss-iep";
reg = <0x2f000 0x1000>;
clocks = <&icssg1_iepclk_mux>;
};
icssg1_mii_rt: mii-rt@32000 {
compatible = "ti,pruss-mii", "syscon";
reg = <0x32000 0x100>;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM64 SoC Family MCU Domain peripherals
*
* Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_mcu {

View file

@ -1,9 +1,9 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2021 PHYTEC America, LLC - https://www.phytec.com
* Copyright (C) 2021-2024 PHYTEC America, LLC - https://www.phytec.com
* Author: Matt McKee <mmckee@phytec.com>
*
* Copyright (C) 2022 PHYTEC Messtechnik GmbH
* Copyright (C) 2022-2024 PHYTEC Messtechnik GmbH
* Author: Wadim Egorov <w.egorov@phytec.de>
*
* Product homepage:
@ -318,3 +318,10 @@
disable-wp;
keep-power-in-suspend;
};
&tscadc0 {
status = "okay";
adc {
ti,adc-channels = <0 1 2 3 4 5 6 7>;
};
};

View file

@ -1,4 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/thermal/thermal.h>

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM642 SoC Family
*
* Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/gpio/gpio.h>

View file

@ -0,0 +1,79 @@
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT overlay for enabling 2nd ICSSG1 port on AM642 EVM
*
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include "k3-pinctrl.h"
&{/} {
aliases {
ethernet1 = "/icssg1-eth/ethernet-ports/port@1";
};
mdio-mux-2 {
compatible = "mdio-mux-multiplexer";
mux-controls = <&mdio_mux>;
mdio-parent-bus = <&icssg1_mdio>;
#address-cells = <1>;
#size-cells = <0>;
mdio@0 {
reg = <0x0>;
#address-cells = <1>;
#size-cells = <0>;
icssg1_phy2: ethernet-phy@3 {
reg = <3>;
tx-internal-delay-ps = <250>;
rx-internal-delay-ps = <2000>;
};
};
};
};
&main_pmx0 {
icssg1_rgmii2_pins_default: icssg1-rgmii2-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x0108, PIN_INPUT, 2) /* (W11) PRG1_PRU1_GPO0.RGMII2_RD0 */
AM64X_IOPAD(0x010c, PIN_INPUT, 2) /* (V11) PRG1_PRU1_GPO1.RGMII2_RD1 */
AM64X_IOPAD(0x0110, PIN_INPUT, 2) /* (AA12) PRG1_PRU1_GPO2.RGMII2_RD2 */
AM64X_IOPAD(0x0114, PIN_INPUT, 2) /* (Y12) PRG1_PRU1_GPO3.RGMII2_RD3 */
AM64X_IOPAD(0x0120, PIN_INPUT, 2) /* (U11) PRG1_PRU1_GPO6.RGMII2_RXC */
AM64X_IOPAD(0x0118, PIN_INPUT, 2) /* (W12) PRG1_PRU1_GPO4.RGMII2_RX_CTL */
AM64X_IOPAD(0x0134, PIN_OUTPUT, 2) /* (AA10) PRG1_PRU1_GPO11.RGMII2_TD0 */
AM64X_IOPAD(0x0138, PIN_OUTPUT, 2) /* (V10) PRG1_PRU1_GPO12.RGMII2_TD1 */
AM64X_IOPAD(0x013c, PIN_OUTPUT, 2) /* (U10) PRG1_PRU1_GPO13.RGMII2_TD2 */
AM64X_IOPAD(0x0140, PIN_OUTPUT, 2) /* (AA11) PRG1_PRU1_GPO14.RGMII2_TD3 */
AM64X_IOPAD(0x0148, PIN_OUTPUT, 2) /* (Y10) PRG1_PRU1_GPO16.RGMII2_TXC */
AM64X_IOPAD(0x0144, PIN_OUTPUT, 2) /* (Y11) PRG1_PRU1_GPO15.RGMII2_TX_CTL */
>;
};
};
&cpsw3g {
pinctrl-0 = <&rgmii1_pins_default>;
};
&cpsw_port2 {
status = "disabled";
};
&mdio_mux_1 {
status = "disabled";
};
&icssg1_eth {
pinctrl-0 = <&icssg1_rgmii1_pins_default>, <&icssg1_rgmii2_pins_default>;
};
&icssg1_emac1 {
status = "okay";
phy-handle = <&icssg1_phy2>;
phy-mode = "rgmii-id";
};

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
@ -32,6 +32,7 @@
mmc1 = &sdhci1;
ethernet0 = &cpsw_port1;
ethernet1 = &cpsw_port2;
ethernet2 = &icssg1_emac0;
};
memory@80000000 {
@ -198,7 +199,7 @@
mux-gpios = <&exp1 12 GPIO_ACTIVE_HIGH>;
};
mdio-mux-1 {
mdio_mux_1: mdio-mux-1 {
compatible = "mdio-mux-multiplexer";
mux-controls = <&mdio_mux>;
mdio-parent-bus = <&cpsw3g_mdio>;
@ -229,6 +230,64 @@
max-bitrate = <5000000>;
standby-gpios = <&exp1 9 GPIO_ACTIVE_HIGH>;
};
icssg1_eth: icssg1-eth {
compatible = "ti,am642-icssg-prueth";
pinctrl-names = "default";
pinctrl-0 = <&icssg1_rgmii1_pins_default>;
sram = <&oc_sram>;
ti,prus = <&pru1_0>, <&rtu1_0>, <&tx_pru1_0>, <&pru1_1>, <&rtu1_1>, <&tx_pru1_1>;
firmware-name = "ti-pruss/am64x-sr2-pru0-prueth-fw.elf",
"ti-pruss/am64x-sr2-rtu0-prueth-fw.elf",
"ti-pruss/am64x-sr2-txpru0-prueth-fw.elf",
"ti-pruss/am64x-sr2-pru1-prueth-fw.elf",
"ti-pruss/am64x-sr2-rtu1-prueth-fw.elf",
"ti-pruss/am64x-sr2-txpru1-prueth-fw.elf";
ti,pruss-gp-mux-sel = <2>, /* MII mode */
<2>,
<2>,
<2>, /* MII mode */
<2>,
<2>;
ti,mii-g-rt = <&icssg1_mii_g_rt>;
ti,mii-rt = <&icssg1_mii_rt>;
ti,iep = <&icssg1_iep0>, <&icssg1_iep1>;
interrupt-parent = <&icssg1_intc>;
interrupts = <24 0 2>, <25 1 3>;
interrupt-names = "tx_ts0", "tx_ts1";
dmas = <&main_pktdma 0xc200 15>, /* egress slice 0 */
<&main_pktdma 0xc201 15>, /* egress slice 0 */
<&main_pktdma 0xc202 15>, /* egress slice 0 */
<&main_pktdma 0xc203 15>, /* egress slice 0 */
<&main_pktdma 0xc204 15>, /* egress slice 1 */
<&main_pktdma 0xc205 15>, /* egress slice 1 */
<&main_pktdma 0xc206 15>, /* egress slice 1 */
<&main_pktdma 0xc207 15>, /* egress slice 1 */
<&main_pktdma 0x4200 15>, /* ingress slice 0 */
<&main_pktdma 0x4201 15>; /* ingress slice 1 */
dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
"tx1-0", "tx1-1", "tx1-2", "tx1-3",
"rx0", "rx1";
ethernet-ports {
#address-cells = <1>;
#size-cells = <0>;
icssg1_emac0: port@0 {
reg = <0>;
phy-handle = <&icssg1_phy1>;
phy-mode = "rgmii-id";
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
};
icssg1_emac1: port@1 {
reg = <1>;
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
status = "disabled";
};
};
};
};
&main_pmx0 {
@ -383,6 +442,30 @@
AM64X_IOPAD(0x0030, PIN_OUTPUT_PULLUP, 7) /* (L18) OSPI0_CSN1.GPIO0_12 */
>;
};
icssg1_mdio1_pins_default: icssg1-mdio1-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x015c, PIN_OUTPUT, 0) /* (Y6) PRG1_MDIO0_MDC */
AM64X_IOPAD(0x0158, PIN_INPUT, 0) /* (AA6) PRG1_MDIO0_MDIO */
>;
};
icssg1_rgmii1_pins_default: icssg1-rgmii1-default-pins{
pinctrl-single,pins = <
AM64X_IOPAD(0x00b8, PIN_INPUT, 2) /* (Y7) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */
AM64X_IOPAD(0x00bc, PIN_INPUT, 2) /* (U8) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */
AM64X_IOPAD(0x00c0, PIN_INPUT, 2) /* (W8) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */
AM64X_IOPAD(0x00c4, PIN_INPUT, 2) /* (V8) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */
AM64X_IOPAD(0x00d0, PIN_INPUT, 2) /* (AA7) PRG1_PRU0_GPO6.PRG1_RGMII1_RXC */
AM64X_IOPAD(0x00c8, PIN_INPUT, 2) /* (Y8) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */
AM64X_IOPAD(0x00e4, PIN_INPUT, 2) /* (AA8) PRG1_PRU0_GPO11.PRG1_RGMII1_TD0 */
AM64X_IOPAD(0x00e8, PIN_INPUT, 2) /* (U9) PRG1_PRU0_GPO12.PRG1_RGMII1_TD1 */
AM64X_IOPAD(0x00ec, PIN_INPUT, 2) /* (W9) PRG1_PRU0_GPO13.PRG1_RGMII1_TD2 */
AM64X_IOPAD(0x00f0, PIN_INPUT, 2) /* (AA9) PRG1_PRU0_GPO14.PRG1_RGMII1_TD3 */
AM64X_IOPAD(0x00f8, PIN_INPUT, 2) /* (V9) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */
AM64X_IOPAD(0x00f4, PIN_INPUT, 2) /* (Y9) PRG1_PRU0_GPO15.PRG1_RGMII1_TX_CTL */
>;
};
};
&main_uart0 {
@ -494,10 +577,10 @@
/* eMMC */
&sdhci0 {
status = "okay";
bus-width = <8>;
non-removable;
ti,driver-strength-ohm = <50>;
disable-wp;
bootph-all;
};
/* SD/MMC */
@ -506,9 +589,7 @@
status = "okay";
vmmc-supply = <&vdd_mmc1>;
pinctrl-names = "default";
bus-width = <4>;
pinctrl-0 = <&main_mmc1_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
};
@ -660,25 +741,25 @@
};
&main_r5fss0_core0 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss0_core0>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};
&main_r5fss0_core1 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss0_core1>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};
&main_r5fss1_core0 {
mboxes = <&mailbox0_cluster4>, <&mbox_main_r5fss1_core0>;
mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
memory-region = <&main_r5fss1_core0_dma_memory_region>,
<&main_r5fss1_core0_memory_region>;
};
&main_r5fss1_core1 {
mboxes = <&mailbox0_cluster4>, <&mbox_main_r5fss1_core1>;
mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
memory-region = <&main_r5fss1_core1_dma_memory_region>,
<&main_r5fss1_core1_memory_region>;
};
@ -705,12 +786,6 @@
num-lanes = <1>;
};
&pcie0_ep {
phys = <&serdes0_pcie_link>;
phy-names = "pcie-phy";
num-lanes = <1>;
};
&ecap0 {
status = "okay";
/* PWM is available on Pin 1 of header J12 */
@ -731,3 +806,15 @@
pinctrl-0 = <&main_mcan1_pins_default>;
phys = <&transceiver2>;
};
&icssg1_mdio {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&icssg1_mdio1_pins_default>;
icssg1_phy1: ethernet-phy@f {
reg = <0xf>;
tx-internal-delay-ps = <250>;
rx-internal-delay-ps = <2000>;
};
};

View file

@ -0,0 +1,45 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2023 Josua Mayer <josua@solid-run.com>
*
* Overlay for SolidRun AM642 HummingBoard-T to enable PCI-E.
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/phy/phy.h>
#include "k3-serdes.h"
&pcie0_rc {
pinctrl-names = "default";
pinctrl-0 = <&pcie0_default_pins>;
reset-gpios = <&main_gpio1 15 GPIO_ACTIVE_HIGH>;
phys = <&serdes0_link>;
phy-names = "pcie-phy";
num-lanes = <1>;
status = "okay";
};
&serdes0 {
#address-cells = <1>;
#size-cells = <0>;
serdes0_link: phy@0 {
reg = <0>;
cdns,num-lanes = <1>;
cdns,phy-type = <PHY_TYPE_PCIE>;
#phy-cells = <0>;
resets = <&serdes_wiz0 1>;
};
};
&serdes_ln_ctrl {
idle-states = <AM64_SERDES0_LANE0_PCIE0>;
};
&serdes_mux {
idle-state = <1>;
};

View file

@ -0,0 +1,44 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2023 Josua Mayer <josua@solid-run.com>
*
* Overlay for SolidRun AM642 HummingBoard-T to enable USB-3.1.
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/phy/phy.h>
#include "k3-serdes.h"
&serdes0 {
#address-cells = <1>;
#size-cells = <0>;
serdes0_link: phy@0 {
reg = <0>;
cdns,num-lanes = <1>;
cdns,phy-type = <PHY_TYPE_USB3>;
#phy-cells = <0>;
resets = <&serdes_wiz0 1>;
};
};
&serdes_ln_ctrl {
idle-states = <AM64_SERDES0_LANE0_USB>;
};
&serdes_mux {
idle-state = <0>;
};
&usbss0 {
/delete-property/ ti,usb2-only;
};
&usb0 {
maximum-speed = "super-speed";
phys = <&serdes0_link>;
phy-names = "cdns3,usb3-phy";
};

View file

@ -0,0 +1,292 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2023 Josua Mayer <josua@solid-run.com>
*
* DTS for SolidRun AM642 HummingBoard-T,
* running on Cortex A53.
*
*/
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include <dt-bindings/phy/phy.h>
#include "k3-am642.dtsi"
#include "k3-am642-sr-som.dtsi"
/ {
model = "SolidRun AM642 HummingBoard-T";
compatible = "solidrun,am642-hummingboard-t", "solidrun,am642-sr-som", "ti,am642";
aliases {
serial5 = &main_uart3;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&leds_default_pins>;
/* D24 */
led1: led-1 {
label = "led1";
gpios = <&main_gpio0 29 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_GREEN>;
};
/* D25 */
led2: led-2 {
label = "led2";
gpios = <&main_gpio0 30 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_GREEN>;
};
/* D26 */
led3: led-3 {
label = "led3";
gpios = <&main_gpio0 33 GPIO_ACTIVE_HIGH>;
color = <LED_COLOR_ID_GREEN>;
};
};
regulator-m2-3v3 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&regulator_pcie_3v3_default_pins>;
regulator-name = "m2-3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&main_gpio1 17 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-always-on;
};
regulator-vpp-1v8 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&regulator_vpp_1v8_default_pins>;
regulator-name = "vpp-1v8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&main_gpio1 78 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
serdes_mux: mux-controller {
compatible = "gpio-mux";
pinctrl-names = "default";
pinctrl-0 = <&serdes_mux_default_pins>;
#mux-control-cells = <0>;
/*
* Mux has 2 IOs:
* - select: 0 = USB-3 (M2); 1 = PCIE (M1)
* - shutdown: 0 = active; 1 = disabled (high impedance)
*/
mux-gpios = <&main_gpio1 40 GPIO_ACTIVE_HIGH>, <&main_gpio1 41 GPIO_ACTIVE_HIGH>;
/* default disabled */
idle-state = <2>;
};
};
&main_gpio0 {
m2-reset-hog {
gpio-hog;
gpios = <12 GPIO_ACTIVE_LOW>;
output-low; /* deasserted */
line-name = "m2-reset";
};
m1-m2-w-disable1-hog {
gpio-hog;
gpios = <32 GPIO_ACTIVE_LOW>;
output-low; /* deasserted */
line-name = "m1-m2-pcie-w-disable1";
};
m1-m2-w-disable2-hog {
gpio-hog;
gpios = <34 GPIO_ACTIVE_LOW>;
output-low; /* deasserted */
line-name = "m1-m2-pcie-w-disable2";
};
};
&main_gpio1 {
m1-pcie-clkreq0-hog {
gpio-hog;
gpios = <11 GPIO_ACTIVE_LOW>;
input;
line-name = "m1-pcie-clkreq0";
};
m2-pcie-clkreq-hog {
gpio-hog;
gpios = <35 GPIO_ACTIVE_LOW>;
input;
line-name = "m2-pcie-clkreq";
};
};
&main_i2c0 {
pinctrl-0 = <&main_i2c0_default_pins>, <&main_i2c0_int_default_pins>;
humidity-sensor@41 {
compatible = "ti,hdc2010";
reg = <0x41>;
interrupt-parent = <&main_gpio0>;
interrupts = <37 IRQ_TYPE_EDGE_FALLING>;
};
light-sensor@44 {
compatible = "ti,opt3001";
reg = <0x44>;
interrupt-parent = <&main_gpio0>;
interrupts = <37 IRQ_TYPE_EDGE_FALLING>;
};
/* charger@6a */
};
&main_i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_default_pins>;
status = "okay";
rtc@69 {
compatible = "abracon,abx80x";
reg = <0x69>;
pinctrl-names = "default";
pinctrl-0 = <&rtc_int_default_pins>;
abracon,tc-diode = "schottky";
abracon,tc-resistor = <3>;
interrupt-parent = <&main_gpio0>;
interrupts = <44 IRQ_TYPE_EDGE_FALLING>;
};
};
&main_mcan0 {
pinctrl-names = "default";
pinctrl-0 = <&main_mcan0_default_pins>;
status = "okay";
can-transceiver {
max-bitrate = <8000000>;
};
};
&main_mcan1 {
pinctrl-names = "default";
pinctrl-0 = <&main_mcan1_default_pins>;
status = "okay";
can-transceiver {
max-bitrate = <8000000>;
};
};
&main_pmx0 {
leds_default_pins: leds-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x0074, PIN_OUTPUT, 7) /* GPMC0_AD14.GPIO0_29 */
AM64X_IOPAD(0x0078, PIN_OUTPUT, 7) /* GPMC0_AD15.GPIO0_30 */
AM64X_IOPAD(0x0088, PIN_OUTPUT, 7) /* GPMC0_OEn_REn.GPIO0_33 */
>;
};
main_i2c0_int_default_pins: main-i2c0-int-default-pins {
pinctrl-single,pins = <
/* external pull-up on Carrier */
AM64X_IOPAD(0x0098, PIN_INPUT, 7) /* GPMC0_WAIT0.GPIO0_37 */
>;
};
main_i2c1_default_pins: main-i2c1-default-pins {
pinctrl-single,pins = <
/* external pull-up on SoM */
AM64X_IOPAD(0x0268, PIN_INPUT, 0) /* I2C1_SCL.I2C1_SCL */
AM64X_IOPAD(0x026c, PIN_INPUT, 0) /* I2C1_SDA.I2C1_SDA */
>;
};
main_mcan0_default_pins: main-mcan0-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x0254, PIN_INPUT, 0) /* MCAN0_RX.MCAN0_RX */
AM64X_IOPAD(0x0250, PIN_OUTPUT, 0) /* MCAN0_TX.MCAN0_TX */
>;
};
main_mcan1_default_pins: main-mcan1-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x025c, PIN_INPUT, 0) /* MCAN1_RX.MCAN1_RX */
AM64X_IOPAD(0x0258, PIN_OUTPUT, 0) /* MCAN1_TX.MCAN1_TX */
>;
};
main_uart3_default_pins: main-uart3-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x016c, PIN_INPUT, 10) /* PRG0_PRU0_GPO3.UART3_CTSn */
AM64X_IOPAD(0x0170, PIN_OUTPUT, 10) /* PRG0_PRU0_GPO4.UART3_TXD */
AM64X_IOPAD(0x0174, PIN_OUTPUT, 10) /* PRG0_PRU0_GPO5.UART3_RTSn */
AM64X_IOPAD(0x01ac, PIN_INPUT, 10) /* PRG0_PRU0_GPO19.UART3_RXD */
>;
};
pcie0_default_pins: pcie0-default-pins {
pinctrl-single,pins = <
/* connector M2 RESET */
AM64X_IOPAD(0x0030, PIN_OUTPUT, 7) /* OSPI0_CSn1.GPIO0_12 */
/* connectors M1 & M2 W_DISABLE1 */
AM64X_IOPAD(0x0084, PIN_OUTPUT, 7) /* GPMC0_ADVN_ALE.GPIO0_32 */
/* connectors M1 & M2 W_DISABLE2 */
AM64X_IOPAD(0x008c, PIN_OUTPUT, 7) /* GPMC0_WEN.GPIO0_34 */
/* connectors M1 & M2 PERST0 (PCI Reset) */
AM64X_IOPAD(0x019c, PIN_OUTPUT, 7) /* PRG0_PRU0_GPO15.GPIO1_15 */
/* connector M1 CLKREQ0 */
AM64X_IOPAD(0x018c, PIN_INPUT, 7) /* PRG0_PRU0_GPO11.GPIO1_11 */
/* connector M2 CLKREQ0 */
AM64X_IOPAD(0x01ec, PIN_INPUT, 7) /* PRG0_PRU1_GPO15.GPIO1_35 */
>;
};
regulator_pcie_3v3_default_pins: regulator-pcie-3v3-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x01a4, PIN_OUTPUT, 7) /* PRG0_PRU0_GPO17.GPIO1_17 */
>;
};
regulator_vpp_1v8_default_pins: regulator-vpp-1v8-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x029c, PIN_OUTPUT, 7) /* MMC1_SDWP.GPIO1_78 */
>;
};
rtc_int_default_pins: rtc-int-default-pins {
pinctrl-single,pins = <
/* external pull-up on Carrier */
AM64X_IOPAD(0x00b4, PIN_INPUT, 7) /* GPMC0_CSn3.GPIO0_44 */
>;
};
serdes_mux_default_pins: serdes-mux-default-pins {
pinctrl-single,pins = <
/* SEL, 10k pull-down on carrier, 2.2k pullup on SoM */
AM64X_IOPAD(0x0200, PIN_OUTPUT, 7) /* PRG0_MDIO0_MDIO.GPIO1_40 */
/* EN */
AM64X_IOPAD(0x0204, PIN_OUTPUT, 7) /* PRG0_MDIO0_MDC.GPIO1_41 */
>;
};
};
&main_uart3 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart3_default_pins>;
uart-has-rtscts;
rs485-rts-active-low;
linux,rs485-enabled-at-boot-time;
status = "okay";
};
&usb0 {
dr_mode = "host";
};

View file

@ -1,9 +1,9 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2021 PHYTEC America, LLC - https://www.phytec.com
* Copyright (C) 2021-2024 PHYTEC America, LLC - https://www.phytec.com
* Author: Matt McKee <mmckee@phytec.com>
*
* Copyright (C) 2022 PHYTEC Messtechnik GmbH
* Copyright (C) 2022-2024 PHYTEC Messtechnik GmbH
* Author: Wadim Egorov <w.egorov@phytec.de>
*
* Product homepage:
@ -159,6 +159,15 @@
>;
};
main_spi0_pins_default: main-spi0-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x020c, PIN_OUTPUT, 7) /* (C13) SPI0_CS1.GPIO1_43 */
AM64X_IOPAD(0x0210, PIN_INPUT, 0) /* (D13) SPI0_CLK */
AM64X_IOPAD(0x0214, PIN_OUTPUT, 0) /* (A13) SPI0_D0 */
AM64X_IOPAD(0x0218, PIN_INPUT, 0) /* (A14) SPI0_D1 */
>;
};
main_uart0_pins_default: main-uart0-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x0230, PIN_INPUT, 0) /* (D15) UART0_RXD */
@ -248,6 +257,20 @@
phys = <&can_tc2>;
};
&main_spi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_spi0_pins_default>;
cs-gpios = <0>, <&main_gpio1 43 GPIO_ACTIVE_LOW>;
ti,pindir-d0-out-d1-in;
tpm@1 {
compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
reg = <1>;
spi-max-frequency = <10000000>;
};
};
&main_uart0 {
status = "okay";
pinctrl-names = "default";
@ -269,7 +292,6 @@
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_pins_default>;
bus-width = <4>;
ti,driver-strength-ohm = <50>;
disable-wp;
no-1-8-v;
};

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
@ -469,9 +469,7 @@
status = "okay";
vmmc-supply = <&vdd_mmc1>;
pinctrl-names = "default";
bus-width = <4>;
pinctrl-0 = <&main_mmc1_pins_default>;
ti,driver-strength-ohm = <50>;
disable-wp;
};
@ -646,25 +644,25 @@
};
&main_r5fss0_core0 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss0_core0>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};
&main_r5fss0_core1 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss0_core1>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};
&main_r5fss1_core0 {
mboxes = <&mailbox0_cluster4>, <&mbox_main_r5fss1_core0>;
mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
memory-region = <&main_r5fss1_core0_dma_memory_region>,
<&main_r5fss1_core0_memory_region>;
};
&main_r5fss1_core1 {
mboxes = <&mailbox0_cluster4>, <&mbox_main_r5fss1_core1>;
mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
memory-region = <&main_r5fss1_core1_dma_memory_region>,
<&main_r5fss1_core1_memory_region>;
};

View file

@ -0,0 +1,594 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2023 Josua Mayer <josua@solid-run.com>
*
*/
#include <dt-bindings/net/ti-dp83869.h>
/ {
model = "SolidRun AM642 SoM";
compatible = "solidrun,am642-sr-som", "ti,am642";
aliases {
ethernet0 = &cpsw_port1;
ethernet1 = &icssg1_emac0;
ethernet2 = &icssg1_emac1;
mmc0 = &sdhci0;
mmc1 = &sdhci1;
serial2 = &main_uart0;
};
chosen {
/* SoC default UART console */
stdout-path = "serial2:115200n8";
};
/* PRU Ethernet Controller */
ethernet {
compatible = "ti,am642-icssg-prueth";
pinctrl-names = "default";
pinctrl-0 = <&pru_rgmii1_default_pins>, <&pru_rgmii2_default_pins>;
sram = <&oc_sram>;
ti,prus = <&pru1_0>, <&rtu1_0>, <&tx_pru1_0>, <&pru1_1>, <&rtu1_1>, <&tx_pru1_1>;
firmware-name = "ti-pruss/am65x-sr2-pru0-prueth-fw.elf",
"ti-pruss/am65x-sr2-rtu0-prueth-fw.elf",
"ti-pruss/am65x-sr2-txpru0-prueth-fw.elf",
"ti-pruss/am65x-sr2-pru1-prueth-fw.elf",
"ti-pruss/am65x-sr2-rtu1-prueth-fw.elf",
"ti-pruss/am65x-sr2-txpru1-prueth-fw.elf";
/* configure internal pinmux for mii mode */
ti,pruss-gp-mux-sel = <2>, <2>, <2>, <2>, <2>, <2>;
ti,mii-g-rt = <&icssg1_mii_g_rt>;
ti,mii-rt = <&icssg1_mii_rt>;
ti,iep = <&icssg1_iep0>, <&icssg1_iep1>;
/*
* Configure icssg interrupt controller to map pru-internal
* interrupts 8/9 via channels 0/1 to host interrupts 0/1.
*
* For details see interrupt controller documentation:
* Documentation/devicetree/bindings/interrupt-controller/ti,pruss-intc.yaml
*/
interrupt-parent = <&icssg1_intc>;
interrupts = <24 0 2>, <25 1 3>;
interrupt-names = "tx_ts0", "tx_ts1";
dmas = <&main_pktdma 0xc200 15>, /* egress slice 0 */
<&main_pktdma 0xc201 15>, /* egress slice 0 */
<&main_pktdma 0xc202 15>, /* egress slice 0 */
<&main_pktdma 0xc203 15>, /* egress slice 0 */
<&main_pktdma 0xc204 15>, /* egress slice 1 */
<&main_pktdma 0xc205 15>, /* egress slice 1 */
<&main_pktdma 0xc206 15>, /* egress slice 1 */
<&main_pktdma 0xc207 15>, /* egress slice 1 */
<&main_pktdma 0x4200 15>, /* ingress slice 0 */
<&main_pktdma 0x4201 15>; /* ingress slice 1 */
dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
"tx1-0", "tx1-1", "tx1-2", "tx1-3",
"rx0", "rx1";
ethernet-ports {
#address-cells = <1>;
#size-cells = <0>;
icssg1_emac0: port@0 {
reg = <0>;
ti,syscon-rgmii-delay = <&main_conf 0x4110>;
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
phy-handle = <&ethernet_phy2>;
phy-mode = "rgmii-id";
};
icssg1_emac1: port@1 {
reg = <1>;
ti,syscon-rgmii-delay = <&main_conf 0x4114>;
/* Filled in by bootloader */
local-mac-address = [00 00 00 00 00 00];
phy-handle = <&ethernet_phy1>;
phy-mode = "rgmii-id";
};
};
};
/* DDR16SS0:
* - Bank 1 @ 0x080000000-0x0FFFFFFFF: max. 2GB in 32-bit address space
* - Bank 2 @ 0x880000000-0x9FFFFFFFF: max. 6GB in 64-bit address space
*/
memory@80000000 {
reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
<0x00000008 0x80000000 0x00000001 0x80000000>;
device_type = "memory";
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
secure_ddr: optee@9e800000 {
reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
no-map;
};
main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa0000000 0x00 0x100000>;
no-map;
};
main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa0100000 0x00 0xf00000>;
no-map;
};
main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa1000000 0x00 0x100000>;
no-map;
};
main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa1100000 0x00 0xf00000>;
no-map;
};
main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa2000000 0x00 0x100000>;
no-map;
};
main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa2100000 0x00 0xf00000>;
no-map;
};
main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa3000000 0x00 0x100000>;
no-map;
};
main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
compatible = "shared-dma-pool";
reg = <0x00 0xa3100000 0x00 0xf00000>;
no-map;
};
};
vdd_mmc0: regulator-vdd-mmc0 {
compatible = "regulator-fixed";
regulator-name = "vdd-mmc0";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
};
&cpsw3g {
pinctrl-names = "default";
pinctrl-0 = <&rgmii1_default_pins>;
};
&cpsw3g_mdio {
pinctrl-names = "default";
pinctrl-0 = <&mdio0_default_pins>;
status = "okay";
ethernet_phy0: ethernet-phy@0 {
compatible = "ethernet-phy-id2000.a0f1";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&ethernet_phy0_default_pins>;
ti,clk-output-sel = <DP83869_CLK_O_SEL_REF_CLK>;
ti,op-mode = <DP83869_RGMII_COPPER_ETHERNET>;
/*
* Disable interrupts because ISR never clears 0x0040
*
* interrupt-parent = <&main_gpio1>;
* interrupts = <70 IRQ_TYPE_LEVEL_LOW>;
*/
/*
* Disable HW Reset because clock signal is daisy-chained
*
* reset-gpios = <&main_gpio0 84 GPIO_ACTIVE_LOW>;
* reset-assert-us = <1>;
* reset-deassert-us = <30>;
*/
};
};
&cpsw_port1 {
phy-mode = "rgmii-id";
phy-handle = <&ethernet_phy0>;
};
&cpsw_port2 {
status = "disabled";
};
&icssg1_mdio {
pinctrl-names = "default";
pinctrl-0 = <&pru1_mdio0_default_pins>;
status = "okay";
ethernet_phy1: ethernet-phy@3 {
compatible = "ethernet-phy-id2000.a0f1";
reg = <3>;
pinctrl-names = "default";
pinctrl-0 = <&ethernet_phy1_default_pins>;
ti,clk-output-sel = <DP83869_CLK_O_SEL_REF_CLK>;
ti,op-mode = <DP83869_RGMII_COPPER_ETHERNET>;
/*
* Disable interrupts because ISR never clears 0x0040
*
* interrupt-parent = <&main_gpio1>;
* interrupts = <70 IRQ_TYPE_LEVEL_LOW>;
*/
/*
* Disable HW Reset because clock signal is daisy-chained
*
* reset-gpios = <&main_gpio0 20 GPIO_ACTIVE_LOW>;
* reset-assert-us = <1>;
* reset-deassert-us = <30>;
*/
};
ethernet_phy2: ethernet-phy@f {
compatible = "ethernet-phy-id2000.a0f1";
reg = <0xf>;
pinctrl-names = "default";
pinctrl-0 = <&ethernet_phy2_default_pins>;
ti,op-mode = <DP83869_RGMII_COPPER_ETHERNET>;
/*
* Disable interrupts because ISR never clears 0x0040
*
* interrupt-parent = <&main_gpio1>;
* interrupts = <70 IRQ_TYPE_LEVEL_LOW>;
*/
/*
* Disable HW Reset because clock signal is daisy-chained
*
* reset-gpios = <&main_gpio0 52 GPIO_ACTIVE_LOW>;
* reset-assert-us = <1>;
* reset-deassert-us = <30>;
*/
};
};
&mailbox0_cluster2 {
status = "okay";
mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
ti,mbox-rx = <0 0 2>;
ti,mbox-tx = <1 0 2>;
};
mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
ti,mbox-rx = <2 0 2>;
ti,mbox-tx = <3 0 2>;
};
};
&mailbox0_cluster4 {
status = "okay";
mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
ti,mbox-rx = <0 0 2>;
ti,mbox-tx = <1 0 2>;
};
mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
ti,mbox-rx = <2 0 2>;
ti,mbox-tx = <3 0 2>;
};
};
&main_i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c0_default_pins>;
status = "okay";
som_eeprom: eeprom@50 {
compatible = "atmel,24c01";
reg = <0x50>;
pagesize = <8>;
};
};
&main_pmx0 {
/* hog global functions */
pinctrl-names = "default";
pinctrl-0 = <&ethernet_phy_default_pins>;
ethernet_phy_default_pins: ethernet-phy-default-pins {
pinctrl-single,pins = <
/* interrupt / power-down, external pull-up on SoM */
AM64X_IOPAD(0x0278, PIN_INPUT, 7) /* EXTINTn.GPIO1_70 */
>;
};
ethernet_phy0_default_pins: ethernet-phy0-default-pins {
pinctrl-single,pins = <
/* reset */
AM64X_IOPAD(0x0154, PIN_OUTPUT, 7) /* PRG1_PRU1_GPO19.GPIO0_84 */
/* reference clock */
AM64X_IOPAD(0x0274, PIN_OUTPUT, 5) /* EXT_REFCLK1.CLKOUT0 */
>;
};
ethernet_phy1_default_pins: ethernet-phy1-default-pins {
pinctrl-single,pins = <
/* reset */
AM64X_IOPAD(0x0150, PIN_OUTPUT, 7) /* PRG1_PRU1_GPO18.GPIO0_20 */
/* led0, external pull-down on SoM */
AM64X_IOPAD(0x0128, PIN_INPUT, 7) /* PRG1_PRU1_GPO8.GPIO0_73 */
/* led1/rxer */
AM64X_IOPAD(0x011c, PIN_INPUT, 7) /* PRG1_PRU1_GPO5.GPIO0_70 */
>;
};
ethernet_phy2_default_pins: ethernet-phy2-default-pins {
pinctrl-single,pins = <
/* reset */
AM64X_IOPAD(0x00d4, PIN_OUTPUT, 7) /* PRG1_PRU0_GPO7.GPIO0_52 */
/* led0, external pull-down on SoM */
AM64X_IOPAD(0x00d8, PIN_INPUT, 7) /* PRG1_PRU0_GPO8.GPIO0_53 */
/* led1/rxer */
AM64X_IOPAD(0x00cc, PIN_INPUT, 7) /* PRG1_PRU0_GPO5.GPIO0_50 */
>;
};
main_i2c0_default_pins: main-i2c0-default-pins {
pinctrl-single,pins = <
/* external pull-up on SoM */
AM64X_IOPAD(0x0260, PIN_INPUT, 0) /* I2C0_SCL.I2C0_SCL */
AM64X_IOPAD(0x0264, PIN_INPUT, 0) /* I2C0_SDA.I2C0_SDA */
>;
};
/*
* main_mmc0_default_pins: main-mmc0-default-pins
*
* MMC0_CMD: no padconfig
* MMC0_CLK: no padconfig, external pull-up on SoM
* MMC0_DAT0: no padconfig
* MMC0_DAT1: no padconfig
* MMC0_DAT2: no padconfig
* MMC0_DAT3: no padconfig
* MMC0_DAT4: no padconfig
* MMC0_DAT5: no padconfig
* MMC0_DAT6: no padconfig
* MMC0_DAT7: no padconfig
* MMC0_DS: no padconfig, external pull-down on SoM
*/
main_mmc1_default_pins: main-mmc1-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x0294, PIN_INPUT_PULLUP, 0) /* (J19) MMC1_CMD */
AM64X_IOPAD(0x028c, PIN_INPUT, 0) /* MMC1_CLK.MMC1_CLK */
AM64X_IOPAD(0x0288, PIN_INPUT_PULLUP, 0) /* MMC1_DAT0.MMC1_DAT0 */
AM64X_IOPAD(0x0284, PIN_INPUT_PULLUP, 0) /* MMC1_DAT1.MMC1_DAT1 */
AM64X_IOPAD(0x0280, PIN_INPUT_PULLUP, 0) /* MMC1_DAT2.MMC1_DAT2 */
AM64X_IOPAD(0x027c, PIN_INPUT_PULLUP, 0) /* MMC1_DAT3.MMC1_DAT3 */
/* external pull-down on SoM & Carrier */
AM64X_IOPAD(0x0298, PIN_INPUT_PULLUP, 0) /* MMC1_SDCD.MMC1_SDCD */
AM64X_IOPAD(0x0290, PIN_INPUT, 0) /* MMC1_CLKLB: clock loopback */
>;
};
main_uart0_default_pins: main-uart0-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x0230, PIN_INPUT, 0) /* UART0_RXD.UART0_RXD */
AM64X_IOPAD(0x0234, PIN_OUTPUT, 0) /* UART0_TXD.UART0_TXD */
>;
};
mdio0_default_pins: mdio0-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) /* PRG0_PRU1_GPO19.MDIO0_MDC */
AM64X_IOPAD(0x01f8, PIN_INPUT, 4) /* PRG0_PRU1_GPO18.MDIO0_MDIO */
>;
};
ospi0_default_pins: ospi0-default-pins {
pinctrl-single,pins = <
/* external pull-down on SoM */
AM64X_IOPAD(0x0000, PIN_OUTPUT, 0) /* OSPI0_CLK.OSPI0_CLK */
AM64X_IOPAD(0x0008, PIN_OUTPUT, 0) /* OSPI0_DQS.OSPI0_DQS */
/* external pull-up on SoM */
AM64X_IOPAD(0x002c, PIN_OUTPUT, 0) /* OSPI0_CSn0.OSPI0_CSn0 */
AM64X_IOPAD(0x000c, PIN_INPUT, 0) /* OSPI0_D0.OSPI0_D0 */
AM64X_IOPAD(0x0010, PIN_INPUT, 0) /* OSPI0_D1.OSPI0_D1 */
AM64X_IOPAD(0x0014, PIN_INPUT, 0) /* OSPI0_D2.OSPI0_D2 */
AM64X_IOPAD(0x0018, PIN_INPUT, 0) /* OSPI0_D3.OSPI0_D3 */
AM64X_IOPAD(0x001c, PIN_INPUT, 0) /* OSPI0_D4.OSPI0_D4 */
AM64X_IOPAD(0x0020, PIN_INPUT, 0) /* OSPI0_D5.OSPI0_D5 */
AM64X_IOPAD(0x0024, PIN_INPUT, 0) /* OSPI0_D6.OSPI0_D6 */
AM64X_IOPAD(0x0028, PIN_INPUT, 0) /* OSPI0_D7.OSPI0_D7 */
>;
};
ospi0_flash0_default_pins: ospi0-flash0-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x0034, PIN_OUTPUT, 7) /* OSPI0_CSn2.GPIO0_13 */
AM64X_IOPAD(0x0038, PIN_INPUT, 7) /* OSPI0_CSn3.GPIO0_14 */
>;
};
pru1_mdio0_default_pins: pru1-mdio0-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x015c, PIN_OUTPUT, 0) /* PRG1_MDIO0_MDC.PRG1_MDIO0_MDC */
AM64X_IOPAD(0x0158, PIN_INPUT, 0) /* PRG1_MDIO0_MDIO.PRG1_MDIO0_MDIO */
>;
};
pru_rgmii1_default_pins: pru-rgmii1-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x00b8, PIN_INPUT, 2) /* (Y7) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */
AM64X_IOPAD(0x00bc, PIN_INPUT, 2) /* (U8) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */
AM64X_IOPAD(0x00c0, PIN_INPUT, 2) /* (W8) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */
AM64X_IOPAD(0x00c4, PIN_INPUT, 2) /* (V8) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */
AM64X_IOPAD(0x00d0, PIN_INPUT, 2) /* (AA7) PRG1_PRU0_GPO6.PRG1_RGMII1_RXC */
AM64X_IOPAD(0x00c8, PIN_INPUT, 2) /* (Y8) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */
AM64X_IOPAD(0x00e4, PIN_OUTPUT, 2) /* (AA8) PRG1_PRU0_GPO11.PRG1_RGMII1_TD0 */
AM64X_IOPAD(0x00e8, PIN_OUTPUT, 2) /* (U9) PRG1_PRU0_GPO12.PRG1_RGMII1_TD1 */
AM64X_IOPAD(0x00ec, PIN_OUTPUT, 2) /* (W9) PRG1_PRU0_GPO13.PRG1_RGMII1_TD2 */
AM64X_IOPAD(0x00f0, PIN_OUTPUT, 2) /* (AA9) PRG1_PRU0_GPO14.PRG1_RGMII1_TD3 */
AM64X_IOPAD(0x00f8, PIN_INPUT, 2) /* (V9) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */
AM64X_IOPAD(0x00f4, PIN_OUTPUT, 2) /* (Y9) PRG1_PRU0_GPO15.PRG1_RGMII1_TX_CTL */
>;
};
pru_rgmii2_default_pins: pru-rgmii2-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x0108, PIN_INPUT, 2) /* PRG1_PRU1_GPO0.RGMII2_RD0 */
AM64X_IOPAD(0x010c, PIN_INPUT, 2) /* PRG1_PRU1_GPO1.RGMII2_RD1 */
AM64X_IOPAD(0x0110, PIN_INPUT, 2) /* PRG1_PRU1_GPO2.RGMII2_RD2 */
AM64X_IOPAD(0x0114, PIN_INPUT, 2) /* PRG1_PRU1_GPO3.RGMII2_RD3 */
AM64X_IOPAD(0x0120, PIN_INPUT, 2) /* PRG1_PRU1_GPO6.RGMII2_RXC */
AM64X_IOPAD(0x0118, PIN_INPUT, 2) /* PRG1_PRU1_GPO4.RGMII2_RX_CTL */
AM64X_IOPAD(0x0134, PIN_OUTPUT, 2) /* PRG1_PRU1_GPO11.RGMII2_TD0 */
AM64X_IOPAD(0x0138, PIN_OUTPUT, 2) /* PRG1_PRU1_GPO12.RGMII2_TD1 */
AM64X_IOPAD(0x013c, PIN_OUTPUT, 2) /* PRG1_PRU1_GPO13.RGMII2_TD2 */
AM64X_IOPAD(0x0140, PIN_OUTPUT, 2) /* PRG1_PRU1_GPO14.RGMII2_TD3 */
AM64X_IOPAD(0x0148, PIN_INPUT, 2) /* PRG1_PRU1_GPO16.RGMII2_TXC */
AM64X_IOPAD(0x0144, PIN_OUTPUT, 2) /* PRG1_PRU1_GPO15.RGMII2_TX_CTL */
>;
};
rgmii1_default_pins: rgmii1-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x01cc, PIN_INPUT, 4) /* PRG0_PRU1_GPO7.RGMII1_RD0 */
AM64X_IOPAD(0x01d4, PIN_INPUT, 4) /* PRG0_PRU1_GPO9.RGMII1_RD1 */
AM64X_IOPAD(0x01d8, PIN_INPUT, 4) /* PRG0_PRU1_GPO10.RGMII1_RD2 */
AM64X_IOPAD(0x01f4, PIN_INPUT, 4) /* PRG0_PRU1_GPO17.RGMII1_RD3 */
AM64X_IOPAD(0x0188, PIN_INPUT, 4) /* PRG0_PRU0_GPO10.RGMII1_RXC */
AM64X_IOPAD(0x0184, PIN_INPUT, 4) /* PRG0_PRU0_GPO9.RGMII1_RX_CTL */
AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) /* PRG1_PRU1_GPO7.RGMII1_TD0 */
AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) /* PRG1_PRU1_GPO9.RGMII1_TD1 */
AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) /* PRG1_PRU1_GPO10.RGMII1_TD2 */
AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) /* PRG1_PRU1_GPO17.RGMII1_TD3 */
AM64X_IOPAD(0x00e0, PIN_INPUT, 4) /* PRG1_PRU0_GPO10.RGMII1_TXC */
AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) /* PRG1_PRU0_GPO9.RGMII1_TX_CTL */
>;
};
usb0_default_pins: usb0-default-pins {
pinctrl-single,pins = <
AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* USB0_DRVVBUS.USB0_DRVVBUS */
>;
};
};
&main_r5fss0_core0 {
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};
&main_r5fss0_core1 {
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};
&main_r5fss1_core0 {
mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
memory-region = <&main_r5fss1_core0_dma_memory_region>,
<&main_r5fss1_core0_memory_region>;
};
&main_r5fss1_core1 {
mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
memory-region = <&main_r5fss1_core1_dma_memory_region>,
<&main_r5fss1_core1_memory_region>;
};
/* SoC default UART console */
&main_uart0 {
pinctrl-names = "default";
pinctrl-0 = <&main_uart0_default_pins>;
status = "okay";
};
&ospi0 {
pinctrl-names = "default";
pinctrl-0 = <&ospi0_default_pins>;
num-cs = <1>;
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&ospi0_flash0_default_pins>;
spi-tx-bus-width = <8>;
spi-rx-bus-width = <8>;
spi-max-frequency = <200000000>;
cdns,tshsl-ns = <50>;
cdns,tsd2d-ns = <50>;
cdns,tchsh-ns = <4>;
cdns,tslch-ns = <4>;
cdns,read-delay = <0>;
interrupt-parent = <&main_gpio0>;
interrupts = <14 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&main_gpio0 13 GPIO_ACTIVE_LOW>;
};
};
&sdhci0 {
/* mmc0 pins have no padconfig */
bus-width = <8>;
ti,driver-strength-ohm = <50>;
disable-wp;
non-removable;
cap-mmc-hw-reset;
no-sd;
/*
* MMC controller supports switching between 1.8V and 3.3V signalling.
* However MMC0 (unlike MMC1) does not integrate an LDO.
* Explicitly link a regulator node for indicating to the driver which
* voltages are actually usable.
*/
vqmmc-supply = <&vdd_mmc0>;
status = "okay";
};
/*
* microSD is on carrier - however since SoC can boot from it,
* configure it just in case.
*/
&sdhci1 {
pinctrl-names = "default";
pinctrl-0 = <&main_mmc1_default_pins>;
bus-width = <4>;
ti,driver-strength-ohm = <50>;
disable-wp;
status = "okay";
};
/*
* USB settings are a carrier choice - however since SoC can boot from it,
* configure as USB-2.0 OTG here, keeping USB-3 serdes disabled.
*/
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_default_pins>;
dr_mode = "otg";
maximum-speed = "high-speed";
};
&usbss0 {
ti,vbus-divider;
ti,usb2-only;
};

View file

@ -422,7 +422,6 @@
cd-gpios = <&main_gpio1 77 GPIO_ACTIVE_LOW>;
disable-wp;
no-mmc;
ti,driver-strength-ohm = <50>;
ti,fails-without-test-cd;
/* Enabled by overlay */
};

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM642 SoC family in Dual core configuration
*
* Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -0,0 +1,768 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2018-2023
*
* Authors:
* Le Jin <le.jin@siemens.com>
* Jan Kiszka <jan.kiszka@siemens.com>
*
* Common bits for IOT2050 variants with Arduino connector
*/
&wkup_pmx0 {
pinctrl-names =
"default",
"d0-uart0-rxd", "d0-gpio", "d0-gpio-pullup", "d0-gpio-pulldown",
"d1-uart0-txd", "d1-gpio", "d1-gpio-pullup", "d1-gpio-pulldown",
"d2-uart0-ctsn", "d2-gpio", "d2-gpio-pullup", "d2-gpio-pulldown",
"d3-uart0-rtsn", "d3-gpio", "d3-gpio-pullup", "d3-gpio-pulldown",
"d10-spi0-cs0", "d10-gpio", "d10-gpio-pullup", "d10-gpio-pulldown",
"d11-spi0-d0", "d11-gpio", "d11-gpio-pullup", "d11-gpio-pulldown",
"d12-spi0-d1", "d12-gpio", "d12-gpio-pullup", "d12-gpio-pulldown",
"d13-spi0-clk", "d13-gpio", "d13-gpio-pullup", "d13-gpio-pulldown",
"a0-gpio", "a0-gpio-pullup", "a0-gpio-pulldown",
"a1-gpio", "a1-gpio-pullup", "a1-gpio-pulldown",
"a2-gpio", "a2-gpio-pullup", "a2-gpio-pulldown",
"a3-gpio", "a3-gpio-pullup", "a3-gpio-pulldown",
"a4-gpio", "a4-gpio-pullup", "a4-gpio-pulldown",
"a5-gpio", "a5-gpio-pullup", "a5-gpio-pulldown";
pinctrl-0 = <&d0_uart0_rxd>;
pinctrl-1 = <&d0_uart0_rxd>;
pinctrl-2 = <&d0_gpio>;
pinctrl-3 = <&d0_gpio_pullup>;
pinctrl-4 = <&d0_gpio_pulldown>;
pinctrl-5 = <&d1_uart0_txd>;
pinctrl-6 = <&d1_gpio>;
pinctrl-7 = <&d1_gpio_pullup>;
pinctrl-8 = <&d1_gpio_pulldown>;
pinctrl-9 = <&d2_uart0_ctsn>;
pinctrl-10 = <&d2_gpio>;
pinctrl-11 = <&d2_gpio_pullup>;
pinctrl-12 = <&d2_gpio_pulldown>;
pinctrl-13 = <&d3_uart0_rtsn>;
pinctrl-14 = <&d3_gpio>;
pinctrl-15 = <&d3_gpio_pullup>;
pinctrl-16 = <&d3_gpio_pulldown>;
pinctrl-17 = <&d10_spi0_cs0>;
pinctrl-18 = <&d10_gpio>;
pinctrl-19 = <&d10_gpio_pullup>;
pinctrl-20 = <&d10_gpio_pulldown>;
pinctrl-21 = <&d11_spi0_d0>;
pinctrl-22 = <&d11_gpio>;
pinctrl-23 = <&d11_gpio_pullup>;
pinctrl-24 = <&d11_gpio_pulldown>;
pinctrl-25 = <&d12_spi0_d1>;
pinctrl-26 = <&d12_gpio>;
pinctrl-27 = <&d12_gpio_pullup>;
pinctrl-28 = <&d12_gpio_pulldown>;
pinctrl-29 = <&d13_spi0_clk>;
pinctrl-30 = <&d13_gpio>;
pinctrl-31 = <&d13_gpio_pullup>;
pinctrl-32 = <&d13_gpio_pulldown>;
pinctrl-33 = <&a0_gpio>;
pinctrl-34 = <&a0_gpio_pullup>;
pinctrl-35 = <&a0_gpio_pulldown>;
pinctrl-36 = <&a1_gpio>;
pinctrl-37 = <&a1_gpio_pullup>;
pinctrl-38 = <&a1_gpio_pulldown>;
pinctrl-39 = <&a2_gpio>;
pinctrl-40 = <&a2_gpio_pullup>;
pinctrl-41 = <&a2_gpio_pulldown>;
pinctrl-42 = <&a3_gpio>;
pinctrl-43 = <&a3_gpio_pullup>;
pinctrl-44 = <&a3_gpio_pulldown>;
pinctrl-45 = <&a4_gpio>;
pinctrl-46 = <&a4_gpio_pullup>;
pinctrl-47 = <&a4_gpio_pulldown>;
pinctrl-48 = <&a5_gpio>;
pinctrl-49 = <&a5_gpio_pullup>;
pinctrl-50 = <&a5_gpio_pulldown>;
d0_uart0_rxd: d0-uart0-rxd-pins {
pinctrl-single,pins = <
/* (P4) MCU_UART0_RXD */
AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 4)
>;
};
d0_gpio: d0-gpio-pins {
pinctrl-single,pins = <
/* (P4) WKUP_GPIO0_29 */
AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 7)
>;
};
d0_gpio_pullup: d0-gpio-pullup-pins {
pinctrl-single,pins = <
/* (P4) WKUP_GPIO0_29 */
AM65X_WKUP_IOPAD(0x0044, PIN_INPUT_PULLUP, 7)
>;
};
d0_gpio_pulldown: d0-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (P4) WKUP_GPIO0_29 */
AM65X_WKUP_IOPAD(0x0044, PIN_INPUT_PULLDOWN, 7)
>;
};
d1_uart0_txd: d1-uart0-txd-pins {
pinctrl-single,pins = <
/* (P5) MCU_UART0_TXD */
AM65X_WKUP_IOPAD(0x0048, PIN_OUTPUT, 4)
>;
};
d1_gpio: d1-gpio-pins {
pinctrl-single,pins = <
/* (P5) WKUP_GPIO0_30 */
AM65X_WKUP_IOPAD(0x0048, PIN_INPUT, 7)
>;
};
d1_gpio_pullup: d1-gpio-pullup-pins {
pinctrl-single,pins = <
/* (P5) WKUP_GPIO0_30 */
AM65X_WKUP_IOPAD(0x0048, PIN_INPUT, 7)
>;
};
d1_gpio_pulldown: d1-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (P5) WKUP_GPIO0_30 */
AM65X_WKUP_IOPAD(0x0048, PIN_INPUT_PULLDOWN, 7)
>;
};
d2_uart0_ctsn: d2-uart0-ctsn-pins {
pinctrl-single,pins = <
/* (P1) MCU_UART0_CTSn */
AM65X_WKUP_IOPAD(0x004C, PIN_INPUT, 4)
>;
};
d2_gpio: d2-gpio-pins {
pinctrl-single,pins = <
/* (P5) WKUP_GPIO0_31 */
AM65X_WKUP_IOPAD(0x004C, PIN_INPUT, 7)
>;
};
d2_gpio_pullup: d2-gpio-pullup-pins {
pinctrl-single,pins = <
/* (P5) WKUP_GPIO0_31 */
AM65X_WKUP_IOPAD(0x004C, PIN_INPUT, 7)
>;
};
d2_gpio_pulldown: d2-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (P5) WKUP_GPIO0_31 */
AM65X_WKUP_IOPAD(0x004C, PIN_INPUT_PULLDOWN, 7)
>;
};
d3_uart0_rtsn: d3-uart0-rtsn-pins {
pinctrl-single,pins = <
/* (N3) MCU_UART0_RTSn */
AM65X_WKUP_IOPAD(0x0054, PIN_OUTPUT, 4)
>;
};
d3_gpio: d3-gpio-pins {
pinctrl-single,pins = <
/* (N3) WKUP_GPIO0_33 */
AM65X_WKUP_IOPAD(0x0054, PIN_INPUT, 7)
>;
};
d3_gpio_pullup: d3-gpio-pullup-pins {
pinctrl-single,pins = <
/* (N3) WKUP_GPIO0_33 */
AM65X_WKUP_IOPAD(0x0054, PIN_INPUT, 7)
>;
};
d3_gpio_pulldown: d3-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (N3) WKUP_GPIO0_33 */
AM65X_WKUP_IOPAD(0x0054, PIN_INPUT_PULLDOWN, 7)
>;
};
d10_spi0_cs0: d10-spi0-cs0-pins {
pinctrl-single,pins = <
/* (Y4) MCU_SPI0_CS0 */
AM65X_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0)
>;
};
d10_gpio: d10-gpio-pins {
pinctrl-single,pins = <
/* (Y4) WKUP_GPIO0_51 */
AM65X_WKUP_IOPAD(0x009c, PIN_INPUT, 7)
>;
};
d10_gpio_pullup: d10-gpio-pullup-pins {
pinctrl-single,pins = <
/* (Y4) WKUP_GPIO0_51 */
AM65X_WKUP_IOPAD(0x009c, PIN_INPUT, 7)
>;
};
d10_gpio_pulldown: d10-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (Y4) WKUP_GPIO0_51 */
AM65X_WKUP_IOPAD(0x009c, PIN_INPUT_PULLDOWN, 7)
>;
};
d11_spi0_d0: d11-spi0-d0-pins {
pinctrl-single,pins = <
/* (Y3) MCU_SPI0_D0 */
AM65X_WKUP_IOPAD(0x0094, PIN_INPUT, 0)
>;
};
d11_gpio: d11-gpio-pins {
pinctrl-single,pins = <
/* (Y3) WKUP_GPIO0_49 */
AM65X_WKUP_IOPAD(0x0094, PIN_INPUT, 7)
>;
};
d11_gpio_pullup: d11-gpio-pullup-pins {
pinctrl-single,pins = <
/* (Y3) WKUP_GPIO0_49 */
AM65X_WKUP_IOPAD(0x0094, PIN_INPUT, 7)
>;
};
d11_gpio_pulldown: d11-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (Y3) WKUP_GPIO0_49 */
AM65X_WKUP_IOPAD(0x0094, PIN_INPUT_PULLDOWN, 7)
>;
};
d12_spi0_d1: d12-spi0-d1-pins {
pinctrl-single,pins = <
/* (Y2) MCU_SPI0_D1 */
AM65X_WKUP_IOPAD(0x0098, PIN_INPUT, 0)
>;
};
d12_gpio: d12-gpio-pins {
pinctrl-single,pins = <
/* (Y2) WKUP_GPIO0_50 */
AM65X_WKUP_IOPAD(0x0098, PIN_INPUT, 7)
>;
};
d12_gpio_pullup: d12-gpio-pullup-pins {
pinctrl-single,pins = <
/* (Y2) WKUP_GPIO0_50 */
AM65X_WKUP_IOPAD(0x0098, PIN_INPUT, 7)
>;
};
d12_gpio_pulldown: d12-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (Y2) WKUP_GPIO0_50 */
AM65X_WKUP_IOPAD(0x0098, PIN_INPUT_PULLDOWN, 7)
>;
};
d13_spi0_clk: d13-spi0-clk-pins {
pinctrl-single,pins = <
/* (Y1) MCU_SPI0_CLK */
AM65X_WKUP_IOPAD(0x0090, PIN_INPUT, 0)
>;
};
d13_gpio: d13-gpio-pins {
pinctrl-single,pins = <
/* (Y1) WKUP_GPIO0_48 */
AM65X_WKUP_IOPAD(0x0090, PIN_INPUT, 7)
>;
};
d13_gpio_pullup: d13-gpio-pullup-pins {
pinctrl-single,pins = <
/* (Y1) WKUP_GPIO0_48 */
AM65X_WKUP_IOPAD(0x0090, PIN_INPUT, 7)
>;
};
d13_gpio_pulldown: d13-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (Y1) WKUP_GPIO0_48 */
AM65X_WKUP_IOPAD(0x0090, PIN_INPUT_PULLDOWN, 7)
>;
};
a0_gpio: a0-gpio-pins {
pinctrl-single,pins = <
/* (L6) WKUP_GPIO0_45 */
AM65X_WKUP_IOPAD(0x0084, PIN_INPUT, 7)
>;
};
a0_gpio_pullup: a0-gpio-pullup-pins {
pinctrl-single,pins = <
/* (L6) WKUP_GPIO0_45 */
AM65X_WKUP_IOPAD(0x0084, PIN_INPUT, 7)
>;
};
a0_gpio_pulldown: a0-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (L6) WKUP_GPIO0_45 */
AM65X_WKUP_IOPAD(0x0084, PIN_INPUT_PULLDOWN, 7)
>;
};
a1_gpio: a1-gpio-pins {
pinctrl-single,pins = <
/* (M6) WKUP_GPIO0_44 */
AM65X_WKUP_IOPAD(0x0080, PIN_INPUT, 7)
>;
};
a1_gpio_pullup: a1-gpio-pullup-pins {
pinctrl-single,pins = <
/* (M6) WKUP_GPIO0_44 */
AM65X_WKUP_IOPAD(0x0080, PIN_INPUT, 7)
>;
};
a1_gpio_pulldown: a1-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (M6) WKUP_GPIO0_44 */
AM65X_WKUP_IOPAD(0x0080, PIN_INPUT_PULLDOWN, 7)
>;
};
a2_gpio: a2-gpio-pins {
pinctrl-single,pins = <
/* (L5) WKUP_GPIO0_43 */
AM65X_WKUP_IOPAD(0x007C, PIN_INPUT, 7)
>;
};
a2_gpio_pullup: a2-gpio-pullup-pins {
pinctrl-single,pins = <
/* (L5) WKUP_GPIO0_43 */
AM65X_WKUP_IOPAD(0x007C, PIN_INPUT, 7)
>;
};
a2_gpio_pulldown: a2-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (L5) WKUP_GPIO0_43 */
AM65X_WKUP_IOPAD(0x007C, PIN_INPUT_PULLDOWN, 7)
>;
};
a3_gpio: a3-gpio-pins {
pinctrl-single,pins = <
/* (M5) WKUP_GPIO0_39 */
AM65X_WKUP_IOPAD(0x006C, PIN_INPUT, 7)
>;
};
a3_gpio_pullup: a3-gpio-pullup-pins {
pinctrl-single,pins = <
/* (M5) WKUP_GPIO0_39 */
AM65X_WKUP_IOPAD(0x006C, PIN_INPUT, 7)
>;
};
a3_gpio_pulldown: a3-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (M5) WKUP_GPIO0_39 */
AM65X_WKUP_IOPAD(0x006C, PIN_INPUT_PULLDOWN, 7)
>;
};
a4_gpio: a4-gpio-pins {
pinctrl-single,pins = <
/* (L2) WKUP_GPIO0_42 */
AM65X_WKUP_IOPAD(0x0078, PIN_INPUT, 7)
>;
};
a4_gpio_pullup: a4-gpio-pullup-pins {
pinctrl-single,pins = <
/* (L2) WKUP_GPIO0_42 */
AM65X_WKUP_IOPAD(0x0078, PIN_INPUT, 7)
>;
};
a4_gpio_pulldown: a4-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (L2) WKUP_GPIO0_42 */
AM65X_WKUP_IOPAD(0x0078, PIN_INPUT_PULLDOWN, 7)
>;
};
a5_gpio: a5-gpio-pins {
pinctrl-single,pins = <
/* (N5) WKUP_GPIO0_35 */
AM65X_WKUP_IOPAD(0x005C, PIN_INPUT, 7)
>;
};
a5_gpio_pullup: a5-gpio-pullup-pins {
pinctrl-single,pins = <
/* (N5) WKUP_GPIO0_35 */
AM65X_WKUP_IOPAD(0x005C, PIN_INPUT_PULLUP, 7)
>;
};
a5_gpio_pulldown: a5-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (N5) WKUP_GPIO0_35 */
AM65X_WKUP_IOPAD(0x005C, PIN_INPUT_PULLDOWN, 7)
>;
};
wkup_i2c0_pins_default: wkup-i2c0-default-pins {
pinctrl-single,pins = <
/* (AC7) WKUP_I2C0_SCL */
AM65X_WKUP_IOPAD(0x00e0, PIN_INPUT, 0)
/* (AD6) WKUP_I2C0_SDA */
AM65X_WKUP_IOPAD(0x00e4, PIN_INPUT, 0)
>;
};
arduino_i2c_aio_switch_pins_default: arduino-i2c-aio-switch-default-pins {
pinctrl-single,pins = <
/* (R2) WKUP_GPIO0_21 */
AM65X_WKUP_IOPAD(0x0024, PIN_OUTPUT, 7)
>;
};
arduino_io_oe_pins_default: arduino-io-oe-default-pins {
pinctrl-single,pins = <
/* (N4) WKUP_GPIO0_34 */
AM65X_WKUP_IOPAD(0x0058, PIN_OUTPUT, 7)
/* (M2) WKUP_GPIO0_36 */
AM65X_WKUP_IOPAD(0x0060, PIN_OUTPUT, 7)
/* (M3) WKUP_GPIO0_37 */
AM65X_WKUP_IOPAD(0x0064, PIN_OUTPUT, 7)
/* (M4) WKUP_GPIO0_38 */
AM65X_WKUP_IOPAD(0x0068, PIN_OUTPUT, 7)
/* (M1) WKUP_GPIO0_41 */
AM65X_WKUP_IOPAD(0x0074, PIN_OUTPUT, 7)
>;
};
};
&main_pmx0 {
pinctrl-names =
"default",
"d4-ehrpwm0-a", "d4-gpio", "d4-gpio-pullup", "d4-gpio-pulldown",
"d5-ehrpwm1-a", "d5-gpio", "d5-gpio-pullup", "d5-gpio-pulldown",
"d6-ehrpwm2-a", "d6-gpio", "d6-gpio-pullup", "d6-gpio-pulldown",
"d7-ehrpwm3-a", "d7-gpio", "d7-gpio-pullup", "d7-gpio-pulldown",
"d8-ehrpwm4-a", "d8-gpio", "d8-gpio-pullup", "d8-gpio-pulldown",
"d9-ehrpwm5-a", "d9-gpio", "d9-gpio-pullup", "d9-gpio-pulldown";
pinctrl-0 = <&d4_ehrpwm0_a>;
pinctrl-1 = <&d4_ehrpwm0_a>;
pinctrl-2 = <&d4_gpio>;
pinctrl-3 = <&d4_gpio_pullup>;
pinctrl-4 = <&d4_gpio_pulldown>;
pinctrl-5 = <&d5_ehrpwm1_a>;
pinctrl-6 = <&d5_gpio>;
pinctrl-7 = <&d5_gpio_pullup>;
pinctrl-8 = <&d5_gpio_pulldown>;
pinctrl-9 = <&d6_ehrpwm2_a>;
pinctrl-10 = <&d6_gpio>;
pinctrl-11 = <&d6_gpio_pullup>;
pinctrl-12 = <&d6_gpio_pulldown>;
pinctrl-13 = <&d7_ehrpwm3_a>;
pinctrl-14 = <&d7_gpio>;
pinctrl-15 = <&d7_gpio_pullup>;
pinctrl-16 = <&d7_gpio_pulldown>;
pinctrl-17 = <&d8_ehrpwm4_a>;
pinctrl-18 = <&d8_gpio>;
pinctrl-19 = <&d8_gpio_pullup>;
pinctrl-20 = <&d8_gpio_pulldown>;
pinctrl-21 = <&d9_ehrpwm5_a>;
pinctrl-22 = <&d9_gpio>;
pinctrl-23 = <&d9_gpio_pullup>;
pinctrl-24 = <&d9_gpio_pulldown>;
d4_ehrpwm0_a: d4-ehrpwm0-a-pins {
pinctrl-single,pins = <
/* (AG18) EHRPWM0_A */
AM65X_IOPAD(0x0084, PIN_OUTPUT, 5)
>;
};
d4_gpio: d4-gpio-pins {
pinctrl-single,pins = <
/* (AG18) GPIO0_33 */
AM65X_IOPAD(0x0084, PIN_INPUT, 7)
>;
};
d4_gpio_pullup: d4-gpio-pullup-pins {
pinctrl-single,pins = <
/* (AG18) GPIO0_33 */
AM65X_IOPAD(0x0084, PIN_INPUT_PULLUP, 7)
>;
};
d4_gpio_pulldown: d4-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (AG18) GPIO0_33 */
AM65X_IOPAD(0x0084, PIN_INPUT_PULLDOWN, 7)
>;
};
d5_ehrpwm1_a: d5-ehrpwm1-a-pins {
pinctrl-single,pins = <
/* (AF17) EHRPWM1_A */
AM65X_IOPAD(0x008C, PIN_OUTPUT, 5)
>;
};
d5_gpio: d5-gpio-pins {
pinctrl-single,pins = <
/* (AF17) GPIO0_35 */
AM65X_IOPAD(0x008C, PIN_INPUT, 7)
>;
};
d5_gpio_pullup: d5-gpio-pullup-pins {
pinctrl-single,pins = <
/* (AF17) GPIO0_35 */
AM65X_IOPAD(0x008C, PIN_INPUT_PULLUP, 7)
>;
};
d5_gpio_pulldown: d5-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (AF17) GPIO0_35 */
AM65X_IOPAD(0x008C, PIN_INPUT_PULLDOWN, 7)
>;
};
d6_ehrpwm2_a: d6-ehrpwm2-a-pins {
pinctrl-single,pins = <
/* (AH16) EHRPWM2_A */
AM65X_IOPAD(0x0098, PIN_OUTPUT, 5)
>;
};
d6_gpio: d6-gpio-pins {
pinctrl-single,pins = <
/* (AH16) GPIO0_38 */
AM65X_IOPAD(0x0098, PIN_INPUT, 7)
>;
};
d6_gpio_pullup: d6-gpio-pullup-pins {
pinctrl-single,pins = <
/* (AH16) GPIO0_38 */
AM65X_IOPAD(0x0098, PIN_INPUT_PULLUP, 7)
>;
};
d6_gpio_pulldown: d6-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (AH16) GPIO0_38 */
AM65X_IOPAD(0x0098, PIN_INPUT_PULLDOWN, 7)
>;
};
d7_ehrpwm3_a: d7-ehrpwm3-a-pins {
pinctrl-single,pins = <
/* (AH15) EHRPWM3_A */
AM65X_IOPAD(0x00AC, PIN_OUTPUT, 5)
>;
};
d7_gpio: d7-gpio-pins {
pinctrl-single,pins = <
/* (AH15) GPIO0_43 */
AM65X_IOPAD(0x00AC, PIN_INPUT, 7)
>;
};
d7_gpio_pullup: d7-gpio-pullup-pins {
pinctrl-single,pins = <
/* (AH15) GPIO0_43 */
AM65X_IOPAD(0x00AC, PIN_INPUT_PULLUP, 7)
>;
};
d7_gpio_pulldown: d7-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (AH15) GPIO0_43 */
AM65X_IOPAD(0x00AC, PIN_INPUT_PULLDOWN, 7)
>;
};
d8_ehrpwm4_a: d8-ehrpwm4-a-pins {
pinctrl-single,pins = <
/* (AG15) EHRPWM4_A */
AM65X_IOPAD(0x00C0, PIN_OUTPUT, 5)
>;
};
d8_gpio: d8-gpio-pins {
pinctrl-single,pins = <
/* (AG15) GPIO0_48 */
AM65X_IOPAD(0x00C0, PIN_INPUT, 7)
>;
};
d8_gpio_pullup: d8-gpio-pullup-pins {
pinctrl-single,pins = <
/* (AG15) GPIO0_48 */
AM65X_IOPAD(0x00C0, PIN_INPUT_PULLUP, 7)
>;
};
d8_gpio_pulldown: d8-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (AG15) GPIO0_48 */
AM65X_IOPAD(0x00C0, PIN_INPUT_PULLDOWN, 7)
>;
};
d9_ehrpwm5_a: d9-ehrpwm5-a-pins {
pinctrl-single,pins = <
/* (AD15) EHRPWM5_A */
AM65X_IOPAD(0x00CC, PIN_OUTPUT, 5)
>;
};
d9_gpio: d9-gpio-pins {
pinctrl-single,pins = <
/* (AD15) GPIO0_51 */
AM65X_IOPAD(0x00CC, PIN_INPUT, 7)
>;
};
d9_gpio_pullup: d9-gpio-pullup-pins {
pinctrl-single,pins = <
/* (AD15) GPIO0_51 */
AM65X_IOPAD(0x00CC, PIN_INPUT_PULLUP, 7)
>;
};
d9_gpio_pulldown: d9-gpio-pulldown-pins {
pinctrl-single,pins = <
/* (AD15) GPIO0_51 */
AM65X_IOPAD(0x00CC, PIN_INPUT_PULLDOWN, 7)
>;
};
};
&main_gpio0 {
gpio-line-names =
"main_gpio0-base", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "", "", "",
"", "", "", "IO4", "", "IO5", "", "", "IO6", "",
"", "", "", "IO7", "", "", "", "", "IO8", "",
"", "IO9";
};
&wkup_gpio0 {
pinctrl-names = "default";
pinctrl-0 =
<&arduino_i2c_aio_switch_pins_default>,
<&arduino_io_oe_pins_default>,
<&push_button_pins_default>,
<&db9_com_mode_pins_default>;
gpio-line-names =
/* 0..9 */
"wkup_gpio0-base", "", "", "", "UART0-mode1", "UART0-mode0",
"UART0-enable", "UART0-terminate", "", "WIFI-disable",
/* 10..19 */
"", "", "", "", "", "", "", "", "", "",
/* 20..29 */
"", "A4A5-I2C-mux", "", "", "", "USER-button", "", "", "","IO0",
/* 30..39 */
"IO1", "IO2", "", "IO3", "IO17-direction", "A5",
"IO16-direction", "IO15-direction", "IO14-direction", "A3",
/* 40..49 */
"", "IO18-direction", "A4", "A2", "A1", "A0", "", "", "IO13",
"IO11",
/* 50..51 */
"IO12", "IO10";
};
&wkup_i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&wkup_i2c0_pins_default>;
clock-frequency = <400000>;
};
&mcu_i2c0 {
/* D4200 */
pcal9535_1: gpio@20 {
compatible = "nxp,pcal9535";
reg = <0x20>;
#gpio-cells = <2>;
gpio-controller;
gpio-line-names =
"A0-pull", "A1-pull", "A2-pull", "A3-pull", "A4-pull",
"A5-pull", "", "",
"IO14-enable", "IO15-enable", "IO16-enable",
"IO17-enable", "IO18-enable", "IO19-enable";
};
/* D4201 */
pcal9535_2: gpio@21 {
compatible = "nxp,pcal9535";
reg = <0x21>;
#gpio-cells = <2>;
gpio-controller;
gpio-line-names =
"IO0-direction", "IO1-direction", "IO2-direction",
"IO3-direction", "IO4-direction", "IO5-direction",
"IO6-direction", "IO7-direction",
"IO8-direction", "IO9-direction", "IO10-direction",
"IO11-direction", "IO12-direction", "IO13-direction",
"IO19-direction";
};
/* D4202 */
pcal9535_3: gpio@25 {
compatible = "nxp,pcal9535";
reg = <0x25>;
#gpio-cells = <2>;
gpio-controller;
gpio-line-names =
"IO0-pull", "IO1-pull", "IO2-pull", "IO3-pull",
"IO4-pull", "IO5-pull", "IO6-pull", "IO7-pull",
"IO8-pull", "IO9-pull", "IO10-pull", "IO11-pull",
"IO12-pull", "IO13-pull";
};
};
&mcu_uart0 {
status = "okay";
};
&tscadc1 {
status = "okay";
adc {
ti,adc-channels = <0 1 2 3 4 5>;
};
};

View file

@ -1,4 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2021-2023
*
@ -8,10 +8,7 @@
* Common bits of the IOT2050 Basic and Advanced variants, PG1
*/
&dss {
assigned-clocks = <&k3_clks 67 2>;
assigned-clock-parents = <&k3_clks 67 5>;
};
#include "k3-am65-iot2050-dp.dtsi"
&serdes0 {
status = "disabled";

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2021
* Copyright (c) Siemens AG, 2021-2023
*
* Authors:
* Chao Zeng <chao.zeng@siemens.com>
@ -9,6 +9,11 @@
* Common bits of the IOT2050 Basic and Advanced variants, PG2
*/
&mcu_r5fss0 {
/* lock-step mode not supported on PG2 boards */
ti,cluster-mode = <0>;
};
&main_pmx0 {
cp2102n_reset_pin_default: cp2102n-reset-default-pins {
pinctrl-single,pins = <
@ -33,21 +38,3 @@
/* Workaround needed to get DP clock of 154Mhz */
assigned-clocks = <&k3_clks 67 0>;
};
&serdes0 {
assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>;
assigned-clock-parents = <&k3_clks 153 7>, <&k3_clks 153 4>;
};
&dwc3_0 {
assigned-clock-parents = <&k3_clks 151 4>, /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
<&k3_clks 151 8>; /* set PIPE3_TXB_CLK to WIZ8B2M4VSB */
phys = <&serdes0 PHY_TYPE_USB3 0>;
phy-names = "usb3-phy";
};
&usb0 {
maximum-speed = "super-speed";
snps,dis-u1-entry-quirk;
snps,dis-u2-entry-quirk;
};

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,98 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2024
*
* Authors:
* Jan Kiszka <jan.kiszka@siemens.com>
*
* Common bits for IOT2050 variants with Display Port
*/
&main_pmx0 {
dss_vout1_pins_default: dss-vout1-default-pins {
pinctrl-single,pins = <
AM65X_IOPAD(0x0000, PIN_OUTPUT, 1) /* VOUT1_DATA0 */
AM65X_IOPAD(0x0004, PIN_OUTPUT, 1) /* VOUT1_DATA1 */
AM65X_IOPAD(0x0008, PIN_OUTPUT, 1) /* VOUT1_DATA2 */
AM65X_IOPAD(0x000c, PIN_OUTPUT, 1) /* VOUT1_DATA3 */
AM65X_IOPAD(0x0010, PIN_OUTPUT, 1) /* VOUT1_DATA4 */
AM65X_IOPAD(0x0014, PIN_OUTPUT, 1) /* VOUT1_DATA5 */
AM65X_IOPAD(0x0018, PIN_OUTPUT, 1) /* VOUT1_DATA6 */
AM65X_IOPAD(0x001c, PIN_OUTPUT, 1) /* VOUT1_DATA7 */
AM65X_IOPAD(0x0020, PIN_OUTPUT, 1) /* VOUT1_DATA8 */
AM65X_IOPAD(0x0024, PIN_OUTPUT, 1) /* VOUT1_DATA9 */
AM65X_IOPAD(0x0028, PIN_OUTPUT, 1) /* VOUT1_DATA10 */
AM65X_IOPAD(0x002c, PIN_OUTPUT, 1) /* VOUT1_DATA11 */
AM65X_IOPAD(0x0030, PIN_OUTPUT, 1) /* VOUT1_DATA12 */
AM65X_IOPAD(0x0034, PIN_OUTPUT, 1) /* VOUT1_DATA13 */
AM65X_IOPAD(0x0038, PIN_OUTPUT, 1) /* VOUT1_DATA14 */
AM65X_IOPAD(0x003c, PIN_OUTPUT, 1) /* VOUT1_DATA15 */
AM65X_IOPAD(0x0040, PIN_OUTPUT, 1) /* VOUT1_DATA16 */
AM65X_IOPAD(0x0044, PIN_OUTPUT, 1) /* VOUT1_DATA17 */
AM65X_IOPAD(0x0048, PIN_OUTPUT, 1) /* VOUT1_DATA18 */
AM65X_IOPAD(0x004c, PIN_OUTPUT, 1) /* VOUT1_DATA19 */
AM65X_IOPAD(0x0050, PIN_OUTPUT, 1) /* VOUT1_DATA20 */
AM65X_IOPAD(0x0054, PIN_OUTPUT, 1) /* VOUT1_DATA21 */
AM65X_IOPAD(0x0058, PIN_OUTPUT, 1) /* VOUT1_DATA22 */
AM65X_IOPAD(0x005c, PIN_OUTPUT, 1) /* VOUT1_DATA23 */
AM65X_IOPAD(0x0060, PIN_OUTPUT, 1) /* VOUT1_VSYNC */
AM65X_IOPAD(0x0064, PIN_OUTPUT, 1) /* VOUT1_HSYNC */
AM65X_IOPAD(0x0068, PIN_OUTPUT, 1) /* VOUT1_PCLK */
AM65X_IOPAD(0x006c, PIN_OUTPUT, 1) /* VOUT1_DE */
>;
};
dp_pins_default: dp-default-pins {
pinctrl-single,pins = <
AM65X_IOPAD(0x0078, PIN_OUTPUT, 7) /* (AF18) DP rst_n */
>;
};
};
&main_i2c3 {
edp-bridge@f {
compatible = "toshiba,tc358767";
reg = <0x0f>;
pinctrl-names = "default";
pinctrl-0 = <&dp_pins_default>;
reset-gpios = <&main_gpio0 30 GPIO_ACTIVE_HIGH>;
clock-names = "ref";
clocks = <&dp_refclk>;
toshiba,hpd-pin = <0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
bridge_in: endpoint {
remote-endpoint = <&dpi_out>;
};
};
};
};
};
&dss {
pinctrl-names = "default";
pinctrl-0 = <&dss_vout1_pins_default>;
assigned-clocks = <&k3_clks 67 2>;
assigned-clock-parents = <&k3_clks 67 5>;
};
&dss_ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dpi_out: endpoint {
remote-endpoint = <&bridge_in>;
};
};
};

View file

@ -0,0 +1,27 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2024
*
* Authors:
* Jan Kiszka <jan.kiszka@siemens.com>
*
* Common bits for IOT2050 variants with USB3 support
*/
&serdes0 {
assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>;
assigned-clock-parents = <&k3_clks 153 7>, <&k3_clks 153 4>;
};
&dwc3_0 {
assigned-clock-parents = <&k3_clks 151 4>, /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
<&k3_clks 151 8>; /* set PIPE3_TXB_CLK to WIZ8B2M4VSB */
phys = <&serdes0 PHY_TYPE_USB3 0>;
phy-names = "usb3-phy";
};
&usb0 {
maximum-speed = "super-speed";
snps,dis-u1-entry-quirk;
snps,dis-u2-entry-quirk;
};

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM6 SoC Family Main Domain peripherals
*
* Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2016-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/phy/phy-am654-serdes.h>
@ -886,20 +886,6 @@
status = "disabled";
};
pcie0_ep: pcie-ep@5500000 {
compatible = "ti,am654-pcie-ep";
reg = <0x0 0x5500000 0x0 0x1000>, <0x0 0x5501000 0x0 0x1000>, <0x0 0x10000000 0x0 0x8000000>, <0x0 0x5506000 0x0 0x1000>;
reg-names = "app", "dbics", "addr_space", "atu";
power-domains = <&k3_pds 120 TI_SCI_PD_EXCLUSIVE>;
ti,syscon-pcie-mode = <&scm_conf 0x4060>;
num-ib-windows = <16>;
num-ob-windows = <16>;
max-link-speed = <2>;
dma-coherent;
interrupts = <GIC_SPI 340 IRQ_TYPE_EDGE_RISING>;
status = "disabled";
};
pcie1_rc: pcie@5600000 {
compatible = "ti,am654-pcie-rc";
reg = <0x0 0x5600000 0x0 0x1000>, <0x0 0x5601000 0x0 0x1000>, <0x0 0x18000000 0x0 0x2000>, <0x0 0x5606000 0x0 0x1000>;
@ -921,20 +907,6 @@
status = "disabled";
};
pcie1_ep: pcie-ep@5600000 {
compatible = "ti,am654-pcie-ep";
reg = <0x0 0x5600000 0x0 0x1000>, <0x0 0x5601000 0x0 0x1000>, <0x0 0x18000000 0x0 0x4000000>, <0x0 0x5606000 0x0 0x1000>;
reg-names = "app", "dbics", "addr_space", "atu";
power-domains = <&k3_pds 121 TI_SCI_PD_EXCLUSIVE>;
ti,syscon-pcie-mode = <&scm_conf 0x4070>;
num-ib-windows = <16>;
num-ob-windows = <16>;
max-link-speed = <2>;
dma-coherent;
interrupts = <GIC_SPI 355 IRQ_TYPE_EDGE_RISING>;
status = "disabled";
};
mcasp0: mcasp@2b00000 {
compatible = "ti,am33xx-mcasp-audio";
reg = <0x0 0x02b00000 0x0 0x2000>,
@ -1019,9 +991,10 @@
<0x0 0x04a07000 0x0 0x1000>, /* ovr1 */
<0x0 0x04a08000 0x0 0x1000>, /* ovr2 */
<0x0 0x04a0a000 0x0 0x1000>, /* vp1 */
<0x0 0x04a0b000 0x0 0x1000>; /* vp2 */
<0x0 0x04a0b000 0x0 0x1000>, /* vp2 */
<0x0 0x04a01000 0x0 0x1000>; /* common1 */
reg-names = "common", "vidl1", "vid",
"ovr1", "ovr2", "vp1", "vp2";
"ovr1", "ovr2", "vp1", "vp2", "common1";
ti,am65x-oldi-io-ctrl = <&dss_oldi_io_ctrl>;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM6 SoC Family MCU Domain peripherals
*
* Copyright (C) 2016-2020 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2016-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_mcu {

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM6 SoC Family Wakeup Domain peripherals
*
* Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2016-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_wakeup {

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM6 SoC Family
*
* Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2016-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/gpio/gpio.h>

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM65 SoC family in Dual core configuration
*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include "k3-am65.dtsi"

View file

@ -1,4 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2018-2021
*
@ -11,6 +11,7 @@
#include "k3-am652.dtsi"
#include "k3-am65-iot2050-common.dtsi"
#include "k3-am65-iot2050-arduino-connector.dtsi"
/ {
memory@80000000 {
@ -40,8 +41,3 @@
pinctrl-names = "default";
pinctrl-0 = <&main_uart0_pins_default>;
};
&mcu_r5fss0 {
/* lock-step mode not supported on Basic boards */
ti,cluster-mode = <0>;
};

View file

@ -1,4 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2018-2021
*
@ -17,6 +17,8 @@
#include "k3-am6528-iot2050-basic-common.dtsi"
#include "k3-am65-iot2050-common-pg2.dtsi"
#include "k3-am65-iot2050-dp.dtsi"
#include "k3-am65-iot2050-usb3.dtsi"
/ {
compatible = "siemens,iot2050-basic-pg2", "ti,am654";

View file

@ -1,4 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2018-2021
*
@ -22,3 +22,8 @@
compatible = "siemens,iot2050-basic", "ti,am654";
model = "SIMATIC IOT2050 Basic";
};
&mcu_r5fss0 {
/* lock-step mode not supported on this board */
ti,cluster-mode = <0>;
};

View file

@ -1,10 +1,10 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM.
* Panel Link: https://www.digimax.it/en/tft-lcd/20881-RK101II01D-CT
* AM654 LCD EVM: https://www.ti.com/tool/TMDSLCD1EVM
*
* Copyright (C) 2023 Texas Instruments Incorporated - http://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2016-2020 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2016-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
@ -531,13 +531,13 @@
&mcu_r5fss0_core0 {
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core0>;
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
};
&mcu_r5fss0_core1 {
memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
<&mcu_r5fss0_core1_memory_region>;
mboxes = <&mailbox0_cluster1>, <&mbox_mcu_r5fss0_core1>;
mboxes = <&mailbox0_cluster1 &mbox_mcu_r5fss0_core1>;
};
&ospi0 {

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT overlay for IDK application board on AM654 EVM
*
* Copyright (C) 2018-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2018-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT overlay for IDK application board on AM654 EVM
*
* Copyright (C) 2018-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2018-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,4 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/thermal/thermal.h>

View file

@ -0,0 +1,59 @@
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT overlay for SERDES personality card: 2lane PCIe + USB2.0 Host on AM654 EVM
*
* Copyright (C) 2018-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/phy/phy-am654-serdes.h>
#include "k3-pinctrl.h"
&serdes0 {
assigned-clocks = <&k3_clks 153 4>,
<&serdes0 AM654_SERDES_CMU_REFCLK>,
<&serdes0 AM654_SERDES_RO_REFCLK>;
assigned-clock-parents = <&k3_clks 153 8>,
<&k3_clks 153 4>,
<&k3_clks 153 4>;
status = "okay";
};
&serdes1 {
assigned-clocks = <&serdes1 AM654_SERDES_CMU_REFCLK>;
assigned-clock-parents = <&serdes0 AM654_SERDES_RO_REFCLK>;
status = "okay";
};
&pcie0_rc {
num-lanes = <2>;
phys = <&serdes0 PHY_TYPE_PCIE 1>, <&serdes1 PHY_TYPE_PCIE 1>;
phy-names = "pcie-phy0", "pcie-phy1";
reset-gpios = <&pca9555 5 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&main_pmx0 {
usb0_pins_default: usb0-default-pins {
pinctrl-single,pins = <
AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
>;
};
};
&dwc3_0 {
status = "okay";
};
&usb0_phy {
status = "okay";
};
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins_default>;
dr_mode = "host";
};

View file

@ -0,0 +1,61 @@
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT overlay for SERDES personality card: 1lane PCIe + USB3.0 DRD on AM654 EVM
*
* Copyright (C) 2018-2024 Texas Instruments Incorporated - http://www.ti.com/
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/phy/phy-am654-serdes.h>
#include "k3-pinctrl.h"
&serdes1 {
status = "okay";
};
&pcie1_rc {
num-lanes = <1>;
phys = <&serdes1 PHY_TYPE_PCIE 0>;
phy-names = "pcie-phy0";
reset-gpios = <&pca9555 5 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&main_pmx0 {
usb0_pins_default: usb0-default-pins {
pinctrl-single,pins = <
AM65X_IOPAD(0x02bc, PIN_OUTPUT, 0) /* (AD9) USB0_DRVVBUS */
>;
};
};
&serdes0 {
status = "okay";
assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>;
assigned-clock-parents = <&k3_clks 153 7>, <&k3_clks 153 4>;
};
&dwc3_0 {
status = "okay";
assigned-clock-parents = <&k3_clks 151 4>, /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
<&k3_clks 151 8>; /* set PIPE3_TXB_CLK to WIZ8B2M4VSB */
phys = <&serdes0 PHY_TYPE_USB3 0>;
phy-names = "usb3-phy";
};
&usb0 {
pinctrl-names = "default";
pinctrl-0 = <&usb0_pins_default>;
dr_mode = "host";
maximum-speed = "super-speed";
snps,dis-u1-entry-quirk;
snps,dis-u2-entry-quirk;
};
&usb0_phy {
status = "okay";
};

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for AM6 SoC family in Quad core configuration
*
* Copyright (C) 2016-2018 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2016-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include "k3-am65.dtsi"

View file

@ -1,4 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2018-2021
*

View file

@ -1,4 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2018-2023
*
@ -15,17 +15,14 @@
#include "k3-am6548-iot2050-advanced-common.dtsi"
#include "k3-am65-iot2050-common-pg2.dtsi"
#include "k3-am65-iot2050-arduino-connector.dtsi"
#include "k3-am65-iot2050-dp.dtsi"
/ {
compatible = "siemens,iot2050-advanced-m2", "ti,am654";
model = "SIMATIC IOT2050 Advanced M2";
};
&mcu_r5fss0 {
/* lock-step mode not supported on this board */
ti,cluster-mode = <0>;
};
&main_pmx0 {
main_bkey_pcie_reset: main-bkey-pcie-reset-default-pins {
pinctrl-single,pins = <
@ -96,16 +93,3 @@
&pcie1_rc {
status = "disabled";
};
&dwc3_0 {
assigned-clock-parents = <&k3_clks 151 4>, /* set REF_CLK to 20MHz i.e. PER0_PLL/48 */
<&k3_clks 151 9>; /* set PIPE3_TXB_CLK to CLK_12M_RC/256 (for HS only) */
/delete-property/ phys;
/delete-property/ phy-names;
};
&usb0 {
maximum-speed = "high-speed";
/delete-property/ snps,dis-u1-entry-quirk;
/delete-property/ snps,dis-u2-entry-quirk;
};

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2018-2021
* Copyright (c) Siemens AG, 2018-2023
*
* Authors:
* Le Jin <le.jin@siemens.com>
@ -17,13 +17,11 @@
#include "k3-am6548-iot2050-advanced-common.dtsi"
#include "k3-am65-iot2050-common-pg2.dtsi"
#include "k3-am65-iot2050-arduino-connector.dtsi"
#include "k3-am65-iot2050-dp.dtsi"
#include "k3-am65-iot2050-usb3.dtsi"
/ {
compatible = "siemens,iot2050-advanced-pg2", "ti,am654";
model = "SIMATIC IOT2050 Advanced PG2";
};
&mcu_r5fss0 {
/* lock-step mode not supported on this board */
ti,cluster-mode = <0>;
};

View file

@ -0,0 +1,189 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2023
*
* Authors:
* Baocheng Su <baocheng.su@siemens.com>
* Chao Zeng <chao.zeng@siemens.com>
* Huaqian Li <huaqian.li@siemens.com>
*
* AM6548-based (quad-core) IOT2050 SM variant, Product Generation 2
* 4 GB RAM, 16 GB eMMC, USB-serial converter on connector X30
*
* Product homepage:
* https://new.siemens.com/global/en/products/automation/pc-based/iot-gateways/simatic-iot2050.html
*/
/dts-v1/;
#include "k3-am6548-iot2050-advanced-common.dtsi"
#include "k3-am65-iot2050-common-pg2.dtsi"
/ {
compatible = "siemens,iot2050-advanced-sm", "ti,am654";
model = "SIMATIC IOT2050 Advanced SM";
memory@80000000 {
device_type = "memory";
/* 4G RAM */
reg = <0x00000000 0x80000000 0x00000000 0x80000000>,
<0x00000008 0x80000000 0x00000000 0x80000000>;
};
aliases {
spi1 = &main_spi0;
};
leds {
pinctrl-0 = <&leds_pins_default>, <&user1_led_pins>;
led-2 {
gpios = <&wkup_gpio0 52 GPIO_ACTIVE_HIGH>;
};
led-3 {
gpios = <&wkup_gpio0 53 GPIO_ACTIVE_HIGH>;
};
};
};
&main_pmx0 {
main_pcie_enable_pins_default: main-pcie-enable-default-pins {
pinctrl-single,pins = <
AM65X_IOPAD(0x01d8, PIN_OUTPUT, 7) /* (AH12) GPIO1_22 */
>;
};
main_spi0_pins: main-spi0-default-pins {
pinctrl-single,pins = <
AM65X_IOPAD(0x01c4, PIN_INPUT, 0) /* (AH13) SPI0_CLK */
AM65X_IOPAD(0x01c8, PIN_INPUT, 0) /* (AE13) SPI0_D0 */
AM65X_IOPAD(0x01cc, PIN_INPUT, 0) /* (AD13) SPI0_D1 */
AM65X_IOPAD(0x01bc, PIN_OUTPUT, 0) /* (AG13) SPI0_CS0 */
>;
};
};
&main_pmx1 {
asic_spi_mux_ctrl_pin: asic-spi-mux-ctrl-default-pins {
pinctrl-single,pins = <
AM65X_IOPAD(0x0010, PIN_OUTPUT, 7) /* (D21) GPIO1_86 */
>;
};
};
&wkup_pmx0 {
user1_led_pins: user1-led-default-pins {
pinctrl-single,pins = <
/* (AB1) WKUP_UART0_RXD:WKUP_GPIO0_52, as USER 1 led red */
AM65X_WKUP_IOPAD(0x00a0, PIN_OUTPUT, 7)
/* (AB5) WKUP_UART0_TXD:WKUP_GPIO0_53, as USER 1 led green */
AM65X_WKUP_IOPAD(0x00a4, PIN_OUTPUT, 7)
>;
};
soc_asic_pins: soc-asic-default-pins {
pinctrl-single,pins = <
AM65X_WKUP_IOPAD(0x0044, PIN_INPUT, 7) /* (P4) WKUP_GPIO0_29 */
AM65X_WKUP_IOPAD(0x0048, PIN_INPUT, 7) /* (P5) WKUP_GPIO0_30 */
AM65X_WKUP_IOPAD(0x004c, PIN_INPUT, 7) /* (P1) WKUP_GPIO0_31 */
>;
};
};
&main_gpio0 {
gpio-line-names = "main_gpio0-base";
};
&main_gpio1 {
pinctrl-names = "default";
pinctrl-0 =
<&cp2102n_reset_pin_default>,
<&main_pcie_enable_pins_default>,
<&asic_spi_mux_ctrl_pin>;
gpio-line-names =
/* 0..9 */
"", "", "", "", "", "", "", "", "", "",
/* 10..19 */
"", "", "", "", "", "", "", "", "", "",
/* 20..29 */
"", "", "", "", "CP2102N-RESET", "", "", "", "", "",
/* 30..39 */
"", "", "", "", "", "", "", "", "", "",
/* 40..49 */
"", "", "", "", "", "", "", "", "", "",
/* 50..59 */
"", "", "", "", "", "", "", "", "", "",
/* 60..69 */
"", "", "", "", "", "", "", "", "", "",
/* 70..79 */
"", "", "", "", "", "", "", "", "", "",
/* 80..86 */
"", "", "", "", "", "", "ASIC-spi-mux-ctrl";
};
&wkup_gpio0 {
pinctrl-names = "default";
pinctrl-0 =
<&push_button_pins_default>,
<&db9_com_mode_pins_default>,
<&soc_asic_pins>;
gpio-line-names =
/* 0..9 */
"wkup_gpio0-base", "", "", "", "UART0-mode1", "UART0-mode0",
"UART0-enable", "UART0-terminate", "", "WIFI-disable",
/* 10..19 */
"", "", "", "", "", "", "", "", "", "",
/* 20..29 */
"", "", "", "", "", "USER-button", "", "", "","ASIC-gpio-0",
/* 30..31 */
"ASIC-gpio-1", "ASIC-gpio-2";
};
&main_spi0 {
pinctrl-names = "default";
pinctrl-0 = <&main_spi0_pins>;
#address-cells = <1>;
#size-cells= <0>;
};
&mcu_spi0 {
pinctrl-names = "default";
pinctrl-0 = <&mcu_spi0_pins_default>;
};
&main_i2c3 {
accelerometer: lsm6dso@6a {
compatible = "st,lsm6dso";
reg = <0x6a>;
};
};
&dss {
status = "disabled";
};
&serdes0 {
assigned-clocks = <&k3_clks 153 4>, <&serdes0 AM654_SERDES_CMU_REFCLK>;
assigned-clock-parents = <&k3_clks 153 8>, <&k3_clks 153 4>;
};
&serdes1 {
status = "disabled";
};
&pcie0_rc {
pinctrl-names = "default";
pinctrl-0 = <&minipcie_pins_default>;
num-lanes = <1>;
phys = <&serdes0 PHY_TYPE_PCIE 1>;
phy-names = "pcie-phy0";
reset-gpios = <&wkup_gpio0 27 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&pcie1_rc {
status = "disabled";
};

View file

@ -1,4 +1,4 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) Siemens AG, 2018-2021
*
@ -17,6 +17,7 @@
#include "k3-am6548-iot2050-advanced-common.dtsi"
#include "k3-am65-iot2050-common-pg1.dtsi"
#include "k3-am65-iot2050-arduino-connector.dtsi"
/ {
compatible = "siemens,iot2050-advanced", "ti,am654";

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*
* Base Board: https://www.ti.com/lit/zip/SPRR463
*/
@ -169,6 +169,13 @@
};
};
};
csi_mux: mux-controller {
compatible = "gpio-mux";
#mux-state-cells = <1>;
mux-gpios = <&exp3 1 GPIO_ACTIVE_HIGH>;
idle-state = <0>;
};
};
&main_pmx0 {
@ -186,6 +193,13 @@
>;
};
main_i2c1_pins_default: main-i2c1-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x0ac, PIN_INPUT, 13) /* (AC25) MCASP0_AXR15.I2C1_SCL */
J721S2_IOPAD(0x0b0, PIN_INPUT, 13) /* (AD26) MCASP1_AXR3.I2C1_SDA */
>;
};
main_mmc1_pins_default: main-mmc1-default-pins {
pinctrl-single,pins = <
J721S2_IOPAD(0x104, PIN_INPUT, 0) /* (P23) MMC1_CLK */
@ -431,6 +445,42 @@
};
};
&main_i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
status = "okay";
exp3: gpio@20 {
compatible = "ti,tca6408";
reg = <0x20>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "CSI_VIO_SEL", "CSI_SEL_FPC_EXPn",
"IO_EXP_CSI2_EXP_RSTz","CSI0_B_GPIO1",
"CSI1_B_GPIO1";
};
i2c-mux@70 {
compatible = "nxp,pca9543";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
cam0_i2c: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
cam1_i2c: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
};
};
&main_i2c4 {
status = "okay";
pinctrl-names = "default";

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
@ -209,51 +209,51 @@
};
&mcu_r5fss0_core0 {
mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core0>;
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};
&mcu_r5fss0_core1 {
mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core1>;
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
<&mcu_r5fss0_core1_memory_region>;
};
&main_r5fss0_core0 {
mboxes = <&mailbox0_cluster1>, <&mbox_main_r5fss0_core0>;
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};
&main_r5fss0_core1 {
mboxes = <&mailbox0_cluster1>, <&mbox_main_r5fss0_core1>;
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};
&main_r5fss1_core0 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss1_core0>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
memory-region = <&main_r5fss1_core0_dma_memory_region>,
<&main_r5fss1_core0_memory_region>;
};
&main_r5fss1_core1 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss1_core1>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
memory-region = <&main_r5fss1_core1_dma_memory_region>,
<&main_r5fss1_core1_memory_region>;
};
&c71_0 {
status = "okay";
mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
mboxes = <&mailbox0_cluster4 &mbox_c71_0>;
memory-region = <&c71_0_dma_memory_region>,
<&c71_0_memory_region>;
};
&c71_1 {
status = "okay";
mboxes = <&mailbox0_cluster4>, <&mbox_c71_1>;
mboxes = <&mailbox0_cluster4 &mbox_c71_1>;
memory-region = <&c71_1_dma_memory_region>,
<&c71_1_memory_region>;
};

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
*
* Design Files: https://www.ti.com/lit/zip/SPRR466
* TRM: https://www.ti.com/lit/zip/spruj52
@ -33,6 +33,7 @@
memory@80000000 {
device_type = "memory";
bootph-all;
/* 32G RAM */
reg = <0x00 0x80000000 0x00 0x80000000>,
<0x08 0x80000000 0x07 0x80000000>;
@ -321,6 +322,38 @@
};
};
};
csi_mux: mux-controller {
compatible = "gpio-mux";
#mux-state-cells = <1>;
mux-gpios = <&exp2 1 GPIO_ACTIVE_HIGH>;
idle-state = <0>;
};
transceiver1: can-phy0 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
};
transceiver2: can-phy1 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
};
transceiver3: can-phy2 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
};
transceiver4: can-phy3 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
};
};
&main_pmx0 {
@ -340,6 +373,13 @@
>;
};
main_i2c1_pins_default: main-i2c1-default-pins {
pinctrl-single,pins = <
J784S4_IOPAD(0x0ac, PIN_INPUT_PULLUP, 13) /* (AE34) MCASP0_AXR15.I2C1_SCL */
J784S4_IOPAD(0x0b0, PIN_INPUT_PULLUP, 13) /* (AL33) MCASP1_AXR3.I2C1_SDA */
>;
};
main_mmc1_pins_default: main-mmc1-default-pins {
bootph-all;
pinctrl-single,pins = <
@ -429,6 +469,40 @@
J784S4_IOPAD(0x000, PIN_INPUT, 7) /* (AN35) EXTINTN.GPIO0_0 */
>;
};
main_mcan6_pins_default: main-mcan6-default-pins {
pinctrl-single,pins = <
J784S4_IOPAD(0x098, PIN_INPUT, 0) /* (AH36) MCAN6_RX */
J784S4_IOPAD(0x094, PIN_OUTPUT, 0) /* (AG35) MCAN6_TX */
>;
};
main_mcan7_pins_default: main-mcan7-default-pins {
pinctrl-single,pins = <
J784S4_IOPAD(0x0A0, PIN_INPUT, 0) /* (AD34) MCAN7_RX */
J784S4_IOPAD(0x09C, PIN_OUTPUT, 0) /* (AF35) MCAN7_TX */
>;
};
};
&wkup_pmx0 {
bootph-all;
mcu_fss0_ospi0_pins_default: mcu-fss0-ospi0-default-pins {
pinctrl-single,pins = <
J784S4_WKUP_IOPAD(0x000, PIN_OUTPUT, 0) /* (E32) MCU_OSPI0_CLK */
J784S4_WKUP_IOPAD(0x02c, PIN_OUTPUT, 0) /* (A32) MCU_OSPI0_CSn0 */
J784S4_WKUP_IOPAD(0x00c, PIN_INPUT, 0) /* (B33) MCU_OSPI0_D0 */
J784S4_WKUP_IOPAD(0x010, PIN_INPUT, 0) /* (B32) MCU_OSPI0_D1 */
J784S4_WKUP_IOPAD(0x014, PIN_INPUT, 0) /* (C33) MCU_OSPI0_D2 */
J784S4_WKUP_IOPAD(0x018, PIN_INPUT, 0) /* (C35) MCU_OSPI0_D3 */
J784S4_WKUP_IOPAD(0x01c, PIN_INPUT, 0) /* (D33) MCU_OSPI0_D4 */
J784S4_WKUP_IOPAD(0x020, PIN_INPUT, 0) /* (D34) MCU_OSPI0_D5 */
J784S4_WKUP_IOPAD(0x024, PIN_INPUT, 0) /* (E34) MCU_OSPI0_D6 */
J784S4_WKUP_IOPAD(0x028, PIN_INPUT, 0) /* (E33) MCU_OSPI0_D7 */
J784S4_WKUP_IOPAD(0x008, PIN_INPUT, 0) /* (C34) MCU_OSPI0_DQS */
>;
};
};
&wkup_pmx2 {
@ -525,6 +599,21 @@
J784S4_WKUP_IOPAD(0x090, PIN_INPUT, 7) /* (H37) WKUP_GPIO0_14 */
>;
};
mcu_mcan0_pins_default: mcu-mcan0-default-pins {
pinctrl-single,pins = <
J784S4_WKUP_IOPAD(0x054, PIN_INPUT, 0) /* (F38) MCU_MCAN0_RX */
J784S4_WKUP_IOPAD(0x050, PIN_OUTPUT, 0) /* (K33) MCU_MCAN0_TX */
>;
};
mcu_mcan1_pins_default: mcu-mcan1-default-pins {
pinctrl-single,pins = <
J784S4_WKUP_IOPAD(0x06c, PIN_INPUT, 0) /* (K36) WKUP_GPIO0_5.MCU_MCAN1_RX */
J784S4_WKUP_IOPAD(0x068, PIN_OUTPUT, 0)/* (H35) WKUP_GPIO0_4.MCU_MCAN1_TX */
>;
};
};
&wkup_pmx3 {
@ -646,7 +735,7 @@
pinctrl-names = "default";
pinctrl-0 = <&pmic_irq_pins_default>;
interrupt-parent = <&wkup_gpio0>;
interrupts = <39 IRQ_TYPE_EDGE_FALLING>;
interrupts = <83 IRQ_TYPE_EDGE_FALLING>;
gpio-controller;
#gpio-cells = <2>;
ti,primary-pmic;
@ -774,6 +863,42 @@
};
};
&main_i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&main_i2c1_pins_default>;
clock-frequency = <400000>;
status = "okay";
exp2: gpio@21 {
compatible = "ti,tca6408";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names = "CSI_VIO_SEL", "CSI_MUX_SEL_2", "CSI2_RSTz",
"IO_EXP_CAM0_GPIO1", "IO_EXP_CAM1_GPIO1";
};
i2c-mux@70 {
compatible = "nxp,pca9543";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
cam0_i2c: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
cam1_i2c: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
};
};
&main_sdhci0 {
bootph-all;
/* eMMC */
@ -822,77 +947,77 @@
};
&mcu_r5fss0_core0 {
mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core0>;
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};
&mcu_r5fss0_core1 {
mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core1>;
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
<&mcu_r5fss0_core1_memory_region>;
};
&main_r5fss0_core0 {
mboxes = <&mailbox0_cluster1>, <&mbox_main_r5fss0_core0>;
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};
&main_r5fss0_core1 {
mboxes = <&mailbox0_cluster1>, <&mbox_main_r5fss0_core1>;
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};
&main_r5fss1_core0 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss1_core0>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
memory-region = <&main_r5fss1_core0_dma_memory_region>,
<&main_r5fss1_core0_memory_region>;
};
&main_r5fss1_core1 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss1_core1>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
memory-region = <&main_r5fss1_core1_dma_memory_region>,
<&main_r5fss1_core1_memory_region>;
};
&main_r5fss2_core0 {
mboxes = <&mailbox0_cluster3>, <&mbox_main_r5fss2_core0>;
mboxes = <&mailbox0_cluster3 &mbox_main_r5fss2_core0>;
memory-region = <&main_r5fss2_core0_dma_memory_region>,
<&main_r5fss2_core0_memory_region>;
};
&main_r5fss2_core1 {
mboxes = <&mailbox0_cluster3>, <&mbox_main_r5fss2_core1>;
mboxes = <&mailbox0_cluster3 &mbox_main_r5fss2_core1>;
memory-region = <&main_r5fss2_core1_dma_memory_region>,
<&main_r5fss2_core1_memory_region>;
};
&c71_0 {
status = "okay";
mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
mboxes = <&mailbox0_cluster4 &mbox_c71_0>;
memory-region = <&c71_0_dma_memory_region>,
<&c71_0_memory_region>;
};
&c71_1 {
status = "okay";
mboxes = <&mailbox0_cluster4>, <&mbox_c71_1>;
mboxes = <&mailbox0_cluster4 &mbox_c71_1>;
memory-region = <&c71_1_dma_memory_region>,
<&c71_1_memory_region>;
};
&c71_2 {
status = "okay";
mboxes = <&mailbox0_cluster5>, <&mbox_c71_2>;
mboxes = <&mailbox0_cluster5 &mbox_c71_2>;
memory-region = <&c71_2_dma_memory_region>,
<&c71_2_memory_region>;
};
&c71_3 {
status = "okay";
mboxes = <&mailbox0_cluster5>, <&mbox_c71_3>;
mboxes = <&mailbox0_cluster5 &mbox_c71_3>;
memory-region = <&c71_3_dma_memory_region>,
<&c71_3_memory_region>;
};
@ -918,13 +1043,9 @@
pinctrl-names = "default";
pinctrl-0 = <&dss_vout0_pins_default>;
assigned-clocks = <&k3_clks 218 2>,
<&k3_clks 218 5>,
<&k3_clks 218 14>,
<&k3_clks 218 18>;
<&k3_clks 218 5>;
assigned-clock-parents = <&k3_clks 218 3>,
<&k3_clks 218 7>,
<&k3_clks 218 16>,
<&k3_clks 218 22>;
<&k3_clks 218 7>;
};
&serdes_wiz4 {
@ -992,3 +1113,93 @@
};
};
};
&mcu_mcan0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan0_pins_default>;
phys = <&transceiver1>;
};
&mcu_mcan1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan1_pins_default>;
phys = <&transceiver2>;
};
&main_mcan6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_mcan6_pins_default>;
phys = <&transceiver3>;
};
&main_mcan7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_mcan7_pins_default>;
phys = <&transceiver4>;
};
&ospi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_fss0_ospi0_pins_default>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-tx-bus-width = <8>;
spi-rx-bus-width = <8>;
spi-max-frequency = <25000000>;
cdns,tshsl-ns = <60>;
cdns,tsd2d-ns = <60>;
cdns,tchsh-ns = <60>;
cdns,tslch-ns = <60>;
cdns,read-delay = <4>;
partitions {
bootph-all;
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "ospi.tiboot3";
reg = <0x0 0x100000>;
};
partition@100000 {
label = "ospi.tispl";
reg = <0x100000 0x200000>;
};
partition@300000 {
label = "ospi.u-boot";
reg = <0x300000 0x400000>;
};
partition@700000 {
label = "ospi.env";
reg = <0x700000 0x40000>;
};
partition@740000 {
label = "ospi.env.backup";
reg = <0x740000 0x40000>;
};
partition@800000 {
label = "ospi.rootfs";
reg = <0x800000 0x37c0000>;
};
partition@3fc0000 {
bootph-pre-ram;
label = "ospi.phypattern";
reg = <0x3fc0000 0x40000>;
};
};
};
};

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2020 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
@ -88,27 +88,56 @@
states = <1800000 0x0>,
<3300000 0x1>;
};
transceiver1: can-phy1 {
compatible = "ti,tcan1043";
#phy-cells = <0>;
max-bitrate = <5000000>;
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan0_gpio_pins_default>;
standby-gpios = <&wkup_gpio0 58 GPIO_ACTIVE_LOW>;
enable-gpios = <&wkup_gpio0 0 GPIO_ACTIVE_HIGH>;
};
transceiver2: can-phy2 {
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan1_gpio_pins_default>;
standby-gpios = <&wkup_gpio0 2 GPIO_ACTIVE_HIGH>;
};
transceiver3: can-phy3 {
compatible = "ti,tcan1043";
#phy-cells = <0>;
max-bitrate = <5000000>;
standby-gpios = <&exp2 7 GPIO_ACTIVE_LOW>;
enable-gpios = <&exp2 6 GPIO_ACTIVE_HIGH>;
mux-states = <&mux0 1>;
};
};
&wkup_pmx0 {
};
&wkup_pmx2 {
mcu_uart0_pins_default: mcu-uart0-default-pins {
pinctrl-single,pins = <
J721E_WKUP_IOPAD(0xf4, PIN_INPUT, 0) /* (D20) MCU_UART0_RXD */
J721E_WKUP_IOPAD(0xf0, PIN_OUTPUT, 0) /* (D19) MCU_UART0_TXD */
J721E_WKUP_IOPAD(0xf8, PIN_INPUT, 0) /* (E20) MCU_UART0_CTSn */
J721E_WKUP_IOPAD(0xfc, PIN_OUTPUT, 0) /* (E21) MCU_UART0_RTSn */
J721E_WKUP_IOPAD(0x90, PIN_INPUT, 0) /* (E20) MCU_UART0_CTSn */
J721E_WKUP_IOPAD(0x94, PIN_OUTPUT, 0) /* (E21) MCU_UART0_RTSn */
J721E_WKUP_IOPAD(0x8c, PIN_INPUT, 0) /* (D20) MCU_UART0_RXD */
J721E_WKUP_IOPAD(0x88, PIN_OUTPUT, 0) /* (D19) MCU_UART0_TXD */
>;
};
wkup_uart0_pins_default: wkup-uart0-default-pins {
pinctrl-single,pins = <
J721E_WKUP_IOPAD(0xb0, PIN_INPUT, 0) /* (B14) WKUP_UART0_RXD */
J721E_WKUP_IOPAD(0xb4, PIN_OUTPUT, 0) /* (A14) WKUP_UART0_TXD */
J721E_WKUP_IOPAD(0x48, PIN_INPUT, 0) /* (B14) WKUP_UART0_RXD */
J721E_WKUP_IOPAD(0x4c, PIN_OUTPUT, 0) /* (A14) WKUP_UART0_TXD */
>;
};
};
&wkup_pmx2 {
mcu_cpsw_pins_default: mcu-cpsw-default-pins {
pinctrl-single,pins = <
J721E_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */
@ -138,6 +167,33 @@
J721E_WKUP_IOPAD(0x0030, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */
>;
};
mcu_mcan0_pins_default: mcu-mcan0-default-pins {
pinctrl-single,pins = <
J721E_WKUP_IOPAD(0x54, PIN_INPUT, 0) /* (A17) MCU_MCAN0_RX */
J721E_WKUP_IOPAD(0x50, PIN_OUTPUT, 0) /* (A16) MCU_MCAN0_TX */
>;
};
mcu_mcan1_pins_default: mcu-mcan1-default-pins {
pinctrl-single,pins = <
J721E_WKUP_IOPAD(0x6c, PIN_INPUT, 0) /* (B16) WKUP_GPIO0_5.MCU_MCAN1_RX */
J721E_WKUP_IOPAD(0x68, PIN_OUTPUT, 0) /* (D13) WKUP_GPIO0_4.MCU_MCAN1_TX */
>;
};
mcu_mcan0_gpio_pins_default: mcu-mcan0-gpio-default-pins {
pinctrl-single,pins = <
J721E_WKUP_IOPAD(0x58, PIN_INPUT, 7) /* (B18) WKUP_GPIO0_0 */
J721E_WKUP_IOPAD(0x40, PIN_INPUT, 7) /* (B17) MCU_SPI0_D1 */
>;
};
mcu_mcan1_gpio_pins_default: mcu-mcan1-gpio-default-pins {
pinctrl-single,pins = <
J721E_WKUP_IOPAD(0x60, PIN_INPUT, 7) /* (D14) WKUP_GPIO0_2 */
>;
};
};
&main_pmx0 {
@ -189,6 +245,13 @@
J721E_IOPAD(0xd0, PIN_OUTPUT, 7) /* (T5) SPI0_D1.GPIO0_55 */
>;
};
main_mcan3_pins_default: main-mcan3-default-pins {
pinctrl-single,pins = <
J721E_IOPAD(0x3c, PIN_INPUT, 0) /* (W16) MCAN3_RX */
J721E_IOPAD(0x38, PIN_OUTPUT, 0) /* (Y21) MCAN3_TX */
>;
};
};
&main_pmx1 {
@ -210,7 +273,6 @@
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_uart0_pins_default>;
clock-frequency = <96000000>;
};
&main_uart0 {
@ -382,15 +444,30 @@
};
&pcie1_rc {
status = "okay";
reset-gpios = <&exp1 2 GPIO_ACTIVE_HIGH>;
phys = <&serdes0_pcie_link>;
phy-names = "pcie-phy";
num-lanes = <2>;
};
&pcie1_ep {
phys = <&serdes0_pcie_link>;
phy-names = "pcie-phy";
num-lanes = <2>;
status = "disabled";
&mcu_mcan0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan0_pins_default>;
phys = <&transceiver1>;
};
&mcu_mcan1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&mcu_mcan1_pins_default>;
phys = <&transceiver2>;
};
&main_mcan3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&main_mcan3_pins_default>;
phys = <&transceiver3>;
};

View file

@ -1,9 +1,9 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT Overlay for CPSW5G in QSGMII mode using J7 Quad Port ETH EXP Add-On Ethernet Card with
* J7200 board.
*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for J7200 SoC Family Main Domain peripherals
*
* Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/ {
@ -33,10 +33,11 @@
ranges = <0x00 0x00 0x00100000 0x1c000>;
serdes_ln_ctrl: mux-controller@4080 {
compatible = "mmio-mux";
compatible = "reg-mux";
reg = <0x4080 0x20>;
#mux-control-cells = <1>;
mux-reg-masks = <0x4080 0x3>, <0x4084 0x3>, /* SERDES0 lane0/1 select */
<0x4088 0x3>, <0x408c 0x3>; /* SERDES0 lane2/3 select */
mux-reg-masks = <0x0 0x3>, <0x4 0x3>, /* SERDES0 lane0/1 select */
<0x8 0x3>, <0xc 0x3>; /* SERDES0 lane2/3 select */
};
cpsw0_phy_gmii_sel: phy@4044 {
@ -47,9 +48,10 @@
};
usb_serdes_mux: mux-controller@4000 {
compatible = "mmio-mux";
compatible = "reg-mux";
reg = <0x4000 0x4>;
#mux-control-cells = <1>;
mux-reg-masks = <0x4000 0x8000000>; /* USB0 to SERDES0 lane 1/3 mux */
mux-reg-masks = <0x0 0x8000000>; /* USB0 to SERDES0 lane 1/3 mux */
};
};
@ -399,7 +401,7 @@
/* TIMERIO pad input CTRLMMR_TIMER*_CTRL registers */
main_timerio_input: pinctrl@104200 {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
reg = <0x0 0x104200 0x0 0x50>;
#pinctrl-cells = <1>;
pinctrl-single,register-width = <32>;
@ -408,7 +410,7 @@
/* TIMERIO pad output CTCTRLMMR_TIMERIO*_CTRL registers */
main_timerio_output: pinctrl@104280 {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
reg = <0x0 0x104280 0x0 0x20>;
#pinctrl-cells = <1>;
pinctrl-single,register-width = <32>;
@ -416,7 +418,7 @@
};
main_pmx0: pinctrl@11c000 {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
/* Proxy 0 addressing */
reg = <0x00 0x11c000 0x00 0x10c>;
#pinctrl-cells = <1>;
@ -425,7 +427,7 @@
};
main_pmx1: pinctrl@11c11c {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
/* Proxy 0 addressing */
reg = <0x00 0x11c11c 0x00 0xc>;
#pinctrl-cells = <1>;
@ -770,26 +772,7 @@
ranges = <0x01000000 0x0 0x18001000 0x00 0x18001000 0x0 0x0010000>,
<0x02000000 0x0 0x18011000 0x00 0x18011000 0x0 0x7fef000>;
dma-ranges = <0x02000000 0x0 0x0 0x0 0x0 0x10000 0x0>;
};
pcie1_ep: pcie-ep@2910000 {
compatible = "ti,j7200-pcie-ep", "ti,j721e-pcie-ep";
reg = <0x00 0x02910000 0x00 0x1000>,
<0x00 0x02917000 0x00 0x400>,
<0x00 0x0d800000 0x00 0x00800000>,
<0x00 0x18000000 0x00 0x08000000>;
reg-names = "intd_cfg", "user_cfg", "reg", "mem";
interrupt-names = "link_state";
interrupts = <GIC_SPI 330 IRQ_TYPE_EDGE_RISING>;
ti,syscon-pcie-ctrl = <&scm_conf 0x4074>;
max-link-speed = <3>;
num-lanes = <4>;
power-domains = <&k3_pds 240 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 240 6>;
clock-names = "fck";
max-functions = /bits/ 8 <6>;
max-virtual-functions = /bits/ 8 <4 4 4 4 0 0>;
dma-coherent;
status = "disabled";
};
usbss0: cdns-usb@4104000 {
@ -895,6 +878,276 @@
status = "disabled";
};
main_mcan0: can@2701000 {
compatible = "bosch,m_can";
reg = <0x00 0x02701000 0x00 0x200>,
<0x00 0x02708000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 156 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 156 0>, <&k3_clks 156 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan1: can@2711000 {
compatible = "bosch,m_can";
reg = <0x00 0x02711000 0x00 0x200>,
<0x00 0x02718000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 158 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 158 0>, <&k3_clks 158 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan2: can@2721000 {
compatible = "bosch,m_can";
reg = <0x00 0x02721000 0x00 0x200>,
<0x00 0x02728000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 160 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 160 0>, <&k3_clks 160 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan3: can@2731000 {
compatible = "bosch,m_can";
reg = <0x00 0x02731000 0x00 0x200>,
<0x00 0x02738000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 161 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 161 0>, <&k3_clks 161 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan4: can@2741000 {
compatible = "bosch,m_can";
reg = <0x00 0x02741000 0x00 0x200>,
<0x00 0x02748000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 162 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 162 0>, <&k3_clks 162 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan5: can@2751000 {
compatible = "bosch,m_can";
reg = <0x00 0x02751000 0x00 0x200>,
<0x00 0x02758000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 163 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 163 0>, <&k3_clks 163 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan6: can@2761000 {
compatible = "bosch,m_can";
reg = <0x00 0x02761000 0x00 0x200>,
<0x00 0x02768000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 164 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 164 0>, <&k3_clks 164 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan7: can@2771000 {
compatible = "bosch,m_can";
reg = <0x00 0x02771000 0x00 0x200>,
<0x00 0x02778000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 165 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 165 0>, <&k3_clks 165 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan8: can@2781000 {
compatible = "bosch,m_can";
reg = <0x00 0x02781000 0x00 0x200>,
<0x00 0x02788000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 166 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 166 0>, <&k3_clks 166 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 576 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 577 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan9: can@2791000 {
compatible = "bosch,m_can";
reg = <0x00 0x02791000 0x00 0x200>,
<0x00 0x02798000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 167 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 167 0>, <&k3_clks 167 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 579 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 580 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan10: can@27a1000 {
compatible = "bosch,m_can";
reg = <0x00 0x027a1000 0x00 0x200>,
<0x00 0x027a8000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 168 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 168 0>, <&k3_clks 168 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan11: can@27b1000 {
compatible = "bosch,m_can";
reg = <0x00 0x027b1000 0x00 0x200>,
<0x00 0x027b8000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 169 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 169 0>, <&k3_clks 169 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan12: can@27c1000 {
compatible = "bosch,m_can";
reg = <0x00 0x027c1000 0x00 0x200>,
<0x00 0x027c8000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 170 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 170 0>, <&k3_clks 170 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan13: can@27d1000 {
compatible = "bosch,m_can";
reg = <0x00 0x027d1000 0x00 0x200>,
<0x00 0x027d8000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 171 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 171 0>, <&k3_clks 171 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan14: can@2681000 {
compatible = "bosch,m_can";
reg = <0x00 0x02681000 0x00 0x200>,
<0x00 0x02688000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 150 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 150 0>, <&k3_clks 150 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan15: can@2691000 {
compatible = "bosch,m_can";
reg = <0x00 0x02691000 0x00 0x200>,
<0x00 0x02698000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 151 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 151 0>, <&k3_clks 151 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan16: can@26a1000 {
compatible = "bosch,m_can";
reg = <0x00 0x026a1000 0x00 0x200>,
<0x00 0x026a8000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 152 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 152 0>, <&k3_clks 152 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 784 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 785 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_mcan17: can@26b1000 {
compatible = "bosch,m_can";
reg = <0x00 0x026b1000 0x00 0x200>,
<0x00 0x026b8000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 153 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 153 0>, <&k3_clks 153 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 787 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 788 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
main_spi0: spi@2100000 {
compatible = "ti,am654-mcspi","ti,omap4-mcspi";
reg = <0x00 0x02100000 0x00 0x400>;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for J7200 SoC Family MCU/WAKEUP Domain peripherals
*
* Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_mcu_wakeup {
@ -192,7 +192,7 @@
/* MCU_TIMERIO pad input CTRLMMR_MCU_TIMER*_CTRL registers */
mcu_timerio_input: pinctrl@40f04200 {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
reg = <0x0 0x40f04200 0x0 0x28>;
#pinctrl-cells = <1>;
pinctrl-single,register-width = <32>;
@ -202,7 +202,7 @@
/* MCU_TIMERIO pad output CTRLMMR_MCU_TIMERIO*_CTRL registers */
mcu_timerio_output: pinctrl@40f04280 {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
reg = <0x0 0x40f04280 0x0 0x28>;
#pinctrl-cells = <1>;
pinctrl-single,register-width = <32>;
@ -211,7 +211,7 @@
};
wkup_pmx0: pinctrl@4301c000 {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
/* Proxy 0 addressing */
reg = <0x00 0x4301c000 0x00 0x34>;
#pinctrl-cells = <1>;
@ -220,7 +220,7 @@
};
wkup_pmx1: pinctrl@4301c038 {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
/* Proxy 0 addressing */
reg = <0x00 0x4301c038 0x00 0x8>;
#pinctrl-cells = <1>;
@ -229,7 +229,7 @@
};
wkup_pmx2: pinctrl@4301c068 {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
/* Proxy 0 addressing */
reg = <0x00 0x4301c068 0x00 0xec>;
#pinctrl-cells = <1>;
@ -238,7 +238,7 @@
};
wkup_pmx3: pinctrl@4301c174 {
compatible = "pinctrl-single";
compatible = "ti,j7200-padconf", "pinctrl-single";
/* Proxy 0 addressing */
reg = <0x00 0x4301c174 0x00 0x20>;
#pinctrl-cells = <1>;
@ -518,17 +518,18 @@
status = "disabled";
};
fss: syscon@47000000 {
compatible = "syscon", "simple-mfd";
fss: bus@47000000 {
compatible = "simple-bus";
reg = <0x00 0x47000000 0x00 0x100>;
#address-cells = <2>;
#size-cells = <2>;
ranges;
hbmc_mux: hbmc-mux {
compatible = "mmio-mux";
hbmc_mux: mux-controller@47000004 {
compatible = "reg-mux";
reg = <0x00 0x47000004 0x00 0x4>;
#mux-control-cells = <1>;
mux-reg-masks = <0x4 0x2>; /* HBMC select */
mux-reg-masks = <0x0 0x2>; /* HBMC select */
};
hbmc: hyperbus@47034000 {
@ -655,4 +656,34 @@
ti,esm-pins = <95>;
bootph-pre-ram;
};
mcu_mcan0: can@40528000 {
compatible = "bosch,m_can";
reg = <0x00 0x40528000 0x00 0x200>,
<0x00 0x40500000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 172 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 172 0>, <&k3_clks 172 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 832 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 833 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
mcu_mcan1: can@40568000 {
compatible = "bosch,m_can";
reg = <0x00 0x40568000 0x00 0x200>,
<0x00 0x40540000 0x00 0x8000>;
reg-names = "m_can", "message_ram";
power-domains = <&k3_pds 173 TI_SCI_PD_EXCLUSIVE>;
clocks = <&k3_clks 173 0>, <&k3_clks 173 2>;
clock-names = "hclk", "cclk";
interrupts = <GIC_SPI 835 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 836 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "int0", "int1";
bosch,mram-cfg = <0x0 128 64 64 64 64 32 32>;
status = "disabled";
};
};

View file

@ -1,10 +1,12 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "k3-j7200.dtsi"
/ {
@ -80,6 +82,25 @@
no-map;
};
};
mux0: mux-controller {
compatible = "gpio-mux";
#mux-state-cells = <1>;
mux-gpios = <&exp_som 1 GPIO_ACTIVE_HIGH>;
};
mux1: mux-controller {
compatible = "gpio-mux";
#mux-state-cells = <1>;
mux-gpios = <&exp_som 2 GPIO_ACTIVE_HIGH>;
};
transceiver0: can-phy0 {
/* standby pin has been grounded by default */
compatible = "ti,tcan1042";
#phy-cells = <0>;
max-bitrate = <5000000>;
};
};
&wkup_pmx0 {
@ -142,6 +163,13 @@
J721E_IOPAD(0xd8, PIN_INPUT_PULLUP, 0) /* (W2) I2C0_SDA */
>;
};
main_mcan0_pins_default: main-mcan0-default-pins {
pinctrl-single,pins = <
J721E_IOPAD(0x24, PIN_INPUT, 0) /* (V20) MCAN0_RX */
J721E_IOPAD(0x20, PIN_OUTPUT, 0) /* (V18) MCAN0_TX */
>;
};
};
&hbmc {
@ -222,25 +250,25 @@
};
&mcu_r5fss0_core0 {
mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core0>;
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};
&mcu_r5fss0_core1 {
mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core1>;
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
<&mcu_r5fss0_core1_memory_region>;
};
&main_r5fss0_core0 {
mboxes = <&mailbox0_cluster1>, <&mbox_main_r5fss0_core0>;
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};
&main_r5fss0_core1 {
mboxes = <&mailbox0_cluster1>, <&mbox_main_r5fss0_core1>;
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};
@ -478,3 +506,10 @@
};
};
};
&main_mcan0 {
status = "okay";
pinctrl-0 = <&main_mcan0_pins_default>;
pinctrl-names = "default";
phys = <&transceiver0>;
};

View file

@ -1,4 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/thermal/thermal.h>

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for J7200 SoC Family
*
* Copyright (C) 2020 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2020-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/interrupt-controller/irq.h>

View file

@ -1,9 +1,9 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* https://beagleboard.org/ai-64
* Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022 Jason Kridner, BeagleBoard.org Foundation
* Copyright (C) 2022 Robert Nelson, BeagleBoard.org Foundation
* Copyright (C) 2022-2024 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2024 Jason Kridner, BeagleBoard.org Foundation
* Copyright (C) 2022-2024 Robert Nelson, BeagleBoard.org Foundation
*/
/dts-v1/;
@ -936,58 +936,58 @@
};
&mcu_r5fss0_core0 {
mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core0>;
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core0>;
memory-region = <&mcu_r5fss0_core0_dma_memory_region>,
<&mcu_r5fss0_core0_memory_region>;
};
&mcu_r5fss0_core1 {
mboxes = <&mailbox0_cluster0>, <&mbox_mcu_r5fss0_core1>;
mboxes = <&mailbox0_cluster0 &mbox_mcu_r5fss0_core1>;
memory-region = <&mcu_r5fss0_core1_dma_memory_region>,
<&mcu_r5fss0_core1_memory_region>;
};
&main_r5fss0_core0 {
mboxes = <&mailbox0_cluster1>, <&mbox_main_r5fss0_core0>;
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
};
&main_r5fss0_core1 {
mboxes = <&mailbox0_cluster1>, <&mbox_main_r5fss0_core1>;
mboxes = <&mailbox0_cluster1 &mbox_main_r5fss0_core1>;
memory-region = <&main_r5fss0_core1_dma_memory_region>,
<&main_r5fss0_core1_memory_region>;
};
&main_r5fss1_core0 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss1_core0>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core0>;
memory-region = <&main_r5fss1_core0_dma_memory_region>,
<&main_r5fss1_core0_memory_region>;
};
&main_r5fss1_core1 {
mboxes = <&mailbox0_cluster2>, <&mbox_main_r5fss1_core1>;
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss1_core1>;
memory-region = <&main_r5fss1_core1_dma_memory_region>,
<&main_r5fss1_core1_memory_region>;
};
&c66_0 {
status = "okay";
mboxes = <&mailbox0_cluster3>, <&mbox_c66_0>;
mboxes = <&mailbox0_cluster3 &mbox_c66_0>;
memory-region = <&c66_0_dma_memory_region>,
<&c66_0_memory_region>;
};
&c66_1 {
status = "okay";
mboxes = <&mailbox0_cluster3>, <&mbox_c66_1>;
mboxes = <&mailbox0_cluster3 &mbox_c66_1>;
memory-region = <&c66_1_dma_memory_region>,
<&c66_1_memory_region>;
};
&c71_0 {
status = "okay";
mboxes = <&mailbox0_cluster4>, <&mbox_c71_0>;
mboxes = <&mailbox0_cluster4 &mbox_c71_0>;
memory-region = <&c71_0_dma_memory_region>,
<&c71_0_memory_region>;
};

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Copyright (C) 2019 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2019-2024 Texas Instruments Incorporated - https://www.ti.com/
*
* Product Link: https://www.ti.com/tool/J721EXCPXEVM
*/

View file

@ -1,11 +1,11 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT Overlay for CPSW9G in RGMII mode using J7 GESI EXP BRD board with
* J721E board.
*
* GESI Board Product Link: https://www.ti.com/tool/J7EXPCXEVM
*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,11 +1,11 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT Overlay for enabling PCIE0 instance in Endpoint Configuration with the
* J7 common processor board.
*
* J7 Common Processor Board Product Link: https://www.ti.com/tool/J721EXCPXEVM
*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,9 +1,9 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT Overlay for CPSW9G in QSGMII mode using J7 Quad Port ETH EXP Add-On Ethernet Card with
* J721E board.
*
* Copyright (C) 2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for J721E SoC Family Main Domain peripherals
*
* Copyright (C) 2016-2020 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2016-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/phy/phy-ti.h>
@ -45,15 +45,15 @@
ranges = <0x0 0x0 0x00100000 0x1c000>;
serdes_ln_ctrl: mux-controller@4080 {
compatible = "mmio-mux";
reg = <0x00004080 0x50>;
compatible = "reg-mux";
reg = <0x4080 0x50>;
#mux-control-cells = <1>;
mux-reg-masks = <0x4080 0x3>, <0x4084 0x3>, /* SERDES0 lane0/1 select */
<0x4090 0x3>, <0x4094 0x3>, /* SERDES1 lane0/1 select */
<0x40a0 0x3>, <0x40a4 0x3>, /* SERDES2 lane0/1 select */
<0x40b0 0x3>, <0x40b4 0x3>, /* SERDES3 lane0/1 select */
<0x40c0 0x3>, <0x40c4 0x3>, <0x40c8 0x3>, <0x40cc 0x3>;
/* SERDES4 lane0/1/2/3 select */
mux-reg-masks = <0x0 0x3>, <0x4 0x3>, /* SERDES0 lane0/1 select */
<0x10 0x3>, <0x14 0x3>, /* SERDES1 lane0/1 select */
<0x20 0x3>, <0x24 0x3>, /* SERDES2 lane0/1 select */
<0x30 0x3>, <0x34 0x3>, /* SERDES3 lane0/1 select */
<0x40 0x3>, <0x44 0x3>, /* SERDES4 lane0/1 select */
<0x48 0x3>, <0x4c 0x3>; /* SERDES4 lane2/3 select */
idle-states = <J721E_SERDES0_LANE0_PCIE0_LANE0>, <J721E_SERDES0_LANE1_PCIE0_LANE1>,
<J721E_SERDES1_LANE0_PCIE1_LANE0>, <J721E_SERDES1_LANE1_PCIE1_LANE1>,
<J721E_SERDES2_LANE0_PCIE2_LANE0>, <J721E_SERDES2_LANE1_PCIE2_LANE1>,
@ -70,10 +70,11 @@
};
usb_serdes_mux: mux-controller@4000 {
compatible = "mmio-mux";
compatible = "reg-mux";
reg = <0x4000 0x20>;
#mux-control-cells = <1>;
mux-reg-masks = <0x4000 0x8000000>, /* USB0 to SERDES0/3 mux */
<0x4010 0x8000000>; /* USB1 to SERDES1/2 mux */
mux-reg-masks = <0x0 0x8000000>, /* USB0 to SERDES0/3 mux */
<0x10 0x8000000>; /* USB1 to SERDES1/2 mux */
};
ehrpwm_tbclk: clock-controller@4140 {
@ -572,6 +573,128 @@
pinctrl-single,function-mask = <0x0000001f>;
};
ti_csi2rx0: ticsi2rx@4500000 {
compatible = "ti,j721e-csi2rx-shim";
reg = <0x0 0x4500000 0x0 0x1000>;
ranges;
#address-cells = <2>;
#size-cells = <2>;
dmas = <&main_udmap 0x4940>;
dma-names = "rx0";
power-domains = <&k3_pds 26 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
cdns_csi2rx0: csi-bridge@4504000 {
compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
reg = <0x0 0x4504000 0x0 0x1000>;
clocks = <&k3_clks 26 2>, <&k3_clks 26 0>, <&k3_clks 26 2>,
<&k3_clks 26 2>, <&k3_clks 26 3>, <&k3_clks 26 3>;
clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
"pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
phys = <&dphy0>;
phy-names = "dphy";
ports {
#address-cells = <1>;
#size-cells = <0>;
csi0_port0: port@0 {
reg = <0>;
status = "disabled";
};
csi0_port1: port@1 {
reg = <1>;
status = "disabled";
};
csi0_port2: port@2 {
reg = <2>;
status = "disabled";
};
csi0_port3: port@3 {
reg = <3>;
status = "disabled";
};
csi0_port4: port@4 {
reg = <4>;
status = "disabled";
};
};
};
};
ti_csi2rx1: ticsi2rx@4510000 {
compatible = "ti,j721e-csi2rx-shim";
reg = <0x0 0x4510000 0x0 0x1000>;
ranges;
#address-cells = <2>;
#size-cells = <2>;
dmas = <&main_udmap 0x4960>;
dma-names = "rx0";
power-domains = <&k3_pds 27 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
cdns_csi2rx1: csi-bridge@4514000 {
compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
reg = <0x0 0x4514000 0x0 0x1000>;
clocks = <&k3_clks 27 2>, <&k3_clks 27 0>, <&k3_clks 27 2>,
<&k3_clks 27 2>, <&k3_clks 27 3>, <&k3_clks 27 3>;
clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
"pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
phys = <&dphy1>;
phy-names = "dphy";
ports {
#address-cells = <1>;
#size-cells = <0>;
csi1_port0: port@0 {
reg = <0>;
status = "disabled";
};
csi1_port1: port@1 {
reg = <1>;
status = "disabled";
};
csi1_port2: port@2 {
reg = <2>;
status = "disabled";
};
csi1_port3: port@3 {
reg = <3>;
status = "disabled";
};
csi1_port4: port@4 {
reg = <4>;
status = "disabled";
};
};
};
};
dphy0: phy@4580000 {
compatible = "cdns,dphy-rx";
reg = <0x0 0x4580000 0x0 0x1100>;
#phy-cells = <0>;
power-domains = <&k3_pds 147 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
dphy1: phy@4590000 {
compatible = "cdns,dphy-rx";
reg = <0x0 0x4590000 0x0 0x1100>;
#phy-cells = <0>;
power-domains = <&k3_pds 148 TI_SCI_PD_EXCLUSIVE>;
status = "disabled";
};
serdes_wiz0: wiz@5000000 {
compatible = "ti,j721e-wiz-16g";
#address-cells = <1>;

View file

@ -1,8 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/*
* Device Tree Source for J721E SoC Family MCU/WAKEUP Domain peripherals
*
* Copyright (C) 2016-2020 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2016-2024 Texas Instruments Incorporated - https://www.ti.com/
*/
&cbass_mcu_wakeup {
@ -353,9 +353,9 @@
hbmc_mux: mux-controller@47000004 {
compatible = "reg-mux";
reg = <0x00 0x47000004 0x00 0x2>;
reg = <0x00 0x47000004 0x00 0x4>;
#mux-control-cells = <1>;
mux-reg-masks = <0x4 0x2>; /* HBMC select */
mux-reg-masks = <0x0 0x2>; /* HBMC select */
};
hbmc: hyperbus@47034000 {

View file

@ -0,0 +1,165 @@
// SPDX-License-Identifier: GPL-2.0-only OR MIT
/**
* DT Overlay for dual RPi Camera V2.1 (Sony IMX219) interfaced with CSI2
* on J721E SK, AM68 SK or AM69-SK board.
* https://datasheets.raspberrypi.org/camera/camera-v2-schematic.pdf
*
* Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include "k3-pinctrl.h"
&{/} {
clk_imx219_fixed: imx219-xclk {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>;
};
};
&csi_mux {
idle-state = <1>;
};
/* CAM0 I2C */
&cam0_i2c {
#address-cells = <1>;
#size-cells = <0>;
imx219_0: imx219-0@10 {
compatible = "sony,imx219";
reg = <0x10>;
clocks = <&clk_imx219_fixed>;
clock-names = "xclk";
port {
csi2_cam0: endpoint {
remote-endpoint = <&csi2rx0_in_sensor>;
link-frequencies = /bits/ 64 <456000000>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
};
/* CAM1 I2C */
&cam1_i2c {
#address-cells = <1>;
#size-cells = <0>;
imx219_1: imx219-1@10 {
compatible = "sony,imx219";
reg = <0x10>;
clocks = <&clk_imx219_fixed>;
clock-names = "xclk";
port {
csi2_cam1: endpoint {
remote-endpoint = <&csi2rx1_in_sensor>;
link-frequencies = /bits/ 64 <456000000>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
};
};
&cdns_csi2rx0 {
ports {
#address-cells = <1>;
#size-cells = <0>;
csi0_port0: port@0 {
reg = <0>;
status = "okay";
csi2rx0_in_sensor: endpoint {
remote-endpoint = <&csi2_cam0>;
bus-type = <4>; /* CSI2 DPHY. */
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
csi0_port1: port@1 {
reg = <1>;
status = "disabled";
};
csi0_port2: port@2 {
reg = <2>;
status = "disabled";
};
csi0_port3: port@3 {
reg = <3>;
status = "disabled";
};
csi0_port4: port@4 {
reg = <4>;
status = "disabled";
};
};
};
&dphy0 {
status = "okay";
};
&ti_csi2rx0 {
status = "okay";
};
&cdns_csi2rx1 {
ports {
#address-cells = <1>;
#size-cells = <0>;
csi1_port0: port@0 {
reg = <0>;
status = "okay";
csi2rx1_in_sensor: endpoint {
remote-endpoint = <&csi2_cam1>;
bus-type = <4>; /* CSI2 DPHY. */
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
csi1_port1: port@1 {
reg = <1>;
status = "disabled";
};
csi1_port2: port@2 {
reg = <2>;
status = "disabled";
};
csi1_port3: port@3 {
reg = <3>;
status = "disabled";
};
csi1_port4: port@4 {
reg = <4>;
status = "disabled";
};
};
};
&dphy1 {
status = "okay";
};
&ti_csi2rx1 {
status = "okay";
};

Some files were not shown because too many files have changed in this diff Show more