162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2015 Jablotron s.r.o. -- https://www.jablotron.com/
462306a36Sopenharmony_ci * Author: Rostislav Lisovy <lisovy@jablotron.cz>
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci/dts-v1/;
762306a36Sopenharmony_ci#include "am335x-chilisom.dtsi"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	model = "AM335x Chiliboard";
1162306a36Sopenharmony_ci	compatible = "grinn,am335x-chiliboard", "grinn,am335x-chilisom",
1262306a36Sopenharmony_ci		     "ti,am33xx";
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci	chosen {
1562306a36Sopenharmony_ci		stdout-path = &uart0;
1662306a36Sopenharmony_ci	};
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	leds {
1962306a36Sopenharmony_ci		compatible = "gpio-leds";
2062306a36Sopenharmony_ci		pinctrl-names = "default";
2162306a36Sopenharmony_ci		pinctrl-0 = <&led_gpio_pins>;
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci		led0 {
2462306a36Sopenharmony_ci			label = "led0";
2562306a36Sopenharmony_ci			gpios = <&gpio3 7 GPIO_ACTIVE_LOW>;
2662306a36Sopenharmony_ci			default-state = "keep";
2762306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
2862306a36Sopenharmony_ci		};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci		led1 {
3162306a36Sopenharmony_ci			label = "led1";
3262306a36Sopenharmony_ci			gpios = <&gpio3 8 GPIO_ACTIVE_LOW>;
3362306a36Sopenharmony_ci			default-state = "keep";
3462306a36Sopenharmony_ci		};
3562306a36Sopenharmony_ci	};
3662306a36Sopenharmony_ci};
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci&am33xx_pinmux {
3962306a36Sopenharmony_ci	uart0_pins: uart0-pins {
4062306a36Sopenharmony_ci		pinctrl-single,pins = <
4162306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
4262306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
4362306a36Sopenharmony_ci		>;
4462306a36Sopenharmony_ci	};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	cpsw_default: cpsw-default-pins {
4762306a36Sopenharmony_ci		pinctrl-single,pins = <
4862306a36Sopenharmony_ci			/* Slave 1 */
4962306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_CRS, PIN_INPUT_PULLDOWN, MUX_MODE1)
5062306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLUP, MUX_MODE1)
5162306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE1)
5262306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE1)
5362306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE1)
5462306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLUP, MUX_MODE1)
5562306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLUP, MUX_MODE1)
5662306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLDOWN, MUX_MODE0)
5762306a36Sopenharmony_ci		>;
5862306a36Sopenharmony_ci	};
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	cpsw_sleep: cpsw-sleep-pins {
6162306a36Sopenharmony_ci		pinctrl-single,pins = <
6262306a36Sopenharmony_ci			/* Slave 1 reset value */
6362306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_CRS, PIN_INPUT_PULLDOWN, MUX_MODE7)
6462306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, PIN_INPUT_PULLDOWN, MUX_MODE7)
6562306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLDOWN, MUX_MODE7)
6662306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE7)
6762306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
6862306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
6962306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE7)
7062306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE7)
7162306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_RMII1_REF_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
7262306a36Sopenharmony_ci		>;
7362306a36Sopenharmony_ci	};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	davinci_mdio_default: davinci-mdio-default-pins {
7662306a36Sopenharmony_ci		pinctrl-single,pins = <
7762306a36Sopenharmony_ci			/* mdio_data.mdio_data */
7862306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
7962306a36Sopenharmony_ci			/* mdio_clk.mdio_clk */
8062306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)
8162306a36Sopenharmony_ci		>;
8262306a36Sopenharmony_ci	};
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci	davinci_mdio_sleep: davinci-mdio-sleep-pins {
8562306a36Sopenharmony_ci		pinctrl-single,pins = <
8662306a36Sopenharmony_ci			/* MDIO reset value */
8762306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLDOWN, MUX_MODE7)
8862306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MDC, PIN_INPUT_PULLDOWN, MUX_MODE7)
8962306a36Sopenharmony_ci		>;
9062306a36Sopenharmony_ci	};
9162306a36Sopenharmony_ci
9262306a36Sopenharmony_ci	usb1_drvvbus: usb1-drvvbus-pins {
9362306a36Sopenharmony_ci		pinctrl-single,pins = <
9462306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_USB1_DRVVBUS, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
9562306a36Sopenharmony_ci		>;
9662306a36Sopenharmony_ci	};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci	sd_pins: sd-card-pins {
9962306a36Sopenharmony_ci		pinctrl-single,pins = <
10062306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT3, PIN_INPUT, MUX_MODE0)
10162306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT2, PIN_INPUT, MUX_MODE0)
10262306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT1, PIN_INPUT, MUX_MODE0)
10362306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MMC0_DAT0, PIN_INPUT, MUX_MODE0)
10462306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MMC0_CLK, PIN_INPUT, MUX_MODE0)
10562306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_MMC0_CMD, PIN_INPUT, MUX_MODE0)
10662306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_SPI0_CS1, PIN_INPUT, MUX_MODE7) /* spi0_cs1.gpio0_6 */
10762306a36Sopenharmony_ci		>;
10862306a36Sopenharmony_ci	};
10962306a36Sopenharmony_ci
11062306a36Sopenharmony_ci	led_gpio_pins: led-gpio-pins {
11162306a36Sopenharmony_ci		pinctrl-single,pins = <
11262306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_EMU0, PIN_OUTPUT, MUX_MODE7) /* emu0.gpio3_7 */
11362306a36Sopenharmony_ci			AM33XX_PADCONF(AM335X_PIN_EMU1, PIN_OUTPUT, MUX_MODE7) /* emu1.gpio3_8 */
11462306a36Sopenharmony_ci		>;
11562306a36Sopenharmony_ci	};
11662306a36Sopenharmony_ci};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci&uart0 {
11962306a36Sopenharmony_ci	pinctrl-names = "default";
12062306a36Sopenharmony_ci	pinctrl-0 = <&uart0_pins>;
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci	status = "okay";
12362306a36Sopenharmony_ci};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci&ldo4_reg {
12662306a36Sopenharmony_ci	regulator-min-microvolt = <3300000>;
12762306a36Sopenharmony_ci	regulator-max-microvolt = <3300000>;
12862306a36Sopenharmony_ci};
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ci/* Ethernet */
13162306a36Sopenharmony_ci&mac_sw {
13262306a36Sopenharmony_ci	pinctrl-names = "default", "sleep";
13362306a36Sopenharmony_ci	pinctrl-0 = <&cpsw_default>;
13462306a36Sopenharmony_ci	pinctrl-1 = <&cpsw_sleep>;
13562306a36Sopenharmony_ci	status = "okay";
13662306a36Sopenharmony_ci};
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ci&davinci_mdio_sw {
13962306a36Sopenharmony_ci	pinctrl-names = "default", "sleep";
14062306a36Sopenharmony_ci	pinctrl-0 = <&davinci_mdio_default>;
14162306a36Sopenharmony_ci	pinctrl-1 = <&davinci_mdio_sleep>;
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci	ethphy0: ethernet-phy@0 {
14462306a36Sopenharmony_ci		reg = <0>;
14562306a36Sopenharmony_ci	};
14662306a36Sopenharmony_ci};
14762306a36Sopenharmony_ci
14862306a36Sopenharmony_ci&cpsw_port1 {
14962306a36Sopenharmony_ci	phy-handle = <&ethphy0>;
15062306a36Sopenharmony_ci	phy-mode = "rmii";
15162306a36Sopenharmony_ci	ti,dual-emac-pvid = <1>;
15262306a36Sopenharmony_ci};
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci&cpsw_port2 {
15562306a36Sopenharmony_ci	status = "disabled";
15662306a36Sopenharmony_ci};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci/* USB */
15962306a36Sopenharmony_ci&usb1 {
16062306a36Sopenharmony_ci	pinctrl-names = "default";
16162306a36Sopenharmony_ci	pinctrl-0 = <&usb1_drvvbus>;
16262306a36Sopenharmony_ci	dr_mode = "host";
16362306a36Sopenharmony_ci};
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci/* microSD */
16662306a36Sopenharmony_ci&mmc1 {
16762306a36Sopenharmony_ci	pinctrl-names = "default";
16862306a36Sopenharmony_ci	pinctrl-0 = <&sd_pins>;
16962306a36Sopenharmony_ci	vmmc-supply = <&ldo4_reg>;
17062306a36Sopenharmony_ci	bus-width = <0x4>;
17162306a36Sopenharmony_ci	cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
17262306a36Sopenharmony_ci	status = "okay";
17362306a36Sopenharmony_ci};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci&tps {
17662306a36Sopenharmony_ci	interrupt-parent = <&intc>;
17762306a36Sopenharmony_ci	interrupts = <7>; /* NNMI */
17862306a36Sopenharmony_ci
17962306a36Sopenharmony_ci	charger {
18062306a36Sopenharmony_ci		status = "okay";
18162306a36Sopenharmony_ci	};
18262306a36Sopenharmony_ci
18362306a36Sopenharmony_ci	pwrbutton {
18462306a36Sopenharmony_ci		status = "okay";
18562306a36Sopenharmony_ci	};
18662306a36Sopenharmony_ci};
187