162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Support for CompuLab CL-SOM-AM57x System-on-Module
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
662306a36Sopenharmony_ci * Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/dts-v1/;
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1262306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h>
1362306a36Sopenharmony_ci#include "am5728.dtsi"
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci/ {
1662306a36Sopenharmony_ci	model = "CompuLab CL-SOM-AM57x";
1762306a36Sopenharmony_ci	compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	memory@0 {
2062306a36Sopenharmony_ci		device_type = "memory";
2162306a36Sopenharmony_ci		reg = <0x0 0x80000000 0x0 0x20000000>; /* 512 MB - minimal configuration */
2262306a36Sopenharmony_ci	};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	leds {
2562306a36Sopenharmony_ci		compatible = "gpio-leds";
2662306a36Sopenharmony_ci		pinctrl-names = "default";
2762306a36Sopenharmony_ci		pinctrl-0 = <&leds_pins_default>;
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci		led0 {
3062306a36Sopenharmony_ci			label = "cl-som-am57x:green";
3162306a36Sopenharmony_ci			gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
3262306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
3362306a36Sopenharmony_ci			default-state = "off";
3462306a36Sopenharmony_ci		};
3562306a36Sopenharmony_ci	};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	vdd_3v3: fixedregulator-vdd_3v3 {
3862306a36Sopenharmony_ci		compatible = "regulator-fixed";
3962306a36Sopenharmony_ci		regulator-name = "vdd_3v3";
4062306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
4162306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
4262306a36Sopenharmony_ci	};
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci	ads7846reg: fixedregulator-ads7846-reg {
4562306a36Sopenharmony_ci		compatible = "regulator-fixed";
4662306a36Sopenharmony_ci		regulator-name = "ads7846-reg";
4762306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
4862306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
4962306a36Sopenharmony_ci	};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci	sound0: sound0 {
5262306a36Sopenharmony_ci		compatible = "simple-audio-card";
5362306a36Sopenharmony_ci		simple-audio-card,name = "CL-SOM-AM57x-Sound-Card";
5462306a36Sopenharmony_ci		simple-audio-card,format = "i2s";
5562306a36Sopenharmony_ci		simple-audio-card,bitclock-master = <&dailink0_master>;
5662306a36Sopenharmony_ci		simple-audio-card,frame-master = <&dailink0_master>;
5762306a36Sopenharmony_ci		simple-audio-card,widgets =
5862306a36Sopenharmony_ci					"Headphone", "Headphone Jack",
5962306a36Sopenharmony_ci					"Microphone", "Microphone Jack",
6062306a36Sopenharmony_ci					"Line", "Line Jack";
6162306a36Sopenharmony_ci		simple-audio-card,routing =
6262306a36Sopenharmony_ci					"Headphone Jack", "RHPOUT",
6362306a36Sopenharmony_ci					"Headphone Jack", "LHPOUT",
6462306a36Sopenharmony_ci					"LLINEIN", "Line Jack",
6562306a36Sopenharmony_ci					"MICIN", "Mic Bias",
6662306a36Sopenharmony_ci					"Mic Bias", "Microphone Jack";
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci		dailink0_master: simple-audio-card,cpu {
6962306a36Sopenharmony_ci			sound-dai = <&mcasp3>;
7062306a36Sopenharmony_ci		};
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci		simple-audio-card,codec {
7362306a36Sopenharmony_ci			sound-dai = <&wm8731>;
7462306a36Sopenharmony_ci			system-clock-frequency = <12000000>;
7562306a36Sopenharmony_ci		};
7662306a36Sopenharmony_ci	};
7762306a36Sopenharmony_ci};
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci&dra7_pmx_core {
8062306a36Sopenharmony_ci	leds_pins_default: leds-default-pins {
8162306a36Sopenharmony_ci		pinctrl-single,pins = <
8262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x347c, PIN_OUTPUT | MUX_MODE14)	/* gpmc_a15.gpio2_5 */
8362306a36Sopenharmony_ci		>;
8462306a36Sopenharmony_ci	};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	i2c1_pins_default: i2c1-default-pins {
8762306a36Sopenharmony_ci		pinctrl-single,pins = <
8862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda.sda */
8962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl.scl */
9062306a36Sopenharmony_ci		>;
9162306a36Sopenharmony_ci	};
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci	i2c3_pins_default: i2c3-default-pins {
9462306a36Sopenharmony_ci		pinctrl-single,pins = <
9562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x36a4, PIN_INPUT| MUX_MODE10)	/* mcasp1_aclkx.i2c3_sda */
9662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x36a8, PIN_INPUT| MUX_MODE10)	/* mcasp1_fsx.i2c3_scl */
9762306a36Sopenharmony_ci		>;
9862306a36Sopenharmony_ci	};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci	i2c4_pins_default: i2c4-default-pins {
10162306a36Sopenharmony_ci		pinctrl-single,pins = <
10262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x36ac, PIN_INPUT| MUX_MODE10)	/* mcasp1_acl.i2c4_sda */
10362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x36b0, PIN_INPUT| MUX_MODE10)	/* mcasp1_fsr.i2c4_scl */
10462306a36Sopenharmony_ci		>;
10562306a36Sopenharmony_ci	};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	tps659038_pins_default: tps659038-default-pins {
10862306a36Sopenharmony_ci		pinctrl-single,pins = <
10962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3818, PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */
11062306a36Sopenharmony_ci		>;
11162306a36Sopenharmony_ci	};
11262306a36Sopenharmony_ci
11362306a36Sopenharmony_ci	mmc2_pins_default: mmc2-default-pins {
11462306a36Sopenharmony_ci		pinctrl-single,pins = <
11562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
11662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
11762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
11862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
11962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
12062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
12162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
12262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
12362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
12462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
12562306a36Sopenharmony_ci		>;
12662306a36Sopenharmony_ci	};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci	qspi1_pins: qspi1-pins {
12962306a36Sopenharmony_ci		pinctrl-single,pins = <
13062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3474, PIN_INPUT | MUX_MODE1)	/* gpmc_a13.qspi1_rtclk */
13162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3480, PIN_INPUT | MUX_MODE1)	/* gpmc_a16.qspi1_d0 */
13262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3484, PIN_INPUT | MUX_MODE1)	/* gpmc_a17.qspi1_d1 */
13362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3488, PIN_INPUT | MUX_MODE1)	/* qpmc_a18.qspi1_sclk */
13462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34b8, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_cs2.qspi1_cs0 */
13562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x34bc, PIN_INPUT_PULLUP | MUX_MODE1)	/* gpmc_cs3.qspi1_cs1 */
13662306a36Sopenharmony_ci		>;
13762306a36Sopenharmony_ci	};
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci	cpsw_pins_default: cpsw-default-pins {
14062306a36Sopenharmony_ci		pinctrl-single,pins = <
14162306a36Sopenharmony_ci			/* Slave at addr 0x0 */
14262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_tclk */
14362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_tctl */
14462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_td3 */
14562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_td2 */
14662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_td1 */
14762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0)	/* rgmii0_td0 */
14862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rclk */
14962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rctl */
15062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rd3 */
15162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rd2 */
15262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rd1 */
15362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* rgmii0_rd0 */
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci			/* Slave at addr 0x1 */
15662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d12.rgmii1_tclk */
15762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d13.rgmii1_tctl */
15862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d14.rgmii1_td3 */
15962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d15.rgmii1_td2 */
16062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d16.rgmii1_td1 */
16162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3)	/* vin2a_d17.rgmii1_td0 */
16262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */
16362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */
16462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */
16562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */
16662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */
16762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT_PULLDOWN | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */
16862306a36Sopenharmony_ci		>;
16962306a36Sopenharmony_ci	};
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci	cpsw_pins_sleep: cpsw-sleep-pins {
17262306a36Sopenharmony_ci		pinctrl-single,pins = <
17362306a36Sopenharmony_ci			/* Slave 1 */
17462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3650, PIN_INPUT | MUX_MODE15)
17562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3654, PIN_INPUT | MUX_MODE15)
17662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3658, PIN_INPUT | MUX_MODE15)
17762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x365c, PIN_INPUT | MUX_MODE15)
17862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3660, PIN_INPUT | MUX_MODE15)
17962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3664, PIN_INPUT | MUX_MODE15)
18062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE15)
18162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE15)
18262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE15)
18362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE15)
18462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE15)
18562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE15)
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci			/* Slave 2 */
18862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3598, PIN_INPUT | MUX_MODE15)
18962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x359c, PIN_INPUT | MUX_MODE15)
19062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35a0, PIN_INPUT | MUX_MODE15)
19162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35a4, PIN_INPUT | MUX_MODE15)
19262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35a8, PIN_INPUT | MUX_MODE15)
19362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35ac, PIN_INPUT | MUX_MODE15)
19462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE15)
19562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE15)
19662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE15)
19762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE15)
19862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE15)
19962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE15)
20062306a36Sopenharmony_ci		>;
20162306a36Sopenharmony_ci	};
20262306a36Sopenharmony_ci
20362306a36Sopenharmony_ci	davinci_mdio_pins_default: davinci-mdio-default-pins {
20462306a36Sopenharmony_ci		pinctrl-single,pins = <
20562306a36Sopenharmony_ci			/* MDIO */
20662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3590, PIN_OUTPUT_PULLUP | MUX_MODE3)/* vin2a_d10.mdio_mclk */
20762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3594, PIN_INPUT_PULLUP | MUX_MODE3)	/* vin2a_d11.mdio_d */
20862306a36Sopenharmony_ci		>;
20962306a36Sopenharmony_ci	};
21062306a36Sopenharmony_ci
21162306a36Sopenharmony_ci	davinci_mdio_pins_sleep: davinci-mdio-sleep-pins {
21262306a36Sopenharmony_ci		pinctrl-single,pins = <
21362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3590, PIN_INPUT | MUX_MODE15)
21462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3594, PIN_INPUT | MUX_MODE15)
21562306a36Sopenharmony_ci		>;
21662306a36Sopenharmony_ci	};
21762306a36Sopenharmony_ci
21862306a36Sopenharmony_ci	ads7846_pins: ads7846-pins {
21962306a36Sopenharmony_ci		pinctrl-single,pins = <
22062306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3464, PIN_INPUT_PULLDOWN | MUX_MODE14) /* gpmc_a9.gpio1_31 */
22162306a36Sopenharmony_ci		>;
22262306a36Sopenharmony_ci	};
22362306a36Sopenharmony_ci
22462306a36Sopenharmony_ci	mcasp3_pins_default: mcasp3-default-pins {
22562306a36Sopenharmony_ci		pinctrl-single,pins = <
22662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx.mcasp3_aclkx */
22762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx.mcasp3_fsx */
22862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0.mcasp3_axr0 */
22962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1.mcasp3_axr1 */
23062306a36Sopenharmony_ci		>;
23162306a36Sopenharmony_ci	};
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci	mcasp3_pins_sleep: mcasp3-sleep-pins {
23462306a36Sopenharmony_ci		pinctrl-single,pins = <
23562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3724, PIN_INPUT | MUX_MODE15)
23662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3728, PIN_INPUT | MUX_MODE15)
23762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x372c, PIN_INPUT | MUX_MODE15)
23862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT | MUX_MODE15)
23962306a36Sopenharmony_ci		>;
24062306a36Sopenharmony_ci	};
24162306a36Sopenharmony_ci};
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci&i2c1 {
24462306a36Sopenharmony_ci	status = "okay";
24562306a36Sopenharmony_ci	pinctrl-names = "default";
24662306a36Sopenharmony_ci	pinctrl-0 = <&i2c1_pins_default>;
24762306a36Sopenharmony_ci	clock-frequency = <400000>;
24862306a36Sopenharmony_ci};
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci&i2c3 {
25162306a36Sopenharmony_ci	status = "okay";
25262306a36Sopenharmony_ci	pinctrl-names = "default";
25362306a36Sopenharmony_ci	pinctrl-0 = <&i2c3_pins_default>;
25462306a36Sopenharmony_ci	clock-frequency = <400000>;
25562306a36Sopenharmony_ci};
25662306a36Sopenharmony_ci
25762306a36Sopenharmony_ci&i2c4 {
25862306a36Sopenharmony_ci	status = "okay";
25962306a36Sopenharmony_ci	pinctrl-names = "default";
26062306a36Sopenharmony_ci	pinctrl-0 = <&i2c4_pins_default>;
26162306a36Sopenharmony_ci	clock-frequency = <400000>;
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci	tps659038: tps659038@58 {
26462306a36Sopenharmony_ci		compatible = "ti,tps659038";
26562306a36Sopenharmony_ci		reg = <0x58>;
26662306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
26762306a36Sopenharmony_ci		interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci		pinctrl-names = "default";
27062306a36Sopenharmony_ci		pinctrl-0 = <&tps659038_pins_default>;
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci		#interrupt-cells = <2>;
27362306a36Sopenharmony_ci		interrupt-controller;
27462306a36Sopenharmony_ci
27562306a36Sopenharmony_ci		ti,system-power-controller;
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci		tps659038_pmic {
27862306a36Sopenharmony_ci			compatible = "ti,tps659038-pmic";
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ci			regulators {
28162306a36Sopenharmony_ci				smps12_reg: smps12 {
28262306a36Sopenharmony_ci					/* VDD_MPU */
28362306a36Sopenharmony_ci					regulator-name = "smps12";
28462306a36Sopenharmony_ci					regulator-min-microvolt = < 850000>;
28562306a36Sopenharmony_ci					regulator-max-microvolt = <1250000>;
28662306a36Sopenharmony_ci					regulator-always-on;
28762306a36Sopenharmony_ci					regulator-boot-on;
28862306a36Sopenharmony_ci				};
28962306a36Sopenharmony_ci
29062306a36Sopenharmony_ci				smps3_reg: smps3 {
29162306a36Sopenharmony_ci					/* VDD_DDR */
29262306a36Sopenharmony_ci					regulator-name = "smps3";
29362306a36Sopenharmony_ci					regulator-min-microvolt = <1500000>;
29462306a36Sopenharmony_ci					regulator-max-microvolt = <1500000>;
29562306a36Sopenharmony_ci					regulator-always-on;
29662306a36Sopenharmony_ci					regulator-boot-on;
29762306a36Sopenharmony_ci				};
29862306a36Sopenharmony_ci
29962306a36Sopenharmony_ci				smps45_reg: smps45 {
30062306a36Sopenharmony_ci					/* VDD_DSPEVE */
30162306a36Sopenharmony_ci					regulator-name = "smps45";
30262306a36Sopenharmony_ci					regulator-min-microvolt = < 850000>;
30362306a36Sopenharmony_ci					regulator-max-microvolt = <1250000>;
30462306a36Sopenharmony_ci					regulator-always-on;
30562306a36Sopenharmony_ci					regulator-boot-on;
30662306a36Sopenharmony_ci				};
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci				smps6_reg: smps6 {
30962306a36Sopenharmony_ci					/* VDD_GPU */
31062306a36Sopenharmony_ci					regulator-name = "smps6";
31162306a36Sopenharmony_ci					regulator-min-microvolt = < 850000>;
31262306a36Sopenharmony_ci					regulator-max-microvolt = <1250000>;
31362306a36Sopenharmony_ci					regulator-always-on;
31462306a36Sopenharmony_ci					regulator-boot-on;
31562306a36Sopenharmony_ci				};
31662306a36Sopenharmony_ci
31762306a36Sopenharmony_ci				smps7_reg: smps7 {
31862306a36Sopenharmony_ci					/* VDD_CORE */
31962306a36Sopenharmony_ci					regulator-name = "smps7";
32062306a36Sopenharmony_ci					regulator-min-microvolt = < 850000>;
32162306a36Sopenharmony_ci					regulator-max-microvolt = <1160000>;
32262306a36Sopenharmony_ci					regulator-always-on;
32362306a36Sopenharmony_ci					regulator-boot-on;
32462306a36Sopenharmony_ci				};
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci				smps8_reg: smps8 {
32762306a36Sopenharmony_ci					/* VDD_IVA */
32862306a36Sopenharmony_ci					regulator-name = "smps8";
32962306a36Sopenharmony_ci					regulator-min-microvolt = < 850000>;
33062306a36Sopenharmony_ci					regulator-max-microvolt = <1250000>;
33162306a36Sopenharmony_ci					regulator-always-on;
33262306a36Sopenharmony_ci					regulator-boot-on;
33362306a36Sopenharmony_ci				};
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ci				smps9_reg: smps9 {
33662306a36Sopenharmony_ci					/* PMIC_3V3 */
33762306a36Sopenharmony_ci					regulator-name = "smps9";
33862306a36Sopenharmony_ci					regulator-min-microvolt = <3300000>;
33962306a36Sopenharmony_ci					regulator-max-microvolt = <3300000>;
34062306a36Sopenharmony_ci					regulator-always-on;
34162306a36Sopenharmony_ci					regulator-boot-on;
34262306a36Sopenharmony_ci				};
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_ci
34562306a36Sopenharmony_ci				ldo1_reg: ldo1 {
34662306a36Sopenharmony_ci					/* VDD_SD / VDDSHV8  */
34762306a36Sopenharmony_ci					regulator-name = "ldo1";
34862306a36Sopenharmony_ci					regulator-min-microvolt = <1800000>;
34962306a36Sopenharmony_ci					regulator-max-microvolt = <3300000>;
35062306a36Sopenharmony_ci					regulator-boot-on;
35162306a36Sopenharmony_ci					regulator-always-on;
35262306a36Sopenharmony_ci				};
35362306a36Sopenharmony_ci
35462306a36Sopenharmony_ci				ldo2_reg: ldo2 {
35562306a36Sopenharmony_ci					/* VDD_1V8 */
35662306a36Sopenharmony_ci					regulator-name = "ldo2";
35762306a36Sopenharmony_ci					regulator-min-microvolt = <1800000>;
35862306a36Sopenharmony_ci					regulator-max-microvolt = <1800000>;
35962306a36Sopenharmony_ci					regulator-always-on;
36062306a36Sopenharmony_ci					regulator-boot-on;
36162306a36Sopenharmony_ci				};
36262306a36Sopenharmony_ci
36362306a36Sopenharmony_ci				ldo3_reg: ldo3 {
36462306a36Sopenharmony_ci					/* VDDA_1V8_PHYA - supplies VDDA_SATA, VDDA_USB1/2/3 */
36562306a36Sopenharmony_ci					regulator-name = "ldo3";
36662306a36Sopenharmony_ci					regulator-min-microvolt = <1800000>;
36762306a36Sopenharmony_ci					regulator-max-microvolt = <1800000>;
36862306a36Sopenharmony_ci					regulator-always-on;
36962306a36Sopenharmony_ci					regulator-boot-on;
37062306a36Sopenharmony_ci				};
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci				ldo4_reg: ldo4 {
37362306a36Sopenharmony_ci					/* VDDA_1V8_PHYB - supplies VDDA_HDMI, VDDA_PCIE/0/1 */
37462306a36Sopenharmony_ci					regulator-name = "ldo4";
37562306a36Sopenharmony_ci					regulator-min-microvolt = <1800000>;
37662306a36Sopenharmony_ci					regulator-max-microvolt = <1800000>;
37762306a36Sopenharmony_ci					regulator-always-on;
37862306a36Sopenharmony_ci					regulator-boot-on;
37962306a36Sopenharmony_ci				};
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ci				ldo9_reg: ldo9 {
38262306a36Sopenharmony_ci					/* VDD_RTC */
38362306a36Sopenharmony_ci					regulator-name = "ldo9";
38462306a36Sopenharmony_ci					regulator-min-microvolt = <1050000>;
38562306a36Sopenharmony_ci					regulator-max-microvolt = <1050000>;
38662306a36Sopenharmony_ci					regulator-always-on;
38762306a36Sopenharmony_ci					regulator-boot-on;
38862306a36Sopenharmony_ci				};
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_ci				ldoln_reg: ldoln {
39162306a36Sopenharmony_ci					/* VDDA_1V8_PLL */
39262306a36Sopenharmony_ci					regulator-name = "ldoln";
39362306a36Sopenharmony_ci					regulator-min-microvolt = <1800000>;
39462306a36Sopenharmony_ci					regulator-max-microvolt = <1800000>;
39562306a36Sopenharmony_ci					regulator-always-on;
39662306a36Sopenharmony_ci					regulator-boot-on;
39762306a36Sopenharmony_ci				};
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ci				ldousb_reg: ldousb {
40062306a36Sopenharmony_ci					/* VDDA_3V_USB: VDDA_USBHS33 */
40162306a36Sopenharmony_ci					regulator-name = "ldousb";
40262306a36Sopenharmony_ci					regulator-min-microvolt = <3300000>;
40362306a36Sopenharmony_ci					regulator-max-microvolt = <3300000>;
40462306a36Sopenharmony_ci					regulator-always-on;
40562306a36Sopenharmony_ci					regulator-boot-on;
40662306a36Sopenharmony_ci				};
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ci				/* regen1 not used */
40962306a36Sopenharmony_ci			};
41062306a36Sopenharmony_ci		};
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ci		tps659038_pwr_button: tps659038_pwr_button {
41362306a36Sopenharmony_ci			compatible = "ti,palmas-pwrbutton";
41462306a36Sopenharmony_ci			interrupt-parent = <&tps659038>;
41562306a36Sopenharmony_ci			interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
41662306a36Sopenharmony_ci			wakeup-source;
41762306a36Sopenharmony_ci			ti,palmas-long-press-seconds = <12>;
41862306a36Sopenharmony_ci		};
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_ci		tps659038_gpio: tps659038_gpio {
42162306a36Sopenharmony_ci			compatible = "ti,palmas-gpio";
42262306a36Sopenharmony_ci			gpio-controller;
42362306a36Sopenharmony_ci			#gpio-cells = <2>;
42462306a36Sopenharmony_ci		};
42562306a36Sopenharmony_ci	};
42662306a36Sopenharmony_ci
42762306a36Sopenharmony_ci	rtc0: rtc@56 {
42862306a36Sopenharmony_ci		compatible = "emmicro,em3027";
42962306a36Sopenharmony_ci		reg = <0x56>;
43062306a36Sopenharmony_ci	};
43162306a36Sopenharmony_ci
43262306a36Sopenharmony_ci	eeprom_module: atmel@50 {
43362306a36Sopenharmony_ci		compatible = "atmel,24c08";
43462306a36Sopenharmony_ci		reg = <0x50>;
43562306a36Sopenharmony_ci		pagesize = <16>;
43662306a36Sopenharmony_ci	};
43762306a36Sopenharmony_ci
43862306a36Sopenharmony_ci	wm8731: wm8731@1a {
43962306a36Sopenharmony_ci		#sound-dai-cells = <0>;
44062306a36Sopenharmony_ci		compatible = "wlf,wm8731";
44162306a36Sopenharmony_ci		reg = <0x1a>;
44262306a36Sopenharmony_ci		status = "okay";
44362306a36Sopenharmony_ci	};
44462306a36Sopenharmony_ci};
44562306a36Sopenharmony_ci
44662306a36Sopenharmony_ci&cpu0 {
44762306a36Sopenharmony_ci	cpu0-supply = <&smps12_reg>;
44862306a36Sopenharmony_ci	voltage-tolerance = <1>;
44962306a36Sopenharmony_ci};
45062306a36Sopenharmony_ci
45162306a36Sopenharmony_ci&sata {
45262306a36Sopenharmony_ci	status = "okay";
45362306a36Sopenharmony_ci};
45462306a36Sopenharmony_ci
45562306a36Sopenharmony_ci&mailbox5 {
45662306a36Sopenharmony_ci	status = "okay";
45762306a36Sopenharmony_ci	mbox_ipu1_ipc3x: mbox-ipu1-ipc3x {
45862306a36Sopenharmony_ci		status = "okay";
45962306a36Sopenharmony_ci	};
46062306a36Sopenharmony_ci	mbox_dsp1_ipc3x: mbox-dsp1-ipc3x {
46162306a36Sopenharmony_ci		status = "okay";
46262306a36Sopenharmony_ci	};
46362306a36Sopenharmony_ci};
46462306a36Sopenharmony_ci
46562306a36Sopenharmony_ci&mailbox6 {
46662306a36Sopenharmony_ci	status = "okay";
46762306a36Sopenharmony_ci	mbox_ipu2_ipc3x: mbox-ipu2-ipc3x {
46862306a36Sopenharmony_ci		status = "okay";
46962306a36Sopenharmony_ci	};
47062306a36Sopenharmony_ci	mbox_dsp2_ipc3x: mbox-dsp2-ipc3x {
47162306a36Sopenharmony_ci		status = "okay";
47262306a36Sopenharmony_ci	};
47362306a36Sopenharmony_ci};
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ci&mmc2 {
47662306a36Sopenharmony_ci	status = "okay";
47762306a36Sopenharmony_ci
47862306a36Sopenharmony_ci	pinctrl-names = "default";
47962306a36Sopenharmony_ci	pinctrl-0 = <&mmc2_pins_default>;
48062306a36Sopenharmony_ci
48162306a36Sopenharmony_ci	vmmc-supply = <&vdd_3v3>;
48262306a36Sopenharmony_ci	bus-width = <8>;
48362306a36Sopenharmony_ci	ti,non-removable;
48462306a36Sopenharmony_ci	cap-mmc-dual-data-rate;
48562306a36Sopenharmony_ci};
48662306a36Sopenharmony_ci
48762306a36Sopenharmony_ci&qspi {
48862306a36Sopenharmony_ci	status = "okay";
48962306a36Sopenharmony_ci	pinctrl-names = "default";
49062306a36Sopenharmony_ci	pinctrl-0 = <&qspi1_pins>;
49162306a36Sopenharmony_ci
49262306a36Sopenharmony_ci	spi-max-frequency = <48000000>;
49362306a36Sopenharmony_ci
49462306a36Sopenharmony_ci	spi_flash: flash@0 {
49562306a36Sopenharmony_ci		#address-cells = <1>;
49662306a36Sopenharmony_ci		#size-cells = <1>;
49762306a36Sopenharmony_ci		compatible = "spansion,m25p80", "jedec,spi-nor";
49862306a36Sopenharmony_ci		reg = <0>;				/* CS0 */
49962306a36Sopenharmony_ci		spi-max-frequency = <48000000>;
50062306a36Sopenharmony_ci
50162306a36Sopenharmony_ci		partition@0 {
50262306a36Sopenharmony_ci			label = "uboot";
50362306a36Sopenharmony_ci			reg = <0x0 0xc0000>;
50462306a36Sopenharmony_ci		};
50562306a36Sopenharmony_ci
50662306a36Sopenharmony_ci		partition@c0000 {
50762306a36Sopenharmony_ci			label = "uboot environment";
50862306a36Sopenharmony_ci			reg = <0xc0000 0x40000>;
50962306a36Sopenharmony_ci		};
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_ci		partition@100000 {
51262306a36Sopenharmony_ci			label = "reserved";
51362306a36Sopenharmony_ci			reg = <0x100000 0x0>;
51462306a36Sopenharmony_ci		};
51562306a36Sopenharmony_ci	};
51662306a36Sopenharmony_ci
51762306a36Sopenharmony_ci	/* touch controller */
51862306a36Sopenharmony_ci	touchscreen@1 {
51962306a36Sopenharmony_ci		pinctrl-names = "default";
52062306a36Sopenharmony_ci		pinctrl-0 = <&ads7846_pins>;
52162306a36Sopenharmony_ci
52262306a36Sopenharmony_ci		compatible = "ti,ads7846";
52362306a36Sopenharmony_ci		vcc-supply = <&ads7846reg>;
52462306a36Sopenharmony_ci
52562306a36Sopenharmony_ci		reg = <1>;                              /* CS1 */
52662306a36Sopenharmony_ci		spi-max-frequency = <1500000>;
52762306a36Sopenharmony_ci
52862306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
52962306a36Sopenharmony_ci		interrupts = <31 0>;
53062306a36Sopenharmony_ci		pendown-gpio = <&gpio1 31 GPIO_ACTIVE_LOW>;
53162306a36Sopenharmony_ci
53262306a36Sopenharmony_ci
53362306a36Sopenharmony_ci		ti,x-min = /bits/ 16 <0x0>;
53462306a36Sopenharmony_ci		ti,x-max = /bits/ 16 <0x0fff>;
53562306a36Sopenharmony_ci		ti,y-min = /bits/ 16 <0x0>;
53662306a36Sopenharmony_ci		ti,y-max = /bits/ 16 <0x0fff>;
53762306a36Sopenharmony_ci
53862306a36Sopenharmony_ci		ti,x-plate-ohms = /bits/ 16 <180>;
53962306a36Sopenharmony_ci		ti,pressure-max = /bits/ 16 <255>;
54062306a36Sopenharmony_ci
54162306a36Sopenharmony_ci		ti,debounce-max = /bits/ 16 <30>;
54262306a36Sopenharmony_ci		ti,debounce-tol = /bits/ 16 <10>;
54362306a36Sopenharmony_ci		ti,debounce-rep = /bits/ 16 <1>;
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_ci		wakeup-source;
54662306a36Sopenharmony_ci	};
54762306a36Sopenharmony_ci};
54862306a36Sopenharmony_ci
54962306a36Sopenharmony_ci&mac_sw {
55062306a36Sopenharmony_ci	status = "okay";
55162306a36Sopenharmony_ci	pinctrl-names = "default", "sleep";
55262306a36Sopenharmony_ci	pinctrl-0 = <&cpsw_pins_default>;
55362306a36Sopenharmony_ci	pinctrl-1 = <&cpsw_pins_sleep>;
55462306a36Sopenharmony_ci};
55562306a36Sopenharmony_ci
55662306a36Sopenharmony_ci&cpsw_port1 {
55762306a36Sopenharmony_ci	phy-handle = <&ethphy0>;
55862306a36Sopenharmony_ci	phy-mode = "rgmii-txid";
55962306a36Sopenharmony_ci	ti,dual-emac-pvid = <1>;
56062306a36Sopenharmony_ci};
56162306a36Sopenharmony_ci
56262306a36Sopenharmony_ci&cpsw_port2 {
56362306a36Sopenharmony_ci	phy-handle = <&ethphy1>;
56462306a36Sopenharmony_ci	phy-mode = "rgmii-txid";
56562306a36Sopenharmony_ci	ti,dual-emac-pvid = <2>;
56662306a36Sopenharmony_ci};
56762306a36Sopenharmony_ci
56862306a36Sopenharmony_ci&davinci_mdio_sw {
56962306a36Sopenharmony_ci	pinctrl-names = "default", "sleep";
57062306a36Sopenharmony_ci	pinctrl-0 = <&davinci_mdio_pins_default>;
57162306a36Sopenharmony_ci	pinctrl-1 = <&davinci_mdio_pins_sleep>;
57262306a36Sopenharmony_ci
57362306a36Sopenharmony_ci	ethphy0: ethernet-phy@0 {
57462306a36Sopenharmony_ci		reg = <0>;
57562306a36Sopenharmony_ci	};
57662306a36Sopenharmony_ci
57762306a36Sopenharmony_ci	ethphy1: ethernet-phy@1 {
57862306a36Sopenharmony_ci		reg = <1>;
57962306a36Sopenharmony_ci	};
58062306a36Sopenharmony_ci};
58162306a36Sopenharmony_ci
58262306a36Sopenharmony_ci&usb2_phy1 {
58362306a36Sopenharmony_ci	phy-supply = <&ldousb_reg>;
58462306a36Sopenharmony_ci};
58562306a36Sopenharmony_ci
58662306a36Sopenharmony_ci&usb2_phy2 {
58762306a36Sopenharmony_ci	phy-supply = <&ldousb_reg>;
58862306a36Sopenharmony_ci};
58962306a36Sopenharmony_ci
59062306a36Sopenharmony_ci&usb1 {
59162306a36Sopenharmony_ci	dr_mode = "host";
59262306a36Sopenharmony_ci};
59362306a36Sopenharmony_ci
59462306a36Sopenharmony_ci&usb2 {
59562306a36Sopenharmony_ci	dr_mode = "host";
59662306a36Sopenharmony_ci};
59762306a36Sopenharmony_ci
59862306a36Sopenharmony_ci&mcasp3 {
59962306a36Sopenharmony_ci	#sound-dai-cells = <0>;
60062306a36Sopenharmony_ci	pinctrl-names = "default", "sleep";
60162306a36Sopenharmony_ci	pinctrl-0 = <&mcasp3_pins_default>;
60262306a36Sopenharmony_ci	pinctrl-1 = <&mcasp3_pins_sleep>;
60362306a36Sopenharmony_ci	status = "okay";
60462306a36Sopenharmony_ci
60562306a36Sopenharmony_ci	op-mode = <0>;	/* MCASP_IIS_MODE */
60662306a36Sopenharmony_ci	tdm-slots = <2>;
60762306a36Sopenharmony_ci	/* 4 serializers */
60862306a36Sopenharmony_ci	serial-dir = <	/* 0: INACTIVE, 1: TX, 2: RX */
60962306a36Sopenharmony_ci		1 2 0 0
61062306a36Sopenharmony_ci	>;
61162306a36Sopenharmony_ci};
61262306a36Sopenharmony_ci
61362306a36Sopenharmony_ci&gpio3_target {
61462306a36Sopenharmony_ci	ti,no-reset-on-init;
61562306a36Sopenharmony_ci};
61662306a36Sopenharmony_ci
61762306a36Sopenharmony_ci&gpio2_target {
61862306a36Sopenharmony_ci	status = "okay";
61962306a36Sopenharmony_ci	ti,no-reset-on-init;
62062306a36Sopenharmony_ci};
62162306a36Sopenharmony_ci
62262306a36Sopenharmony_ci&pruss1_mdio {
62362306a36Sopenharmony_ci	status = "disabled";
62462306a36Sopenharmony_ci};
62562306a36Sopenharmony_ci
62662306a36Sopenharmony_ci&pruss2_mdio {
62762306a36Sopenharmony_ci	status = "disabled";
62862306a36Sopenharmony_ci};
629