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
19e120289cSJerome Brunet	main_12v: regulator-main_12v {
20e120289cSJerome Brunet		compatible = "regulator-fixed";
21e120289cSJerome Brunet		regulator-name = "12V";
22e120289cSJerome Brunet		regulator-min-microvolt = <12000000>;
23e120289cSJerome Brunet		regulator-max-microvolt = <12000000>;
24e120289cSJerome Brunet	};
25e120289cSJerome Brunet
26221cf34bSNan Li	vddio_boot: regulator-vddio_boot {
27221cf34bSNan Li		compatible = "regulator-fixed";
28221cf34bSNan Li		regulator-name = "VDDIO_BOOT";
29221cf34bSNan Li		regulator-min-microvolt = <1800000>;
30221cf34bSNan Li		regulator-max-microvolt = <1800000>;
31221cf34bSNan Li	};
32221cf34bSNan Li
33221cf34bSNan Li	vddao_3v3: regulator-vddao_3v3 {
34221cf34bSNan Li		compatible = "regulator-fixed";
35221cf34bSNan Li		regulator-name = "VDDAO_3V3";
36221cf34bSNan Li		regulator-min-microvolt = <3300000>;
37221cf34bSNan Li		regulator-max-microvolt = <3300000>;
38221cf34bSNan Li	};
39221cf34bSNan Li
40221cf34bSNan Li	vddio_ao18: regulator-vddio_ao18 {
41221cf34bSNan Li		compatible = "regulator-fixed";
42221cf34bSNan Li		regulator-name = "VDDIO_AO18";
43221cf34bSNan Li		regulator-min-microvolt = <1800000>;
44221cf34bSNan Li		regulator-max-microvolt = <1800000>;
45221cf34bSNan Li	};
46221cf34bSNan Li
47221cf34bSNan Li	vcc_3v3: regulator-vcc_3v3 {
48221cf34bSNan Li		compatible = "regulator-fixed";
49221cf34bSNan Li		regulator-name = "VCC_3V3";
50221cf34bSNan Li		regulator-min-microvolt = <3300000>;
51221cf34bSNan Li		regulator-max-microvolt = <3300000>;
52221cf34bSNan Li	};
53221cf34bSNan Li
54221cf34bSNan Li	emmc_pwrseq: emmc-pwrseq {
55221cf34bSNan Li		compatible = "mmc-pwrseq-emmc";
56221cf34bSNan Li		reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
57221cf34bSNan Li	};
585a8a2ed6SYixun Lan
595a8a2ed6SYixun Lan	sdio_pwrseq: sdio-pwrseq {
605a8a2ed6SYixun Lan		compatible = "mmc-pwrseq-simple";
615a8a2ed6SYixun Lan		reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>;
625a8a2ed6SYixun Lan		clocks = <&wifi32k>;
635a8a2ed6SYixun Lan		clock-names = "ext_clock";
645a8a2ed6SYixun Lan	};
655a8a2ed6SYixun Lan
665a8a2ed6SYixun Lan	wifi32k: wifi32k {
675a8a2ed6SYixun Lan		compatible = "pwm-clock";
685a8a2ed6SYixun Lan		#clock-cells = <0>;
695a8a2ed6SYixun Lan		clock-frequency = <32768>;
705a8a2ed6SYixun Lan		pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */
715a8a2ed6SYixun Lan	};
726279f666SJerome Brunet
736279f666SJerome Brunet	speaker-leds {
746279f666SJerome Brunet		compatible = "gpio-leds";
756279f666SJerome Brunet
766279f666SJerome Brunet		aled1 {
776279f666SJerome Brunet			label = "speaker:aled1";
786279f666SJerome Brunet			gpios = <&gpio_speaker 7 0>;
796279f666SJerome Brunet		};
806279f666SJerome Brunet
816279f666SJerome Brunet		aled2 {
826279f666SJerome Brunet			label = "speaker:aled2";
836279f666SJerome Brunet			gpios = <&gpio_speaker 6 0>;
846279f666SJerome Brunet		};
856279f666SJerome Brunet
866279f666SJerome Brunet		aled3 {
876279f666SJerome Brunet			label = "speaker:aled3";
886279f666SJerome Brunet			gpios = <&gpio_speaker 5 0>;
896279f666SJerome Brunet		};
906279f666SJerome Brunet
916279f666SJerome Brunet		aled4 {
926279f666SJerome Brunet			label = "speaker:aled4";
936279f666SJerome Brunet			gpios = <&gpio_speaker 4 0>;
946279f666SJerome Brunet		};
956279f666SJerome Brunet
966279f666SJerome Brunet		aled5 {
976279f666SJerome Brunet			label = "speaker:aled5";
986279f666SJerome Brunet			gpios = <&gpio_speaker 3 0>;
996279f666SJerome Brunet		};
1006279f666SJerome Brunet
1016279f666SJerome Brunet		aled6 {
1026279f666SJerome Brunet			label = "speaker:aled6";
1036279f666SJerome Brunet			gpios = <&gpio_speaker 2 0>;
1046279f666SJerome Brunet		};
1056279f666SJerome Brunet	};
1069d59b708SYixun Lan};
1079d59b708SYixun Lan
108f6f6ac91SYixun Lan&ethmac {
109f6f6ac91SYixun Lan	status = "okay";
110f6f6ac91SYixun Lan	phy-mode = "rgmii";
111f6f6ac91SYixun Lan	pinctrl-0 = <&eth_rgmii_y_pins>;
112f6f6ac91SYixun Lan	pinctrl-names = "default";
113f6f6ac91SYixun Lan};
114f6f6ac91SYixun Lan
1153e5925c6SYixun Lan&uart_A {
1163e5925c6SYixun Lan	status = "okay";
1173e5925c6SYixun Lan	pinctrl-0 = <&uart_a_pins>;
1183e5925c6SYixun Lan	pinctrl-names = "default";
1193e5925c6SYixun Lan};
1203e5925c6SYixun Lan
1219d59b708SYixun Lan&uart_AO {
1229d59b708SYixun Lan	status = "okay";
123e496c415SYixun Lan	pinctrl-0 = <&uart_ao_a_pins>;
124e496c415SYixun Lan	pinctrl-names = "default";
1259d59b708SYixun Lan};
1267bd46a79SYixun Lan
1277bd46a79SYixun Lan&ir {
1287bd46a79SYixun Lan	status = "okay";
1297bd46a79SYixun Lan	pinctrl-0 = <&remote_input_ao_pins>;
1307bd46a79SYixun Lan	pinctrl-names = "default";
1317bd46a79SYixun Lan};
1327d6d8a20SJian Hu
1337d6d8a20SJian Hu&i2c1 {
1347d6d8a20SJian Hu	status = "okay";
1357d6d8a20SJian Hu	pinctrl-0 = <&i2c1_z_pins>;
1367d6d8a20SJian Hu	pinctrl-names = "default";
137a90193b9SJerome Brunet
138a90193b9SJerome Brunet	speaker_amp1: audio-codec@1b {
139a90193b9SJerome Brunet		compatible = "ti,tas5707";
140a90193b9SJerome Brunet		reg = <0x1b>;
141a90193b9SJerome Brunet		reset-gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>;
142a90193b9SJerome Brunet		#sound-dai-cells = <0>;
143a90193b9SJerome Brunet		AVDD-supply = <&vcc_3v3>;
144a90193b9SJerome Brunet		DVDD-supply = <&vcc_3v3>;
145a90193b9SJerome Brunet		PVDD_A-supply = <&main_12v>;
146a90193b9SJerome Brunet		PVDD_B-supply = <&main_12v>;
147a90193b9SJerome Brunet		PVDD_C-supply = <&main_12v>;
148a90193b9SJerome Brunet		PVDD_D-supply = <&main_12v>;
149a90193b9SJerome Brunet	};
1507d6d8a20SJian Hu};
151221cf34bSNan Li
152ffe2f2a4SJerome Brunet&i2c_AO {
153ffe2f2a4SJerome Brunet	status = "okay";
154ffe2f2a4SJerome Brunet	pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>;
155ffe2f2a4SJerome Brunet	pinctrl-names = "default";
1566279f666SJerome Brunet
1576279f666SJerome Brunet	gpio_speaker: gpio-controller@1f {
1586279f666SJerome Brunet		compatible = "nxp,pca9557";
1596279f666SJerome Brunet		reg = <0x1f>;
1606279f666SJerome Brunet		gpio-controller;
1616279f666SJerome Brunet		#gpio-cells = <2>;
1626279f666SJerome Brunet		vcc-supply = <&vddao_3v3>;
1636279f666SJerome Brunet	};
164ffe2f2a4SJerome Brunet};
165ffe2f2a4SJerome Brunet
1665a8a2ed6SYixun Lan&pwm_ab {
1675a8a2ed6SYixun Lan	status = "okay";
1685a8a2ed6SYixun Lan	pinctrl-0 = <&pwm_a_x20_pins>;
1695a8a2ed6SYixun Lan	pinctrl-names = "default";
1705a8a2ed6SYixun Lan};
1715a8a2ed6SYixun Lan
172221cf34bSNan Li/* emmc storage */
173221cf34bSNan Li&sd_emmc_c {
174221cf34bSNan Li	status = "okay";
175221cf34bSNan Li	pinctrl-0 = <&emmc_pins>;
176221cf34bSNan Li	pinctrl-1 = <&emmc_clk_gate_pins>;
177221cf34bSNan Li	pinctrl-names = "default", "clk-gate";
178221cf34bSNan Li
179221cf34bSNan Li	bus-width = <8>;
180221cf34bSNan Li	cap-sd-highspeed;
181221cf34bSNan Li	cap-mmc-highspeed;
182221cf34bSNan Li	max-frequency = <180000000>;
183221cf34bSNan Li	non-removable;
184221cf34bSNan Li	disable-wp;
185221cf34bSNan Li	mmc-ddr-1_8v;
186221cf34bSNan Li	mmc-hs200-1_8v;
187221cf34bSNan Li
188221cf34bSNan Li	vmmc-supply = <&vcc_3v3>;
189221cf34bSNan Li	vqmmc-supply = <&vddio_boot>;
190221cf34bSNan Li};
1915a8a2ed6SYixun Lan
1925a8a2ed6SYixun Lan/* wifi module */
1935a8a2ed6SYixun Lan&sd_emmc_b {
1945a8a2ed6SYixun Lan	status = "okay";
1955a8a2ed6SYixun Lan	#address-cells = <1>;
1965a8a2ed6SYixun Lan	#size-cells = <0>;
1975a8a2ed6SYixun Lan
1985a8a2ed6SYixun Lan	pinctrl-0 = <&sdio_pins>;
1995a8a2ed6SYixun Lan	pinctrl-1 = <&sdio_clk_gate_pins>;
2005a8a2ed6SYixun Lan	pinctrl-names = "default", "clk-gate";
2015a8a2ed6SYixun Lan
2025a8a2ed6SYixun Lan	bus-width = <4>;
2035a8a2ed6SYixun Lan	cap-sd-highspeed;
2045a8a2ed6SYixun Lan	max-frequency = <100000000>;
2055a8a2ed6SYixun Lan	non-removable;
2065a8a2ed6SYixun Lan	disable-wp;
2075a8a2ed6SYixun Lan
2085a8a2ed6SYixun Lan	mmc-pwrseq = <&sdio_pwrseq>;
2095a8a2ed6SYixun Lan
2105a8a2ed6SYixun Lan	vmmc-supply = <&vddao_3v3>;
2115a8a2ed6SYixun Lan	vqmmc-supply = <&vddio_boot>;
2125a8a2ed6SYixun Lan
2135a8a2ed6SYixun Lan	brcmf: wifi@1 {
2145a8a2ed6SYixun Lan		reg = <1>;
2155a8a2ed6SYixun Lan		compatible = "brcm,bcm4329-fmac";
2165a8a2ed6SYixun Lan	};
2175a8a2ed6SYixun Lan};
218