1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Copyright (C) 2015 Jablotron s.r.o. -- https://www.jablotron.com/
4*724ba675SRob Herring * Author: Rostislav Lisovy <lisovy@jablotron.cz>
5*724ba675SRob Herring */
6*724ba675SRob Herring/dts-v1/;
7*724ba675SRob Herring#include "am335x-chilisom.dtsi"
8*724ba675SRob Herring
9*724ba675SRob Herring/ {
10*724ba675SRob Herring	model = "AM335x Chiliboard";
11*724ba675SRob Herring	compatible = "grinn,am335x-chiliboard", "grinn,am335x-chilisom",
12*724ba675SRob Herring		     "ti,am33xx";
13*724ba675SRob Herring
14*724ba675SRob Herring	chosen {
15*724ba675SRob Herring		stdout-path = &uart0;
16*724ba675SRob Herring	};
17*724ba675SRob Herring
18*724ba675SRob Herring	leds {
19*724ba675SRob Herring		compatible = "gpio-leds";
20*724ba675SRob Herring		pinctrl-names = "default";
21*724ba675SRob Herring		pinctrl-0 = <&led_gpio_pins>;
22*724ba675SRob Herring
23*724ba675SRob Herring		led0 {
24*724ba675SRob Herring			label = "led0";
25*724ba675SRob Herring			gpios = <&gpio3 7 GPIO_ACTIVE_LOW>;
26*724ba675SRob Herring			default-state = "keep";
27*724ba675SRob Herring			linux,default-trigger = "heartbeat";
28*724ba675SRob Herring		};
29*724ba675SRob Herring
30*724ba675SRob Herring		led1 {
31*724ba675SRob Herring			label = "led1";
32*724ba675SRob Herring			gpios = <&gpio3 8 GPIO_ACTIVE_LOW>;
33*724ba675SRob Herring			default-state = "keep";
34*724ba675SRob Herring		};
35*724ba675SRob Herring	};
36*724ba675SRob Herring};
37*724ba675SRob Herring
38*724ba675SRob Herring&am33xx_pinmux {
39*724ba675SRob Herring	uart0_pins: uart0-pins {
40*724ba675SRob Herring		pinctrl-single,pins = <
41*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
42*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
43*724ba675SRob Herring		>;
44*724ba675SRob Herring	};
45*724ba675SRob Herring
46*724ba675SRob Herring	cpsw_default: cpsw-default-pins {
47*724ba675SRob Herring		pinctrl-single,pins = <
48*724ba675SRob Herring			/* Slave 1 */
49*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_CRS, PIN_INPUT_PULLDOWN, MUX_MODE1)
50*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLUP, MUX_MODE1)
51*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE1)
52*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE1)
53*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE1)
54*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLUP, MUX_MODE1)
55*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLUP, MUX_MODE1)
56*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLDOWN, MUX_MODE0)
57*724ba675SRob Herring		>;
58*724ba675SRob Herring	};
59*724ba675SRob Herring
60*724ba675SRob Herring	cpsw_sleep: cpsw-sleep-pins {
61*724ba675SRob Herring		pinctrl-single,pins = <
62*724ba675SRob Herring			/* Slave 1 reset value */
63*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_CRS, PIN_INPUT_PULLDOWN, MUX_MODE7)
64*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLDOWN, MUX_MODE7)
65*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLDOWN, MUX_MODE7)
66*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE7)
67*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
68*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
69*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
70*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
71*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
72*724ba675SRob Herring		>;
73*724ba675SRob Herring	};
74*724ba675SRob Herring
75*724ba675SRob Herring	davinci_mdio_default: davinci-mdio-default-pins {
76*724ba675SRob Herring		pinctrl-single,pins = <
77*724ba675SRob Herring			/* mdio_data.mdio_data */
78*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
79*724ba675SRob Herring			/* mdio_clk.mdio_clk */
80*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)
81*724ba675SRob Herring		>;
82*724ba675SRob Herring	};
83*724ba675SRob Herring
84*724ba675SRob Herring	davinci_mdio_sleep: davinci-mdio-sleep-pins {
85*724ba675SRob Herring		pinctrl-single,pins = <
86*724ba675SRob Herring			/* MDIO reset value */
87*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLDOWN, MUX_MODE7)
88*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_INPUT_PULLDOWN, MUX_MODE7)
89*724ba675SRob Herring		>;
90*724ba675SRob Herring	};
91*724ba675SRob Herring
92*724ba675SRob Herring	usb1_drvvbus: usb1-drvvbus-pins {
93*724ba675SRob Herring		pinctrl-single,pins = <
94*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_USB1_DRVVBUS, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
95*724ba675SRob Herring		>;
96*724ba675SRob Herring	};
97*724ba675SRob Herring
98*724ba675SRob Herring	sd_pins: sd-card-pins {
99*724ba675SRob Herring		pinctrl-single,pins = <
100*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT, MUX_MODE0)
101*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT, MUX_MODE0)
102*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT, MUX_MODE0)
103*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT, MUX_MODE0)
104*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT, MUX_MODE0)
105*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT, MUX_MODE0)
106*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT, MUX_MODE7) /* spi0_cs1.gpio0_6 */
107*724ba675SRob Herring		>;
108*724ba675SRob Herring	};
109*724ba675SRob Herring
110*724ba675SRob Herring	led_gpio_pins: led-gpio-pins {
111*724ba675SRob Herring		pinctrl-single,pins = <
112*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_EMU0, PIN_OUTPUT, MUX_MODE7) /* emu0.gpio3_7 */
113*724ba675SRob Herring			AM33XX_PADCONF(AM335X_PIN_EMU1, PIN_OUTPUT, MUX_MODE7) /* emu1.gpio3_8 */
114*724ba675SRob Herring		>;
115*724ba675SRob Herring	};
116*724ba675SRob Herring};
117*724ba675SRob Herring
118*724ba675SRob Herring&uart0 {
119*724ba675SRob Herring	pinctrl-names = "default";
120*724ba675SRob Herring	pinctrl-0 = <&uart0_pins>;
121*724ba675SRob Herring
122*724ba675SRob Herring	status = "okay";
123*724ba675SRob Herring};
124*724ba675SRob Herring
125*724ba675SRob Herring&ldo4_reg {
126*724ba675SRob Herring	regulator-min-microvolt = <3300000>;
127*724ba675SRob Herring	regulator-max-microvolt = <3300000>;
128*724ba675SRob Herring};
129*724ba675SRob Herring
130*724ba675SRob Herring/* Ethernet */
131*724ba675SRob Herring&mac_sw {
132*724ba675SRob Herring	pinctrl-names = "default", "sleep";
133*724ba675SRob Herring	pinctrl-0 = <&cpsw_default>;
134*724ba675SRob Herring	pinctrl-1 = <&cpsw_sleep>;
135*724ba675SRob Herring	status = "okay";
136*724ba675SRob Herring};
137*724ba675SRob Herring
138*724ba675SRob Herring&davinci_mdio_sw {
139*724ba675SRob Herring	pinctrl-names = "default", "sleep";
140*724ba675SRob Herring	pinctrl-0 = <&davinci_mdio_default>;
141*724ba675SRob Herring	pinctrl-1 = <&davinci_mdio_sleep>;
142*724ba675SRob Herring
143*724ba675SRob Herring	ethphy0: ethernet-phy@0 {
144*724ba675SRob Herring		reg = <0>;
145*724ba675SRob Herring	};
146*724ba675SRob Herring};
147*724ba675SRob Herring
148*724ba675SRob Herring&cpsw_port1 {
149*724ba675SRob Herring	phy-handle = <&ethphy0>;
150*724ba675SRob Herring	phy-mode = "rmii";
151*724ba675SRob Herring	ti,dual-emac-pvid = <1>;
152*724ba675SRob Herring};
153*724ba675SRob Herring
154*724ba675SRob Herring&cpsw_port2 {
155*724ba675SRob Herring	status = "disabled";
156*724ba675SRob Herring};
157*724ba675SRob Herring
158*724ba675SRob Herring/* USB */
159*724ba675SRob Herring&usb1 {
160*724ba675SRob Herring	pinctrl-names = "default";
161*724ba675SRob Herring	pinctrl-0 = <&usb1_drvvbus>;
162*724ba675SRob Herring	dr_mode = "host";
163*724ba675SRob Herring};
164*724ba675SRob Herring
165*724ba675SRob Herring/* microSD */
166*724ba675SRob Herring&mmc1 {
167*724ba675SRob Herring	pinctrl-names = "default";
168*724ba675SRob Herring	pinctrl-0 = <&sd_pins>;
169*724ba675SRob Herring	vmmc-supply = <&ldo4_reg>;
170*724ba675SRob Herring	bus-width = <0x4>;
171*724ba675SRob Herring	cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
172*724ba675SRob Herring	status = "okay";
173*724ba675SRob Herring};
174*724ba675SRob Herring
175*724ba675SRob Herring&tps {
176*724ba675SRob Herring	interrupt-parent = <&intc>;
177*724ba675SRob Herring	interrupts = <7>; /* NNMI */
178*724ba675SRob Herring
179*724ba675SRob Herring	charger {
180*724ba675SRob Herring		status = "okay";
181*724ba675SRob Herring	};
182*724ba675SRob Herring
183*724ba675SRob Herring	pwrbutton {
184*724ba675SRob Herring		status = "okay";
185*724ba675SRob Herring	};
186*724ba675SRob Herring};
187