162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * dts file for Hisilicon HiKey Development Board
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2015, HiSilicon Ltd.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/dts-v1/;
1062306a36Sopenharmony_ci#include "hi6220.dtsi"
1162306a36Sopenharmony_ci#include "hikey-pinctrl.dtsi"
1262306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/ {
1562306a36Sopenharmony_ci	model = "HiKey Development Board";
1662306a36Sopenharmony_ci	compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220";
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	aliases {
1962306a36Sopenharmony_ci		serial0 = &uart0; /* On board UART0 */
2062306a36Sopenharmony_ci		serial1 = &uart1; /* BT UART */
2162306a36Sopenharmony_ci		serial2 = &uart2; /* LS Expansion UART0 */
2262306a36Sopenharmony_ci		serial3 = &uart3; /* LS Expansion UART1 */
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	chosen {
2662306a36Sopenharmony_ci		stdout-path = "serial3:115200n8";
2762306a36Sopenharmony_ci	};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	/*
3062306a36Sopenharmony_ci	 * Reserve below regions from memory node:
3162306a36Sopenharmony_ci	 *
3262306a36Sopenharmony_ci	 *  0x05e0,0000 - 0x05ef,ffff: MCU firmware runtime using
3362306a36Sopenharmony_ci	 *  0x05f0,1000 - 0x05f0,1fff: Reboot reason
3462306a36Sopenharmony_ci	 *  0x06df,f000 - 0x06df,ffff: Mailbox message data
3562306a36Sopenharmony_ci	 *  0x0740,f000 - 0x0740,ffff: MCU firmware section
3662306a36Sopenharmony_ci	 *  0x21f0,0000 - 0x21ff,ffff: pstore/ramoops buffer
3762306a36Sopenharmony_ci	 *  0x3e00,0000 - 0x3fff,ffff: OP-TEE
3862306a36Sopenharmony_ci	 */
3962306a36Sopenharmony_ci	memory@0 {
4062306a36Sopenharmony_ci		device_type = "memory";
4162306a36Sopenharmony_ci		reg = <0x00000000 0x00000000 0x00000000 0x05e00000>,
4262306a36Sopenharmony_ci		      <0x00000000 0x05f00000 0x00000000 0x00001000>,
4362306a36Sopenharmony_ci		      <0x00000000 0x05f02000 0x00000000 0x00efd000>,
4462306a36Sopenharmony_ci		      <0x00000000 0x06e00000 0x00000000 0x0060f000>,
4562306a36Sopenharmony_ci		      <0x00000000 0x07410000 0x00000000 0x1aaf0000>,
4662306a36Sopenharmony_ci		      <0x00000000 0x22000000 0x00000000 0x1c000000>;
4762306a36Sopenharmony_ci	};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci	reserved-memory {
5062306a36Sopenharmony_ci		#address-cells = <2>;
5162306a36Sopenharmony_ci		#size-cells = <2>;
5262306a36Sopenharmony_ci		ranges;
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci		ramoops@21f00000 {
5562306a36Sopenharmony_ci			compatible = "ramoops";
5662306a36Sopenharmony_ci			reg = <0x0 0x21f00000 0x0 0x00100000>;
5762306a36Sopenharmony_ci			record-size = <0x00020000>;
5862306a36Sopenharmony_ci			console-size = <0x00020000>;
5962306a36Sopenharmony_ci			ftrace-size = <0x00020000>;
6062306a36Sopenharmony_ci		};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci		/* global autoconfigured region for contiguous allocations */
6362306a36Sopenharmony_ci		linux,cma {
6462306a36Sopenharmony_ci			compatible = "shared-dma-pool";
6562306a36Sopenharmony_ci			reusable;
6662306a36Sopenharmony_ci			size = <0x00000000 0x08000000>;
6762306a36Sopenharmony_ci			linux,cma-default;
6862306a36Sopenharmony_ci		};
6962306a36Sopenharmony_ci	};
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci	reboot-mode-syscon@5f01000 {
7262306a36Sopenharmony_ci		compatible = "syscon", "simple-mfd";
7362306a36Sopenharmony_ci		reg = <0x0 0x05f01000 0x0 0x00001000>;
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci		reboot-mode {
7662306a36Sopenharmony_ci			compatible = "syscon-reboot-mode";
7762306a36Sopenharmony_ci			offset = <0x0>;
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci			mode-normal = <0x77665501>;
8062306a36Sopenharmony_ci			mode-bootloader = <0x77665500>;
8162306a36Sopenharmony_ci			mode-recovery = <0x77665502>;
8262306a36Sopenharmony_ci		};
8362306a36Sopenharmony_ci	};
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci	reg_sys_5v: regulator@0 {
8662306a36Sopenharmony_ci		compatible = "regulator-fixed";
8762306a36Sopenharmony_ci		regulator-name = "SYS_5V";
8862306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
8962306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
9062306a36Sopenharmony_ci		regulator-boot-on;
9162306a36Sopenharmony_ci		regulator-always-on;
9262306a36Sopenharmony_ci	};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	reg_vdd_3v3: regulator@1 {
9562306a36Sopenharmony_ci		compatible = "regulator-fixed";
9662306a36Sopenharmony_ci		regulator-name = "VDD_3V3";
9762306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
9862306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
9962306a36Sopenharmony_ci		regulator-boot-on;
10062306a36Sopenharmony_ci		regulator-always-on;
10162306a36Sopenharmony_ci		vin-supply = <&reg_sys_5v>;
10262306a36Sopenharmony_ci	};
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci	reg_5v_hub: regulator@2 {
10562306a36Sopenharmony_ci		compatible = "regulator-fixed";
10662306a36Sopenharmony_ci		regulator-name = "5V_HUB";
10762306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
10862306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
10962306a36Sopenharmony_ci		regulator-boot-on;
11062306a36Sopenharmony_ci		gpio = <&gpio0 7 0>;
11162306a36Sopenharmony_ci		regulator-always-on;
11262306a36Sopenharmony_ci		vin-supply = <&reg_sys_5v>;
11362306a36Sopenharmony_ci	};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci	wl1835_pwrseq: wl1835-pwrseq {
11662306a36Sopenharmony_ci		compatible = "mmc-pwrseq-simple";
11762306a36Sopenharmony_ci		/* WLAN_EN GPIO */
11862306a36Sopenharmony_ci		reset-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
11962306a36Sopenharmony_ci		clocks = <&pmic>;
12062306a36Sopenharmony_ci		clock-names = "ext_clock";
12162306a36Sopenharmony_ci		post-power-on-delay-ms = <10>;
12262306a36Sopenharmony_ci		power-off-delay-us = <10>;
12362306a36Sopenharmony_ci	};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	leds {
12662306a36Sopenharmony_ci		compatible = "gpio-leds";
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci		led-user-1 {
12962306a36Sopenharmony_ci			label = "green:user1";
13062306a36Sopenharmony_ci			gpios = <&gpio4 0 0>; /* <&gpio_user_led_1>; */
13162306a36Sopenharmony_ci			linux,default-trigger = "heartbeat";
13262306a36Sopenharmony_ci		};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci		led-user-2 {
13562306a36Sopenharmony_ci			label = "green:user2";
13662306a36Sopenharmony_ci			gpios = <&gpio4 1 0>; /* <&gpio_user_led_2>; */
13762306a36Sopenharmony_ci			linux,default-trigger = "mmc0";
13862306a36Sopenharmony_ci		};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci		led-user-3 {
14162306a36Sopenharmony_ci			label = "green:user3";
14262306a36Sopenharmony_ci			gpios = <&gpio4 2 0>; /* <&gpio_user_led_3>; */
14362306a36Sopenharmony_ci			linux,default-trigger = "mmc1";
14462306a36Sopenharmony_ci		};
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci		led-user-4 {
14762306a36Sopenharmony_ci			label = "green:user4";
14862306a36Sopenharmony_ci			gpios = <&gpio4 3 0>; /* <&gpio_user_led_4>; */
14962306a36Sopenharmony_ci			panic-indicator;
15062306a36Sopenharmony_ci			linux,default-trigger = "none";
15162306a36Sopenharmony_ci		};
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ci		led-wlan {
15462306a36Sopenharmony_ci			label = "yellow:wlan";
15562306a36Sopenharmony_ci			gpios = <&gpio3 5 0>; /* <&gpio_wlan_active_led>; */
15662306a36Sopenharmony_ci			linux,default-trigger = "phy0tx";
15762306a36Sopenharmony_ci			default-state = "off";
15862306a36Sopenharmony_ci		};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci		led-bt {
16162306a36Sopenharmony_ci			label = "blue:bt";
16262306a36Sopenharmony_ci			gpios = <&gpio4 7 0>; /* <&gpio_bt_active_led>; */
16362306a36Sopenharmony_ci			linux,default-trigger = "hci0-power";
16462306a36Sopenharmony_ci			default-state = "off";
16562306a36Sopenharmony_ci		};
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci	pmic: pmic@f8000000 {
16962306a36Sopenharmony_ci		compatible = "hisilicon,hi655x-pmic";
17062306a36Sopenharmony_ci		reg = <0x0 0xf8000000 0x0 0x1000>;
17162306a36Sopenharmony_ci		#clock-cells = <0>;
17262306a36Sopenharmony_ci		interrupt-controller;
17362306a36Sopenharmony_ci		#interrupt-cells = <2>;
17462306a36Sopenharmony_ci		pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci		regulators {
17762306a36Sopenharmony_ci			ldo2: LDO2 {
17862306a36Sopenharmony_ci				regulator-name = "LDO2_2V8";
17962306a36Sopenharmony_ci				regulator-min-microvolt = <2500000>;
18062306a36Sopenharmony_ci				regulator-max-microvolt = <3200000>;
18162306a36Sopenharmony_ci				regulator-enable-ramp-delay = <120>;
18262306a36Sopenharmony_ci			};
18362306a36Sopenharmony_ci
18462306a36Sopenharmony_ci			ldo7: LDO7 {
18562306a36Sopenharmony_ci				regulator-name = "LDO7_SDIO";
18662306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
18762306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
18862306a36Sopenharmony_ci				regulator-enable-ramp-delay = <120>;
18962306a36Sopenharmony_ci			};
19062306a36Sopenharmony_ci
19162306a36Sopenharmony_ci			ldo10: LDO10 {
19262306a36Sopenharmony_ci				regulator-name = "LDO10_2V85";
19362306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
19462306a36Sopenharmony_ci				regulator-max-microvolt = <3000000>;
19562306a36Sopenharmony_ci				regulator-enable-ramp-delay = <360>;
19662306a36Sopenharmony_ci			};
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci			ldo13: LDO13 {
19962306a36Sopenharmony_ci				regulator-name = "LDO13_1V8";
20062306a36Sopenharmony_ci				regulator-min-microvolt = <1600000>;
20162306a36Sopenharmony_ci				regulator-max-microvolt = <1950000>;
20262306a36Sopenharmony_ci				regulator-enable-ramp-delay = <120>;
20362306a36Sopenharmony_ci			};
20462306a36Sopenharmony_ci
20562306a36Sopenharmony_ci			ldo14: LDO14 {
20662306a36Sopenharmony_ci				regulator-name = "LDO14_2V8";
20762306a36Sopenharmony_ci				regulator-min-microvolt = <2500000>;
20862306a36Sopenharmony_ci				regulator-max-microvolt = <3200000>;
20962306a36Sopenharmony_ci				regulator-enable-ramp-delay = <120>;
21062306a36Sopenharmony_ci			};
21162306a36Sopenharmony_ci
21262306a36Sopenharmony_ci			ldo15: LDO15 {
21362306a36Sopenharmony_ci				regulator-name = "LDO15_1V8";
21462306a36Sopenharmony_ci				regulator-min-microvolt = <1600000>;
21562306a36Sopenharmony_ci				regulator-max-microvolt = <1950000>;
21662306a36Sopenharmony_ci				regulator-boot-on;
21762306a36Sopenharmony_ci				regulator-always-on;
21862306a36Sopenharmony_ci				regulator-enable-ramp-delay = <120>;
21962306a36Sopenharmony_ci			};
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci			ldo17: LDO17 {
22262306a36Sopenharmony_ci				regulator-name = "LDO17_2V5";
22362306a36Sopenharmony_ci				regulator-min-microvolt = <2500000>;
22462306a36Sopenharmony_ci				regulator-max-microvolt = <3200000>;
22562306a36Sopenharmony_ci				regulator-enable-ramp-delay = <120>;
22662306a36Sopenharmony_ci			};
22762306a36Sopenharmony_ci
22862306a36Sopenharmony_ci			ldo19: LDO19 {
22962306a36Sopenharmony_ci				regulator-name = "LDO19_3V0";
23062306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
23162306a36Sopenharmony_ci				regulator-max-microvolt = <3000000>;
23262306a36Sopenharmony_ci				regulator-enable-ramp-delay = <360>;
23362306a36Sopenharmony_ci			};
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci			ldo21: LDO21 {
23662306a36Sopenharmony_ci				regulator-name = "LDO21_1V8";
23762306a36Sopenharmony_ci				regulator-min-microvolt = <1650000>;
23862306a36Sopenharmony_ci				regulator-max-microvolt = <2000000>;
23962306a36Sopenharmony_ci				regulator-always-on;
24062306a36Sopenharmony_ci				regulator-enable-ramp-delay = <120>;
24162306a36Sopenharmony_ci			};
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci			ldo22: LDO22 {
24462306a36Sopenharmony_ci				regulator-name = "LDO22_1V2";
24562306a36Sopenharmony_ci				regulator-min-microvolt = <900000>;
24662306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
24762306a36Sopenharmony_ci				regulator-boot-on;
24862306a36Sopenharmony_ci				regulator-always-on;
24962306a36Sopenharmony_ci				regulator-enable-ramp-delay = <120>;
25062306a36Sopenharmony_ci			};
25162306a36Sopenharmony_ci		};
25262306a36Sopenharmony_ci	};
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci	firmware {
25562306a36Sopenharmony_ci		optee {
25662306a36Sopenharmony_ci			compatible = "linaro,optee-tz";
25762306a36Sopenharmony_ci			method = "smc";
25862306a36Sopenharmony_ci		};
25962306a36Sopenharmony_ci	};
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ci	sound_card {
26262306a36Sopenharmony_ci		compatible = "audio-graph-card";
26362306a36Sopenharmony_ci		dais = <&i2s0_port0>;
26462306a36Sopenharmony_ci	};
26562306a36Sopenharmony_ci};
26662306a36Sopenharmony_ci
26762306a36Sopenharmony_ci&uart1 {
26862306a36Sopenharmony_ci	assigned-clocks = <&sys_ctrl HI6220_UART1_SRC>;
26962306a36Sopenharmony_ci	assigned-clock-rates = <150000000>;
27062306a36Sopenharmony_ci	status = "okay";
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_ci	bluetooth {
27362306a36Sopenharmony_ci		compatible = "ti,wl1835-st";
27462306a36Sopenharmony_ci		enable-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
27562306a36Sopenharmony_ci		clocks = <&pmic>;
27662306a36Sopenharmony_ci		clock-names = "ext_clock";
27762306a36Sopenharmony_ci	};
27862306a36Sopenharmony_ci};
27962306a36Sopenharmony_ci
28062306a36Sopenharmony_ci&uart2 {
28162306a36Sopenharmony_ci	status = "okay";
28262306a36Sopenharmony_ci	label = "LS-UART0";
28362306a36Sopenharmony_ci};
28462306a36Sopenharmony_ci
28562306a36Sopenharmony_ci&uart3 {
28662306a36Sopenharmony_ci	status = "okay";
28762306a36Sopenharmony_ci	label = "LS-UART1";
28862306a36Sopenharmony_ci};
28962306a36Sopenharmony_ci
29062306a36Sopenharmony_ci&ade {
29162306a36Sopenharmony_ci	status = "okay";
29262306a36Sopenharmony_ci};
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci&dsi {
29562306a36Sopenharmony_ci	status = "okay";
29662306a36Sopenharmony_ci
29762306a36Sopenharmony_ci	ports {
29862306a36Sopenharmony_ci		/* 1 for output port */
29962306a36Sopenharmony_ci		port@1 {
30062306a36Sopenharmony_ci			reg = <1>;
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci			dsi_out0: endpoint@0 {
30362306a36Sopenharmony_ci				remote-endpoint = <&adv7533_in>;
30462306a36Sopenharmony_ci			};
30562306a36Sopenharmony_ci		};
30662306a36Sopenharmony_ci	};
30762306a36Sopenharmony_ci};
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci&dwmmc_0 {
31062306a36Sopenharmony_ci	cap-mmc-highspeed;
31162306a36Sopenharmony_ci	non-removable;
31262306a36Sopenharmony_ci	bus-width = <0x8>;
31362306a36Sopenharmony_ci	vmmc-supply = <&ldo19>;
31462306a36Sopenharmony_ci};
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ci&dwmmc_1 {
31762306a36Sopenharmony_ci	card-detect-delay = <200>;
31862306a36Sopenharmony_ci	cap-sd-highspeed;
31962306a36Sopenharmony_ci	sd-uhs-sdr12;
32062306a36Sopenharmony_ci	sd-uhs-sdr25;
32162306a36Sopenharmony_ci	sd-uhs-sdr50;
32262306a36Sopenharmony_ci	vqmmc-supply = <&ldo7>;
32362306a36Sopenharmony_ci	vmmc-supply = <&ldo10>;
32462306a36Sopenharmony_ci	bus-width = <0x4>;
32562306a36Sopenharmony_ci	disable-wp;
32662306a36Sopenharmony_ci	cd-gpios = <&gpio1 0 1>;
32762306a36Sopenharmony_ci};
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci&dwmmc_2 {
33062306a36Sopenharmony_ci	bus-width = <0x4>;
33162306a36Sopenharmony_ci	non-removable;
33262306a36Sopenharmony_ci	cap-power-off-card;
33362306a36Sopenharmony_ci	vmmc-supply = <&reg_vdd_3v3>;
33462306a36Sopenharmony_ci	mmc-pwrseq = <&wl1835_pwrseq>;
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ci	#address-cells = <0x1>;
33762306a36Sopenharmony_ci	#size-cells = <0x0>;
33862306a36Sopenharmony_ci	wlcore: wlcore@2 {
33962306a36Sopenharmony_ci		compatible = "ti,wl1835";
34062306a36Sopenharmony_ci		reg = <2>;	/* sdio func num */
34162306a36Sopenharmony_ci		/* WL_IRQ, WL_HOST_WAKE_GPIO1_3 */
34262306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
34362306a36Sopenharmony_ci		interrupts = <3 IRQ_TYPE_EDGE_RISING>;
34462306a36Sopenharmony_ci	};
34562306a36Sopenharmony_ci};
34662306a36Sopenharmony_ci
34762306a36Sopenharmony_ci/*
34862306a36Sopenharmony_ci * Legend: proper name = the GPIO line is used as GPIO
34962306a36Sopenharmony_ci *         NC = not connected (not routed from the SoC)
35062306a36Sopenharmony_ci *         "[PER]" = pin is muxed for peripheral (not GPIO)
35162306a36Sopenharmony_ci *         "" = no idea, schematic doesn't say, could be
35262306a36Sopenharmony_ci *              unrouted (not connected to any external pin)
35362306a36Sopenharmony_ci *         LSEC = Low Speed External Connector
35462306a36Sopenharmony_ci *         HSEC = High Speed External Connector
35562306a36Sopenharmony_ci *
35662306a36Sopenharmony_ci * Pin assignments taken from LeMaker and CircuitCo Schematics
35762306a36Sopenharmony_ci * Rev A1.
35862306a36Sopenharmony_ci *
35962306a36Sopenharmony_ci * For the lines routed to the external connectors the
36062306a36Sopenharmony_ci * lines are named after the 96Boards CE Specification 1.0,
36162306a36Sopenharmony_ci * Appendix "Expansion Connector Signal Description".
36262306a36Sopenharmony_ci *
36362306a36Sopenharmony_ci * When the 96Board naming of a line and the schematic name of
36462306a36Sopenharmony_ci * the same line are in conflict, the 96Board specification
36562306a36Sopenharmony_ci * takes precedence, which means that the external UART on the
36662306a36Sopenharmony_ci * LSEC is named UART0 while the schematic and SoC names this
36762306a36Sopenharmony_ci * UART2. This is only for the informational lines i.e. "[FOO]",
36862306a36Sopenharmony_ci * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
36962306a36Sopenharmony_ci * ones actually used for GPIO.
37062306a36Sopenharmony_ci */
37162306a36Sopenharmony_ci&gpio0 {
37262306a36Sopenharmony_ci	gpio-line-names = "PWR_HOLD", "DSI_SEL",
37362306a36Sopenharmony_ci	"USB_HUB_RESET_N", "USB_SEL", "HDMI_PD", "WL_REG_ON",
37462306a36Sopenharmony_ci	"PWRON_DET", "5V_HUB_EN";
37562306a36Sopenharmony_ci};
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci&gpio1 {
37862306a36Sopenharmony_ci	gpio-line-names = "SD_DET", "HDMI_INT", "PMU_IRQ_N",
37962306a36Sopenharmony_ci	"WL_HOST_WAKE", "NC", "NC", "NC", "BT_REG_ON";
38062306a36Sopenharmony_ci};
38162306a36Sopenharmony_ci
38262306a36Sopenharmony_ci&gpio2 {
38362306a36Sopenharmony_ci	gpio-line-names =
38462306a36Sopenharmony_ci		"GPIO-A", /* LSEC Pin 23: GPIO2_0 */
38562306a36Sopenharmony_ci		"GPIO-B", /* LSEC Pin 24: GPIO2_1 */
38662306a36Sopenharmony_ci		"GPIO-C", /* LSEC Pin 25: GPIO2_2 */
38762306a36Sopenharmony_ci		"GPIO-D", /* LSEC Pin 26: GPIO2_3 */
38862306a36Sopenharmony_ci		"GPIO-E", /* LSEC Pin 27: GPIO2_4 */
38962306a36Sopenharmony_ci		"USB_ID_DET", "USB_VBUS_DET",
39062306a36Sopenharmony_ci		"GPIO-H"; /* LSEC Pin 30: GPIO2_7 */
39162306a36Sopenharmony_ci};
39262306a36Sopenharmony_ci
39362306a36Sopenharmony_ci&gpio3 {
39462306a36Sopenharmony_ci	gpio-line-names = "GPIO3_0", "NC", "NC", "", "NC", "",
39562306a36Sopenharmony_ci	"WLAN_ACTIVE", "NC", "NC";
39662306a36Sopenharmony_ci};
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ci&gpio4 {
39962306a36Sopenharmony_ci	gpio-line-names = "USER_LED1", "USER_LED2", "USER_LED3",
40062306a36Sopenharmony_ci	"USER_LED4", "SD_SEL", "NC", "NC", "BT_ACTIVE";
40162306a36Sopenharmony_ci};
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ci&gpio5 {
40462306a36Sopenharmony_ci	gpio-line-names = "NC", "NC",
40562306a36Sopenharmony_ci	"[UART1_RxD]", /* LSEC Pin 11: UART3_RX */
40662306a36Sopenharmony_ci	"[UART1_TxD]", /* LSEC Pin 13: UART3_TX */
40762306a36Sopenharmony_ci	"[AUX_SSI1]", "NC",
40862306a36Sopenharmony_ci	"[PCM_CLK]", /* LSEC Pin 18: MODEM_PCM_XCLK */
40962306a36Sopenharmony_ci	"[PCM_FS]"; /* LSEC Pin 16: MODEM_PCM_XFS */
41062306a36Sopenharmony_ci};
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ci&gpio6 {
41362306a36Sopenharmony_ci	gpio-line-names =
41462306a36Sopenharmony_ci	"[SPI0_DIN]", /* Pin 10: SPI0_DI */
41562306a36Sopenharmony_ci	"[SPI0_DOUT]", /* Pin 14: SPI0_DO */
41662306a36Sopenharmony_ci	"[SPI0_CS]", /* Pin 12: SPI0_CS_N */
41762306a36Sopenharmony_ci	"[SPI0_SCLK]", /* Pin 8: SPI0_SCLK */
41862306a36Sopenharmony_ci	"NC", "NC", "NC",
41962306a36Sopenharmony_ci	"GPIO-G"; /* Pin 29: GPIO6_7_DSI_TE0 */
42062306a36Sopenharmony_ci};
42162306a36Sopenharmony_ci
42262306a36Sopenharmony_ci&gpio7 {
42362306a36Sopenharmony_ci	gpio-line-names = "NC", "NC", "NC", "NC",
42462306a36Sopenharmony_ci	"[PCM_DI]", /* Pin 22: MODEM_PCM_DI */
42562306a36Sopenharmony_ci	"[PCM_DO]", /* Pin 20: MODEM_PCM_DO */
42662306a36Sopenharmony_ci	"NC", "NC";
42762306a36Sopenharmony_ci};
42862306a36Sopenharmony_ci
42962306a36Sopenharmony_ci&gpio8 {
43062306a36Sopenharmony_ci	gpio-line-names = "NC", "[CEC_CLK_19_2MHZ]", "NC",
43162306a36Sopenharmony_ci	"", "", "", "", "", "";
43262306a36Sopenharmony_ci};
43362306a36Sopenharmony_ci
43462306a36Sopenharmony_ci&gpio9 {
43562306a36Sopenharmony_ci	gpio-line-names = "",
43662306a36Sopenharmony_ci	"GPIO-J", /* LSEC Pin 32: ISP_PWDN0_GPIO9_1 */
43762306a36Sopenharmony_ci	"GPIO-L", /* LSEC Pin 34: ISP_PWDN1_GPIO9_2 */
43862306a36Sopenharmony_ci	"NC", "NC", "NC", "NC", "[ISP_CCLK0]";
43962306a36Sopenharmony_ci};
44062306a36Sopenharmony_ci
44162306a36Sopenharmony_ci&gpio10 {
44262306a36Sopenharmony_ci	gpio-line-names = "BOOT_SEL",
44362306a36Sopenharmony_ci	"[ISP_CCLK1]",
44462306a36Sopenharmony_ci	"GPIO-I", /* LSEC Pin 31: ISP_RSTB0_GPIO10_2 */
44562306a36Sopenharmony_ci	"GPIO-K", /* LSEC Pin 33: ISP_RSTB1_GPIO10_3 */
44662306a36Sopenharmony_ci	"NC", "NC",
44762306a36Sopenharmony_ci	"[I2C2_SDA]", /* HSEC Pin 34: ISP0_SDA */
44862306a36Sopenharmony_ci	"[I2C2_SCL]"; /* HSEC Pin 32: ISP0_SCL */
44962306a36Sopenharmony_ci};
45062306a36Sopenharmony_ci
45162306a36Sopenharmony_ci&gpio11 {
45262306a36Sopenharmony_ci	gpio-line-names =
45362306a36Sopenharmony_ci	"[I2C3_SDA]", /* HSEC Pin 38: ISP1_SDA */
45462306a36Sopenharmony_ci	"[I2C3_SCL]", /* HSEC Pin 36: ISP1_SCL */
45562306a36Sopenharmony_ci	"", "NC", "NC", "NC", "", "";
45662306a36Sopenharmony_ci};
45762306a36Sopenharmony_ci
45862306a36Sopenharmony_ci&gpio12 {
45962306a36Sopenharmony_ci	gpio-line-names = "[BT_PCM_XFS]", "[BT_PCM_DI]",
46062306a36Sopenharmony_ci	"[BT_PCM_DO]",
46162306a36Sopenharmony_ci	"NC", "NC", "NC", "NC",
46262306a36Sopenharmony_ci	"GPIO-F"; /* LSEC Pin 28: BL_PWM_GPIO12_7 */
46362306a36Sopenharmony_ci};
46462306a36Sopenharmony_ci
46562306a36Sopenharmony_ci&gpio13 {
46662306a36Sopenharmony_ci	gpio-line-names = "[UART0_RX]", "[UART0_TX]",
46762306a36Sopenharmony_ci	"[BT_UART1_CTS]", "[BT_UART1_RTS]",
46862306a36Sopenharmony_ci	"[BT_UART1_RX]", "[BT_UART1_TX]",
46962306a36Sopenharmony_ci	"[UART0_CTS]", /* LSEC Pin 3: UART2_CTS_N */
47062306a36Sopenharmony_ci	"[UART0_RTS]"; /* LSEC Pin 9: UART2_RTS_N */
47162306a36Sopenharmony_ci};
47262306a36Sopenharmony_ci
47362306a36Sopenharmony_ci&gpio14 {
47462306a36Sopenharmony_ci	gpio-line-names =
47562306a36Sopenharmony_ci	"[UART0_RxD]", /* LSEC Pin 7: UART2_RX */
47662306a36Sopenharmony_ci	"[UART0_TxD]", /* LSEC Pin 5: UART2_TX */
47762306a36Sopenharmony_ci	"[I2C0_SCL]", /* LSEC Pin 15: I2C0_SCL */
47862306a36Sopenharmony_ci	"[I2C0_SDA]", /* LSEC Pin 17: I2C0_SDA */
47962306a36Sopenharmony_ci	"[I2C1_SCL]", /* LSEC Pin 19: I2C1_SCL */
48062306a36Sopenharmony_ci	"[I2C1_SDA]", /* LSEC Pin 21: I2C1_SDA */
48162306a36Sopenharmony_ci	"[I2C2_SCL]", "[I2C2_SDA]";
48262306a36Sopenharmony_ci};
48362306a36Sopenharmony_ci
48462306a36Sopenharmony_ci&gpio15 {
48562306a36Sopenharmony_ci	gpio-line-names = "", "", "", "", "", "", "NC", "";
48662306a36Sopenharmony_ci};
48762306a36Sopenharmony_ci
48862306a36Sopenharmony_ci/* GPIO blocks 16 thru 19 do not appear to be routed to pins */
48962306a36Sopenharmony_ci
49062306a36Sopenharmony_ci
49162306a36Sopenharmony_ci&i2c0 {
49262306a36Sopenharmony_ci	status = "okay";
49362306a36Sopenharmony_ci};
49462306a36Sopenharmony_ci
49562306a36Sopenharmony_ci&i2c1 {
49662306a36Sopenharmony_ci	status = "okay";
49762306a36Sopenharmony_ci};
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_ci&i2c2 {
50062306a36Sopenharmony_ci	#address-cells = <1>;
50162306a36Sopenharmony_ci	#size-cells = <0>;
50262306a36Sopenharmony_ci	status = "okay";
50362306a36Sopenharmony_ci
50462306a36Sopenharmony_ci	adv7533: adv7533@39 {
50562306a36Sopenharmony_ci		compatible = "adi,adv7533";
50662306a36Sopenharmony_ci		reg = <0x39>;
50762306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
50862306a36Sopenharmony_ci		interrupts = <1 2>;
50962306a36Sopenharmony_ci		pd-gpios = <&gpio0 4 0>;
51062306a36Sopenharmony_ci		adi,dsi-lanes = <4>;
51162306a36Sopenharmony_ci		#sound-dai-cells = <0>;
51262306a36Sopenharmony_ci
51362306a36Sopenharmony_ci		ports {
51462306a36Sopenharmony_ci			#address-cells = <1>;
51562306a36Sopenharmony_ci			#size-cells = <0>;
51662306a36Sopenharmony_ci			port@0 {
51762306a36Sopenharmony_ci				adv7533_in: endpoint {
51862306a36Sopenharmony_ci					remote-endpoint = <&dsi_out0>;
51962306a36Sopenharmony_ci				};
52062306a36Sopenharmony_ci			};
52162306a36Sopenharmony_ci			port@2 {
52262306a36Sopenharmony_ci				reg = <2>;
52362306a36Sopenharmony_ci				codec_endpoint: endpoint {
52462306a36Sopenharmony_ci					remote-endpoint = <&i2s0_cpu_endpoint>;
52562306a36Sopenharmony_ci				};
52662306a36Sopenharmony_ci			};
52762306a36Sopenharmony_ci		};
52862306a36Sopenharmony_ci	};
52962306a36Sopenharmony_ci};
53062306a36Sopenharmony_ci
53162306a36Sopenharmony_ci&i2s0 {
53262306a36Sopenharmony_ci
53362306a36Sopenharmony_ci	ports {
53462306a36Sopenharmony_ci		i2s0_port0: port@0 {
53562306a36Sopenharmony_ci			i2s0_cpu_endpoint: endpoint {
53662306a36Sopenharmony_ci				remote-endpoint = <&codec_endpoint>;
53762306a36Sopenharmony_ci				dai-format = "i2s";
53862306a36Sopenharmony_ci			};
53962306a36Sopenharmony_ci		};
54062306a36Sopenharmony_ci	};
54162306a36Sopenharmony_ci};
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_ci&spi0 {
54462306a36Sopenharmony_ci	status = "okay";
54562306a36Sopenharmony_ci};
546