18c2ecf20Sopenharmony_ci/*
28c2ecf20Sopenharmony_ci * Copyright (c) 2017 MediaTek Inc.
38c2ecf20Sopenharmony_ci * Author: Ming Huang <ming.huang@mediatek.com>
48c2ecf20Sopenharmony_ci *	   Sean Wang <sean.wang@mediatek.com>
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * SPDX-License-Identifier: (GPL-2.0 OR MIT)
78c2ecf20Sopenharmony_ci */
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/dts-v1/;
108c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h>
118c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci#include "mt7622.dtsi"
148c2ecf20Sopenharmony_ci#include "mt6380.dtsi"
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci/ {
178c2ecf20Sopenharmony_ci	model = "MediaTek MT7622 RFB1 board";
188c2ecf20Sopenharmony_ci	compatible = "mediatek,mt7622-rfb1", "mediatek,mt7622";
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci	aliases {
218c2ecf20Sopenharmony_ci		serial0 = &uart0;
228c2ecf20Sopenharmony_ci	};
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci	chosen {
258c2ecf20Sopenharmony_ci		stdout-path = "serial0:115200n8";
268c2ecf20Sopenharmony_ci		bootargs = "earlycon=uart8250,mmio32,0x11002000 swiotlb=512";
278c2ecf20Sopenharmony_ci	};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	cpus {
308c2ecf20Sopenharmony_ci		cpu@0 {
318c2ecf20Sopenharmony_ci			proc-supply = <&mt6380_vcpu_reg>;
328c2ecf20Sopenharmony_ci			sram-supply = <&mt6380_vm_reg>;
338c2ecf20Sopenharmony_ci		};
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci		cpu@1 {
368c2ecf20Sopenharmony_ci			proc-supply = <&mt6380_vcpu_reg>;
378c2ecf20Sopenharmony_ci			sram-supply = <&mt6380_vm_reg>;
388c2ecf20Sopenharmony_ci		};
398c2ecf20Sopenharmony_ci	};
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	gpio-keys {
428c2ecf20Sopenharmony_ci		compatible = "gpio-keys";
438c2ecf20Sopenharmony_ci		poll-interval = <100>;
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci		factory {
468c2ecf20Sopenharmony_ci			label = "factory";
478c2ecf20Sopenharmony_ci			linux,code = <BTN_0>;
488c2ecf20Sopenharmony_ci			gpios = <&pio 0 0>;
498c2ecf20Sopenharmony_ci		};
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci		wps {
528c2ecf20Sopenharmony_ci			label = "wps";
538c2ecf20Sopenharmony_ci			linux,code = <KEY_WPS_BUTTON>;
548c2ecf20Sopenharmony_ci			gpios = <&pio 102 0>;
558c2ecf20Sopenharmony_ci		};
568c2ecf20Sopenharmony_ci	};
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	memory@40000000 {
598c2ecf20Sopenharmony_ci		reg = <0 0x40000000 0 0x20000000>;
608c2ecf20Sopenharmony_ci	};
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci	reg_1p8v: regulator-1p8v {
638c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
648c2ecf20Sopenharmony_ci		regulator-name = "fixed-1.8V";
658c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
668c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1800000>;
678c2ecf20Sopenharmony_ci		regulator-always-on;
688c2ecf20Sopenharmony_ci	};
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	reg_3p3v: regulator-3p3v {
718c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
728c2ecf20Sopenharmony_ci		regulator-name = "fixed-3.3V";
738c2ecf20Sopenharmony_ci		regulator-min-microvolt = <3300000>;
748c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
758c2ecf20Sopenharmony_ci		regulator-boot-on;
768c2ecf20Sopenharmony_ci		regulator-always-on;
778c2ecf20Sopenharmony_ci	};
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci	reg_5v: regulator-5v {
808c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
818c2ecf20Sopenharmony_ci		regulator-name = "fixed-5V";
828c2ecf20Sopenharmony_ci		regulator-min-microvolt = <5000000>;
838c2ecf20Sopenharmony_ci		regulator-max-microvolt = <5000000>;
848c2ecf20Sopenharmony_ci		regulator-boot-on;
858c2ecf20Sopenharmony_ci		regulator-always-on;
868c2ecf20Sopenharmony_ci	};
878c2ecf20Sopenharmony_ci};
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci&bch {
908c2ecf20Sopenharmony_ci	status = "disabled";
918c2ecf20Sopenharmony_ci};
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci&btif {
948c2ecf20Sopenharmony_ci	status = "okay";
958c2ecf20Sopenharmony_ci};
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci&cir {
988c2ecf20Sopenharmony_ci	pinctrl-names = "default";
998c2ecf20Sopenharmony_ci	pinctrl-0 = <&irrx_pins>;
1008c2ecf20Sopenharmony_ci	status = "okay";
1018c2ecf20Sopenharmony_ci};
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci&eth {
1048c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1058c2ecf20Sopenharmony_ci	pinctrl-0 = <&eth_pins>;
1068c2ecf20Sopenharmony_ci	status = "okay";
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci	gmac0: mac@0 {
1098c2ecf20Sopenharmony_ci		compatible = "mediatek,eth-mac";
1108c2ecf20Sopenharmony_ci		reg = <0>;
1118c2ecf20Sopenharmony_ci		phy-mode = "2500base-x";
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci		fixed-link {
1148c2ecf20Sopenharmony_ci			speed = <2500>;
1158c2ecf20Sopenharmony_ci			full-duplex;
1168c2ecf20Sopenharmony_ci			pause;
1178c2ecf20Sopenharmony_ci		};
1188c2ecf20Sopenharmony_ci	};
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci	mdio-bus {
1218c2ecf20Sopenharmony_ci		#address-cells = <1>;
1228c2ecf20Sopenharmony_ci		#size-cells = <0>;
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ci		switch@0 {
1258c2ecf20Sopenharmony_ci			compatible = "mediatek,mt7531";
1268c2ecf20Sopenharmony_ci			reg = <0>;
1278c2ecf20Sopenharmony_ci			reset-gpios = <&pio 54 0>;
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci			ports {
1308c2ecf20Sopenharmony_ci				#address-cells = <1>;
1318c2ecf20Sopenharmony_ci				#size-cells = <0>;
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci				port@0 {
1348c2ecf20Sopenharmony_ci					reg = <0>;
1358c2ecf20Sopenharmony_ci					label = "lan0";
1368c2ecf20Sopenharmony_ci				};
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci				port@1 {
1398c2ecf20Sopenharmony_ci					reg = <1>;
1408c2ecf20Sopenharmony_ci					label = "lan1";
1418c2ecf20Sopenharmony_ci				};
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci				port@2 {
1448c2ecf20Sopenharmony_ci					reg = <2>;
1458c2ecf20Sopenharmony_ci					label = "lan2";
1468c2ecf20Sopenharmony_ci				};
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci				port@3 {
1498c2ecf20Sopenharmony_ci					reg = <3>;
1508c2ecf20Sopenharmony_ci					label = "lan3";
1518c2ecf20Sopenharmony_ci				};
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci				port@4 {
1548c2ecf20Sopenharmony_ci					reg = <4>;
1558c2ecf20Sopenharmony_ci					label = "wan";
1568c2ecf20Sopenharmony_ci				};
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ci				port@6 {
1598c2ecf20Sopenharmony_ci					reg = <6>;
1608c2ecf20Sopenharmony_ci					label = "cpu";
1618c2ecf20Sopenharmony_ci					ethernet = <&gmac0>;
1628c2ecf20Sopenharmony_ci					phy-mode = "2500base-x";
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci					fixed-link {
1658c2ecf20Sopenharmony_ci						speed = <2500>;
1668c2ecf20Sopenharmony_ci						full-duplex;
1678c2ecf20Sopenharmony_ci						pause;
1688c2ecf20Sopenharmony_ci					};
1698c2ecf20Sopenharmony_ci				};
1708c2ecf20Sopenharmony_ci			};
1718c2ecf20Sopenharmony_ci		};
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci	};
1748c2ecf20Sopenharmony_ci};
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ci&i2c1 {
1778c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1788c2ecf20Sopenharmony_ci	pinctrl-0 = <&i2c1_pins>;
1798c2ecf20Sopenharmony_ci	status = "okay";
1808c2ecf20Sopenharmony_ci};
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci&i2c2 {
1838c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1848c2ecf20Sopenharmony_ci	pinctrl-0 = <&i2c2_pins>;
1858c2ecf20Sopenharmony_ci	status = "okay";
1868c2ecf20Sopenharmony_ci};
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ci&mmc0 {
1898c2ecf20Sopenharmony_ci	pinctrl-names = "default", "state_uhs";
1908c2ecf20Sopenharmony_ci	pinctrl-0 = <&emmc_pins_default>;
1918c2ecf20Sopenharmony_ci	pinctrl-1 = <&emmc_pins_uhs>;
1928c2ecf20Sopenharmony_ci	status = "okay";
1938c2ecf20Sopenharmony_ci	bus-width = <8>;
1948c2ecf20Sopenharmony_ci	max-frequency = <50000000>;
1958c2ecf20Sopenharmony_ci	cap-mmc-highspeed;
1968c2ecf20Sopenharmony_ci	mmc-hs200-1_8v;
1978c2ecf20Sopenharmony_ci	vmmc-supply = <&reg_3p3v>;
1988c2ecf20Sopenharmony_ci	vqmmc-supply = <&reg_1p8v>;
1998c2ecf20Sopenharmony_ci	assigned-clocks = <&topckgen CLK_TOP_MSDC30_0_SEL>;
2008c2ecf20Sopenharmony_ci	assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
2018c2ecf20Sopenharmony_ci	non-removable;
2028c2ecf20Sopenharmony_ci};
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci&mmc1 {
2058c2ecf20Sopenharmony_ci	pinctrl-names = "default", "state_uhs";
2068c2ecf20Sopenharmony_ci	pinctrl-0 = <&sd0_pins_default>;
2078c2ecf20Sopenharmony_ci	pinctrl-1 = <&sd0_pins_uhs>;
2088c2ecf20Sopenharmony_ci	status = "okay";
2098c2ecf20Sopenharmony_ci	bus-width = <4>;
2108c2ecf20Sopenharmony_ci	max-frequency = <50000000>;
2118c2ecf20Sopenharmony_ci	cap-sd-highspeed;
2128c2ecf20Sopenharmony_ci	r_smpl = <1>;
2138c2ecf20Sopenharmony_ci	cd-gpios = <&pio 81 GPIO_ACTIVE_LOW>;
2148c2ecf20Sopenharmony_ci	vmmc-supply = <&reg_3p3v>;
2158c2ecf20Sopenharmony_ci	vqmmc-supply = <&reg_3p3v>;
2168c2ecf20Sopenharmony_ci	assigned-clocks = <&topckgen CLK_TOP_MSDC30_1_SEL>;
2178c2ecf20Sopenharmony_ci	assigned-clock-parents = <&topckgen CLK_TOP_UNIV48M>;
2188c2ecf20Sopenharmony_ci};
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ci&nandc {
2218c2ecf20Sopenharmony_ci	pinctrl-names = "default";
2228c2ecf20Sopenharmony_ci	pinctrl-0 = <&parallel_nand_pins>;
2238c2ecf20Sopenharmony_ci	status = "disabled";
2248c2ecf20Sopenharmony_ci};
2258c2ecf20Sopenharmony_ci
2268c2ecf20Sopenharmony_ci&nor_flash {
2278c2ecf20Sopenharmony_ci	pinctrl-names = "default";
2288c2ecf20Sopenharmony_ci	pinctrl-0 = <&spi_nor_pins>;
2298c2ecf20Sopenharmony_ci	status = "disabled";
2308c2ecf20Sopenharmony_ci
2318c2ecf20Sopenharmony_ci	flash@0 {
2328c2ecf20Sopenharmony_ci		compatible = "jedec,spi-nor";
2338c2ecf20Sopenharmony_ci		reg = <0>;
2348c2ecf20Sopenharmony_ci	};
2358c2ecf20Sopenharmony_ci};
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ci&pcie {
2388c2ecf20Sopenharmony_ci	pinctrl-names = "default";
2398c2ecf20Sopenharmony_ci	pinctrl-0 = <&pcie0_pins>;
2408c2ecf20Sopenharmony_ci	status = "okay";
2418c2ecf20Sopenharmony_ci
2428c2ecf20Sopenharmony_ci	pcie@0,0 {
2438c2ecf20Sopenharmony_ci		status = "okay";
2448c2ecf20Sopenharmony_ci	};
2458c2ecf20Sopenharmony_ci};
2468c2ecf20Sopenharmony_ci
2478c2ecf20Sopenharmony_ci&pio {
2488c2ecf20Sopenharmony_ci	/* eMMC is shared pin with parallel NAND */
2498c2ecf20Sopenharmony_ci	emmc_pins_default: emmc-pins-default {
2508c2ecf20Sopenharmony_ci		mux {
2518c2ecf20Sopenharmony_ci			function = "emmc", "emmc_rst";
2528c2ecf20Sopenharmony_ci			groups = "emmc";
2538c2ecf20Sopenharmony_ci		};
2548c2ecf20Sopenharmony_ci
2558c2ecf20Sopenharmony_ci		/* "NDL0","NDL1","NDL2","NDL3","NDL4","NDL5","NDL6","NDL7",
2568c2ecf20Sopenharmony_ci		 * "NRB","NCLE" pins are used as DAT0,DAT1,DAT2,DAT3,DAT4,
2578c2ecf20Sopenharmony_ci		 * DAT5,DAT6,DAT7,CMD,CLK for eMMC respectively
2588c2ecf20Sopenharmony_ci		 */
2598c2ecf20Sopenharmony_ci		conf-cmd-dat {
2608c2ecf20Sopenharmony_ci			pins = "NDL0", "NDL1", "NDL2",
2618c2ecf20Sopenharmony_ci			       "NDL3", "NDL4", "NDL5",
2628c2ecf20Sopenharmony_ci			       "NDL6", "NDL7", "NRB";
2638c2ecf20Sopenharmony_ci			input-enable;
2648c2ecf20Sopenharmony_ci			bias-pull-up;
2658c2ecf20Sopenharmony_ci		};
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_ci		conf-clk {
2688c2ecf20Sopenharmony_ci			pins = "NCLE";
2698c2ecf20Sopenharmony_ci			bias-pull-down;
2708c2ecf20Sopenharmony_ci		};
2718c2ecf20Sopenharmony_ci	};
2728c2ecf20Sopenharmony_ci
2738c2ecf20Sopenharmony_ci	emmc_pins_uhs: emmc-pins-uhs {
2748c2ecf20Sopenharmony_ci		mux {
2758c2ecf20Sopenharmony_ci			function = "emmc";
2768c2ecf20Sopenharmony_ci			groups = "emmc";
2778c2ecf20Sopenharmony_ci		};
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ci		conf-cmd-dat {
2808c2ecf20Sopenharmony_ci			pins = "NDL0", "NDL1", "NDL2",
2818c2ecf20Sopenharmony_ci			       "NDL3", "NDL4", "NDL5",
2828c2ecf20Sopenharmony_ci			       "NDL6", "NDL7", "NRB";
2838c2ecf20Sopenharmony_ci			input-enable;
2848c2ecf20Sopenharmony_ci			drive-strength = <4>;
2858c2ecf20Sopenharmony_ci			bias-pull-up;
2868c2ecf20Sopenharmony_ci		};
2878c2ecf20Sopenharmony_ci
2888c2ecf20Sopenharmony_ci		conf-clk {
2898c2ecf20Sopenharmony_ci			pins = "NCLE";
2908c2ecf20Sopenharmony_ci			drive-strength = <4>;
2918c2ecf20Sopenharmony_ci			bias-pull-down;
2928c2ecf20Sopenharmony_ci		};
2938c2ecf20Sopenharmony_ci	};
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ci	eth_pins: eth-pins {
2968c2ecf20Sopenharmony_ci		mux {
2978c2ecf20Sopenharmony_ci			function = "eth";
2988c2ecf20Sopenharmony_ci			groups = "mdc_mdio", "rgmii_via_gmac2";
2998c2ecf20Sopenharmony_ci		};
3008c2ecf20Sopenharmony_ci	};
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ci	i2c1_pins: i2c1-pins {
3038c2ecf20Sopenharmony_ci		mux {
3048c2ecf20Sopenharmony_ci			function = "i2c";
3058c2ecf20Sopenharmony_ci			groups =  "i2c1_0";
3068c2ecf20Sopenharmony_ci		};
3078c2ecf20Sopenharmony_ci	};
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ci	i2c2_pins: i2c2-pins {
3108c2ecf20Sopenharmony_ci		mux {
3118c2ecf20Sopenharmony_ci			function = "i2c";
3128c2ecf20Sopenharmony_ci			groups =  "i2c2_0";
3138c2ecf20Sopenharmony_ci		};
3148c2ecf20Sopenharmony_ci	};
3158c2ecf20Sopenharmony_ci
3168c2ecf20Sopenharmony_ci	i2s1_pins: i2s1-pins {
3178c2ecf20Sopenharmony_ci		mux {
3188c2ecf20Sopenharmony_ci			function = "i2s";
3198c2ecf20Sopenharmony_ci			groups =  "i2s_out_mclk_bclk_ws",
3208c2ecf20Sopenharmony_ci				  "i2s1_in_data",
3218c2ecf20Sopenharmony_ci				  "i2s1_out_data";
3228c2ecf20Sopenharmony_ci		};
3238c2ecf20Sopenharmony_ci
3248c2ecf20Sopenharmony_ci		conf {
3258c2ecf20Sopenharmony_ci			pins = "I2S1_IN", "I2S1_OUT", "I2S_BCLK",
3268c2ecf20Sopenharmony_ci			       "I2S_WS", "I2S_MCLK";
3278c2ecf20Sopenharmony_ci			drive-strength = <12>;
3288c2ecf20Sopenharmony_ci			bias-pull-down;
3298c2ecf20Sopenharmony_ci		};
3308c2ecf20Sopenharmony_ci	};
3318c2ecf20Sopenharmony_ci
3328c2ecf20Sopenharmony_ci	irrx_pins: irrx-pins {
3338c2ecf20Sopenharmony_ci		mux {
3348c2ecf20Sopenharmony_ci			function = "ir";
3358c2ecf20Sopenharmony_ci			groups =  "ir_1_rx";
3368c2ecf20Sopenharmony_ci		};
3378c2ecf20Sopenharmony_ci	};
3388c2ecf20Sopenharmony_ci
3398c2ecf20Sopenharmony_ci	irtx_pins: irtx-pins {
3408c2ecf20Sopenharmony_ci		mux {
3418c2ecf20Sopenharmony_ci			function = "ir";
3428c2ecf20Sopenharmony_ci			groups =  "ir_1_tx";
3438c2ecf20Sopenharmony_ci		};
3448c2ecf20Sopenharmony_ci	};
3458c2ecf20Sopenharmony_ci
3468c2ecf20Sopenharmony_ci	/* Parallel nand is shared pin with eMMC */
3478c2ecf20Sopenharmony_ci	parallel_nand_pins: parallel-nand-pins {
3488c2ecf20Sopenharmony_ci		mux {
3498c2ecf20Sopenharmony_ci			function = "flash";
3508c2ecf20Sopenharmony_ci			groups = "par_nand";
3518c2ecf20Sopenharmony_ci		};
3528c2ecf20Sopenharmony_ci	};
3538c2ecf20Sopenharmony_ci
3548c2ecf20Sopenharmony_ci	pcie0_pins: pcie0-pins {
3558c2ecf20Sopenharmony_ci		mux {
3568c2ecf20Sopenharmony_ci			function = "pcie";
3578c2ecf20Sopenharmony_ci			groups = "pcie0_pad_perst",
3588c2ecf20Sopenharmony_ci				 "pcie0_1_waken",
3598c2ecf20Sopenharmony_ci				 "pcie0_1_clkreq";
3608c2ecf20Sopenharmony_ci		};
3618c2ecf20Sopenharmony_ci	};
3628c2ecf20Sopenharmony_ci
3638c2ecf20Sopenharmony_ci	pcie1_pins: pcie1-pins {
3648c2ecf20Sopenharmony_ci		mux {
3658c2ecf20Sopenharmony_ci			function = "pcie";
3668c2ecf20Sopenharmony_ci			groups = "pcie1_pad_perst",
3678c2ecf20Sopenharmony_ci				 "pcie1_0_waken",
3688c2ecf20Sopenharmony_ci				 "pcie1_0_clkreq";
3698c2ecf20Sopenharmony_ci		};
3708c2ecf20Sopenharmony_ci	};
3718c2ecf20Sopenharmony_ci
3728c2ecf20Sopenharmony_ci	pmic_bus_pins: pmic-bus-pins {
3738c2ecf20Sopenharmony_ci		mux {
3748c2ecf20Sopenharmony_ci			function = "pmic";
3758c2ecf20Sopenharmony_ci			groups = "pmic_bus";
3768c2ecf20Sopenharmony_ci		};
3778c2ecf20Sopenharmony_ci	};
3788c2ecf20Sopenharmony_ci
3798c2ecf20Sopenharmony_ci	pwm7_pins: pwm1-2-pins {
3808c2ecf20Sopenharmony_ci		mux {
3818c2ecf20Sopenharmony_ci			function = "pwm";
3828c2ecf20Sopenharmony_ci			groups = "pwm_ch7_2";
3838c2ecf20Sopenharmony_ci		};
3848c2ecf20Sopenharmony_ci	};
3858c2ecf20Sopenharmony_ci
3868c2ecf20Sopenharmony_ci	wled_pins: wled-pins {
3878c2ecf20Sopenharmony_ci		mux {
3888c2ecf20Sopenharmony_ci			function = "led";
3898c2ecf20Sopenharmony_ci			groups = "wled";
3908c2ecf20Sopenharmony_ci		};
3918c2ecf20Sopenharmony_ci	};
3928c2ecf20Sopenharmony_ci
3938c2ecf20Sopenharmony_ci	sd0_pins_default: sd0-pins-default {
3948c2ecf20Sopenharmony_ci		mux {
3958c2ecf20Sopenharmony_ci			function = "sd";
3968c2ecf20Sopenharmony_ci			groups = "sd_0";
3978c2ecf20Sopenharmony_ci		};
3988c2ecf20Sopenharmony_ci
3998c2ecf20Sopenharmony_ci		/* "I2S2_OUT, "I2S4_IN"", "I2S3_IN", "I2S2_IN",
4008c2ecf20Sopenharmony_ci		 *  "I2S4_OUT", "I2S3_OUT" are used as DAT0, DAT1,
4018c2ecf20Sopenharmony_ci		 *  DAT2, DAT3, CMD, CLK for SD respectively.
4028c2ecf20Sopenharmony_ci		 */
4038c2ecf20Sopenharmony_ci		conf-cmd-data {
4048c2ecf20Sopenharmony_ci			pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
4058c2ecf20Sopenharmony_ci			       "I2S2_IN","I2S4_OUT";
4068c2ecf20Sopenharmony_ci			input-enable;
4078c2ecf20Sopenharmony_ci			drive-strength = <8>;
4088c2ecf20Sopenharmony_ci			bias-pull-up;
4098c2ecf20Sopenharmony_ci		};
4108c2ecf20Sopenharmony_ci		conf-clk {
4118c2ecf20Sopenharmony_ci			pins = "I2S3_OUT";
4128c2ecf20Sopenharmony_ci			drive-strength = <12>;
4138c2ecf20Sopenharmony_ci			bias-pull-down;
4148c2ecf20Sopenharmony_ci		};
4158c2ecf20Sopenharmony_ci		conf-cd {
4168c2ecf20Sopenharmony_ci			pins = "TXD3";
4178c2ecf20Sopenharmony_ci			bias-pull-up;
4188c2ecf20Sopenharmony_ci		};
4198c2ecf20Sopenharmony_ci	};
4208c2ecf20Sopenharmony_ci
4218c2ecf20Sopenharmony_ci	sd0_pins_uhs: sd0-pins-uhs {
4228c2ecf20Sopenharmony_ci		mux {
4238c2ecf20Sopenharmony_ci			function = "sd";
4248c2ecf20Sopenharmony_ci			groups = "sd_0";
4258c2ecf20Sopenharmony_ci		};
4268c2ecf20Sopenharmony_ci
4278c2ecf20Sopenharmony_ci		conf-cmd-data {
4288c2ecf20Sopenharmony_ci			pins = "I2S2_OUT", "I2S4_IN", "I2S3_IN",
4298c2ecf20Sopenharmony_ci			       "I2S2_IN","I2S4_OUT";
4308c2ecf20Sopenharmony_ci			input-enable;
4318c2ecf20Sopenharmony_ci			bias-pull-up;
4328c2ecf20Sopenharmony_ci		};
4338c2ecf20Sopenharmony_ci
4348c2ecf20Sopenharmony_ci		conf-clk {
4358c2ecf20Sopenharmony_ci			pins = "I2S3_OUT";
4368c2ecf20Sopenharmony_ci			bias-pull-down;
4378c2ecf20Sopenharmony_ci		};
4388c2ecf20Sopenharmony_ci	};
4398c2ecf20Sopenharmony_ci
4408c2ecf20Sopenharmony_ci	/* Serial NAND is shared pin with SPI-NOR */
4418c2ecf20Sopenharmony_ci	serial_nand_pins: serial-nand-pins {
4428c2ecf20Sopenharmony_ci		mux {
4438c2ecf20Sopenharmony_ci			function = "flash";
4448c2ecf20Sopenharmony_ci			groups = "snfi";
4458c2ecf20Sopenharmony_ci		};
4468c2ecf20Sopenharmony_ci	};
4478c2ecf20Sopenharmony_ci
4488c2ecf20Sopenharmony_ci	spic0_pins: spic0-pins {
4498c2ecf20Sopenharmony_ci		mux {
4508c2ecf20Sopenharmony_ci			function = "spi";
4518c2ecf20Sopenharmony_ci			groups = "spic0_0";
4528c2ecf20Sopenharmony_ci		};
4538c2ecf20Sopenharmony_ci	};
4548c2ecf20Sopenharmony_ci
4558c2ecf20Sopenharmony_ci	spic1_pins: spic1-pins {
4568c2ecf20Sopenharmony_ci		mux {
4578c2ecf20Sopenharmony_ci			function = "spi";
4588c2ecf20Sopenharmony_ci			groups = "spic1_0";
4598c2ecf20Sopenharmony_ci		};
4608c2ecf20Sopenharmony_ci	};
4618c2ecf20Sopenharmony_ci
4628c2ecf20Sopenharmony_ci	/* SPI-NOR is shared pin with serial NAND */
4638c2ecf20Sopenharmony_ci	spi_nor_pins: spi-nor-pins {
4648c2ecf20Sopenharmony_ci		mux {
4658c2ecf20Sopenharmony_ci			function = "flash";
4668c2ecf20Sopenharmony_ci			groups = "spi_nor";
4678c2ecf20Sopenharmony_ci		};
4688c2ecf20Sopenharmony_ci	};
4698c2ecf20Sopenharmony_ci
4708c2ecf20Sopenharmony_ci	/* serial NAND is shared pin with SPI-NOR */
4718c2ecf20Sopenharmony_ci	serial_nand_pins: serial-nand-pins {
4728c2ecf20Sopenharmony_ci		mux {
4738c2ecf20Sopenharmony_ci			function = "flash";
4748c2ecf20Sopenharmony_ci			groups = "snfi";
4758c2ecf20Sopenharmony_ci		};
4768c2ecf20Sopenharmony_ci	};
4778c2ecf20Sopenharmony_ci
4788c2ecf20Sopenharmony_ci	uart0_pins: uart0-pins {
4798c2ecf20Sopenharmony_ci		mux {
4808c2ecf20Sopenharmony_ci			function = "uart";
4818c2ecf20Sopenharmony_ci			groups = "uart0_0_tx_rx" ;
4828c2ecf20Sopenharmony_ci		};
4838c2ecf20Sopenharmony_ci	};
4848c2ecf20Sopenharmony_ci
4858c2ecf20Sopenharmony_ci	uart2_pins: uart2-pins {
4868c2ecf20Sopenharmony_ci		mux {
4878c2ecf20Sopenharmony_ci			function = "uart";
4888c2ecf20Sopenharmony_ci			groups = "uart2_1_tx_rx" ;
4898c2ecf20Sopenharmony_ci		};
4908c2ecf20Sopenharmony_ci	};
4918c2ecf20Sopenharmony_ci
4928c2ecf20Sopenharmony_ci	watchdog_pins: watchdog-pins {
4938c2ecf20Sopenharmony_ci		mux {
4948c2ecf20Sopenharmony_ci			function = "watchdog";
4958c2ecf20Sopenharmony_ci			groups = "watchdog";
4968c2ecf20Sopenharmony_ci		};
4978c2ecf20Sopenharmony_ci	};
4988c2ecf20Sopenharmony_ci};
4998c2ecf20Sopenharmony_ci
5008c2ecf20Sopenharmony_ci&pwm {
5018c2ecf20Sopenharmony_ci	pinctrl-names = "default";
5028c2ecf20Sopenharmony_ci	pinctrl-0 = <&pwm7_pins>;
5038c2ecf20Sopenharmony_ci	status = "okay";
5048c2ecf20Sopenharmony_ci};
5058c2ecf20Sopenharmony_ci
5068c2ecf20Sopenharmony_ci&pwrap {
5078c2ecf20Sopenharmony_ci	pinctrl-names = "default";
5088c2ecf20Sopenharmony_ci	pinctrl-0 = <&pmic_bus_pins>;
5098c2ecf20Sopenharmony_ci
5108c2ecf20Sopenharmony_ci	status = "okay";
5118c2ecf20Sopenharmony_ci};
5128c2ecf20Sopenharmony_ci
5138c2ecf20Sopenharmony_ci&sata {
5148c2ecf20Sopenharmony_ci	status = "okay";
5158c2ecf20Sopenharmony_ci};
5168c2ecf20Sopenharmony_ci
5178c2ecf20Sopenharmony_ci&sata_phy {
5188c2ecf20Sopenharmony_ci	status = "okay";
5198c2ecf20Sopenharmony_ci};
5208c2ecf20Sopenharmony_ci
5218c2ecf20Sopenharmony_ci&spi0 {
5228c2ecf20Sopenharmony_ci	pinctrl-names = "default";
5238c2ecf20Sopenharmony_ci	pinctrl-0 = <&spic0_pins>;
5248c2ecf20Sopenharmony_ci	status = "okay";
5258c2ecf20Sopenharmony_ci};
5268c2ecf20Sopenharmony_ci
5278c2ecf20Sopenharmony_ci&spi1 {
5288c2ecf20Sopenharmony_ci	pinctrl-names = "default";
5298c2ecf20Sopenharmony_ci	pinctrl-0 = <&spic1_pins>;
5308c2ecf20Sopenharmony_ci	status = "okay";
5318c2ecf20Sopenharmony_ci};
5328c2ecf20Sopenharmony_ci
5338c2ecf20Sopenharmony_ci&ssusb {
5348c2ecf20Sopenharmony_ci	vusb33-supply = <&reg_3p3v>;
5358c2ecf20Sopenharmony_ci	vbus-supply = <&reg_5v>;
5368c2ecf20Sopenharmony_ci	status = "okay";
5378c2ecf20Sopenharmony_ci};
5388c2ecf20Sopenharmony_ci
5398c2ecf20Sopenharmony_ci&u3phy {
5408c2ecf20Sopenharmony_ci	status = "okay";
5418c2ecf20Sopenharmony_ci};
5428c2ecf20Sopenharmony_ci
5438c2ecf20Sopenharmony_ci&uart0 {
5448c2ecf20Sopenharmony_ci	pinctrl-names = "default";
5458c2ecf20Sopenharmony_ci	pinctrl-0 = <&uart0_pins>;
5468c2ecf20Sopenharmony_ci	status = "okay";
5478c2ecf20Sopenharmony_ci};
5488c2ecf20Sopenharmony_ci
5498c2ecf20Sopenharmony_ci&uart2 {
5508c2ecf20Sopenharmony_ci	pinctrl-names = "default";
5518c2ecf20Sopenharmony_ci	pinctrl-0 = <&uart2_pins>;
5528c2ecf20Sopenharmony_ci	status = "okay";
5538c2ecf20Sopenharmony_ci};
5548c2ecf20Sopenharmony_ci
5558c2ecf20Sopenharmony_ci&watchdog {
5568c2ecf20Sopenharmony_ci	pinctrl-names = "default";
5578c2ecf20Sopenharmony_ci	pinctrl-0 = <&watchdog_pins>;
5588c2ecf20Sopenharmony_ci	status = "okay";
5598c2ecf20Sopenharmony_ci};
5608c2ecf20Sopenharmony_ci
5618c2ecf20Sopenharmony_ci&wmac {
5628c2ecf20Sopenharmony_ci	status = "okay";
5638c2ecf20Sopenharmony_ci};
564