1fd477164SNeil Armstrong// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2fd477164SNeil Armstrong/* 3fd477164SNeil Armstrong * Copyright (c) 2018 BayLibre, SAS. 4fd477164SNeil Armstrong * Author: Neil Armstrong <narmstrong@baylibre.com> 5fd477164SNeil Armstrong * Author: Jerome Brunet <jbrunet@baylibre.com> 6fd477164SNeil Armstrong */ 7fd477164SNeil Armstrong 8fd477164SNeil Armstrong/dts-v1/; 9fd477164SNeil Armstrong 10fd477164SNeil Armstrong#include <dt-bindings/input/input.h> 11fd477164SNeil Armstrong 12b2037dafSNeil Armstrong#include "meson-gxl-s805x.dtsi" 13fd477164SNeil Armstrong 14fd477164SNeil Armstrong/ { 15fd477164SNeil Armstrong compatible = "amlogic,p241", "amlogic,s805x", "amlogic,meson-gxl"; 16fd477164SNeil Armstrong model = "Amlogic Meson GXL (S805X) P241 Development Board"; 17fd477164SNeil Armstrong 18fd477164SNeil Armstrong aliases { 19fd477164SNeil Armstrong serial0 = &uart_AO; 20fd477164SNeil Armstrong serial1 = &uart_A; 21fd477164SNeil Armstrong ethernet0 = ðmac; 22fd477164SNeil Armstrong }; 23fd477164SNeil Armstrong 24fd477164SNeil Armstrong chosen { 25fd477164SNeil Armstrong stdout-path = "serial0:115200n8"; 26fd477164SNeil Armstrong }; 27fd477164SNeil Armstrong 28fd477164SNeil Armstrong cvbs-connector { 29fd477164SNeil Armstrong compatible = "composite-video-connector"; 30fd477164SNeil Armstrong 31fd477164SNeil Armstrong port { 32fd477164SNeil Armstrong cvbs_connector_in: endpoint { 33fd477164SNeil Armstrong remote-endpoint = <&cvbs_vdac_out>; 34fd477164SNeil Armstrong }; 35fd477164SNeil Armstrong }; 36fd477164SNeil Armstrong }; 37fd477164SNeil Armstrong 38fd477164SNeil Armstrong emmc_pwrseq: emmc-pwrseq { 39fd477164SNeil Armstrong compatible = "mmc-pwrseq-emmc"; 40fd477164SNeil Armstrong reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 41fd477164SNeil Armstrong }; 42fd477164SNeil Armstrong 43fd477164SNeil Armstrong hdmi-connector { 44fd477164SNeil Armstrong compatible = "hdmi-connector"; 45fd477164SNeil Armstrong type = "a"; 46fd477164SNeil Armstrong 47fd477164SNeil Armstrong port { 48fd477164SNeil Armstrong hdmi_connector_in: endpoint { 49fd477164SNeil Armstrong remote-endpoint = <&hdmi_tx_tmds_out>; 50fd477164SNeil Armstrong }; 51fd477164SNeil Armstrong }; 52fd477164SNeil Armstrong }; 53fd477164SNeil Armstrong 54fd477164SNeil Armstrong memory@0 { 55fd477164SNeil Armstrong device_type = "memory"; 56fd477164SNeil Armstrong reg = <0x0 0x0 0x0 0x20000000>; 57fd477164SNeil Armstrong }; 58fd477164SNeil Armstrong 59fd477164SNeil Armstrong vddio_boot: regulator-vddio_boot { 60fd477164SNeil Armstrong compatible = "regulator-fixed"; 61fd477164SNeil Armstrong regulator-name = "VDDIO_BOOT"; 62fd477164SNeil Armstrong regulator-min-microvolt = <1800000>; 63fd477164SNeil Armstrong regulator-max-microvolt = <1800000>; 64fd477164SNeil Armstrong }; 65fd477164SNeil Armstrong 66fd477164SNeil Armstrong vddao_3v3: regulator-vddao_3v3 { 67fd477164SNeil Armstrong compatible = "regulator-fixed"; 68fd477164SNeil Armstrong regulator-name = "VDDAO_3V3"; 69fd477164SNeil Armstrong regulator-min-microvolt = <3300000>; 70fd477164SNeil Armstrong regulator-max-microvolt = <3300000>; 71fd477164SNeil Armstrong }; 72fd477164SNeil Armstrong 73fd477164SNeil Armstrong vddio_ao18: regulator-vddio_ao18 { 74fd477164SNeil Armstrong compatible = "regulator-fixed"; 75fd477164SNeil Armstrong regulator-name = "VDDIO_AO18"; 76fd477164SNeil Armstrong regulator-min-microvolt = <1800000>; 77fd477164SNeil Armstrong regulator-max-microvolt = <1800000>; 78fd477164SNeil Armstrong }; 79fd477164SNeil Armstrong 80fd477164SNeil Armstrong vcc_3v3: regulator-vcc_3v3 { 81fd477164SNeil Armstrong compatible = "regulator-fixed"; 82fd477164SNeil Armstrong regulator-name = "VCC_3V3"; 83fd477164SNeil Armstrong regulator-min-microvolt = <3300000>; 84fd477164SNeil Armstrong regulator-max-microvolt = <3300000>; 85fd477164SNeil Armstrong }; 86fd477164SNeil Armstrong 87*75fb3b1bSJerome Brunet vcc_5v: regulator-vcc-5v { 88*75fb3b1bSJerome Brunet compatible = "regulator-fixed"; 89*75fb3b1bSJerome Brunet regulator-name = "VCC_5V"; 90*75fb3b1bSJerome Brunet regulator-min-microvolt = <5000000>; 91*75fb3b1bSJerome Brunet regulator-max-microvolt = <5000000>; 92*75fb3b1bSJerome Brunet }; 93*75fb3b1bSJerome Brunet 94*75fb3b1bSJerome Brunet 95fd477164SNeil Armstrong emmc_pwrseq: emmc-pwrseq { 96fd477164SNeil Armstrong compatible = "mmc-pwrseq-emmc"; 97fd477164SNeil Armstrong reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>; 98fd477164SNeil Armstrong }; 99fd477164SNeil Armstrong 100fd477164SNeil Armstrong wifi32k: wifi32k { 101fd477164SNeil Armstrong compatible = "pwm-clock"; 102fd477164SNeil Armstrong #clock-cells = <0>; 103fd477164SNeil Armstrong clock-frequency = <32768>; 104fd477164SNeil Armstrong pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */ 105fd477164SNeil Armstrong }; 106fd477164SNeil Armstrong 107fd477164SNeil Armstrong sdio_pwrseq: sdio-pwrseq { 108fd477164SNeil Armstrong compatible = "mmc-pwrseq-simple"; 109fd477164SNeil Armstrong reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>; 110fd477164SNeil Armstrong clocks = <&wifi32k>; 111fd477164SNeil Armstrong clock-names = "ext_clock"; 112fd477164SNeil Armstrong }; 113fd477164SNeil Armstrong}; 114fd477164SNeil Armstrong 115fd477164SNeil Armstrong&cec_AO { 116fd477164SNeil Armstrong status = "okay"; 117fd477164SNeil Armstrong pinctrl-0 = <&ao_cec_pins>; 118fd477164SNeil Armstrong pinctrl-names = "default"; 119fd477164SNeil Armstrong hdmi-phandle = <&hdmi_tx>; 120fd477164SNeil Armstrong}; 121fd477164SNeil Armstrong 122fd477164SNeil Armstrong&cvbs_vdac_port { 123fd477164SNeil Armstrong cvbs_vdac_out: endpoint { 124fd477164SNeil Armstrong remote-endpoint = <&cvbs_connector_in>; 125fd477164SNeil Armstrong }; 126fd477164SNeil Armstrong}; 127fd477164SNeil Armstrong 128fd477164SNeil Armstrongðmac { 129fd477164SNeil Armstrong status = "okay"; 130fd477164SNeil Armstrong}; 131fd477164SNeil Armstrong 132fd477164SNeil Armstrong&internal_phy { 133fd477164SNeil Armstrong pinctrl-0 = <ð_link_led_pins>, <ð_act_led_pins>; 134fd477164SNeil Armstrong pinctrl-names = "default"; 135fd477164SNeil Armstrong}; 136fd477164SNeil Armstrong 137fd477164SNeil Armstrong&ir { 138fd477164SNeil Armstrong status = "okay"; 139fd477164SNeil Armstrong pinctrl-0 = <&remote_input_ao_pins>; 140fd477164SNeil Armstrong pinctrl-names = "default"; 141fd477164SNeil Armstrong}; 142fd477164SNeil Armstrong 143fd477164SNeil Armstrong&hdmi_tx { 144fd477164SNeil Armstrong status = "okay"; 145fd477164SNeil Armstrong pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>; 146fd477164SNeil Armstrong pinctrl-names = "default"; 147*75fb3b1bSJerome Brunet hdmi-supply = <&vcc_5v>; 148fd477164SNeil Armstrong}; 149fd477164SNeil Armstrong 150fd477164SNeil Armstrong&hdmi_tx_tmds_port { 151fd477164SNeil Armstrong hdmi_tx_tmds_out: endpoint { 152fd477164SNeil Armstrong remote-endpoint = <&hdmi_connector_in>; 153fd477164SNeil Armstrong }; 154fd477164SNeil Armstrong}; 155fd477164SNeil Armstrong 156fd477164SNeil Armstrong&saradc { 157fd477164SNeil Armstrong status = "okay"; 158fd477164SNeil Armstrong vref-supply = <&vddio_ao18>; 159fd477164SNeil Armstrong}; 160fd477164SNeil Armstrong 161fd477164SNeil Armstrong/* Wireless SDIO Module */ 162fd477164SNeil Armstrong&sd_emmc_a { 163fd477164SNeil Armstrong status = "okay"; 164fd477164SNeil Armstrong pinctrl-0 = <&sdio_pins>; 165fd477164SNeil Armstrong pinctrl-1 = <&sdio_clk_gate_pins>; 166fd477164SNeil Armstrong pinctrl-names = "default", "clk-gate"; 167fd477164SNeil Armstrong #address-cells = <1>; 168fd477164SNeil Armstrong #size-cells = <0>; 169fd477164SNeil Armstrong 170fd477164SNeil Armstrong bus-width = <4>; 171fd477164SNeil Armstrong cap-sd-highspeed; 172adc52bf7SJerome Brunet max-frequency = <50000000>; 173fd477164SNeil Armstrong 174fd477164SNeil Armstrong non-removable; 175fd477164SNeil Armstrong disable-wp; 176fd477164SNeil Armstrong 177cfd7a215SNeil Armstrong /* WiFi firmware requires power to be kept while in suspend */ 178cfd7a215SNeil Armstrong keep-power-in-suspend; 179cfd7a215SNeil Armstrong 180fd477164SNeil Armstrong mmc-pwrseq = <&sdio_pwrseq>; 181fd477164SNeil Armstrong 182fd477164SNeil Armstrong vmmc-supply = <&vddao_3v3>; 183fd477164SNeil Armstrong vqmmc-supply = <&vddio_boot>; 184fd477164SNeil Armstrong}; 185fd477164SNeil Armstrong 186fd477164SNeil Armstrong/* eMMC */ 187fd477164SNeil Armstrong&sd_emmc_c { 188fd477164SNeil Armstrong status = "okay"; 189fd477164SNeil Armstrong pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>; 190fd477164SNeil Armstrong pinctrl-1 = <&emmc_clk_gate_pins>; 191fd477164SNeil Armstrong pinctrl-names = "default", "clk-gate"; 192fd477164SNeil Armstrong 193fd477164SNeil Armstrong bus-width = <8>; 194fd477164SNeil Armstrong cap-mmc-highspeed; 195fd477164SNeil Armstrong max-frequency = <200000000>; 196fd477164SNeil Armstrong non-removable; 197fd477164SNeil Armstrong disable-wp; 198fd477164SNeil Armstrong mmc-ddr-1_8v; 199fd477164SNeil Armstrong mmc-hs200-1_8v; 200fd477164SNeil Armstrong 201fd477164SNeil Armstrong mmc-pwrseq = <&emmc_pwrseq>; 202fd477164SNeil Armstrong vmmc-supply = <&vcc_3v3>; 203fd477164SNeil Armstrong vqmmc-supply = <&vddio_boot>; 204fd477164SNeil Armstrong}; 205fd477164SNeil Armstrong 206fd477164SNeil Armstrong&pwm_ef { 207fd477164SNeil Armstrong status = "okay"; 208fd477164SNeil Armstrong pinctrl-0 = <&pwm_e_pins>; 209fd477164SNeil Armstrong pinctrl-names = "default"; 210fd477164SNeil Armstrong clocks = <&clkc CLKID_FCLK_DIV4>; 211fd477164SNeil Armstrong clock-names = "clkin0"; 212fd477164SNeil Armstrong}; 213fd477164SNeil Armstrong 214fd477164SNeil Armstrong/* This is connected to the Bluetooth module: */ 215fd477164SNeil Armstrong&uart_A { 216fd477164SNeil Armstrong status = "okay"; 217fd477164SNeil Armstrong pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>; 218fd477164SNeil Armstrong pinctrl-names = "default"; 219fd477164SNeil Armstrong uart-has-rtscts; 220fd477164SNeil Armstrong}; 221fd477164SNeil Armstrong 222fd477164SNeil Armstrong&uart_AO { 223fd477164SNeil Armstrong status = "okay"; 224fd477164SNeil Armstrong pinctrl-0 = <&uart_ao_a_pins>; 225fd477164SNeil Armstrong pinctrl-names = "default"; 226fd477164SNeil Armstrong}; 227fd477164SNeil Armstrong 2282f9139c2SMartin Blumenstingl&usb { 229fd477164SNeil Armstrong status = "okay"; 2302f9139c2SMartin Blumenstingl dr_mode = "host"; 231fd477164SNeil Armstrong}; 232*75fb3b1bSJerome Brunet 233*75fb3b1bSJerome Brunet&usb2_phy0 { 234*75fb3b1bSJerome Brunet phy-supply = <&vcc_5v>; 235*75fb3b1bSJerome Brunet}; 236