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; 209ded9b0fSMartin Blumenstingl }; 219ded9b0fSMartin Blumenstingl 229ded9b0fSMartin Blumenstingl chosen { 239ded9b0fSMartin Blumenstingl stdout-path = "serial0:115200n8"; 249ded9b0fSMartin Blumenstingl }; 259ded9b0fSMartin Blumenstingl 269ded9b0fSMartin Blumenstingl memory@0 { 279ded9b0fSMartin Blumenstingl device_type = "memory"; 289ded9b0fSMartin Blumenstingl reg = <0x0 0x0 0x0 0x80000000>; 299ded9b0fSMartin Blumenstingl }; 309ded9b0fSMartin Blumenstingl 319ded9b0fSMartin Blumenstingl vddio_boot: regulator-vddio_boot { 329ded9b0fSMartin Blumenstingl compatible = "regulator-fixed"; 339ded9b0fSMartin Blumenstingl regulator-name = "VDDIO_BOOT"; 349ded9b0fSMartin Blumenstingl regulator-min-microvolt = <1800000>; 359ded9b0fSMartin Blumenstingl regulator-max-microvolt = <1800000>; 369ded9b0fSMartin Blumenstingl }; 379ded9b0fSMartin Blumenstingl 389ded9b0fSMartin Blumenstingl vddao_3v3: regulator-vddao_3v3 { 399ded9b0fSMartin Blumenstingl compatible = "regulator-fixed"; 409ded9b0fSMartin Blumenstingl regulator-name = "VDDAO_3V3"; 419ded9b0fSMartin Blumenstingl regulator-min-microvolt = <3300000>; 429ded9b0fSMartin Blumenstingl regulator-max-microvolt = <3300000>; 439ded9b0fSMartin Blumenstingl }; 449ded9b0fSMartin Blumenstingl 459ded9b0fSMartin Blumenstingl vddio_ao18: regulator-vddio_ao18 { 469ded9b0fSMartin Blumenstingl compatible = "regulator-fixed"; 479ded9b0fSMartin Blumenstingl regulator-name = "VDDIO_AO18"; 489ded9b0fSMartin Blumenstingl regulator-min-microvolt = <1800000>; 499ded9b0fSMartin Blumenstingl regulator-max-microvolt = <1800000>; 509ded9b0fSMartin Blumenstingl }; 519ded9b0fSMartin Blumenstingl 529ded9b0fSMartin Blumenstingl vcc_3v3: regulator-vcc_3v3 { 539ded9b0fSMartin Blumenstingl compatible = "regulator-fixed"; 549ded9b0fSMartin Blumenstingl regulator-name = "VCC_3V3"; 559ded9b0fSMartin Blumenstingl regulator-min-microvolt = <3300000>; 569ded9b0fSMartin Blumenstingl regulator-max-microvolt = <3300000>; 579ded9b0fSMartin Blumenstingl }; 589ded9b0fSMartin Blumenstingl 599ded9b0fSMartin Blumenstingl emmc_pwrseq: emmc-pwrseq { 609ded9b0fSMartin Blumenstingl compatible = "mmc-pwrseq-emmc"; 619ded9b0fSMartin Blumenstingl reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 629ded9b0fSMartin Blumenstingl }; 639ded9b0fSMartin Blumenstingl 649ded9b0fSMartin Blumenstingl wifi32k: wifi32k { 659ded9b0fSMartin Blumenstingl compatible = "pwm-clock"; 669ded9b0fSMartin Blumenstingl #clock-cells = <0>; 679ded9b0fSMartin Blumenstingl clock-frequency = <32768>; 689ded9b0fSMartin Blumenstingl pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 699ded9b0fSMartin Blumenstingl }; 709ded9b0fSMartin Blumenstingl 719ded9b0fSMartin Blumenstingl sdio_pwrseq: sdio-pwrseq { 729ded9b0fSMartin Blumenstingl compatible = "mmc-pwrseq-simple"; 739ded9b0fSMartin Blumenstingl reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 749ded9b0fSMartin Blumenstingl clocks = <&wifi32k>; 759ded9b0fSMartin Blumenstingl clock-names = "ext_clock"; 769ded9b0fSMartin Blumenstingl }; 779ded9b0fSMartin Blumenstingl}; 789ded9b0fSMartin Blumenstingl 799ded9b0fSMartin Blumenstinglðmac { 809ded9b0fSMartin Blumenstingl status = "okay"; 819ded9b0fSMartin Blumenstingl}; 829ded9b0fSMartin Blumenstingl 839ded9b0fSMartin Blumenstingl&ir { 849ded9b0fSMartin Blumenstingl status = "okay"; 859ded9b0fSMartin Blumenstingl pinctrl-0 = <&remote_input_ao_pins>; 869ded9b0fSMartin Blumenstingl pinctrl-names = "default"; 879ded9b0fSMartin Blumenstingl}; 889ded9b0fSMartin Blumenstingl 899ded9b0fSMartin Blumenstingl&saradc { 909ded9b0fSMartin Blumenstingl status = "okay"; 919ded9b0fSMartin Blumenstingl vref-supply = <&vddio_ao18>; 929ded9b0fSMartin Blumenstingl}; 939ded9b0fSMartin Blumenstingl 949ded9b0fSMartin Blumenstingl/* Wireless SDIO Module */ 959ded9b0fSMartin Blumenstingl&sd_emmc_a { 969ded9b0fSMartin Blumenstingl status = "okay"; 979ded9b0fSMartin Blumenstingl pinctrl-0 = <&sdio_pins>; 98*67e7607fSJerome Brunet pinctrl-1 = <&sdio_clk_gate_pins>; 99*67e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 1009ded9b0fSMartin Blumenstingl #address-cells = <1>; 1019ded9b0fSMartin Blumenstingl #size-cells = <0>; 1029ded9b0fSMartin Blumenstingl 1039ded9b0fSMartin Blumenstingl bus-width = <4>; 1049ded9b0fSMartin Blumenstingl cap-sd-highspeed; 1059ded9b0fSMartin Blumenstingl max-frequency = <100000000>; 1069ded9b0fSMartin Blumenstingl 1079ded9b0fSMartin Blumenstingl non-removable; 1089ded9b0fSMartin Blumenstingl disable-wp; 1099ded9b0fSMartin Blumenstingl 1109ded9b0fSMartin Blumenstingl mmc-pwrseq = <&sdio_pwrseq>; 1119ded9b0fSMartin Blumenstingl 1129ded9b0fSMartin Blumenstingl vmmc-supply = <&vddao_3v3>; 1139ded9b0fSMartin Blumenstingl vqmmc-supply = <&vddio_boot>; 1149ded9b0fSMartin Blumenstingl}; 1159ded9b0fSMartin Blumenstingl 1169ded9b0fSMartin Blumenstingl/* SD card */ 1179ded9b0fSMartin Blumenstingl&sd_emmc_b { 1189ded9b0fSMartin Blumenstingl status = "okay"; 1199ded9b0fSMartin Blumenstingl pinctrl-0 = <&sdcard_pins>; 120*67e7607fSJerome Brunet pinctrl-1 = <&sdcard_clk_gate_pins>; 121*67e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 1229ded9b0fSMartin Blumenstingl 1239ded9b0fSMartin Blumenstingl bus-width = <4>; 1249ded9b0fSMartin Blumenstingl cap-sd-highspeed; 1259ded9b0fSMartin Blumenstingl max-frequency = <100000000>; 1269ded9b0fSMartin Blumenstingl disable-wp; 1279ded9b0fSMartin Blumenstingl 1289ded9b0fSMartin Blumenstingl cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>; 1299ded9b0fSMartin Blumenstingl cd-inverted; 1309ded9b0fSMartin Blumenstingl 1319ded9b0fSMartin Blumenstingl vmmc-supply = <&vddao_3v3>; 1329ded9b0fSMartin Blumenstingl vqmmc-supply = <&vddio_boot>; 1339ded9b0fSMartin Blumenstingl}; 1349ded9b0fSMartin Blumenstingl 1359ded9b0fSMartin Blumenstingl/* eMMC */ 1369ded9b0fSMartin Blumenstingl&sd_emmc_c { 1379ded9b0fSMartin Blumenstingl status = "okay"; 1389ded9b0fSMartin Blumenstingl pinctrl-0 = <&emmc_pins>; 139*67e7607fSJerome Brunet pinctrl-1 = <&emmc_clk_gate_pins>; 140*67e7607fSJerome Brunet pinctrl-names = "default", "clk-gate"; 1419ded9b0fSMartin Blumenstingl 1429ded9b0fSMartin Blumenstingl bus-width = <8>; 1439ded9b0fSMartin Blumenstingl cap-mmc-highspeed; 1449ded9b0fSMartin Blumenstingl max-frequency = <200000000>; 1459ded9b0fSMartin Blumenstingl non-removable; 1469ded9b0fSMartin Blumenstingl disable-wp; 1479ded9b0fSMartin Blumenstingl mmc-ddr-1_8v; 1489ded9b0fSMartin Blumenstingl mmc-hs200-1_8v; 1499ded9b0fSMartin Blumenstingl 1509ded9b0fSMartin Blumenstingl mmc-pwrseq = <&emmc_pwrseq>; 1519ded9b0fSMartin Blumenstingl vmmc-supply = <&vcc_3v3>; 1529ded9b0fSMartin Blumenstingl vqmmc-supply = <&vddio_boot>; 1539ded9b0fSMartin Blumenstingl}; 1549ded9b0fSMartin Blumenstingl 1559ded9b0fSMartin Blumenstingl&pwm_ef { 1569ded9b0fSMartin Blumenstingl status = "okay"; 1579ded9b0fSMartin Blumenstingl pinctrl-0 = <&pwm_e_pins>; 1589ded9b0fSMartin Blumenstingl pinctrl-names = "default"; 1599ded9b0fSMartin Blumenstingl clocks = <&clkc CLKID_FCLK_DIV4>; 1609ded9b0fSMartin Blumenstingl clock-names = "clkin0"; 1619ded9b0fSMartin Blumenstingl}; 1629ded9b0fSMartin Blumenstingl 1639ded9b0fSMartin Blumenstingl/* This is connected to the Bluetooth module: */ 1649ded9b0fSMartin Blumenstingl&uart_A { 1659ded9b0fSMartin Blumenstingl status = "okay"; 1669ded9b0fSMartin Blumenstingl pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 1679ded9b0fSMartin Blumenstingl pinctrl-names = "default"; 1689ded9b0fSMartin Blumenstingl uart-has-rtscts; 1699ded9b0fSMartin Blumenstingl}; 1709ded9b0fSMartin Blumenstingl 1719ded9b0fSMartin Blumenstingl&uart_AO { 1729ded9b0fSMartin Blumenstingl status = "okay"; 1739ded9b0fSMartin Blumenstingl pinctrl-0 = <&uart_ao_a_pins>; 1749ded9b0fSMartin Blumenstingl pinctrl-names = "default"; 1759ded9b0fSMartin Blumenstingl}; 176