Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Copyright (c) 2016 Andreas Färber
0004  * Copyright (c) 2016 BayLibre, Inc.
0005  * Author: Neil Armstrong <narmstrong@kernel.org>
0006  */
0007 
0008 /dts-v1/;
0009 
0010 #include "meson-gxl-s905x.dtsi"
0011 
0012 / {
0013         compatible = "nexbox,a95x", "amlogic,s905x", "amlogic,meson-gxl";
0014         model = "NEXBOX A95X (S905X)";
0015 
0016         aliases {
0017                 serial0 = &uart_AO;
0018                 ethernet0 = &ethmac;
0019         };
0020 
0021         chosen {
0022                 stdout-path = "serial0:115200n8";
0023         };
0024 
0025         memory@0 {
0026                 device_type = "memory";
0027                 reg = <0x0 0x0 0x0 0x80000000>;
0028         };
0029 
0030         vddio_card: gpio-regulator {
0031                 compatible = "regulator-gpio";
0032 
0033                 regulator-name = "VDDIO_CARD";
0034                 regulator-min-microvolt = <1800000>;
0035                 regulator-max-microvolt = <3300000>;
0036 
0037                 gpios = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
0038                 gpios-states = <1>;
0039 
0040                 /* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */
0041                 states = <1800000 0>,
0042                          <3300000 1>;
0043         };
0044 
0045         vddio_boot: regulator-vddio_boot {
0046                 compatible = "regulator-fixed";
0047                 regulator-name = "VDDIO_BOOT";
0048                 regulator-min-microvolt = <1800000>;
0049                 regulator-max-microvolt = <1800000>;
0050         };
0051 
0052         vddao_3v3: regulator-vddao_3v3 {
0053                 compatible = "regulator-fixed";
0054                 regulator-name = "VDDAO_3V3";
0055                 regulator-min-microvolt = <3300000>;
0056                 regulator-max-microvolt = <3300000>;
0057         };
0058 
0059         vcc_3v3: regulator-vcc_3v3 {
0060                 compatible = "regulator-fixed";
0061                 regulator-name = "VCC_3V3";
0062                 regulator-min-microvolt = <3300000>;
0063                 regulator-max-microvolt = <3300000>;
0064         };
0065 
0066         emmc_pwrseq: emmc-pwrseq {
0067                 compatible = "mmc-pwrseq-emmc";
0068                 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
0069         };
0070 
0071         wifi32k: wifi32k {
0072                 compatible = "pwm-clock";
0073                 #clock-cells = <0>;
0074                 clock-frequency = <32768>;
0075                 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
0076         };
0077 
0078         sdio_pwrseq: sdio-pwrseq {
0079                 compatible = "mmc-pwrseq-simple";
0080                 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
0081                 clocks = <&wifi32k>;
0082                 clock-names = "ext_clock";
0083         };
0084 
0085         cvbs-connector {
0086                 compatible = "composite-video-connector";
0087 
0088                 port {
0089                         cvbs_connector_in: endpoint {
0090                                 remote-endpoint = <&cvbs_vdac_out>;
0091                         };
0092                 };
0093         };
0094 
0095         hdmi-connector {
0096                 compatible = "hdmi-connector";
0097                 type = "a";
0098 
0099                 port {
0100                         hdmi_connector_in: endpoint {
0101                                 remote-endpoint = <&hdmi_tx_tmds_out>;
0102                         };
0103                 };
0104         };
0105 };
0106 
0107 &cec_AO {
0108         status = "okay";
0109         pinctrl-0 = <&ao_cec_pins>;
0110         pinctrl-names = "default";
0111         hdmi-phandle = <&hdmi_tx>;
0112 };
0113 
0114 &cvbs_vdac_port {
0115         cvbs_vdac_out: endpoint {
0116                 remote-endpoint = <&cvbs_connector_in>;
0117         };
0118 };
0119 
0120 &ethmac {
0121         status = "okay";
0122         phy-mode = "rmii";
0123         phy-handle = <&internal_phy>;
0124 };
0125 
0126 &hdmi_tx {
0127         status = "okay";
0128         pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
0129         pinctrl-names = "default";
0130 };
0131 
0132 &hdmi_tx_tmds_port {
0133         hdmi_tx_tmds_out: endpoint {
0134                 remote-endpoint = <&hdmi_connector_in>;
0135         };
0136 };
0137 
0138 &ir {
0139         status = "okay";
0140         pinctrl-0 = <&remote_input_ao_pins>;
0141         pinctrl-names = "default";
0142 };
0143 
0144 &pwm_ef {
0145         status = "okay";
0146         pinctrl-0 = <&pwm_e_pins>;
0147         pinctrl-names = "default";
0148         clocks = <&clkc CLKID_FCLK_DIV4>;
0149         clock-names = "clkin0";
0150 };
0151 
0152 /* Wireless SDIO Module */
0153 &sd_emmc_a {
0154         status = "okay";
0155         pinctrl-0 = <&sdio_pins>;
0156         pinctrl-1 = <&sdio_clk_gate_pins>;
0157         pinctrl-names = "default", "clk-gate";
0158         #address-cells = <1>;
0159         #size-cells = <0>;
0160 
0161         bus-width = <4>;
0162         cap-sd-highspeed;
0163         max-frequency = <100000000>;
0164 
0165         non-removable;
0166         disable-wp;
0167 
0168         /* WiFi firmware requires power to be kept while in suspend */
0169         keep-power-in-suspend;
0170 
0171         mmc-pwrseq = <&sdio_pwrseq>;
0172 
0173         vmmc-supply = <&vddao_3v3>;
0174         vqmmc-supply = <&vddio_boot>;
0175 };
0176 
0177 /* SD card */
0178 &sd_emmc_b {
0179         status = "okay";
0180         pinctrl-0 = <&sdcard_pins>;
0181         pinctrl-1 = <&sdcard_clk_gate_pins>;
0182         pinctrl-names = "default", "clk-gate";
0183 
0184         bus-width = <4>;
0185         cap-sd-highspeed;
0186         max-frequency = <50000000>;
0187         disable-wp;
0188 
0189         cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
0190 
0191         vmmc-supply = <&vddao_3v3>;
0192         vqmmc-supply = <&vddio_card>;
0193 };
0194 
0195 /* eMMC */
0196 &sd_emmc_c {
0197         status = "okay";
0198         pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
0199         pinctrl-1 = <&emmc_clk_gate_pins>;
0200         pinctrl-names = "default", "clk-gate";
0201 
0202         bus-width = <8>;
0203         cap-mmc-highspeed;
0204         max-frequency = <200000000>;
0205         non-removable;
0206         disable-wp;
0207         mmc-ddr-1_8v;
0208         mmc-hs200-1_8v;
0209 
0210         mmc-pwrseq = <&emmc_pwrseq>;
0211         vmmc-supply = <&vcc_3v3>;
0212         vqmmc-supply = <&vddio_boot>;
0213 };
0214 
0215 &uart_AO {
0216         status = "okay";
0217         pinctrl-0 = <&uart_ao_a_pins>;
0218         pinctrl-names = "default";
0219 };
0220 
0221 &usb {
0222         status = "okay";
0223         dr_mode = "host";
0224 };