Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003  * Copyright (c) 2018 Amlogic, Inc. All rights reserved.
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include "meson-g12a.dtsi"
0009 #include <dt-bindings/gpio/gpio.h>
0010 #include <dt-bindings/gpio/meson-g12a-gpio.h>
0011 
0012 / {
0013         compatible = "amlogic,u200", "amlogic,g12a";
0014         model = "Amlogic Meson G12A U200 Development Board";
0015 
0016         aliases {
0017                 serial0 = &uart_AO;
0018                 ethernet0 = &ethmac;
0019         };
0020 
0021         chosen {
0022                 stdout-path = "serial0:115200n8";
0023         };
0024 
0025         cvbs-connector {
0026                 compatible = "composite-video-connector";
0027 
0028                 port {
0029                         cvbs_connector_in: endpoint {
0030                                 remote-endpoint = <&cvbs_vdac_out>;
0031                         };
0032                 };
0033         };
0034 
0035         emmc_pwrseq: emmc-pwrseq {
0036                 compatible = "mmc-pwrseq-emmc";
0037                 reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
0038         };
0039 
0040         hdmi-connector {
0041                 compatible = "hdmi-connector";
0042                 type = "a";
0043 
0044                 port {
0045                         hdmi_connector_in: endpoint {
0046                                 remote-endpoint = <&hdmi_tx_tmds_out>;
0047                         };
0048                 };
0049         };
0050 
0051         memory@0 {
0052                 device_type = "memory";
0053                 reg = <0x0 0x0 0x0 0x40000000>;
0054         };
0055 
0056         flash_1v8: regulator-flash_1v8 {
0057                 compatible = "regulator-fixed";
0058                 regulator-name = "FLASH_1V8";
0059                 regulator-min-microvolt = <1800000>;
0060                 regulator-max-microvolt = <1800000>;
0061                 vin-supply = <&vcc_3v3>;
0062                 regulator-always-on;
0063         };
0064 
0065         main_12v: regulator-main_12v {
0066                 compatible = "regulator-fixed";
0067                 regulator-name = "12V";
0068                 regulator-min-microvolt = <12000000>;
0069                 regulator-max-microvolt = <12000000>;
0070                 regulator-always-on;
0071         };
0072 
0073         usb_pwr_en: regulator-usb_pwr_en {
0074                 compatible = "regulator-fixed";
0075                 regulator-name = "USB_PWR_EN";
0076                 regulator-min-microvolt = <5000000>;
0077                 regulator-max-microvolt = <5000000>;
0078                 vin-supply = <&vcc_5v>;
0079 
0080                 gpio = <&gpio GPIOH_6 GPIO_ACTIVE_HIGH>;
0081                 enable-active-high;
0082         };
0083 
0084         vcc_1v8: regulator-vcc_1v8 {
0085                 compatible = "regulator-fixed";
0086                 regulator-name = "VCC_1V8";
0087                 regulator-min-microvolt = <1800000>;
0088                 regulator-max-microvolt = <1800000>;
0089                 vin-supply = <&vcc_3v3>;
0090                 regulator-always-on;
0091         };
0092 
0093         vcc_3v3: regulator-vcc_3v3 {
0094                 compatible = "regulator-fixed";
0095                 regulator-name = "VCC_3V3";
0096                 regulator-min-microvolt = <3300000>;
0097                 regulator-max-microvolt = <3300000>;
0098                 vin-supply = <&vddao_3v3>;
0099                 regulator-always-on;
0100                 /* FIXME: actually controlled by VDDCPU_B_EN */
0101         };
0102 
0103         vcc_5v: regulator-vcc_5v {
0104                 compatible = "regulator-fixed";
0105                 regulator-name = "VCC_5V";
0106                 regulator-min-microvolt = <5000000>;
0107                 regulator-max-microvolt = <5000000>;
0108                 vin-supply = <&main_12v>;
0109 
0110                 gpio = <&gpio GPIOH_8 GPIO_OPEN_DRAIN>;
0111                 enable-active-high;
0112         };
0113 
0114         vddao_1v8: regulator-vddao_1v8 {
0115                 compatible = "regulator-fixed";
0116                 regulator-name = "VDDAO_1V8";
0117                 regulator-min-microvolt = <1800000>;
0118                 regulator-max-microvolt = <1800000>;
0119                 vin-supply = <&vddao_3v3>;
0120                 regulator-always-on;
0121         };
0122 
0123         vddao_3v3: regulator-vddao_3v3 {
0124                 compatible = "regulator-fixed";
0125                 regulator-name = "VDDAO_3V3";
0126                 regulator-min-microvolt = <3300000>;
0127                 regulator-max-microvolt = <3300000>;
0128                 vin-supply = <&main_12v>;
0129                 regulator-always-on;
0130         };
0131 
0132         vddcpu: regulator-vddcpu {
0133                 /*
0134                  * MP8756GD Regulator.
0135                  */
0136                 compatible = "pwm-regulator";
0137 
0138                 regulator-name = "VDDCPU";
0139                 regulator-min-microvolt = <721000>;
0140                 regulator-max-microvolt = <1022000>;
0141 
0142                 pwm-supply = <&main_12v>;
0143 
0144                 pwms = <&pwm_AO_cd 1 1250 0>;
0145                 pwm-dutycycle-range = <100 0>;
0146 
0147                 regulator-boot-on;
0148                 regulator-always-on;
0149         };
0150 };
0151 
0152 &cec_AO {
0153         pinctrl-0 = <&cec_ao_a_h_pins>;
0154         pinctrl-names = "default";
0155         status = "disabled";
0156         hdmi-phandle = <&hdmi_tx>;
0157 };
0158 
0159 &cecb_AO {
0160         pinctrl-0 = <&cec_ao_b_h_pins>;
0161         pinctrl-names = "default";
0162         status = "okay";
0163         hdmi-phandle = <&hdmi_tx>;
0164 };
0165 
0166 &cpu0 {
0167         cpu-supply = <&vddcpu>;
0168         operating-points-v2 = <&cpu_opp_table>;
0169         clocks = <&clkc CLKID_CPU_CLK>;
0170         clock-latency = <50000>;
0171 };
0172 
0173 &cpu1 {
0174         cpu-supply = <&vddcpu>;
0175         operating-points-v2 = <&cpu_opp_table>;
0176         clocks = <&clkc CLKID_CPU_CLK>;
0177         clock-latency = <50000>;
0178 };
0179 
0180 &cpu2 {
0181         cpu-supply = <&vddcpu>;
0182         operating-points-v2 = <&cpu_opp_table>;
0183         clocks = <&clkc CLKID_CPU_CLK>;
0184         clock-latency = <50000>;
0185 };
0186 
0187 &cpu3 {
0188         cpu-supply = <&vddcpu>;
0189         operating-points-v2 = <&cpu_opp_table>;
0190         clocks = <&clkc CLKID_CPU_CLK>;
0191         clock-latency = <50000>;
0192 };
0193 
0194 &cvbs_vdac_port {
0195         cvbs_vdac_out: endpoint {
0196                 remote-endpoint = <&cvbs_connector_in>;
0197         };
0198 };
0199 
0200 &ethmac {
0201         status = "okay";
0202         phy-handle = <&internal_ephy>;
0203         phy-mode = "rmii";
0204 };
0205 
0206 &hdmi_tx {
0207         status = "okay";
0208         pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
0209         pinctrl-names = "default";
0210         hdmi-supply = <&vcc_5v>;
0211 };
0212 
0213 &hdmi_tx_tmds_port {
0214         hdmi_tx_tmds_out: endpoint {
0215                 remote-endpoint = <&hdmi_connector_in>;
0216         };
0217 };
0218 
0219 &ir {
0220         status = "okay";
0221         pinctrl-0 = <&remote_input_ao_pins>;
0222         pinctrl-names = "default";
0223 };
0224 
0225 /* i2c Touch */
0226 &i2c0 {
0227         status = "okay";
0228         pinctrl-0 = <&i2c0_sda_z0_pins>, <&i2c0_sck_z1_pins>;
0229         pinctrl-names = "default";
0230 };
0231 
0232 /* i2c CM */
0233 &i2c2 {
0234         status = "okay";
0235         pinctrl-0 = <&i2c2_sda_z_pins>, <&i2c2_sck_z_pins>;
0236         pinctrl-names = "default";
0237 };
0238 
0239 /* i2c Audio */
0240 &i2c3 {
0241         status = "okay";
0242         pinctrl-0 = <&i2c3_sda_a_pins>, <&i2c3_sck_a_pins>;
0243         pinctrl-names = "default";
0244 };
0245 
0246 &pwm_AO_cd {
0247         pinctrl-0 = <&pwm_ao_d_e_pins>;
0248         pinctrl-names = "default";
0249         clocks = <&xtal>;
0250         clock-names = "clkin1";
0251         status = "okay";
0252 };
0253 
0254 /* SD card */
0255 &sd_emmc_b {
0256         status = "okay";
0257         pinctrl-0 = <&sdcard_c_pins>;
0258         pinctrl-1 = <&sdcard_clk_gate_c_pins>;
0259         pinctrl-names = "default", "clk-gate";
0260 
0261         bus-width = <4>;
0262         cap-sd-highspeed;
0263         max-frequency = <50000000>;
0264         disable-wp;
0265 
0266         cd-gpios = <&gpio GPIOC_6 GPIO_ACTIVE_LOW>;
0267         vmmc-supply = <&vddao_3v3>;
0268         vqmmc-supply = <&vddao_3v3>;
0269 };
0270 
0271 /* eMMC */
0272 &sd_emmc_c {
0273         status = "okay";
0274         pinctrl-0 = <&emmc_ctrl_pins>, <&emmc_data_8b_pins>, <&emmc_ds_pins>;
0275         pinctrl-1 = <&emmc_clk_gate_pins>;
0276         pinctrl-names = "default", "clk-gate";
0277 
0278         bus-width = <8>;
0279         cap-mmc-highspeed;
0280         mmc-ddr-1_8v;
0281         mmc-hs200-1_8v;
0282         max-frequency = <200000000>;
0283         non-removable;
0284         disable-wp;
0285 
0286         mmc-pwrseq = <&emmc_pwrseq>;
0287         vmmc-supply = <&vcc_3v3>;
0288         vqmmc-supply = <&flash_1v8>;
0289 };
0290 
0291 &uart_AO {
0292         status = "okay";
0293         pinctrl-0 = <&uart_ao_a_pins>;
0294         pinctrl-names = "default";
0295 };
0296 
0297 &usb {
0298         status = "okay";
0299         vbus-supply = <&usb_pwr_en>;
0300 };
0301 
0302 &usb2_phy0 {
0303         phy-supply = <&vcc_5v>;
0304 };
0305 
0306 &usb2_phy1 {
0307         phy-supply = <&vcc_5v>;
0308 };