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" 9aabe5d2dSJerome Brunet#include <dt-bindings/input/input.h> 109d59b708SYixun Lan 119d59b708SYixun Lan/ { 129d59b708SYixun Lan compatible = "amlogic,s400", "amlogic,a113d", "amlogic,meson-axg"; 139d59b708SYixun Lan model = "Amlogic Meson AXG S400 Development Board"; 149d59b708SYixun Lan 15aabe5d2dSJerome Brunet adc_keys { 16aabe5d2dSJerome Brunet compatible = "adc-keys"; 17aabe5d2dSJerome Brunet io-channels = <&saradc 0>; 18aabe5d2dSJerome Brunet io-channel-names = "buttons"; 19aabe5d2dSJerome Brunet keyup-threshold-microvolt = <1800000>; 20aabe5d2dSJerome Brunet 21aabe5d2dSJerome Brunet button-next { 22aabe5d2dSJerome Brunet label = "Next"; 23aabe5d2dSJerome Brunet linux,code = <KEY_NEXT>; 24aabe5d2dSJerome Brunet press-threshold-microvolt = <1116000>; /* 62% */ 25aabe5d2dSJerome Brunet }; 26aabe5d2dSJerome Brunet 27aabe5d2dSJerome Brunet button-prev { 28aabe5d2dSJerome Brunet label = "Previous"; 29aabe5d2dSJerome Brunet linux,code = <KEY_PREVIOUS>; 30aabe5d2dSJerome Brunet press-threshold-microvolt = <900000>; /* 50% */ 31aabe5d2dSJerome Brunet }; 32aabe5d2dSJerome Brunet 33aabe5d2dSJerome Brunet button-wifi { 34aabe5d2dSJerome Brunet label = "Wifi"; 35aabe5d2dSJerome Brunet linux,code = <KEY_WLAN>; 36aabe5d2dSJerome Brunet press-threshold-microvolt = <684000>; /* 38% */ 37aabe5d2dSJerome Brunet }; 38aabe5d2dSJerome Brunet 39aabe5d2dSJerome Brunet button-up { 40aabe5d2dSJerome Brunet label = "Volume Up"; 41aabe5d2dSJerome Brunet linux,code = <KEY_VOLUMEUP>; 42aabe5d2dSJerome Brunet press-threshold-microvolt = <468000>; /* 26% */ 43aabe5d2dSJerome Brunet }; 44aabe5d2dSJerome Brunet 45aabe5d2dSJerome Brunet button-down { 46aabe5d2dSJerome Brunet label = "Volume Down"; 47aabe5d2dSJerome Brunet linux,code = <KEY_VOLUMEDOWN>; 48aabe5d2dSJerome Brunet press-threshold-microvolt = <252000>; /* 14% */ 49aabe5d2dSJerome Brunet }; 50aabe5d2dSJerome Brunet 51aabe5d2dSJerome Brunet button-voice { 52aabe5d2dSJerome Brunet label = "Voice"; 53aabe5d2dSJerome Brunet linux,code = <KEY_VOICECOMMAND>; 54aabe5d2dSJerome Brunet press-threshold-microvolt = <0>; /* 0% */ 55aabe5d2dSJerome Brunet }; 56aabe5d2dSJerome Brunet }; 57aabe5d2dSJerome Brunet 589d59b708SYixun Lan aliases { 599d59b708SYixun Lan serial0 = &uart_AO; 603e5925c6SYixun Lan serial1 = &uart_A; 619d59b708SYixun Lan }; 62221cf34bSNan Li 63e120289cSJerome Brunet main_12v: regulator-main_12v { 64e120289cSJerome Brunet compatible = "regulator-fixed"; 65e120289cSJerome Brunet regulator-name = "12V"; 66e120289cSJerome Brunet regulator-min-microvolt = <12000000>; 67e120289cSJerome Brunet regulator-max-microvolt = <12000000>; 689f2619d5SJerome Brunet regulator-always-on; 69e120289cSJerome Brunet }; 70e120289cSJerome Brunet 71221cf34bSNan Li vddio_boot: regulator-vddio_boot { 72221cf34bSNan Li compatible = "regulator-fixed"; 73221cf34bSNan Li regulator-name = "VDDIO_BOOT"; 74221cf34bSNan Li regulator-min-microvolt = <1800000>; 75221cf34bSNan Li regulator-max-microvolt = <1800000>; 769f2619d5SJerome Brunet vin-supply = <&vddao_3v3>; 779f2619d5SJerome Brunet regulator-always-on; 78221cf34bSNan Li }; 79221cf34bSNan Li 80221cf34bSNan Li vddao_3v3: regulator-vddao_3v3 { 81221cf34bSNan Li compatible = "regulator-fixed"; 82221cf34bSNan Li regulator-name = "VDDAO_3V3"; 83221cf34bSNan Li regulator-min-microvolt = <3300000>; 84221cf34bSNan Li regulator-max-microvolt = <3300000>; 859f2619d5SJerome Brunet vin-supply = <&main_12v>; 869f2619d5SJerome Brunet regulator-always-on; 87221cf34bSNan Li }; 88221cf34bSNan Li 89221cf34bSNan Li vddio_ao18: regulator-vddio_ao18 { 90221cf34bSNan Li compatible = "regulator-fixed"; 91221cf34bSNan Li regulator-name = "VDDIO_AO18"; 92221cf34bSNan Li regulator-min-microvolt = <1800000>; 93221cf34bSNan Li regulator-max-microvolt = <1800000>; 949f2619d5SJerome Brunet vin-supply = <&vddao_3v3>; 959f2619d5SJerome Brunet regulator-always-on; 96221cf34bSNan Li }; 97221cf34bSNan Li 98221cf34bSNan Li vcc_3v3: regulator-vcc_3v3 { 99221cf34bSNan Li compatible = "regulator-fixed"; 100221cf34bSNan Li regulator-name = "VCC_3V3"; 101221cf34bSNan Li regulator-min-microvolt = <3300000>; 102221cf34bSNan Li regulator-max-microvolt = <3300000>; 1039f2619d5SJerome Brunet vin-supply = <&vddao_3v3>; 1049f2619d5SJerome Brunet regulator-always-on; 105221cf34bSNan Li }; 106221cf34bSNan Li 107ff36932eSJerome Brunet vcc_5v: regulator-vcc_5v { 108ff36932eSJerome Brunet compatible = "regulator-fixed"; 109ff36932eSJerome Brunet regulator-name = "VCC5V"; 110ff36932eSJerome Brunet regulator-min-microvolt = <5000000>; 111ff36932eSJerome Brunet regulator-max-microvolt = <5000000>; 112ff36932eSJerome Brunet vin-supply = <&main_12v>; 113ff36932eSJerome Brunet 114ff36932eSJerome Brunet gpio = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>; 115ff36932eSJerome Brunet enable-active-high; 116ff36932eSJerome Brunet }; 117ff36932eSJerome Brunet 118221cf34bSNan Li emmc_pwrseq: emmc-pwrseq { 119221cf34bSNan Li compatible = "mmc-pwrseq-emmc"; 120221cf34bSNan Li reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 121221cf34bSNan Li }; 1225a8a2ed6SYixun Lan 1235a8a2ed6SYixun Lan sdio_pwrseq: sdio-pwrseq { 1245a8a2ed6SYixun Lan compatible = "mmc-pwrseq-simple"; 1255a8a2ed6SYixun Lan reset-gpios = <&gpio GPIOX_7 GPIO_ACTIVE_LOW>; 1265a8a2ed6SYixun Lan clocks = <&wifi32k>; 1275a8a2ed6SYixun Lan clock-names = "ext_clock"; 1285a8a2ed6SYixun Lan }; 1295a8a2ed6SYixun Lan 1305a8a2ed6SYixun Lan wifi32k: wifi32k { 1315a8a2ed6SYixun Lan compatible = "pwm-clock"; 1325a8a2ed6SYixun Lan #clock-cells = <0>; 1335a8a2ed6SYixun Lan clock-frequency = <32768>; 1345a8a2ed6SYixun Lan pwms = <&pwm_ab 0 30518 0>; /* PWM_A at 32.768KHz */ 1355a8a2ed6SYixun Lan }; 1366279f666SJerome Brunet 1376279f666SJerome Brunet speaker-leds { 1386279f666SJerome Brunet compatible = "gpio-leds"; 1396279f666SJerome Brunet 1406279f666SJerome Brunet aled1 { 1416279f666SJerome Brunet label = "speaker:aled1"; 1426279f666SJerome Brunet gpios = <&gpio_speaker 7 0>; 1436279f666SJerome Brunet }; 1446279f666SJerome Brunet 1456279f666SJerome Brunet aled2 { 1466279f666SJerome Brunet label = "speaker:aled2"; 1476279f666SJerome Brunet gpios = <&gpio_speaker 6 0>; 1486279f666SJerome Brunet }; 1496279f666SJerome Brunet 1506279f666SJerome Brunet aled3 { 1516279f666SJerome Brunet label = "speaker:aled3"; 1526279f666SJerome Brunet gpios = <&gpio_speaker 5 0>; 1536279f666SJerome Brunet }; 1546279f666SJerome Brunet 1556279f666SJerome Brunet aled4 { 1566279f666SJerome Brunet label = "speaker:aled4"; 1576279f666SJerome Brunet gpios = <&gpio_speaker 4 0>; 1586279f666SJerome Brunet }; 1596279f666SJerome Brunet 1606279f666SJerome Brunet aled5 { 1616279f666SJerome Brunet label = "speaker:aled5"; 1626279f666SJerome Brunet gpios = <&gpio_speaker 3 0>; 1636279f666SJerome Brunet }; 1646279f666SJerome Brunet 1656279f666SJerome Brunet aled6 { 1666279f666SJerome Brunet label = "speaker:aled6"; 1676279f666SJerome Brunet gpios = <&gpio_speaker 2 0>; 1686279f666SJerome Brunet }; 1696279f666SJerome Brunet }; 1709d59b708SYixun Lan}; 1719d59b708SYixun Lan 172f6f6ac91SYixun Lanðmac { 173f6f6ac91SYixun Lan status = "okay"; 174f6f6ac91SYixun Lan phy-mode = "rgmii"; 175f6f6ac91SYixun Lan pinctrl-0 = <ð_rgmii_y_pins>; 176f6f6ac91SYixun Lan pinctrl-names = "default"; 177f6f6ac91SYixun Lan}; 178f6f6ac91SYixun Lan 1793e5925c6SYixun Lan&uart_A { 1803e5925c6SYixun Lan status = "okay"; 1813e5925c6SYixun Lan pinctrl-0 = <&uart_a_pins>; 1823e5925c6SYixun Lan pinctrl-names = "default"; 1833e5925c6SYixun Lan}; 1843e5925c6SYixun Lan 1859d59b708SYixun Lan&uart_AO { 1869d59b708SYixun Lan status = "okay"; 187e496c415SYixun Lan pinctrl-0 = <&uart_ao_a_pins>; 188e496c415SYixun Lan pinctrl-names = "default"; 1899d59b708SYixun Lan}; 1907bd46a79SYixun Lan 1917bd46a79SYixun Lan&ir { 1927bd46a79SYixun Lan status = "okay"; 1937bd46a79SYixun Lan pinctrl-0 = <&remote_input_ao_pins>; 1947bd46a79SYixun Lan pinctrl-names = "default"; 1957bd46a79SYixun Lan}; 1967d6d8a20SJian Hu 1977d6d8a20SJian Hu&i2c1 { 1987d6d8a20SJian Hu status = "okay"; 1997d6d8a20SJian Hu pinctrl-0 = <&i2c1_z_pins>; 2007d6d8a20SJian Hu pinctrl-names = "default"; 201a90193b9SJerome Brunet 202a90193b9SJerome Brunet speaker_amp1: audio-codec@1b { 203a90193b9SJerome Brunet compatible = "ti,tas5707"; 204a90193b9SJerome Brunet reg = <0x1b>; 205a90193b9SJerome Brunet reset-gpios = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_LOW>; 206a90193b9SJerome Brunet #sound-dai-cells = <0>; 207a90193b9SJerome Brunet AVDD-supply = <&vcc_3v3>; 208a90193b9SJerome Brunet DVDD-supply = <&vcc_3v3>; 209a90193b9SJerome Brunet PVDD_A-supply = <&main_12v>; 210a90193b9SJerome Brunet PVDD_B-supply = <&main_12v>; 211a90193b9SJerome Brunet PVDD_C-supply = <&main_12v>; 212a90193b9SJerome Brunet PVDD_D-supply = <&main_12v>; 213a90193b9SJerome Brunet }; 2147d6d8a20SJian Hu}; 215221cf34bSNan Li 216ffe2f2a4SJerome Brunet&i2c_AO { 217ffe2f2a4SJerome Brunet status = "okay"; 218ffe2f2a4SJerome Brunet pinctrl-0 = <&i2c_ao_sck_10_pins>, <&i2c_ao_sda_11_pins>; 219ffe2f2a4SJerome Brunet pinctrl-names = "default"; 2206279f666SJerome Brunet 2216279f666SJerome Brunet gpio_speaker: gpio-controller@1f { 2226279f666SJerome Brunet compatible = "nxp,pca9557"; 2236279f666SJerome Brunet reg = <0x1f>; 2246279f666SJerome Brunet gpio-controller; 2256279f666SJerome Brunet #gpio-cells = <2>; 2266279f666SJerome Brunet vcc-supply = <&vddao_3v3>; 2276279f666SJerome Brunet }; 228ffe2f2a4SJerome Brunet}; 229ffe2f2a4SJerome Brunet 2305a8a2ed6SYixun Lan&pwm_ab { 2315a8a2ed6SYixun Lan status = "okay"; 2325a8a2ed6SYixun Lan pinctrl-0 = <&pwm_a_x20_pins>; 2335a8a2ed6SYixun Lan pinctrl-names = "default"; 2345a8a2ed6SYixun Lan}; 2355a8a2ed6SYixun Lan 236221cf34bSNan Li/* emmc storage */ 237221cf34bSNan Li&sd_emmc_c { 238221cf34bSNan Li status = "okay"; 239221cf34bSNan Li pinctrl-0 = <&emmc_pins>; 240221cf34bSNan Li pinctrl-1 = <&emmc_clk_gate_pins>; 241221cf34bSNan Li pinctrl-names = "default", "clk-gate"; 242221cf34bSNan Li 243221cf34bSNan Li bus-width = <8>; 244221cf34bSNan Li cap-sd-highspeed; 245221cf34bSNan Li cap-mmc-highspeed; 246221cf34bSNan Li max-frequency = <180000000>; 247221cf34bSNan Li non-removable; 248221cf34bSNan Li disable-wp; 249221cf34bSNan Li mmc-ddr-1_8v; 250221cf34bSNan Li mmc-hs200-1_8v; 251221cf34bSNan Li 252221cf34bSNan Li vmmc-supply = <&vcc_3v3>; 253221cf34bSNan Li vqmmc-supply = <&vddio_boot>; 254221cf34bSNan Li}; 2555a8a2ed6SYixun Lan 2565a8a2ed6SYixun Lan/* wifi module */ 2575a8a2ed6SYixun Lan&sd_emmc_b { 2585a8a2ed6SYixun Lan status = "okay"; 2595a8a2ed6SYixun Lan #address-cells = <1>; 2605a8a2ed6SYixun Lan #size-cells = <0>; 2615a8a2ed6SYixun Lan 2625a8a2ed6SYixun Lan pinctrl-0 = <&sdio_pins>; 2635a8a2ed6SYixun Lan pinctrl-1 = <&sdio_clk_gate_pins>; 2645a8a2ed6SYixun Lan pinctrl-names = "default", "clk-gate"; 2655a8a2ed6SYixun Lan 2665a8a2ed6SYixun Lan bus-width = <4>; 2675a8a2ed6SYixun Lan cap-sd-highspeed; 2685a8a2ed6SYixun Lan max-frequency = <100000000>; 2695a8a2ed6SYixun Lan non-removable; 2705a8a2ed6SYixun Lan disable-wp; 2715a8a2ed6SYixun Lan 2725a8a2ed6SYixun Lan mmc-pwrseq = <&sdio_pwrseq>; 2735a8a2ed6SYixun Lan 2745a8a2ed6SYixun Lan vmmc-supply = <&vddao_3v3>; 2755a8a2ed6SYixun Lan vqmmc-supply = <&vddio_boot>; 2765a8a2ed6SYixun Lan 2775a8a2ed6SYixun Lan brcmf: wifi@1 { 2785a8a2ed6SYixun Lan reg = <1>; 2795a8a2ed6SYixun Lan compatible = "brcm,bcm4329-fmac"; 2805a8a2ed6SYixun Lan }; 2815a8a2ed6SYixun Lan}; 282a51b74eaSXingyu Chen 283a51b74eaSXingyu Chen&saradc { 284a51b74eaSXingyu Chen status = "okay"; 285a51b74eaSXingyu Chen vref-supply = <&vddio_ao18>; 286a51b74eaSXingyu Chen}; 287