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"
93a6319dfSKishon Vijay Abraham I#include <dt-bindings/gpio/gpio.h>
10fc3b1550SGrygorii Strashko#include <dt-bindings/net/ti-dp83867.h>
11e38a45b0SKishon Vijay Abraham I#include <dt-bindings/mux/ti-serdes.h>
12429c0259SKishon Vijay Abraham I#include <dt-bindings/phy/phy.h>
1326bd3f31SLokesh Vutla
1426bd3f31SLokesh Vutla/ {
1526bd3f31SLokesh Vutla	chosen {
1626bd3f31SLokesh Vutla		stdout-path = "serial2:115200n8";
1726bd3f31SLokesh Vutla		bootargs = "console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000";
1826bd3f31SLokesh Vutla	};
1926bd3f31SLokesh Vutla};
2026bd3f31SLokesh Vutla
21fc3b1550SGrygorii Strashko&wkup_pmx0 {
22fc3b1550SGrygorii Strashko	mcu_cpsw_pins_default: mcu-cpsw-pins-default {
23fc3b1550SGrygorii Strashko		pinctrl-single,pins = <
24fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */
25fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x006c, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */
26fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0070, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */
27fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0074, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */
28fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0078, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */
29fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x007c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */
30fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */
31fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x008c, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */
32fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0090, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */
33fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0094, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */
34fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0080, PIN_INPUT, 0) /* MCU_RGMII1_TXC */
35fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0084, PIN_INPUT, 0) /* MCU_RGMII1_RXC */
36fc3b1550SGrygorii Strashko		>;
37fc3b1550SGrygorii Strashko	};
38fc3b1550SGrygorii Strashko
39fc3b1550SGrygorii Strashko	mcu_mdio_pins_default: mcu-mdio1-pins-default {
40fc3b1550SGrygorii Strashko		pinctrl-single,pins = <
41fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */
42fc3b1550SGrygorii Strashko			J721E_WKUP_IOPAD(0x0098, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */
43fc3b1550SGrygorii Strashko		>;
44fc3b1550SGrygorii Strashko	};
45fc3b1550SGrygorii Strashko};
46fc3b1550SGrygorii Strashko
47e25889f8SVignesh Raghavendra&main_pmx0 {
48e25889f8SVignesh Raghavendra	main_i2c1_pins_default: main-i2c1-pins-default {
49e25889f8SVignesh Raghavendra		pinctrl-single,pins = <
50e25889f8SVignesh Raghavendra			J721E_IOPAD(0xdc, PIN_INPUT_PULLUP, 3) /* (U3) ECAP0_IN_APWM_OUT.I2C1_SCL */
51e25889f8SVignesh Raghavendra			J721E_IOPAD(0xe0, PIN_INPUT_PULLUP, 3) /* (T3) EXT_REFCLK1.I2C1_SDA */
52e25889f8SVignesh Raghavendra		>;
53e25889f8SVignesh Raghavendra	};
54a2178b83SFaiz Abbas
55a2178b83SFaiz Abbas	main_mmc1_pins_default: main-mmc1-pins-default {
56a2178b83SFaiz Abbas		pinctrl-single,pins = <
57a2178b83SFaiz Abbas			J721E_IOPAD(0x104, PIN_INPUT, 0) /* (M20) MMC1_CMD */
58a2178b83SFaiz Abbas			J721E_IOPAD(0x100, PIN_INPUT, 0) /* (P21) MMC1_CLK */
59a2178b83SFaiz Abbas			J721E_IOPAD(0xfc, PIN_INPUT, 0) /* (P25) MMC1_CLKLB */
60a2178b83SFaiz Abbas			J721E_IOPAD(0xf8, PIN_INPUT, 0) /* (M19) MMC1_DAT0 */
61a2178b83SFaiz Abbas			J721E_IOPAD(0xf4, PIN_INPUT, 0) /* (N21) MMC1_DAT1 */
62a2178b83SFaiz Abbas			J721E_IOPAD(0xf0, PIN_INPUT, 0) /* (N20) MMC1_DAT2 */
63a2178b83SFaiz Abbas			J721E_IOPAD(0xec, PIN_INPUT, 0) /* (N19) MMC1_DAT3 */
64a2178b83SFaiz Abbas			J721E_IOPAD(0xe4, PIN_INPUT, 8) /* (V1) TIMER_IO0.MMC1_SDCD */
65a2178b83SFaiz Abbas		>;
66a2178b83SFaiz Abbas	};
67bbcb0522SRoger Quadros
68bbcb0522SRoger Quadros	main_usbss0_pins_default: main-usbss0-pins-default {
69bbcb0522SRoger Quadros		pinctrl-single,pins = <
70bbcb0522SRoger Quadros			J721E_IOPAD(0x120, PIN_OUTPUT, 0) /* (T4) USB0_DRVVBUS */
71bbcb0522SRoger Quadros		>;
72bbcb0522SRoger Quadros	};
73e25889f8SVignesh Raghavendra};
74e25889f8SVignesh Raghavendra
7526bd3f31SLokesh Vutla&wkup_uart0 {
7626bd3f31SLokesh Vutla	/* Wakeup UART is used by System firmware */
774cc34aa8SNishanth Menon	status = "reserved";
7826bd3f31SLokesh Vutla};
7926bd3f31SLokesh Vutla
8026bd3f31SLokesh Vutla&main_uart0 {
8126bd3f31SLokesh Vutla	/* Shared with ATF on this platform */
8226bd3f31SLokesh Vutla	power-domains = <&k3_pds 146 TI_SCI_PD_SHARED>;
8326bd3f31SLokesh Vutla};
8426bd3f31SLokesh Vutla
8526bd3f31SLokesh Vutla&main_uart2 {
8626bd3f31SLokesh Vutla	/* MAIN UART 2 is used by R5F firmware */
874cc34aa8SNishanth Menon	status = "reserved";
8826bd3f31SLokesh Vutla};
8926bd3f31SLokesh Vutla
9026bd3f31SLokesh Vutla&main_uart3 {
9126bd3f31SLokesh Vutla	/* UART not brought out */
9226bd3f31SLokesh Vutla	status = "disabled";
9326bd3f31SLokesh Vutla};
9426bd3f31SLokesh Vutla
9526bd3f31SLokesh Vutla&main_uart4 {
9626bd3f31SLokesh Vutla	/* UART not brought out */
9726bd3f31SLokesh Vutla	status = "disabled";
9826bd3f31SLokesh Vutla};
9926bd3f31SLokesh Vutla
10026bd3f31SLokesh Vutla&main_uart5 {
10126bd3f31SLokesh Vutla	/* UART not brought out */
10226bd3f31SLokesh Vutla	status = "disabled";
10326bd3f31SLokesh Vutla};
10426bd3f31SLokesh Vutla
10526bd3f31SLokesh Vutla&main_uart6 {
10626bd3f31SLokesh Vutla	/* UART not brought out */
10726bd3f31SLokesh Vutla	status = "disabled";
10826bd3f31SLokesh Vutla};
10926bd3f31SLokesh Vutla
11026bd3f31SLokesh Vutla&main_uart7 {
11126bd3f31SLokesh Vutla	/* UART not brought out */
11226bd3f31SLokesh Vutla	status = "disabled";
11326bd3f31SLokesh Vutla};
11426bd3f31SLokesh Vutla
11526bd3f31SLokesh Vutla&main_uart8 {
11626bd3f31SLokesh Vutla	/* UART not brought out */
11726bd3f31SLokesh Vutla	status = "disabled";
11826bd3f31SLokesh Vutla};
11926bd3f31SLokesh Vutla
12026bd3f31SLokesh Vutla&main_uart9 {
12126bd3f31SLokesh Vutla	/* UART not brought out */
12226bd3f31SLokesh Vutla	status = "disabled";
12326bd3f31SLokesh Vutla};
124fc3b1550SGrygorii Strashko
125*f4cc7dafSFaiz Abbas&main_gpio2 {
126*f4cc7dafSFaiz Abbas	status = "disabled";
127*f4cc7dafSFaiz Abbas};
128*f4cc7dafSFaiz Abbas
129*f4cc7dafSFaiz Abbas&main_gpio4 {
130*f4cc7dafSFaiz Abbas	status = "disabled";
131*f4cc7dafSFaiz Abbas};
132*f4cc7dafSFaiz Abbas
133*f4cc7dafSFaiz Abbas&main_gpio6 {
134*f4cc7dafSFaiz Abbas	status = "disabled";
135*f4cc7dafSFaiz Abbas};
136*f4cc7dafSFaiz Abbas
137*f4cc7dafSFaiz Abbas&wkup_gpio1 {
138*f4cc7dafSFaiz Abbas	status = "disabled";
139*f4cc7dafSFaiz Abbas};
140*f4cc7dafSFaiz Abbas
141fc3b1550SGrygorii Strashko&mcu_cpsw {
142fc3b1550SGrygorii Strashko	pinctrl-names = "default";
143fc3b1550SGrygorii Strashko	pinctrl-0 = <&mcu_cpsw_pins_default &mcu_mdio_pins_default>;
144fc3b1550SGrygorii Strashko};
145fc3b1550SGrygorii Strashko
146fc3b1550SGrygorii Strashko&davinci_mdio {
147fc3b1550SGrygorii Strashko	phy0: ethernet-phy@0 {
148fc3b1550SGrygorii Strashko		reg = <0>;
149fc3b1550SGrygorii Strashko		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
150fc3b1550SGrygorii Strashko		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
151fc3b1550SGrygorii Strashko	};
152fc3b1550SGrygorii Strashko};
153fc3b1550SGrygorii Strashko
154fc3b1550SGrygorii Strashko&cpsw_port1 {
155fc3b1550SGrygorii Strashko	phy-mode = "rgmii-rxid";
156fc3b1550SGrygorii Strashko	phy-handle = <&phy0>;
157fc3b1550SGrygorii Strashko};
158e25889f8SVignesh Raghavendra
159e25889f8SVignesh Raghavendra&main_i2c0 {
160e25889f8SVignesh Raghavendra	exp1: gpio@20 {
161e25889f8SVignesh Raghavendra		compatible = "ti,tca6416";
162e25889f8SVignesh Raghavendra		reg = <0x20>;
163e25889f8SVignesh Raghavendra		gpio-controller;
164e25889f8SVignesh Raghavendra		#gpio-cells = <2>;
165e25889f8SVignesh Raghavendra	};
166e25889f8SVignesh Raghavendra
167e25889f8SVignesh Raghavendra	exp2: gpio@22 {
168e25889f8SVignesh Raghavendra		compatible = "ti,tca6424";
169e25889f8SVignesh Raghavendra		reg = <0x22>;
170e25889f8SVignesh Raghavendra		gpio-controller;
171e25889f8SVignesh Raghavendra		#gpio-cells = <2>;
172e25889f8SVignesh Raghavendra	};
173e25889f8SVignesh Raghavendra};
174e25889f8SVignesh Raghavendra
1752eefbf5fSPeter Ujfalusi/*
1762eefbf5fSPeter Ujfalusi * The j7200 CPB board is identical to the CPB used for J721E, the SOMs can be
1772eefbf5fSPeter Ujfalusi * swapped on the CPB.
1782eefbf5fSPeter Ujfalusi *
1792eefbf5fSPeter Ujfalusi * main_i2c1 of J7200 is connected to the CPB i2c bus labeled as i2c3.
1802eefbf5fSPeter Ujfalusi * The i2c1 of the CPB (as it is labeled) is not connected to j7200.
1812eefbf5fSPeter Ujfalusi */
182e25889f8SVignesh Raghavendra&main_i2c1 {
183e25889f8SVignesh Raghavendra	pinctrl-names = "default";
184e25889f8SVignesh Raghavendra	pinctrl-0 = <&main_i2c1_pins_default>;
185e25889f8SVignesh Raghavendra	clock-frequency = <400000>;
186e25889f8SVignesh Raghavendra
1872eefbf5fSPeter Ujfalusi	exp3: gpio@20 {
188e25889f8SVignesh Raghavendra		compatible = "ti,tca6408";
189e25889f8SVignesh Raghavendra		reg = <0x20>;
190e25889f8SVignesh Raghavendra		gpio-controller;
191e25889f8SVignesh Raghavendra		#gpio-cells = <2>;
1922eefbf5fSPeter Ujfalusi		gpio-line-names = "CODEC_RSTz", "CODEC_SPARE1", "UB926_RESETn",
1932eefbf5fSPeter Ujfalusi				  "UB926_LOCK", "UB926_PWR_SW_CNTRL",
1942eefbf5fSPeter Ujfalusi				  "UB926_TUNER_RESET", "UB926_GPIO_SPARE", "";
195e25889f8SVignesh Raghavendra	};
196e25889f8SVignesh Raghavendra};
197a2178b83SFaiz Abbas
198a2178b83SFaiz Abbas&main_sdhci0 {
199a2178b83SFaiz Abbas	/* eMMC */
200a2178b83SFaiz Abbas	non-removable;
201a2178b83SFaiz Abbas	ti,driver-strength-ohm = <50>;
202a2178b83SFaiz Abbas	disable-wp;
203a2178b83SFaiz Abbas};
204a2178b83SFaiz Abbas
205a2178b83SFaiz Abbas&main_sdhci1 {
206a2178b83SFaiz Abbas	/* SD card */
207a2178b83SFaiz Abbas	pinctrl-0 = <&main_mmc1_pins_default>;
208a2178b83SFaiz Abbas	pinctrl-names = "default";
209a2178b83SFaiz Abbas	ti,driver-strength-ohm = <50>;
210a2178b83SFaiz Abbas	disable-wp;
211a2178b83SFaiz Abbas};
212e38a45b0SKishon Vijay Abraham I
213e38a45b0SKishon Vijay Abraham I&serdes_ln_ctrl {
214e38a45b0SKishon Vijay Abraham I	idle-states = <J7200_SERDES0_LANE0_PCIE1_LANE0>, <J7200_SERDES0_LANE1_PCIE1_LANE1>,
215e38a45b0SKishon Vijay Abraham I		      <J7200_SERDES0_LANE2_QSGMII_LANE1>, <J7200_SERDES0_LANE3_IP4_UNUSED>;
216e38a45b0SKishon Vijay Abraham I};
217bbcb0522SRoger Quadros
218bbcb0522SRoger Quadros&usb_serdes_mux {
219bbcb0522SRoger Quadros	idle-states = <1>; /* USB0 to SERDES lane 3 */
220bbcb0522SRoger Quadros};
221bbcb0522SRoger Quadros
222bbcb0522SRoger Quadros&usbss0 {
223bbcb0522SRoger Quadros	pinctrl-names = "default";
224bbcb0522SRoger Quadros	pinctrl-0 = <&main_usbss0_pins_default>;
225bbcb0522SRoger Quadros	ti,vbus-divider;
226bbcb0522SRoger Quadros	ti,usb2-only;
227bbcb0522SRoger Quadros};
228bbcb0522SRoger Quadros
229bbcb0522SRoger Quadros&usb0 {
230bbcb0522SRoger Quadros	dr_mode = "otg";
231bbcb0522SRoger Quadros	maximum-speed = "high-speed";
232bbcb0522SRoger Quadros};
233e6b45168SVignesh Raghavendra
234e6b45168SVignesh Raghavendra&tscadc0 {
235e6b45168SVignesh Raghavendra	adc {
236e6b45168SVignesh Raghavendra		ti,adc-channels = <0 1 2 3 4 5 6 7>;
237e6b45168SVignesh Raghavendra	};
238e6b45168SVignesh Raghavendra};
239429c0259SKishon Vijay Abraham I
240429c0259SKishon Vijay Abraham I&serdes_refclk {
241429c0259SKishon Vijay Abraham I	clock-frequency = <100000000>;
242429c0259SKishon Vijay Abraham I};
243429c0259SKishon Vijay Abraham I
244429c0259SKishon Vijay Abraham I&serdes0 {
245429c0259SKishon Vijay Abraham I	serdes0_pcie_link: phy@0 {
246429c0259SKishon Vijay Abraham I		reg = <0>;
247429c0259SKishon Vijay Abraham I		cdns,num-lanes = <2>;
248429c0259SKishon Vijay Abraham I		#phy-cells = <0>;
249429c0259SKishon Vijay Abraham I		cdns,phy-type = <PHY_TYPE_PCIE>;
250429c0259SKishon Vijay Abraham I		resets = <&serdes_wiz0 1>, <&serdes_wiz0 2>;
251429c0259SKishon Vijay Abraham I	};
252429c0259SKishon Vijay Abraham I
253429c0259SKishon Vijay Abraham I	serdes0_qsgmii_link: phy@1 {
254429c0259SKishon Vijay Abraham I		reg = <2>;
255429c0259SKishon Vijay Abraham I		cdns,num-lanes = <1>;
256429c0259SKishon Vijay Abraham I		#phy-cells = <0>;
257429c0259SKishon Vijay Abraham I		cdns,phy-type = <PHY_TYPE_QSGMII>;
258429c0259SKishon Vijay Abraham I		resets = <&serdes_wiz0 3>;
259429c0259SKishon Vijay Abraham I	};
260429c0259SKishon Vijay Abraham I};
2613a6319dfSKishon Vijay Abraham I
2623a6319dfSKishon Vijay Abraham I&pcie1_rc {
2633a6319dfSKishon Vijay Abraham I	reset-gpios = <&exp1 2 GPIO_ACTIVE_HIGH>;
2643a6319dfSKishon Vijay Abraham I	phys = <&serdes0_pcie_link>;
2653a6319dfSKishon Vijay Abraham I	phy-names = "pcie-phy";
2663a6319dfSKishon Vijay Abraham I	num-lanes = <2>;
2673a6319dfSKishon Vijay Abraham I};
2683a6319dfSKishon Vijay Abraham I
2693a6319dfSKishon Vijay Abraham I&pcie1_ep {
2703a6319dfSKishon Vijay Abraham I	phys = <&serdes0_pcie_link>;
2713a6319dfSKishon Vijay Abraham I	phy-names = "pcie-phy";
2723a6319dfSKishon Vijay Abraham I	num-lanes = <2>;
2733a6319dfSKishon Vijay Abraham I	status = "disabled";
2743a6319dfSKishon Vijay Abraham I};
275