162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Support for CompuLab SBC-AM57x single board computer
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#include "am57xx-cl-som-am57x.dts"
1062306a36Sopenharmony_ci#include "compulab-sb-som.dtsi"
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/ {
1362306a36Sopenharmony_ci	model = "CompuLab CL-SOM-AM57x on SB-SOM-AM57x";
1462306a36Sopenharmony_ci	compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci	aliases {
1762306a36Sopenharmony_ci		display0 = &lcd0;
1862306a36Sopenharmony_ci		display1 = &hdmi;
1962306a36Sopenharmony_ci	};
2062306a36Sopenharmony_ci};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci&dra7_pmx_core {
2362306a36Sopenharmony_ci	uart3_pins_default: uart3-default-pins {
2462306a36Sopenharmony_ci		pinctrl-single,pins = <
2562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0)	/* uart3_rxd */
2662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0)	/* uart3_txd */
2762306a36Sopenharmony_ci		>;
2862306a36Sopenharmony_ci	};
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	mmc1_pins_default: mmc1-default-pins {
3162306a36Sopenharmony_ci		pinctrl-single,pins = <
3262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
3362306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0)	/* mmc1_cmd.cmd */
3462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
3562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
3662306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
3762306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
3862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14)	/* mmc1_sdcd.gpio6_27 */
3962306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x377c, PIN_INPUT | MUX_MODE14)	/* mmc1_sdwp.gpio6_28 */
4062306a36Sopenharmony_ci		>;
4162306a36Sopenharmony_ci	};
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci	usb1_pins: usb1-pins {
4462306a36Sopenharmony_ci		pinctrl-single,pins = <
4562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
4662306a36Sopenharmony_ci		>;
4762306a36Sopenharmony_ci	};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	i2c5_pins_default: i2c5-default-pins {
5062306a36Sopenharmony_ci		pinctrl-single,pins = <
5162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x36b4, PIN_INPUT| MUX_MODE10)	/* mcasp1_axr0.i2c5_sda */
5262306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT| MUX_MODE10)	/* mcasp1_axr1.i2c5_scl */
5362306a36Sopenharmony_ci		>;
5462306a36Sopenharmony_ci	};
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci	lcd_pins_default: lcd-default-pins {
5762306a36Sopenharmony_ci		pinctrl-single,pins = <
5862306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3564, PIN_OUTPUT | MUX_MODE14)      /* vin2a_vsync0.gpio4_0 */
5962306a36Sopenharmony_ci		>;
6062306a36Sopenharmony_ci	};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	hdmi_pins: hdmi-pins {
6362306a36Sopenharmony_ci		pinctrl-single,pins = <
6462306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE1)	/* i2c2_sda.hdmi1_ddc_scl */
6562306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1)	/* i2c2_scl.hdmi1_ddc_sda */
6662306a36Sopenharmony_ci		>;
6762306a36Sopenharmony_ci	};
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci	hdmi_conn_pins: hdmi-conn-pins {
7062306a36Sopenharmony_ci		pinctrl-single,pins = <
7162306a36Sopenharmony_ci			DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT | MUX_MODE14)	/* spi1_cs2.gpio7_12 */
7262306a36Sopenharmony_ci		>;
7362306a36Sopenharmony_ci	};
7462306a36Sopenharmony_ci};
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci&uart3 {
7762306a36Sopenharmony_ci	status = "okay";
7862306a36Sopenharmony_ci	interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
7962306a36Sopenharmony_ci			      <&dra7_pmx_core 0x3f8>;
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci	pinctrl-names = "default";
8262306a36Sopenharmony_ci	pinctrl-0 = <&uart3_pins_default>;
8362306a36Sopenharmony_ci};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci&mmc1 {
8662306a36Sopenharmony_ci	status = "okay";
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci	pinctrl-names = "default";
8962306a36Sopenharmony_ci	pinctrl-0 = <&mmc1_pins_default>;
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci	vmmc-supply = <&ldo1_reg>;
9262306a36Sopenharmony_ci	bus-width = <4>;
9362306a36Sopenharmony_ci	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
9462306a36Sopenharmony_ci	wp-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>;
9562306a36Sopenharmony_ci};
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci&usb1 {
9862306a36Sopenharmony_ci	pinctrl-names = "default";
9962306a36Sopenharmony_ci	pinctrl-0 = <&usb1_pins>;
10062306a36Sopenharmony_ci};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci&i2c5 {
10362306a36Sopenharmony_ci	status = "okay";
10462306a36Sopenharmony_ci	pinctrl-names = "default";
10562306a36Sopenharmony_ci	pinctrl-0 = <&i2c5_pins_default>;
10662306a36Sopenharmony_ci	clock-frequency = <400000>;
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci	eeprom_base: atmel@54 {
10962306a36Sopenharmony_ci		compatible = "atmel,24c08";
11062306a36Sopenharmony_ci		reg = <0x54>;
11162306a36Sopenharmony_ci		pagesize = <16>;
11262306a36Sopenharmony_ci	};
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci	pca9555: pca9555@20 {
11562306a36Sopenharmony_ci		compatible = "nxp,pca9555";
11662306a36Sopenharmony_ci		reg = <0x20>;
11762306a36Sopenharmony_ci		gpio-controller;
11862306a36Sopenharmony_ci		#gpio-cells = <2>;
11962306a36Sopenharmony_ci	};
12062306a36Sopenharmony_ci};
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ci&dss {
12362306a36Sopenharmony_ci	status = "okay";
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	vdda_video-supply = <&ldoln_reg>;
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci	port {
12862306a36Sopenharmony_ci		dpi_lcd_out: endpoint {
12962306a36Sopenharmony_ci			remote-endpoint = <&lcd_in>;
13062306a36Sopenharmony_ci			data-lines = <24>;
13162306a36Sopenharmony_ci		};
13262306a36Sopenharmony_ci	};
13362306a36Sopenharmony_ci};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci&lcd0 {
13662306a36Sopenharmony_ci	pinctrl-names = "default";
13762306a36Sopenharmony_ci	pinctrl-0 = <&lcd_pins_default>;
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci	enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH
14062306a36Sopenharmony_ci			&gpio4 0 GPIO_ACTIVE_HIGH>;
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci	port {
14362306a36Sopenharmony_ci		lcd_in: endpoint {
14462306a36Sopenharmony_ci			remote-endpoint = <&dpi_lcd_out>;
14562306a36Sopenharmony_ci			data-lines = <24>;
14662306a36Sopenharmony_ci		};
14762306a36Sopenharmony_ci	};
14862306a36Sopenharmony_ci};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci&hdmi {
15162306a36Sopenharmony_ci	status = "okay";
15262306a36Sopenharmony_ci	vdda-supply = <&ldo4_reg>;
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci	pinctrl-names = "default";
15562306a36Sopenharmony_ci	pinctrl-0 = <&hdmi_pins>;
15662306a36Sopenharmony_ci
15762306a36Sopenharmony_ci	port {
15862306a36Sopenharmony_ci		hdmi_out: endpoint {
15962306a36Sopenharmony_ci			remote-endpoint = <&hdmi_connector_in>;
16062306a36Sopenharmony_ci			lanes = <1 0 3 2 5 4 7 6>;
16162306a36Sopenharmony_ci		};
16262306a36Sopenharmony_ci	};
16362306a36Sopenharmony_ci};
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci&hdmi_conn {
16662306a36Sopenharmony_ci	pinctrl-names = "default";
16762306a36Sopenharmony_ci	pinctrl-0 = <&hdmi_conn_pins>;
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci	hpd-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>;
17062306a36Sopenharmony_ci
17162306a36Sopenharmony_ci	port {
17262306a36Sopenharmony_ci		hdmi_connector_in: endpoint {
17362306a36Sopenharmony_ci			remote-endpoint = <&hdmi_out>;
17462306a36Sopenharmony_ci		};
17562306a36Sopenharmony_ci	};
17662306a36Sopenharmony_ci};
177