Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 // Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
0003 
0004 /dts-v1/;
0005 
0006 #include "sun50i-a64.dtsi"
0007 #include "sun50i-a64-cpu-opp.dtsi"
0008 
0009 #include <dt-bindings/gpio/gpio.h>
0010 
0011 / {
0012         model = "FriendlyARM NanoPi A64";
0013         compatible = "friendlyarm,nanopi-a64", "allwinner,sun50i-a64";
0014 
0015         aliases {
0016                 ethernet0 = &emac;
0017                 serial0 = &uart0;
0018         };
0019 
0020         chosen {
0021                 stdout-path = "serial0:115200n8";
0022         };
0023 
0024         hdmi-connector {
0025                 compatible = "hdmi-connector";
0026                 type = "a";
0027 
0028                 port {
0029                         hdmi_con_in: endpoint {
0030                                 remote-endpoint = <&hdmi_out_con>;
0031                         };
0032                 };
0033         };
0034 
0035         leds {
0036                 compatible = "gpio-leds";
0037 
0038                 led {
0039                         label = "nanopi-a64:blue:status";
0040                         gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
0041                 };
0042         };
0043 
0044         wifi_pwrseq: wifi_pwrseq {
0045                 compatible = "mmc-pwrseq-simple";
0046                 clocks = <&rtc CLK_OSC32K_FANOUT>;
0047                 clock-names = "ext_clock";
0048                 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
0049         };
0050 };
0051 
0052 &cpu0 {
0053         cpu-supply = <&reg_dcdc2>;
0054 };
0055 
0056 &cpu1 {
0057         cpu-supply = <&reg_dcdc2>;
0058 };
0059 
0060 &cpu2 {
0061         cpu-supply = <&reg_dcdc2>;
0062 };
0063 
0064 &cpu3 {
0065         cpu-supply = <&reg_dcdc2>;
0066 };
0067 
0068 &de {
0069         status = "okay";
0070 };
0071 
0072 &ehci0 {
0073         status = "okay";
0074 };
0075 
0076 &ehci1 {
0077         status = "okay";
0078 };
0079 
0080 &emac {
0081         pinctrl-names = "default";
0082         pinctrl-0 = <&rgmii_pins>;
0083         phy-mode = "rgmii";
0084         phy-handle = <&ext_rgmii_phy>;
0085         phy-supply = <&reg_dcdc1>;
0086         status = "okay";
0087 };
0088 
0089 &hdmi {
0090         hvcc-supply = <&reg_dldo1>;
0091         status = "okay";
0092 };
0093 
0094 &hdmi_out {
0095         hdmi_out_con: endpoint {
0096                 remote-endpoint = <&hdmi_con_in>;
0097         };
0098 };
0099 
0100 /* i2c1 connected with gpio headers like pine64, bananapi */
0101 &i2c1_pins {
0102         bias-pull-up;
0103 };
0104 
0105 &mdio {
0106         ext_rgmii_phy: ethernet-phy@1 {
0107                 compatible = "ethernet-phy-ieee802.3-c22";
0108                 reg = <7>;
0109         };
0110 };
0111 
0112 &mmc0 {
0113         pinctrl-names = "default";
0114         pinctrl-0 = <&mmc0_pins>;
0115         vmmc-supply = <&reg_dcdc1>;
0116         cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
0117         disable-wp;
0118         bus-width = <4>;
0119         status = "okay";
0120 };
0121 
0122 &mmc1 {
0123         pinctrl-names = "default";
0124         pinctrl-0 = <&mmc1_pins>;
0125         vmmc-supply = <&reg_dcdc1>;
0126         vqmmc-supply = <&reg_dldo4>;
0127         mmc-pwrseq = <&wifi_pwrseq>;
0128         bus-width = <4>;
0129         non-removable;
0130         status = "okay";
0131 
0132         rtl8189etv: wifi@1 {
0133                 reg = <1>;
0134                 interrupt-parent = <&r_pio>;
0135                 interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
0136                 interrupt-names = "host-wake";
0137         };
0138 };
0139 
0140 &ohci0 {
0141         status = "okay";
0142 };
0143 
0144 &ohci1 {
0145         status = "okay";
0146 };
0147 
0148 &r_rsb {
0149         status = "okay";
0150 
0151         axp803: pmic@3a3 {
0152                 compatible = "x-powers,axp803";
0153                 reg = <0x3a3>;
0154                 interrupt-parent = <&r_intc>;
0155                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
0156         };
0157 };
0158 
0159 #include "axp803.dtsi"
0160 
0161 &ac_power_supply {
0162         status = "okay";
0163 };
0164 
0165 &reg_aldo2 {
0166         regulator-always-on;
0167         regulator-min-microvolt = <1800000>;
0168         regulator-max-microvolt = <3300000>;
0169         regulator-name = "vcc-pl";
0170 };
0171 
0172 &reg_aldo3 {
0173         regulator-always-on;
0174         regulator-min-microvolt = <3000000>;
0175         regulator-max-microvolt = <3000000>;
0176         regulator-name = "vcc-pll-avcc";
0177 };
0178 
0179 &reg_dcdc1 {
0180         regulator-always-on;
0181         regulator-min-microvolt = <3300000>;
0182         regulator-max-microvolt = <3300000>;
0183         regulator-name = "vcc-3v3";
0184 };
0185 
0186 &reg_dcdc2 {
0187         regulator-always-on;
0188         regulator-min-microvolt = <1040000>;
0189         regulator-max-microvolt = <1300000>;
0190         regulator-name = "vdd-cpux";
0191 };
0192 
0193 /* DCDC3 is polyphased with DCDC2 */
0194 
0195 &reg_dcdc5 {
0196         regulator-always-on;
0197         regulator-min-microvolt = <1500000>;
0198         regulator-max-microvolt = <1500000>;
0199         regulator-name = "vcc-dram";
0200 };
0201 
0202 &reg_dcdc6 {
0203         regulator-always-on;
0204         regulator-min-microvolt = <1100000>;
0205         regulator-max-microvolt = <1100000>;
0206         regulator-name = "vdd-sys";
0207 };
0208 
0209 &reg_dldo1 {
0210         regulator-always-on;
0211         regulator-min-microvolt = <3300000>;
0212         regulator-max-microvolt = <3300000>;
0213         regulator-name = "vcc-hdmi-dsi";
0214 };
0215 
0216 &reg_dldo4 {
0217         regulator-always-on;
0218         regulator-min-microvolt = <3000000>;
0219         regulator-max-microvolt = <3000000>;
0220         regulator-name = "vcc-pg-wifi-io";
0221 };
0222 
0223 &reg_eldo1 {
0224         regulator-min-microvolt = <1800000>;
0225         regulator-max-microvolt = <1800000>;
0226         regulator-name = "cpvdd";
0227 };
0228 
0229 &reg_fldo1 {
0230         regulator-min-microvolt = <1200000>;
0231         regulator-max-microvolt = <1200000>;
0232         regulator-name = "vcc-1v2-hsic";
0233 };
0234 
0235 /*
0236  * The A64 chip cannot work without this regulator off, although
0237  * it seems to be only driving the AR100 core.
0238  * Maybe we don't still know well about CPUs domain.
0239  */
0240 &reg_fldo2 {
0241         regulator-always-on;
0242         regulator-min-microvolt = <1100000>;
0243         regulator-max-microvolt = <1100000>;
0244         regulator-name = "vdd-cpus";
0245 };
0246 
0247 &reg_rtc_ldo {
0248         regulator-name = "vcc-rtc";
0249 };
0250 
0251 &simplefb_hdmi {
0252         vcc-hdmi-supply = <&reg_dldo1>;
0253 };
0254 
0255 &uart0 {
0256         pinctrl-names = "default";
0257         pinctrl-0 = <&uart0_pb_pins>;
0258         status = "okay";
0259 };
0260 
0261 &usbphy {
0262         status = "okay";
0263 };