126bd3f31SLokesh Vutla// SPDX-License-Identifier: GPL-2.0
226bd3f31SLokesh Vutla/*
326bd3f31SLokesh Vutla * Copyright (C) 2020 Texas Instruments Incorporated - https://www.ti.com/
426bd3f31SLokesh Vutla */
526bd3f31SLokesh Vutla
626bd3f31SLokesh Vutla/dts-v1/;
726bd3f31SLokesh Vutla
826bd3f31SLokesh Vutla#include "k3-j7200-som-p0.dtsi"
9fc3b1550SGrygorii Strashko#include <dt-bindings/net/ti-dp83867.h>
10e38a45b0SKishon Vijay Abraham I#include <dt-bindings/mux/ti-serdes.h>
1126bd3f31SLokesh Vutla
1226bd3f31SLokesh Vutla/ {
1326bd3f31SLokesh Vutla	chosen {
1426bd3f31SLokesh Vutla		stdout-path = "serial2:115200n8";
1526bd3f31SLokesh Vutla		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
1626bd3f31SLokesh Vutla	};
1726bd3f31SLokesh Vutla};
1826bd3f31SLokesh Vutla
19fc3b1550SGrygorii Strashko&wkup_pmx0 {
20fc3b1550SGrygorii Strashko	mcu_cpsw_pins_default: mcu-cpsw-pins-default {
21fc3b1550SGrygorii Strashko		pinctrl-single,pins = <
22fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */
23fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x006c, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */
24fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0070, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */
25fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0074, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */
26fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0078, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */
27fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x007c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */
28fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */
29fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x008c, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */
30fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0090, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */
31fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0094, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */
32fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0080, PIN_INPUT, 0) /* MCU_RGMII1_TXC */
33fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0084, PIN_INPUT, 0) /* MCU_RGMII1_RXC */
34fc3b1550SGrygorii Strashko		>;
35fc3b1550SGrygorii Strashko	};
36fc3b1550SGrygorii Strashko
37fc3b1550SGrygorii Strashko	mcu_mdio_pins_default: mcu-mdio1-pins-default {
38fc3b1550SGrygorii Strashko		pinctrl-single,pins = <
39fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */
40fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0098, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */
41fc3b1550SGrygorii Strashko		>;
42fc3b1550SGrygorii Strashko	};
43fc3b1550SGrygorii Strashko};
44fc3b1550SGrygorii Strashko
45e25889f8SVignesh Raghavendra&main_pmx0 {
46e25889f8SVignesh Raghavendra	main_i2c1_pins_default: main-i2c1-pins-default {
47e25889f8SVignesh Raghavendra		pinctrl-single,pins = <
48e25889f8SVignesh Raghavendra			J721E_IOPAD(0xdc, PIN_INPUT_PULLUP, 3) /* (U3) ECAP0_IN_APWM_OUT.I2C1_SCL */
49e25889f8SVignesh Raghavendra			J721E_IOPAD(0xe0, PIN_INPUT_PULLUP, 3) /* (T3) EXT_REFCLK1.I2C1_SDA */
50e25889f8SVignesh Raghavendra		>;
51e25889f8SVignesh Raghavendra	};
52a2178b83SFaiz Abbas
53a2178b83SFaiz Abbas	main_mmc1_pins_default: main-mmc1-pins-default {
54a2178b83SFaiz Abbas		pinctrl-single,pins = <
55a2178b83SFaiz Abbas			J721E_IOPAD(0x104, PIN_INPUT, 0) /* (M20) MMC1_CMD */
56a2178b83SFaiz Abbas			J721E_IOPAD(0x100, PIN_INPUT, 0) /* (P21) MMC1_CLK */
57a2178b83SFaiz Abbas			J721E_IOPAD(0xfc, PIN_INPUT, 0) /* (P25) MMC1_CLKLB */
58a2178b83SFaiz Abbas			J721E_IOPAD(0xf8, PIN_INPUT, 0) /* (M19) MMC1_DAT0 */
59a2178b83SFaiz Abbas			J721E_IOPAD(0xf4, PIN_INPUT, 0) /* (N21) MMC1_DAT1 */
60a2178b83SFaiz Abbas			J721E_IOPAD(0xf0, PIN_INPUT, 0) /* (N20) MMC1_DAT2 */
61a2178b83SFaiz Abbas			J721E_IOPAD(0xec, PIN_INPUT, 0) /* (N19) MMC1_DAT3 */
62a2178b83SFaiz Abbas			J721E_IOPAD(0xe4, PIN_INPUT, 8) /* (V1) TIMER_IO0.MMC1_SDCD */
63a2178b83SFaiz Abbas		>;
64a2178b83SFaiz Abbas	};
65bbcb0522SRoger Quadros
66bbcb0522SRoger Quadros	main_usbss0_pins_default: main-usbss0-pins-default {
67bbcb0522SRoger Quadros		pinctrl-single,pins = <
68bbcb0522SRoger Quadros			J721E_IOPAD(0x120, PIN_OUTPUT, 0) /* (T4) USB0_DRVVBUS */
69bbcb0522SRoger Quadros		>;
70bbcb0522SRoger Quadros	};
71e25889f8SVignesh Raghavendra};
72e25889f8SVignesh Raghavendra
7326bd3f31SLokesh Vutla&wkup_uart0 {
7426bd3f31SLokesh Vutla	/* Wakeup UART is used by System firmware */
754cc34aa8SNishanth Menon	status = "reserved";
7626bd3f31SLokesh Vutla};
7726bd3f31SLokesh Vutla
7826bd3f31SLokesh Vutla&main_uart0 {
7926bd3f31SLokesh Vutla	/* Shared with ATF on this platform */
8026bd3f31SLokesh Vutla	power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
8126bd3f31SLokesh Vutla};
8226bd3f31SLokesh Vutla
8326bd3f31SLokesh Vutla&main_uart2 {
8426bd3f31SLokesh Vutla	/* MAIN UART 2 is used by R5F firmware */
854cc34aa8SNishanth Menon	status = "reserved";
8626bd3f31SLokesh Vutla};
8726bd3f31SLokesh Vutla
8826bd3f31SLokesh Vutla&main_uart3 {
8926bd3f31SLokesh Vutla	/* UART not brought out */
9026bd3f31SLokesh Vutla	status = "disabled";
9126bd3f31SLokesh Vutla};
9226bd3f31SLokesh Vutla
9326bd3f31SLokesh Vutla&main_uart4 {
9426bd3f31SLokesh Vutla	/* UART not brought out */
9526bd3f31SLokesh Vutla	status = "disabled";
9626bd3f31SLokesh Vutla};
9726bd3f31SLokesh Vutla
9826bd3f31SLokesh Vutla&main_uart5 {
9926bd3f31SLokesh Vutla	/* UART not brought out */
10026bd3f31SLokesh Vutla	status = "disabled";
10126bd3f31SLokesh Vutla};
10226bd3f31SLokesh Vutla
10326bd3f31SLokesh Vutla&main_uart6 {
10426bd3f31SLokesh Vutla	/* UART not brought out */
10526bd3f31SLokesh Vutla	status = "disabled";
10626bd3f31SLokesh Vutla};
10726bd3f31SLokesh Vutla
10826bd3f31SLokesh Vutla&main_uart7 {
10926bd3f31SLokesh Vutla	/* UART not brought out */
11026bd3f31SLokesh Vutla	status = "disabled";
11126bd3f31SLokesh Vutla};
11226bd3f31SLokesh Vutla
11326bd3f31SLokesh Vutla&main_uart8 {
11426bd3f31SLokesh Vutla	/* UART not brought out */
11526bd3f31SLokesh Vutla	status = "disabled";
11626bd3f31SLokesh Vutla};
11726bd3f31SLokesh Vutla
11826bd3f31SLokesh Vutla&main_uart9 {
11926bd3f31SLokesh Vutla	/* UART not brought out */
12026bd3f31SLokesh Vutla	status = "disabled";
12126bd3f31SLokesh Vutla};
122fc3b1550SGrygorii Strashko
123fc3b1550SGrygorii Strashko&mcu_cpsw {
124fc3b1550SGrygorii Strashko	pinctrl-names = "default";
125fc3b1550SGrygorii Strashko	pinctrl-0 = <&mcu_cpsw_pins_default &mcu_mdio_pins_default>;
126fc3b1550SGrygorii Strashko};
127fc3b1550SGrygorii Strashko
128fc3b1550SGrygorii Strashko&davinci_mdio {
129fc3b1550SGrygorii Strashko	phy0: ethernet-phy@0 {
130fc3b1550SGrygorii Strashko		reg = <0>;
131fc3b1550SGrygorii Strashko		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
132fc3b1550SGrygorii Strashko		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
133fc3b1550SGrygorii Strashko	};
134fc3b1550SGrygorii Strashko};
135fc3b1550SGrygorii Strashko
136fc3b1550SGrygorii Strashko&cpsw_port1 {
137fc3b1550SGrygorii Strashko	phy-mode = "rgmii-rxid";
138fc3b1550SGrygorii Strashko	phy-handle = <&phy0>;
139fc3b1550SGrygorii Strashko};
140e25889f8SVignesh Raghavendra
141e25889f8SVignesh Raghavendra&main_i2c0 {
142e25889f8SVignesh Raghavendra	exp1: gpio@20 {
143e25889f8SVignesh Raghavendra		compatible = "ti,tca6416";
144e25889f8SVignesh Raghavendra		reg = <0x20>;
145e25889f8SVignesh Raghavendra		gpio-controller;
146e25889f8SVignesh Raghavendra		#gpio-cells = <2>;
147e25889f8SVignesh Raghavendra	};
148e25889f8SVignesh Raghavendra
149e25889f8SVignesh Raghavendra	exp2: gpio@22 {
150e25889f8SVignesh Raghavendra		compatible = "ti,tca6424";
151e25889f8SVignesh Raghavendra		reg = <0x22>;
152e25889f8SVignesh Raghavendra		gpio-controller;
153e25889f8SVignesh Raghavendra		#gpio-cells = <2>;
154e25889f8SVignesh Raghavendra	};
155e25889f8SVignesh Raghavendra};
156e25889f8SVignesh Raghavendra
157*2eefbf5fSPeter Ujfalusi/*
158*2eefbf5fSPeter Ujfalusi * The j7200 CPB board is identical to the CPB used for J721E, the SOMs can be
159*2eefbf5fSPeter Ujfalusi * swapped on the CPB.
160*2eefbf5fSPeter Ujfalusi *
161*2eefbf5fSPeter Ujfalusi * main_i2c1 of J7200 is connected to the CPB i2c bus labeled as i2c3.
162*2eefbf5fSPeter Ujfalusi * The i2c1 of the CPB (as it is labeled) is not connected to j7200.
163*2eefbf5fSPeter Ujfalusi */
164e25889f8SVignesh Raghavendra&main_i2c1 {
165e25889f8SVignesh Raghavendra	pinctrl-names = "default";
166e25889f8SVignesh Raghavendra	pinctrl-0 = <&main_i2c1_pins_default>;
167e25889f8SVignesh Raghavendra	clock-frequency = <400000>;
168e25889f8SVignesh Raghavendra
169*2eefbf5fSPeter Ujfalusi	exp3: gpio@20 {
170e25889f8SVignesh Raghavendra		compatible = "ti,tca6408";
171e25889f8SVignesh Raghavendra		reg = <0x20>;
172e25889f8SVignesh Raghavendra		gpio-controller;
173e25889f8SVignesh Raghavendra		#gpio-cells = <2>;
174*2eefbf5fSPeter Ujfalusi		gpio-line-names = "CODEC_RSTz", "CODEC_SPARE1", "UB926_RESETn",
175*2eefbf5fSPeter Ujfalusi				  "UB926_LOCK", "UB926_PWR_SW_CNTRL",
176*2eefbf5fSPeter Ujfalusi				  "UB926_TUNER_RESET", "UB926_GPIO_SPARE", "";
177e25889f8SVignesh Raghavendra	};
178e25889f8SVignesh Raghavendra};
179a2178b83SFaiz Abbas
180a2178b83SFaiz Abbas&main_sdhci0 {
181a2178b83SFaiz Abbas	/* eMMC */
182a2178b83SFaiz Abbas	non-removable;
183a2178b83SFaiz Abbas	ti,driver-strength-ohm = <50>;
184a2178b83SFaiz Abbas	disable-wp;
185a2178b83SFaiz Abbas};
186a2178b83SFaiz Abbas
187a2178b83SFaiz Abbas&main_sdhci1 {
188a2178b83SFaiz Abbas	/* SD card */
189a2178b83SFaiz Abbas	pinctrl-0 = <&main_mmc1_pins_default>;
190a2178b83SFaiz Abbas	pinctrl-names = "default";
191a2178b83SFaiz Abbas	ti,driver-strength-ohm = <50>;
192a2178b83SFaiz Abbas	disable-wp;
193a2178b83SFaiz Abbas};
194e38a45b0SKishon Vijay Abraham I
195e38a45b0SKishon Vijay Abraham I&serdes_ln_ctrl {
196e38a45b0SKishon Vijay Abraham I	idle-states = <J7200_SERDES0_LANE0_PCIE1_LANE0>, <J7200_SERDES0_LANE1_PCIE1_LANE1>,
197e38a45b0SKishon Vijay Abraham I		      <J7200_SERDES0_LANE2_QSGMII_LANE1>, <J7200_SERDES0_LANE3_IP4_UNUSED>;
198e38a45b0SKishon Vijay Abraham I};
199bbcb0522SRoger Quadros
200bbcb0522SRoger Quadros&usb_serdes_mux {
201bbcb0522SRoger Quadros	idle-states = <1>; /* USB0 to SERDES lane 3 */
202bbcb0522SRoger Quadros};
203bbcb0522SRoger Quadros
204bbcb0522SRoger Quadros&usbss0 {
205bbcb0522SRoger Quadros	pinctrl-names = "default";
206bbcb0522SRoger Quadros	pinctrl-0 = <&main_usbss0_pins_default>;
207bbcb0522SRoger Quadros	ti,vbus-divider;
208bbcb0522SRoger Quadros	ti,usb2-only;
209bbcb0522SRoger Quadros};
210bbcb0522SRoger Quadros
211bbcb0522SRoger Quadros&usb0 {
212bbcb0522SRoger Quadros	dr_mode = "otg";
213bbcb0522SRoger Quadros	maximum-speed = "high-speed";
214bbcb0522SRoger Quadros};
215e6b45168SVignesh Raghavendra
216e6b45168SVignesh Raghavendra&tscadc0 {
217e6b45168SVignesh Raghavendra	adc {
218e6b45168SVignesh Raghavendra		ti,adc-channels = <0 1 2 3 4 5 6 7>;
219e6b45168SVignesh Raghavendra	};
220e6b45168SVignesh Raghavendra};
221