19ded9b0fSMartin Blumenstingl/* 29ded9b0fSMartin Blumenstingl * Copyright (c) 2016 Martin Blumenstingl <martin.blumenstingl@googlemail.com>. 39ded9b0fSMartin Blumenstingl * Based on meson-gx-p23x-q20x.dtsi: 49ded9b0fSMartin Blumenstingl * - Copyright (c) 2016 Endless Computers, Inc. 59ded9b0fSMartin Blumenstingl * Author: Carlo Caione <carlo@endlessm.com> 69ded9b0fSMartin Blumenstingl * - Copyright (c) 2016 BayLibre, SAS. 79ded9b0fSMartin Blumenstingl * Author: Neil Armstrong <narmstrong@baylibre.com> 89ded9b0fSMartin Blumenstingl * 99ded9b0fSMartin Blumenstingl * SPDX-License-Identifier: (GPL-2.0+ OR MIT) 109ded9b0fSMartin Blumenstingl */ 119ded9b0fSMartin Blumenstingl 129ded9b0fSMartin Blumenstingl/* Common DTSI for devices which are based on the P212 reference board. */ 139ded9b0fSMartin Blumenstingl 149ded9b0fSMartin Blumenstingl#include "meson-gxl-s905x.dtsi" 159ded9b0fSMartin Blumenstingl 169ded9b0fSMartin Blumenstingl/ { 179ded9b0fSMartin Blumenstingl aliases { 189ded9b0fSMartin Blumenstingl serial0 = &uart_AO; 199ded9b0fSMartin Blumenstingl serial1 = &uart_A; 20*059a58fcSJorge Ramirez-Ortiz ethernet0 = ðmac; 219ded9b0fSMartin Blumenstingl }; 229ded9b0fSMartin Blumenstingl 239ded9b0fSMartin Blumenstingl chosen { 249ded9b0fSMartin Blumenstingl stdout-path = "serial0:115200n8"; 259ded9b0fSMartin Blumenstingl }; 269ded9b0fSMartin Blumenstingl 279ded9b0fSMartin Blumenstingl memory@0 { 289ded9b0fSMartin Blumenstingl device_type = "memory"; 299ded9b0fSMartin Blumenstingl reg = <0x0 0x0 0x0 0x80000000>; 309ded9b0fSMartin Blumenstingl }; 319ded9b0fSMartin Blumenstingl 32b409f625SNeil Armstrong hdmi_5v: regulator-hdmi-5v { 33b409f625SNeil Armstrong compatible = "regulator-fixed"; 34b409f625SNeil Armstrong 35b409f625SNeil Armstrong regulator-name = "HDMI_5V"; 36b409f625SNeil Armstrong regulator-min-microvolt = <5000000>; 37b409f625SNeil Armstrong regulator-max-microvolt = <5000000>; 38b409f625SNeil Armstrong 39b409f625SNeil Armstrong gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>; 40b409f625SNeil Armstrong enable-active-high; 41b409f625SNeil Armstrong regulator-always-on; 42b409f625SNeil Armstrong }; 43b409f625SNeil Armstrong 449ded9b0fSMartin Blumenstingl vddio_boot: regulator-vddio_boot { 459ded9b0fSMartin Blumenstingl compatible = "regulator-fixed"; 469ded9b0fSMartin Blumenstingl regulator-name = "VDDIO_BOOT"; 479ded9b0fSMartin Blumenstingl regulator-min-microvolt = <1800000>; 489ded9b0fSMartin Blumenstingl regulator-max-microvolt = <1800000>; 499ded9b0fSMartin Blumenstingl }; 509ded9b0fSMartin Blumenstingl 519ded9b0fSMartin Blumenstingl vddao_3v3: regulator-vddao_3v3 { 529ded9b0fSMartin Blumenstingl compatible = "regulator-fixed"; 539ded9b0fSMartin Blumenstingl regulator-name = "VDDAO_3V3"; 549ded9b0fSMartin Blumenstingl regulator-min-microvolt = <3300000>; 559ded9b0fSMartin Blumenstingl regulator-max-microvolt = <3300000>; 569ded9b0fSMartin Blumenstingl }; 579ded9b0fSMartin Blumenstingl 589ded9b0fSMartin Blumenstingl vddio_ao18: regulator-vddio_ao18 { 599ded9b0fSMartin Blumenstingl compatible = "regulator-fixed"; 609ded9b0fSMartin Blumenstingl regulator-name = "VDDIO_AO18"; 619ded9b0fSMartin Blumenstingl regulator-min-microvolt = <1800000>; 629ded9b0fSMartin Blumenstingl regulator-max-microvolt = <1800000>; 639ded9b0fSMartin Blumenstingl }; 649ded9b0fSMartin Blumenstingl 659ded9b0fSMartin Blumenstingl vcc_3v3: regulator-vcc_3v3 { 669ded9b0fSMartin Blumenstingl compatible = "regulator-fixed"; 679ded9b0fSMartin Blumenstingl regulator-name = "VCC_3V3"; 689ded9b0fSMartin Blumenstingl regulator-min-microvolt = <3300000>; 699ded9b0fSMartin Blumenstingl regulator-max-microvolt = <3300000>; 709ded9b0fSMartin Blumenstingl }; 719ded9b0fSMartin Blumenstingl 729ded9b0fSMartin Blumenstingl emmc_pwrseq: emmc-pwrseq { 739ded9b0fSMartin Blumenstingl compatible = "mmc-pwrseq-emmc"; 749ded9b0fSMartin Blumenstingl reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 759ded9b0fSMartin Blumenstingl }; 769ded9b0fSMartin Blumenstingl 779ded9b0fSMartin Blumenstingl wifi32k: wifi32k { 789ded9b0fSMartin Blumenstingl compatible = "pwm-clock"; 799ded9b0fSMartin Blumenstingl #clock-cells = <0>; 809ded9b0fSMartin Blumenstingl clock-frequency = <32768>; 819ded9b0fSMartin Blumenstingl pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 829ded9b0fSMartin Blumenstingl }; 839ded9b0fSMartin Blumenstingl 849ded9b0fSMartin Blumenstingl sdio_pwrseq: sdio-pwrseq { 859ded9b0fSMartin Blumenstingl compatible = "mmc-pwrseq-simple"; 869ded9b0fSMartin Blumenstingl reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 879ded9b0fSMartin Blumenstingl clocks = <&wifi32k>; 889ded9b0fSMartin Blumenstingl clock-names = "ext_clock"; 899ded9b0fSMartin Blumenstingl }; 909ded9b0fSMartin Blumenstingl}; 919ded9b0fSMartin Blumenstingl 929ded9b0fSMartin Blumenstinglðmac { 939ded9b0fSMartin Blumenstingl status = "okay"; 949ded9b0fSMartin Blumenstingl}; 959ded9b0fSMartin Blumenstingl 969ded9b0fSMartin Blumenstingl&ir { 979ded9b0fSMartin Blumenstingl status = "okay"; 989ded9b0fSMartin Blumenstingl pinctrl-0 = <&remote_input_ao_pins>; 999ded9b0fSMartin Blumenstingl pinctrl-names = "default"; 1009ded9b0fSMartin Blumenstingl}; 1019ded9b0fSMartin Blumenstingl 1029ded9b0fSMartin Blumenstingl&saradc { 1039ded9b0fSMartin Blumenstingl status = "okay"; 1049ded9b0fSMartin Blumenstingl vref-supply = <&vddio_ao18>; 1059ded9b0fSMartin Blumenstingl}; 1069ded9b0fSMartin Blumenstingl 1079ded9b0fSMartin Blumenstingl/* Wireless SDIO Module */ 1089ded9b0fSMartin Blumenstingl&sd_emmc_a { 1099ded9b0fSMartin Blumenstingl status = "okay"; 1109ded9b0fSMartin Blumenstingl pinctrl-0 = <&sdio_pins>; 11167e7607fSJerome Brunet pinctrl-1 = <&sdio_clk_gate_pins>; 11267e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 1139ded9b0fSMartin Blumenstingl #address-cells = <1>; 1149ded9b0fSMartin Blumenstingl #size-cells = <0>; 1159ded9b0fSMartin Blumenstingl 1169ded9b0fSMartin Blumenstingl bus-width = <4>; 1179ded9b0fSMartin Blumenstingl cap-sd-highspeed; 1189ded9b0fSMartin Blumenstingl max-frequency = <100000000>; 1199ded9b0fSMartin Blumenstingl 1209ded9b0fSMartin Blumenstingl non-removable; 1219ded9b0fSMartin Blumenstingl disable-wp; 1229ded9b0fSMartin Blumenstingl 1239ded9b0fSMartin Blumenstingl mmc-pwrseq = <&sdio_pwrseq>; 1249ded9b0fSMartin Blumenstingl 1259ded9b0fSMartin Blumenstingl vmmc-supply = <&vddao_3v3>; 1269ded9b0fSMartin Blumenstingl vqmmc-supply = <&vddio_boot>; 1279ded9b0fSMartin Blumenstingl}; 1289ded9b0fSMartin Blumenstingl 1299ded9b0fSMartin Blumenstingl/* SD card */ 1309ded9b0fSMartin Blumenstingl&sd_emmc_b { 1319ded9b0fSMartin Blumenstingl status = "okay"; 1329ded9b0fSMartin Blumenstingl pinctrl-0 = <&sdcard_pins>; 13367e7607fSJerome Brunet pinctrl-1 = <&sdcard_clk_gate_pins>; 13467e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 1359ded9b0fSMartin Blumenstingl 1369ded9b0fSMartin Blumenstingl bus-width = <4>; 1379ded9b0fSMartin Blumenstingl cap-sd-highspeed; 1389ded9b0fSMartin Blumenstingl max-frequency = <100000000>; 1399ded9b0fSMartin Blumenstingl disable-wp; 1409ded9b0fSMartin Blumenstingl 1419ded9b0fSMartin Blumenstingl cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; 1429ded9b0fSMartin Blumenstingl cd-inverted; 1439ded9b0fSMartin Blumenstingl 1449ded9b0fSMartin Blumenstingl vmmc-supply = <&vddao_3v3>; 1459ded9b0fSMartin Blumenstingl vqmmc-supply = <&vddio_boot>; 1469ded9b0fSMartin Blumenstingl}; 1479ded9b0fSMartin Blumenstingl 1489ded9b0fSMartin Blumenstingl/* eMMC */ 1499ded9b0fSMartin Blumenstingl&sd_emmc_c { 1509ded9b0fSMartin Blumenstingl status = "okay"; 151ab36be66SNeil Armstrong pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 15267e7607fSJerome Brunet pinctrl-1 = <&emmc_clk_gate_pins>; 15367e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 1549ded9b0fSMartin Blumenstingl 1559ded9b0fSMartin Blumenstingl bus-width = <8>; 1569ded9b0fSMartin Blumenstingl cap-mmc-highspeed; 1579ded9b0fSMartin Blumenstingl max-frequency = <200000000>; 1589ded9b0fSMartin Blumenstingl non-removable; 1599ded9b0fSMartin Blumenstingl disable-wp; 1609ded9b0fSMartin Blumenstingl mmc-ddr-1_8v; 1619ded9b0fSMartin Blumenstingl mmc-hs200-1_8v; 1629ded9b0fSMartin Blumenstingl 1639ded9b0fSMartin Blumenstingl mmc-pwrseq = <&emmc_pwrseq>; 1649ded9b0fSMartin Blumenstingl vmmc-supply = <&vcc_3v3>; 1659ded9b0fSMartin Blumenstingl vqmmc-supply = <&vddio_boot>; 1669ded9b0fSMartin Blumenstingl}; 1679ded9b0fSMartin Blumenstingl 1689ded9b0fSMartin Blumenstingl&pwm_ef { 1699ded9b0fSMartin Blumenstingl status = "okay"; 1709ded9b0fSMartin Blumenstingl pinctrl-0 = <&pwm_e_pins>; 1719ded9b0fSMartin Blumenstingl pinctrl-names = "default"; 1729ded9b0fSMartin Blumenstingl clocks = <&clkc CLKID_FCLK_DIV4>; 1739ded9b0fSMartin Blumenstingl clock-names = "clkin0"; 1749ded9b0fSMartin Blumenstingl}; 1759ded9b0fSMartin Blumenstingl 1769ded9b0fSMartin Blumenstingl/* This is connected to the Bluetooth module: */ 1779ded9b0fSMartin Blumenstingl&uart_A { 1789ded9b0fSMartin Blumenstingl status = "okay"; 1799ded9b0fSMartin Blumenstingl pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 1809ded9b0fSMartin Blumenstingl pinctrl-names = "default"; 1819ded9b0fSMartin Blumenstingl uart-has-rtscts; 1829ded9b0fSMartin Blumenstingl}; 1839ded9b0fSMartin Blumenstingl 1849ded9b0fSMartin Blumenstingl&uart_AO { 1859ded9b0fSMartin Blumenstingl status = "okay"; 1869ded9b0fSMartin Blumenstingl pinctrl-0 = <&uart_ao_a_pins>; 1879ded9b0fSMartin Blumenstingl pinctrl-names = "default"; 1889ded9b0fSMartin Blumenstingl}; 189