162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci/ {
462306a36Sopenharmony_ci	gpio_keys {
562306a36Sopenharmony_ci		compatible = "gpio-keys";
662306a36Sopenharmony_ci		pinctrl-names = "default";
762306a36Sopenharmony_ci		pinctrl-0 = <&gpio_key_pins>;
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci		sysboot2 {
1062306a36Sopenharmony_ci			label = "gpio3";
1162306a36Sopenharmony_ci			gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;	/* gpio_111 / uP_GPIO_3 */
1262306a36Sopenharmony_ci			linux,code = <BTN_0>;
1362306a36Sopenharmony_ci			wakeup-source;
1462306a36Sopenharmony_ci		};
1562306a36Sopenharmony_ci	};
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci	sound {
1862306a36Sopenharmony_ci		compatible = "ti,omap-twl4030";
1962306a36Sopenharmony_ci		ti,model = "omap3logic";
2062306a36Sopenharmony_ci		ti,mcbsp = <&mcbsp2>;
2162306a36Sopenharmony_ci	};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	leds {
2462306a36Sopenharmony_ci		compatible = "gpio-leds";
2562306a36Sopenharmony_ci		pinctrl-names = "default";
2662306a36Sopenharmony_ci		pinctrl-0 = <&led_pins &led_pins_wkup>;
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci		led1 {
2962306a36Sopenharmony_ci			label = "led1";
3062306a36Sopenharmony_ci			gpios = <&gpio5 5 GPIO_ACTIVE_LOW>;	/* gpio133 */
3162306a36Sopenharmony_ci			linux,default-trigger = "cpu0";
3262306a36Sopenharmony_ci		};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci		led2 {
3562306a36Sopenharmony_ci			label = "led2";
3662306a36Sopenharmony_ci			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;	/* gpio11 */
3762306a36Sopenharmony_ci			linux,default-trigger = "none";
3862306a36Sopenharmony_ci		};
3962306a36Sopenharmony_ci	};
4062306a36Sopenharmony_ci};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci&vaux1 {
4362306a36Sopenharmony_ci	regulator-min-microvolt = <3000000>;
4462306a36Sopenharmony_ci	regulator-max-microvolt = <3000000>;
4562306a36Sopenharmony_ci};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci&vaux4 {
4862306a36Sopenharmony_ci	regulator-min-microvolt = <1800000>;
4962306a36Sopenharmony_ci	regulator-max-microvolt = <1800000>;
5062306a36Sopenharmony_ci};
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci&mcbsp2 {
5362306a36Sopenharmony_ci	status = "okay";
5462306a36Sopenharmony_ci	pinctrl-names = "default";
5562306a36Sopenharmony_ci	pinctrl-0 = <&mcbsp2_pins>;
5662306a36Sopenharmony_ci};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci&charger {
5962306a36Sopenharmony_ci	ti,bb-uvolt = <3200000>;
6062306a36Sopenharmony_ci	ti,bb-uamp = <150>;
6162306a36Sopenharmony_ci};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci&gpmc {
6462306a36Sopenharmony_ci	ranges = <0 0 0x30000000 0x1000000	/* CS0: 16MB for NAND */
6562306a36Sopenharmony_ci		  1 0 0x2c000000 0x1000000	/* CS1: 16MB for LAN9221 */
6662306a36Sopenharmony_ci		  2 0 0x10000000 0x2000000>;    /* CS2: 32MB for NOR */
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci	ethernet@gpmc {
6962306a36Sopenharmony_ci		pinctrl-names = "default";
7062306a36Sopenharmony_ci		pinctrl-0 = <&lan9221_pins>;
7162306a36Sopenharmony_ci		interrupt-parent = <&gpio5>;
7262306a36Sopenharmony_ci		interrupts = <24 IRQ_TYPE_LEVEL_LOW>;		/* gpio_152 */
7362306a36Sopenharmony_ci		reg = <1 0 0xff>;
7462306a36Sopenharmony_ci	};
7562306a36Sopenharmony_ci};
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci&vpll2 {
7862306a36Sopenharmony_ci	regulator-always-on;
7962306a36Sopenharmony_ci};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci&dss {
8262306a36Sopenharmony_ci	status = "okay";
8362306a36Sopenharmony_ci	vdds_dsi-supply = <&vpll2>;
8462306a36Sopenharmony_ci	vdda_video-supply = <&video_reg>;
8562306a36Sopenharmony_ci	pinctrl-names = "default";
8662306a36Sopenharmony_ci	pinctrl-0 = <&dss_dpi_pins1>;
8762306a36Sopenharmony_ci	port {
8862306a36Sopenharmony_ci		dpi_out: endpoint {
8962306a36Sopenharmony_ci			remote-endpoint = <&lcd_in>;
9062306a36Sopenharmony_ci			data-lines = <16>;
9162306a36Sopenharmony_ci		};
9262306a36Sopenharmony_ci	};
9362306a36Sopenharmony_ci};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci/ {
9662306a36Sopenharmony_ci	aliases {
9762306a36Sopenharmony_ci		display0 = &lcd0;
9862306a36Sopenharmony_ci	};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci	video_reg: video_reg {
10162306a36Sopenharmony_ci		compatible = "regulator-fixed";
10262306a36Sopenharmony_ci		regulator-name = "fixed-supply";
10362306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
10462306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
10562306a36Sopenharmony_ci	};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	lcd0: display {
10862306a36Sopenharmony_ci		/* This isn't the exact LCD, but the timings meet spec */
10962306a36Sopenharmony_ci		compatible = "logicpd,type28";
11062306a36Sopenharmony_ci		pinctrl-names = "default";
11162306a36Sopenharmony_ci		pinctrl-0 = <&lcd_enable_pin>;
11262306a36Sopenharmony_ci		backlight = <&bl>;
11362306a36Sopenharmony_ci		enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;
11462306a36Sopenharmony_ci		port {
11562306a36Sopenharmony_ci			lcd_in: endpoint {
11662306a36Sopenharmony_ci				remote-endpoint = <&dpi_out>;
11762306a36Sopenharmony_ci			};
11862306a36Sopenharmony_ci		};
11962306a36Sopenharmony_ci	};
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci	bl: backlight {
12262306a36Sopenharmony_ci		compatible = "pwm-backlight";
12362306a36Sopenharmony_ci		pinctrl-names = "default";
12462306a36Sopenharmony_ci		pinctrl-0 = <&backlight_pins>;
12562306a36Sopenharmony_ci		pwms = <&twl_pwm 0 5000000>;
12662306a36Sopenharmony_ci		brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
12762306a36Sopenharmony_ci		default-brightness-level = <7>;
12862306a36Sopenharmony_ci		enable-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* gpio_8 */
12962306a36Sopenharmony_ci	};
13062306a36Sopenharmony_ci};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci&mmc1 {
13362306a36Sopenharmony_ci	interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>;
13462306a36Sopenharmony_ci	pinctrl-names = "default";
13562306a36Sopenharmony_ci	pinctrl-0 = <&mmc1_pins>;
13662306a36Sopenharmony_ci	wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;		/* gpio_126 */
13762306a36Sopenharmony_ci	cd-gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;			/* gpio_110 */
13862306a36Sopenharmony_ci	vmmc-supply = <&vmmc1>;
13962306a36Sopenharmony_ci	bus-width = <4>;
14062306a36Sopenharmony_ci	cap-power-off-card;
14162306a36Sopenharmony_ci};
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci&omap3_pmx_core {
14462306a36Sopenharmony_ci	gpio_key_pins: gpio-key-pins {
14562306a36Sopenharmony_ci		pinctrl-single,pins = <
14662306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT_PULLUP | MUX_MODE4)	/* cam_xclkb.gpio_111 / uP_GPIO_3*/
14762306a36Sopenharmony_ci		>;
14862306a36Sopenharmony_ci	};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci	led_pins: led-pins {
15162306a36Sopenharmony_ci		pinctrl-single,pins = <
15262306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x215e, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* sdmmc2_dat1.gpio_133 / uP_GPIO_0 */
15362306a36Sopenharmony_ci		>;
15462306a36Sopenharmony_ci	};
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci	lan9221_pins: lan9221-pins {
15762306a36Sopenharmony_ci		pinctrl-single,pins = <
15862306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT_PULLUP | MUX_MODE4)	/* mcbsp4_clkx.gpio_152 */
15962306a36Sopenharmony_ci		>;
16062306a36Sopenharmony_ci	};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci	mmc1_pins: mmc1-pins {
16362306a36Sopenharmony_ci		pinctrl-single,pins = <
16462306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2144, PIN_OUTPUT | MUX_MODE0)	/* sdmmc1_clk.sdmmc1_clk */
16562306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT | MUX_MODE0)	/* sdmmc1_cmd.sdmmc1_cmd */
16662306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT | MUX_MODE0)	/* sdmmc1_dat0.sdmmc1_dat0 */
16762306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT | MUX_MODE0)	/* sdmmc1_dat1.sdmmc1_dat1 */
16862306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT | MUX_MODE0)	/* sdmmc1_dat2.sdmmc1_dat2 */
16962306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT | MUX_MODE0)	/* sdmmc1_dat3.sdmmc1_dat3 */
17062306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x2132, PIN_INPUT_PULLUP | MUX_MODE4)	/* cam_strobe.gpio_126 */
17162306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT_PULLUP | MUX_MODE4)	/* cam_d11.gpio_110 */
17262306a36Sopenharmony_ci		>;
17362306a36Sopenharmony_ci	};
17462306a36Sopenharmony_ci
17562306a36Sopenharmony_ci	lcd_enable_pin: lcd-enable-pins {
17662306a36Sopenharmony_ci		pinctrl-single,pins = <
17762306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4)       /* mcbsp4_fs.gpio_155 */
17862306a36Sopenharmony_ci		>;
17962306a36Sopenharmony_ci	};
18062306a36Sopenharmony_ci
18162306a36Sopenharmony_ci	dss_dpi_pins1: dss-dpi1-pins {
18262306a36Sopenharmony_ci		pinctrl-single,pins = <
18362306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_pclk.dss_pclk */
18462306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_hsync.dss_hsync */
18562306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_vsync.dss_vsync */
18662306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_acbias.dss_acbias */
18762306a36Sopenharmony_ci
18862306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data0.dss_data0 */
18962306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data1.dss_data1 */
19062306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data2.dss_data2 */
19162306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data3.dss_data3 */
19262306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data4.dss_data4 */
19362306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data5.dss_data5 */
19462306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data6.dss_data6 */
19562306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data7.dss_data7 */
19662306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data8.dss_data8 */
19762306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data9.dss_data9 */
19862306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data10.dss_data10 */
19962306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data11.dss_data11 */
20062306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data12.dss_data12 */
20162306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data13.dss_data13 */
20262306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data14.dss_data14 */
20362306a36Sopenharmony_ci			OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0)   /* dss_data15.dss_data15 */
20462306a36Sopenharmony_ci		>;
20562306a36Sopenharmony_ci	};
20662306a36Sopenharmony_ci};
20762306a36Sopenharmony_ci
20862306a36Sopenharmony_ci&omap3_pmx_wkup {
20962306a36Sopenharmony_ci	led_pins_wkup: led-wkup-pins {
21062306a36Sopenharmony_ci		pinctrl-single,pins = <
21162306a36Sopenharmony_ci			OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4)	/* jtag_emu0.gpio_11 / uP_GPIO_1 */
21262306a36Sopenharmony_ci		>;
21362306a36Sopenharmony_ci	};
21462306a36Sopenharmony_ci
21562306a36Sopenharmony_ci	backlight_pins: backlight-pins {
21662306a36Sopenharmony_ci		pinctrl-single,pins = <
21762306a36Sopenharmony_ci			OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4)       /* sys_boot6.gpio_8 */
21862306a36Sopenharmony_ci		>;
21962306a36Sopenharmony_ci	};
22062306a36Sopenharmony_ci};
22162306a36Sopenharmony_ci
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ci&uart1 {
22462306a36Sopenharmony_ci	interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>;
22562306a36Sopenharmony_ci};
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci/* Wired to the tps65950 on the SOM, only the USB connector is on the devkit */
22862306a36Sopenharmony_ci&usb_otg_hs {
22962306a36Sopenharmony_ci	pinctrl-names = "default";
23062306a36Sopenharmony_ci	pinctrl-0 = <&hsusb_otg_pins>;
23162306a36Sopenharmony_ci	interface-type = <0>;
23262306a36Sopenharmony_ci	usb-phy = <&usb2_phy>;
23362306a36Sopenharmony_ci	phys = <&usb2_phy>;
23462306a36Sopenharmony_ci	phy-names = "usb2-phy";
23562306a36Sopenharmony_ci	mode = <3>;
23662306a36Sopenharmony_ci	power = <50>;
23762306a36Sopenharmony_ci};
238