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: Kevin Hilman <khilman@kernel.org>
0006  */
0007 
0008 #include "meson-gxbb.dtsi"
0009 
0010 / {
0011         aliases {
0012                 serial0 = &uart_AO;
0013                 ethernet0 = &ethmac;
0014         };
0015 
0016         chosen {
0017                 stdout-path = "serial0:115200n8";
0018         };
0019 
0020         memory@0 {
0021                 device_type = "memory";
0022                 reg = <0x0 0x0 0x0 0x40000000>;
0023         };
0024 
0025         usb_pwr: regulator-usb-pwrs {
0026                 compatible = "regulator-fixed";
0027 
0028                 regulator-name = "USB_PWR";
0029 
0030                 regulator-min-microvolt = <5000000>;
0031                 regulator-max-microvolt = <5000000>;
0032 
0033                 /* signal name in schematic: USB_PWR_EN */
0034                 gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
0035                 enable-active-high;
0036         };
0037 
0038         vddio_card: gpio-regulator {
0039                 compatible = "regulator-gpio";
0040 
0041                 regulator-name = "VDDIO_CARD";
0042                 regulator-min-microvolt = <1800000>;
0043                 regulator-max-microvolt = <3300000>;
0044 
0045                 gpios = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
0046                 gpios-states = <1>;
0047 
0048                 /* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */
0049                 states = <1800000 0>,
0050                          <3300000 1>;
0051 
0052                 regulator-settling-time-up-us = <10000>;
0053                 regulator-settling-time-down-us = <150000>;
0054         };
0055 
0056         vddio_boot: regulator-vddio_boot {
0057                 compatible = "regulator-fixed";
0058                 regulator-name = "VDDIO_BOOT";
0059                 regulator-min-microvolt = <1800000>;
0060                 regulator-max-microvolt = <1800000>;
0061         };
0062 
0063         vddao_3v3: regulator-vddao_3v3 {
0064                 compatible = "regulator-fixed";
0065                 regulator-name = "VDDAO_3V3";
0066                 regulator-min-microvolt = <3300000>;
0067                 regulator-max-microvolt = <3300000>;
0068         };
0069 
0070         vcc_3v3: regulator-vcc_3v3 {
0071                 compatible = "regulator-fixed";
0072                 regulator-name = "VCC_3V3";
0073                 regulator-min-microvolt = <3300000>;
0074                 regulator-max-microvolt = <3300000>;
0075         };
0076 
0077         emmc_pwrseq: emmc-pwrseq {
0078                 compatible = "mmc-pwrseq-emmc";
0079                 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
0080         };
0081 
0082         wifi32k: wifi32k {
0083                 compatible = "pwm-clock";
0084                 #clock-cells = <0>;
0085                 clock-frequency = <32768>;
0086                 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
0087         };
0088 
0089         sdio_pwrseq: sdio-pwrseq {
0090                 compatible = "mmc-pwrseq-simple";
0091                 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
0092                 clocks = <&wifi32k>;
0093                 clock-names = "ext_clock";
0094         };
0095 
0096         cvbs_connector: cvbs-connector {
0097                 compatible = "composite-video-connector";
0098 
0099                 port {
0100                         cvbs_connector_in: endpoint {
0101                                 remote-endpoint = <&cvbs_vdac_out>;
0102                         };
0103                 };
0104         };
0105 
0106         hdmi-connector {
0107                 compatible = "hdmi-connector";
0108                 type = "a";
0109 
0110                 port {
0111                         hdmi_connector_in: endpoint {
0112                                 remote-endpoint = <&hdmi_tx_tmds_out>;
0113                         };
0114                 };
0115         };
0116 };
0117 
0118 &cec_AO {
0119         status = "okay";
0120         pinctrl-0 = <&ao_cec_pins>;
0121         pinctrl-names = "default";
0122         hdmi-phandle = <&hdmi_tx>;
0123 };
0124 
0125 &cvbs_vdac_port {
0126         cvbs_vdac_out: endpoint {
0127                 remote-endpoint = <&cvbs_connector_in>;
0128         };
0129 };
0130 
0131 &hdmi_tx {
0132         status = "okay";
0133         pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
0134         pinctrl-names = "default";
0135 };
0136 
0137 &hdmi_tx_tmds_port {
0138         hdmi_tx_tmds_out: endpoint {
0139                 remote-endpoint = <&hdmi_connector_in>;
0140         };
0141 };
0142 
0143 &ir {
0144         status = "okay";
0145         pinctrl-0 = <&remote_input_ao_pins>;
0146         pinctrl-names = "default";
0147 };
0148 
0149 &pwm_ef {
0150         status = "okay";
0151         pinctrl-0 = <&pwm_e_pins>;
0152         pinctrl-names = "default";
0153         clocks = <&clkc CLKID_FCLK_DIV4>;
0154         clock-names = "clkin0";
0155 };
0156 
0157 /* Wireless SDIO Module */
0158 &sd_emmc_a {
0159         status = "okay";
0160         pinctrl-0 = <&sdio_pins>;
0161         pinctrl-1 = <&sdio_clk_gate_pins>;
0162         pinctrl-names = "default", "clk-gate";
0163         #address-cells = <1>;
0164         #size-cells = <0>;
0165 
0166         bus-width = <4>;
0167         cap-sd-highspeed;
0168         max-frequency = <50000000>;
0169 
0170         non-removable;
0171         disable-wp;
0172 
0173         /* WiFi firmware requires power to be kept while in suspend */
0174         keep-power-in-suspend;
0175 
0176         mmc-pwrseq = <&sdio_pwrseq>;
0177 
0178         vmmc-supply = <&vddao_3v3>;
0179         vqmmc-supply = <&vddio_boot>;
0180 
0181         brcmf: wifi@1 {
0182                 reg = <1>;
0183                 compatible = "brcm,bcm4329-fmac";
0184         };
0185 };
0186 
0187 /* SD card */
0188 &sd_emmc_b {
0189         status = "okay";
0190         pinctrl-0 = <&sdcard_pins>;
0191         pinctrl-1 = <&sdcard_clk_gate_pins>;
0192         pinctrl-names = "default", "clk-gate";
0193 
0194         bus-width = <4>;
0195         cap-sd-highspeed;
0196         sd-uhs-sdr12;
0197         sd-uhs-sdr25;
0198         sd-uhs-sdr50;
0199         max-frequency = <100000000>;
0200         disable-wp;
0201 
0202         cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
0203 
0204         vmmc-supply = <&vddao_3v3>;
0205         vqmmc-supply = <&vddio_card>;
0206 };
0207 
0208 /* eMMC */
0209 &sd_emmc_c {
0210         status = "okay";
0211         pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
0212         pinctrl-1 = <&emmc_clk_gate_pins>;
0213         pinctrl-names = "default", "clk-gate";
0214 
0215         bus-width = <8>;
0216         cap-mmc-highspeed;
0217         max-frequency = <200000000>;
0218         non-removable;
0219         disable-wp;
0220         mmc-ddr-1_8v;
0221         mmc-hs200-1_8v;
0222 
0223         mmc-pwrseq = <&emmc_pwrseq>;
0224         vmmc-supply = <&vcc_3v3>;
0225         vqmmc-supply = <&vddio_boot>;
0226 };
0227 
0228 /* This UART is brought out to the DB9 connector */
0229 &uart_AO {
0230         status = "okay";
0231         pinctrl-0 = <&uart_ao_a_pins>;
0232         pinctrl-names = "default";
0233 };
0234 
0235 &usb0_phy {
0236         status = "okay";
0237         phy-supply = <&usb_pwr>;
0238 };
0239 
0240 &usb1_phy {
0241         status = "okay";
0242 };
0243 
0244 &usb0 {
0245         status = "okay";
0246 };
0247 
0248 &usb1 {
0249         status = "okay";
0250 };