xref: /openbmc/linux/arch/arm/boot/dts/ti/omap/am437x-sbc-t43.dts (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright (C) 2015 CompuLab, Ltd. - http://www.compulab.co.il/
4*724ba675SRob Herring */
5*724ba675SRob Herring
6*724ba675SRob Herring#include "am437x-cm-t43.dts"
7*724ba675SRob Herring#include "compulab-sb-som.dtsi"
8*724ba675SRob Herring
9*724ba675SRob Herring/ {
10*724ba675SRob Herring	model = "CompuLab CM-T43 on SB-SOM-T43";
11*724ba675SRob Herring	compatible = "compulab,am437x-sbc-t43", "compulab,am437x-cm-t43", "ti,am4372", "ti,am43";
12*724ba675SRob Herring
13*724ba675SRob Herring	aliases {
14*724ba675SRob Herring		display0 = &lcd0;
15*724ba675SRob Herring	};
16*724ba675SRob Herring};
17*724ba675SRob Herring
18*724ba675SRob Herring&am43xx_pinmux {
19*724ba675SRob Herring	mmc1_pins: mmc1-pins {
20*724ba675SRob Herring		pinctrl-single,pins = <
21*724ba675SRob Herring			AM4372_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */
22*724ba675SRob Herring			AM4372_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
23*724ba675SRob Herring			AM4372_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
24*724ba675SRob Herring			AM4372_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
25*724ba675SRob Herring			AM4372_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
26*724ba675SRob Herring			AM4372_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
27*724ba675SRob Herring			AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
28*724ba675SRob Herring			AM4372_IOPAD(0x964, PIN_INPUT | MUX_MODE7) /* ecap0_in_pwm0_out.gpio0_7 */
29*724ba675SRob Herring		>;
30*724ba675SRob Herring	};
31*724ba675SRob Herring
32*724ba675SRob Herring	dss_pinctrl_default: dss-pinctrl-default-pins {
33*724ba675SRob Herring		pinctrl-single,pins = <
34*724ba675SRob Herring			AM4372_IOPAD(0x9b0, PIN_OUTPUT_PULLUP | MUX_MODE2) /* cam0 hd -> DSS DATA 23 */
35*724ba675SRob Herring			AM4372_IOPAD(0x9b4, PIN_OUTPUT_PULLUP | MUX_MODE2)
36*724ba675SRob Herring			AM4372_IOPAD(0x9b8, PIN_OUTPUT_PULLUP | MUX_MODE2)
37*724ba675SRob Herring			AM4372_IOPAD(0x9bc, PIN_OUTPUT_PULLUP | MUX_MODE2)
38*724ba675SRob Herring			AM4372_IOPAD(0x9c0, PIN_OUTPUT_PULLUP | MUX_MODE2)
39*724ba675SRob Herring			AM4372_IOPAD(0x9c4, PIN_OUTPUT_PULLUP | MUX_MODE2)
40*724ba675SRob Herring			AM4372_IOPAD(0x9c8, PIN_OUTPUT_PULLUP | MUX_MODE2)
41*724ba675SRob Herring			AM4372_IOPAD(0x9cc, PIN_OUTPUT_PULLUP | MUX_MODE2) /* cam1 data 9 -> DSS DATA 16 */
42*724ba675SRob Herring
43*724ba675SRob Herring			AM4372_IOPAD(0x8a0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
44*724ba675SRob Herring			AM4372_IOPAD(0x8a4, PIN_OUTPUT_PULLUP | MUX_MODE0)
45*724ba675SRob Herring			AM4372_IOPAD(0x8a8, PIN_OUTPUT_PULLUP | MUX_MODE0)
46*724ba675SRob Herring			AM4372_IOPAD(0x8ac, PIN_OUTPUT_PULLUP | MUX_MODE0)
47*724ba675SRob Herring			AM4372_IOPAD(0x8b0, PIN_OUTPUT_PULLUP | MUX_MODE0)
48*724ba675SRob Herring			AM4372_IOPAD(0x8b4, PIN_OUTPUT_PULLUP | MUX_MODE0)
49*724ba675SRob Herring			AM4372_IOPAD(0x8b8, PIN_OUTPUT_PULLUP | MUX_MODE0)
50*724ba675SRob Herring			AM4372_IOPAD(0x8bc, PIN_OUTPUT_PULLUP | MUX_MODE0)
51*724ba675SRob Herring			AM4372_IOPAD(0x8c0, PIN_OUTPUT_PULLUP | MUX_MODE0)
52*724ba675SRob Herring			AM4372_IOPAD(0x8c4, PIN_OUTPUT_PULLUP | MUX_MODE0)
53*724ba675SRob Herring			AM4372_IOPAD(0x8c8, PIN_OUTPUT_PULLUP | MUX_MODE0)
54*724ba675SRob Herring			AM4372_IOPAD(0x8cc, PIN_OUTPUT_PULLUP | MUX_MODE0)
55*724ba675SRob Herring			AM4372_IOPAD(0x8d0, PIN_OUTPUT_PULLUP | MUX_MODE0)
56*724ba675SRob Herring			AM4372_IOPAD(0x8d4, PIN_OUTPUT_PULLUP | MUX_MODE0)
57*724ba675SRob Herring			AM4372_IOPAD(0x8d8, PIN_OUTPUT_PULLUP | MUX_MODE0)
58*724ba675SRob Herring			AM4372_IOPAD(0x8dc, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
59*724ba675SRob Herring			AM4372_IOPAD(0x8e0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
60*724ba675SRob Herring			AM4372_IOPAD(0x8e4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
61*724ba675SRob Herring			AM4372_IOPAD(0x8e8, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
62*724ba675SRob Herring			AM4372_IOPAD(0x8ec, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
63*724ba675SRob Herring			AM4372_IOPAD(0xa20, PIN_OUTPUT_PULLUP | MUX_MODE7)
64*724ba675SRob Herring		>;
65*724ba675SRob Herring	};
66*724ba675SRob Herring
67*724ba675SRob Herring	uart0_pins_default: uart0-default-pins {
68*724ba675SRob Herring		pinctrl-single,pins = <
69*724ba675SRob Herring			AM4372_IOPAD(0x968, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0)
70*724ba675SRob Herring			AM4372_IOPAD(0x96C, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0)
71*724ba675SRob Herring			AM4372_IOPAD(0x970, PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart0_rxd.uart0_rxd */
72*724ba675SRob Herring			AM4372_IOPAD(0x974, PIN_INPUT | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart0_txd.uart0_txd */
73*724ba675SRob Herring		>;
74*724ba675SRob Herring	};
75*724ba675SRob Herring
76*724ba675SRob Herring	i2c1_pins: i2c1-pins {
77*724ba675SRob Herring		pinctrl-single,pins = <
78*724ba675SRob Herring			AM4372_IOPAD(0xa6c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1)  /* spi2_cs0.i2c1_sda  */
79*724ba675SRob Herring			AM4372_IOPAD(0xa60, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1)  /* spi2_sclk.i2c1_scl */
80*724ba675SRob Herring		>;
81*724ba675SRob Herring	};
82*724ba675SRob Herring
83*724ba675SRob Herring	i2c2_pins: i2c2-pins {
84*724ba675SRob Herring		pinctrl-single,pins = <
85*724ba675SRob Herring			AM4372_IOPAD(0x978, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE3)  /* uart1_ctsn.i2c2_sda  */
86*724ba675SRob Herring			AM4372_IOPAD(0x97c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE3)  /* uart1_rtsn.i2c2_scl */
87*724ba675SRob Herring		>;
88*724ba675SRob Herring	};
89*724ba675SRob Herring
90*724ba675SRob Herring	usb2_phy1_default: usb2-phy1-default-pins {
91*724ba675SRob Herring		pinctrl-single,pins = <
92*724ba675SRob Herring			AM4372_IOPAD(0xac0, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0)
93*724ba675SRob Herring		>;
94*724ba675SRob Herring	};
95*724ba675SRob Herring
96*724ba675SRob Herring	usb2_phy2_default: usb2-phy2-default-pins {
97*724ba675SRob Herring		pinctrl-single,pins = <
98*724ba675SRob Herring			AM4372_IOPAD(0xac4, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0)
99*724ba675SRob Herring		>;
100*724ba675SRob Herring	};
101*724ba675SRob Herring};
102*724ba675SRob Herring
103*724ba675SRob Herring&i2c1 {
104*724ba675SRob Herring	status = "okay";
105*724ba675SRob Herring	pinctrl-names = "default";
106*724ba675SRob Herring	pinctrl-0 = <&i2c1_pins>;
107*724ba675SRob Herring
108*724ba675SRob Herring	pca9555: pca9555@20 {
109*724ba675SRob Herring		compatible = "nxp,pca9555";
110*724ba675SRob Herring		reg = <0x20>;
111*724ba675SRob Herring		gpio-controller;
112*724ba675SRob Herring		#gpio-cells = <2>;
113*724ba675SRob Herring	};
114*724ba675SRob Herring
115*724ba675SRob Herring	eeprom_base: at24@50 {
116*724ba675SRob Herring		compatible = "atmel,24c02";
117*724ba675SRob Herring		reg = <0x50>;
118*724ba675SRob Herring		pagesize = <16>;
119*724ba675SRob Herring	};
120*724ba675SRob Herring};
121*724ba675SRob Herring
122*724ba675SRob Herring&i2c2 {
123*724ba675SRob Herring	status = "okay";
124*724ba675SRob Herring	pinctrl-names = "default";
125*724ba675SRob Herring	pinctrl-0 = <&i2c2_pins>;
126*724ba675SRob Herring};
127*724ba675SRob Herring
128*724ba675SRob Herring&mmc1 {
129*724ba675SRob Herring	status = "okay";
130*724ba675SRob Herring	bus-width = <4>;
131*724ba675SRob Herring	pinctrl-names = "default";
132*724ba675SRob Herring	pinctrl-0 = <&mmc1_pins>;
133*724ba675SRob Herring	vmmc-supply = <&vsb_3v3>;
134*724ba675SRob Herring	cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
135*724ba675SRob Herring	wp-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
136*724ba675SRob Herring};
137*724ba675SRob Herring
138*724ba675SRob Herring&dss {
139*724ba675SRob Herring	status = "okay";
140*724ba675SRob Herring
141*724ba675SRob Herring	pinctrl-names = "default";
142*724ba675SRob Herring	pinctrl-0 = <&dss_pinctrl_default>;
143*724ba675SRob Herring
144*724ba675SRob Herring	port {
145*724ba675SRob Herring		dpi_lcd_out: endpoint {
146*724ba675SRob Herring			remote-endpoint = <&lcd_in>;
147*724ba675SRob Herring			data-lines = <24>;
148*724ba675SRob Herring		};
149*724ba675SRob Herring	};
150*724ba675SRob Herring};
151*724ba675SRob Herring
152*724ba675SRob Herring&uart0 {
153*724ba675SRob Herring	pinctrl-names = "default";
154*724ba675SRob Herring	pinctrl-0 = <&uart0_pins_default>;
155*724ba675SRob Herring};
156*724ba675SRob Herring
157*724ba675SRob Herring&dwc3_1 {
158*724ba675SRob Herring	pinctrl-names = "default";
159*724ba675SRob Herring	pinctrl-0 = <&usb2_phy1_default>;
160*724ba675SRob Herring};
161*724ba675SRob Herring
162*724ba675SRob Herring&dwc3_2 {
163*724ba675SRob Herring	pinctrl-names = "default";
164*724ba675SRob Herring	pinctrl-0 = <&usb2_phy2_default>;
165*724ba675SRob Herring};
166*724ba675SRob Herring
167*724ba675SRob Herring&lcd0 {
168*724ba675SRob Herring	enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH
169*724ba675SRob Herring			&gpio4 28 GPIO_ACTIVE_HIGH>;
170*724ba675SRob Herring
171*724ba675SRob Herring	port {
172*724ba675SRob Herring		lcd_in: endpoint {
173*724ba675SRob Herring			remote-endpoint = <&dpi_lcd_out>;
174*724ba675SRob Herring			data-lines = <24>;
175*724ba675SRob Herring		};
176*724ba675SRob Herring	};
177*724ba675SRob Herring};
178