1114abfe1SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
29d59b708SYixun Lan/*
39d59b708SYixun Lan * Copyright (c) 2017 Amlogic, Inc. All rights reserved.
49d59b708SYixun Lan */
59d59b708SYixun Lan
69d59b708SYixun Lan/dts-v1/;
79d59b708SYixun Lan
89d59b708SYixun Lan#include "meson-axg.dtsi"
99d59b708SYixun Lan
109d59b708SYixun Lan/ {
119d59b708SYixun Lan	compatible = "amlogic,s400", "amlogic,a113d", "amlogic,meson-axg";
129d59b708SYixun Lan	model = "Amlogic Meson AXG S400 Development Board";
139d59b708SYixun Lan
149d59b708SYixun Lan	aliases {
159d59b708SYixun Lan		serial0 = &uart_AO;
163e5925c6SYixun Lan		serial1 = &uart_A;
179d59b708SYixun Lan	};
18221cf34bSNan Li
19221cf34bSNan Li	vddio_boot: regulator-vddio_boot {
20221cf34bSNan Li		compatible = "regulator-fixed";
21221cf34bSNan Li		regulator-name = "VDDIO_BOOT";
22221cf34bSNan Li		regulator-min-microvolt = <1800000>;
23221cf34bSNan Li		regulator-max-microvolt = <1800000>;
24221cf34bSNan Li	};
25221cf34bSNan Li
26221cf34bSNan Li	vddao_3v3: regulator-vddao_3v3 {
27221cf34bSNan Li		compatible = "regulator-fixed";
28221cf34bSNan Li		regulator-name = "VDDAO_3V3";
29221cf34bSNan Li		regulator-min-microvolt = <3300000>;
30221cf34bSNan Li		regulator-max-microvolt = <3300000>;
31221cf34bSNan Li	};
32221cf34bSNan Li
33221cf34bSNan Li	vddio_ao18: regulator-vddio_ao18 {
34221cf34bSNan Li		compatible = "regulator-fixed";
35221cf34bSNan Li		regulator-name = "VDDIO_AO18";
36221cf34bSNan Li		regulator-min-microvolt = <1800000>;
37221cf34bSNan Li		regulator-max-microvolt = <1800000>;
38221cf34bSNan Li	};
39221cf34bSNan Li
40221cf34bSNan Li	vcc_3v3: regulator-vcc_3v3 {
41221cf34bSNan Li		compatible = "regulator-fixed";
42221cf34bSNan Li		regulator-name = "VCC_3V3";
43221cf34bSNan Li		regulator-min-microvolt = <3300000>;
44221cf34bSNan Li		regulator-max-microvolt = <3300000>;
45221cf34bSNan Li	};
46221cf34bSNan Li
47221cf34bSNan Li	emmc_pwrseq: emmc-pwrseq {
48221cf34bSNan Li		compatible = "mmc-pwrseq-emmc";
49221cf34bSNan Li		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
50221cf34bSNan Li	};
515a8a2ed6SYixun Lan
525a8a2ed6SYixun Lan	sdio_pwrseq: sdio-pwrseq {
535a8a2ed6SYixun Lan		compatible = "mmc-pwrseq-simple";
545a8a2ed6SYixun Lan		reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
555a8a2ed6SYixun Lan		clocks = <&wifi32k>;
565a8a2ed6SYixun Lan		clock-names = "ext_clock";
575a8a2ed6SYixun Lan	};
585a8a2ed6SYixun Lan
595a8a2ed6SYixun Lan	wifi32k: wifi32k {
605a8a2ed6SYixun Lan		compatible = "pwm-clock";
615a8a2ed6SYixun Lan		#clock-cells = <0>;
625a8a2ed6SYixun Lan		clock-frequency = <32768>;
635a8a2ed6SYixun Lan		pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
645a8a2ed6SYixun Lan	};
656279f666SJerome Brunet
666279f666SJerome Brunet	speaker-leds {
676279f666SJerome Brunet		compatible = "gpio-leds";
686279f666SJerome Brunet
696279f666SJerome Brunet		aled1 {
706279f666SJerome Brunet			label = "speaker:aled1";
716279f666SJerome Brunet			gpios = <&gpio_speaker 7 0>;
726279f666SJerome Brunet		};
736279f666SJerome Brunet
746279f666SJerome Brunet		aled2 {
756279f666SJerome Brunet			label = "speaker:aled2";
766279f666SJerome Brunet			gpios = <&gpio_speaker 6 0>;
776279f666SJerome Brunet		};
786279f666SJerome Brunet
796279f666SJerome Brunet		aled3 {
806279f666SJerome Brunet			label = "speaker:aled3";
816279f666SJerome Brunet			gpios = <&gpio_speaker 5 0>;
826279f666SJerome Brunet		};
836279f666SJerome Brunet
846279f666SJerome Brunet		aled4 {
856279f666SJerome Brunet			label = "speaker:aled4";
866279f666SJerome Brunet			gpios = <&gpio_speaker 4 0>;
876279f666SJerome Brunet		};
886279f666SJerome Brunet
896279f666SJerome Brunet		aled5 {
906279f666SJerome Brunet			label = "speaker:aled5";
916279f666SJerome Brunet			gpios = <&gpio_speaker 3 0>;
926279f666SJerome Brunet		};
936279f666SJerome Brunet
946279f666SJerome Brunet		aled6 {
956279f666SJerome Brunet			label = "speaker:aled6";
966279f666SJerome Brunet			gpios = <&gpio_speaker 2 0>;
976279f666SJerome Brunet		};
986279f666SJerome Brunet	};
999d59b708SYixun Lan};
1009d59b708SYixun Lan
101f6f6ac91SYixun Lan&ethmac {
102f6f6ac91SYixun Lan	status = "okay";
103f6f6ac91SYixun Lan	phy-mode = "rgmii";
104f6f6ac91SYixun Lan	pinctrl-0 = <&eth_rgmii_y_pins>;
105f6f6ac91SYixun Lan	pinctrl-names = "default";
106f6f6ac91SYixun Lan};
107f6f6ac91SYixun Lan
1083e5925c6SYixun Lan&uart_A {
1093e5925c6SYixun Lan	status = "okay";
1103e5925c6SYixun Lan	pinctrl-0 = <&uart_a_pins>;
1113e5925c6SYixun Lan	pinctrl-names = "default";
1123e5925c6SYixun Lan};
1133e5925c6SYixun Lan
1149d59b708SYixun Lan&uart_AO {
1159d59b708SYixun Lan	status = "okay";
116e496c415SYixun Lan	pinctrl-0 = <&uart_ao_a_pins>;
117e496c415SYixun Lan	pinctrl-names = "default";
1189d59b708SYixun Lan};
1197bd46a79SYixun Lan
1207bd46a79SYixun Lan&ir {
1217bd46a79SYixun Lan	status = "okay";
1227bd46a79SYixun Lan	pinctrl-0 = <&remote_input_ao_pins>;
1237bd46a79SYixun Lan	pinctrl-names = "default";
1247bd46a79SYixun Lan};
1257d6d8a20SJian Hu
1267d6d8a20SJian Hu&i2c1 {
1277d6d8a20SJian Hu	status = "okay";
1287d6d8a20SJian Hu	pinctrl-0 = <&i2c1_z_pins>;
1297d6d8a20SJian Hu	pinctrl-names = "default";
1307d6d8a20SJian Hu};
131221cf34bSNan Li
132ffe2f2a4SJerome Brunet&i2c_AO {
133ffe2f2a4SJerome Brunet	status = "okay";
134ffe2f2a4SJerome Brunet	pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
135ffe2f2a4SJerome Brunet	pinctrl-names = "default";
1366279f666SJerome Brunet
1376279f666SJerome Brunet	gpio_speaker: gpio-controller@1f {
1386279f666SJerome Brunet		compatible = "nxp,pca9557";
1396279f666SJerome Brunet		reg = <0x1f>;
1406279f666SJerome Brunet		gpio-controller;
1416279f666SJerome Brunet		#gpio-cells = <2>;
1426279f666SJerome Brunet		vcc-supply = <&vddao_3v3>;
1436279f666SJerome Brunet	};
144ffe2f2a4SJerome Brunet};
145ffe2f2a4SJerome Brunet
1465a8a2ed6SYixun Lan&pwm_ab {
1475a8a2ed6SYixun Lan	status = "okay";
1485a8a2ed6SYixun Lan	pinctrl-0 = <&pwm_a_x20_pins>;
1495a8a2ed6SYixun Lan	pinctrl-names = "default";
1505a8a2ed6SYixun Lan};
1515a8a2ed6SYixun Lan
152221cf34bSNan Li/* emmc storage */
153221cf34bSNan Li&sd_emmc_c {
154221cf34bSNan Li	status = "okay";
155221cf34bSNan Li	pinctrl-0 = <&emmc_pins>;
156221cf34bSNan Li	pinctrl-1 = <&emmc_clk_gate_pins>;
157221cf34bSNan Li	pinctrl-names = "default", "clk-gate";
158221cf34bSNan Li
159221cf34bSNan Li	bus-width = <8>;
160221cf34bSNan Li	cap-sd-highspeed;
161221cf34bSNan Li	cap-mmc-highspeed;
162221cf34bSNan Li	max-frequency = <180000000>;
163221cf34bSNan Li	non-removable;
164221cf34bSNan Li	disable-wp;
165221cf34bSNan Li	mmc-ddr-1_8v;
166221cf34bSNan Li	mmc-hs200-1_8v;
167221cf34bSNan Li
168221cf34bSNan Li	vmmc-supply = <&vcc_3v3>;
169221cf34bSNan Li	vqmmc-supply = <&vddio_boot>;
170221cf34bSNan Li};
1715a8a2ed6SYixun Lan
1725a8a2ed6SYixun Lan/* wifi module */
1735a8a2ed6SYixun Lan&sd_emmc_b {
1745a8a2ed6SYixun Lan	status = "okay";
1755a8a2ed6SYixun Lan	#address-cells = <1>;
1765a8a2ed6SYixun Lan	#size-cells = <0>;
1775a8a2ed6SYixun Lan
1785a8a2ed6SYixun Lan	pinctrl-0 = <&sdio_pins>;
1795a8a2ed6SYixun Lan	pinctrl-1 = <&sdio_clk_gate_pins>;
1805a8a2ed6SYixun Lan	pinctrl-names = "default", "clk-gate";
1815a8a2ed6SYixun Lan
1825a8a2ed6SYixun Lan	bus-width = <4>;
1835a8a2ed6SYixun Lan	cap-sd-highspeed;
1845a8a2ed6SYixun Lan	max-frequency = <100000000>;
1855a8a2ed6SYixun Lan	non-removable;
1865a8a2ed6SYixun Lan	disable-wp;
1875a8a2ed6SYixun Lan
1885a8a2ed6SYixun Lan	mmc-pwrseq = <&sdio_pwrseq>;
1895a8a2ed6SYixun Lan
1905a8a2ed6SYixun Lan	vmmc-supply = <&vddao_3v3>;
1915a8a2ed6SYixun Lan	vqmmc-supply = <&vddio_boot>;
1925a8a2ed6SYixun Lan
1935a8a2ed6SYixun Lan	brcmf: wifi@1 {
1945a8a2ed6SYixun Lan		reg = <1>;
1955a8a2ed6SYixun Lan		compatible = "brcm,bcm4329-fmac";
1965a8a2ed6SYixun Lan	};
1975a8a2ed6SYixun Lan};
198