| .. | .. |
|---|
| 50 | 50 | compatible = "sinovoip,bpi-m2-berry", "allwinner,sun8i-r40"; |
|---|
| 51 | 51 | |
|---|
| 52 | 52 | aliases { |
|---|
| 53 | + ethernet0 = &gmac; |
|---|
| 53 | 54 | serial0 = &uart0; |
|---|
| 54 | 55 | }; |
|---|
| 55 | 56 | |
|---|
| 56 | 57 | chosen { |
|---|
| 57 | 58 | stdout-path = "serial0:115200n8"; |
|---|
| 59 | + }; |
|---|
| 60 | + |
|---|
| 61 | + connector { |
|---|
| 62 | + compatible = "hdmi-connector"; |
|---|
| 63 | + type = "a"; |
|---|
| 64 | + |
|---|
| 65 | + port { |
|---|
| 66 | + hdmi_con_in: endpoint { |
|---|
| 67 | + remote-endpoint = <&hdmi_out_con>; |
|---|
| 68 | + }; |
|---|
| 69 | + }; |
|---|
| 58 | 70 | }; |
|---|
| 59 | 71 | |
|---|
| 60 | 72 | leds { |
|---|
| .. | .. |
|---|
| 84 | 96 | wifi_pwrseq: wifi_pwrseq { |
|---|
| 85 | 97 | compatible = "mmc-pwrseq-simple"; |
|---|
| 86 | 98 | reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 WIFI_EN */ |
|---|
| 99 | + clocks = <&ccu CLK_OUTA>; |
|---|
| 100 | + clock-names = "ext_clock"; |
|---|
| 87 | 101 | }; |
|---|
| 102 | +}; |
|---|
| 103 | + |
|---|
| 104 | +&ahci { |
|---|
| 105 | + ahci-supply = <®_dldo4>; |
|---|
| 106 | + phy-supply = <®_eldo3>; |
|---|
| 107 | + status = "okay"; |
|---|
| 108 | +}; |
|---|
| 109 | + |
|---|
| 110 | +&de { |
|---|
| 111 | + status = "okay"; |
|---|
| 88 | 112 | }; |
|---|
| 89 | 113 | |
|---|
| 90 | 114 | &ehci1 { |
|---|
| 91 | 115 | /* Terminus Tech FE 1.1s 4-port USB 2.0 hub here */ |
|---|
| 92 | 116 | status = "okay"; |
|---|
| 117 | +}; |
|---|
| 118 | + |
|---|
| 119 | +&gmac { |
|---|
| 120 | + pinctrl-names = "default"; |
|---|
| 121 | + pinctrl-0 = <&gmac_rgmii_pins>; |
|---|
| 122 | + phy-handle = <&phy1>; |
|---|
| 123 | + phy-mode = "rgmii-id"; |
|---|
| 124 | + phy-supply = <®_dc1sw>; |
|---|
| 125 | + status = "okay"; |
|---|
| 126 | +}; |
|---|
| 127 | + |
|---|
| 128 | +&gmac_mdio { |
|---|
| 129 | + phy1: ethernet-phy@1 { |
|---|
| 130 | + compatible = "ethernet-phy-ieee802.3-c22"; |
|---|
| 131 | + reg = <1>; |
|---|
| 132 | + }; |
|---|
| 133 | +}; |
|---|
| 134 | + |
|---|
| 135 | +&hdmi { |
|---|
| 136 | + status = "okay"; |
|---|
| 137 | +}; |
|---|
| 138 | + |
|---|
| 139 | +&hdmi_out { |
|---|
| 140 | + hdmi_out_con: endpoint { |
|---|
| 141 | + remote-endpoint = <&hdmi_con_in>; |
|---|
| 142 | + }; |
|---|
| 93 | 143 | }; |
|---|
| 94 | 144 | |
|---|
| 95 | 145 | &i2c0 { |
|---|
| .. | .. |
|---|
| 105 | 155 | |
|---|
| 106 | 156 | #include "axp22x.dtsi" |
|---|
| 107 | 157 | |
|---|
| 158 | +&mmc0 { |
|---|
| 159 | + vmmc-supply = <®_dcdc1>; |
|---|
| 160 | + bus-width = <4>; |
|---|
| 161 | + cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ |
|---|
| 162 | + status = "okay"; |
|---|
| 163 | +}; |
|---|
| 164 | + |
|---|
| 165 | +&mmc1 { |
|---|
| 166 | + pinctrl-names = "default"; |
|---|
| 167 | + pinctrl-0 = <&mmc1_pg_pins>; |
|---|
| 168 | + vmmc-supply = <®_dldo2>; |
|---|
| 169 | + vqmmc-supply = <®_dldo1>; |
|---|
| 170 | + mmc-pwrseq = <&wifi_pwrseq>; |
|---|
| 171 | + bus-width = <4>; |
|---|
| 172 | + non-removable; |
|---|
| 173 | + status = "okay"; |
|---|
| 174 | +}; |
|---|
| 175 | + |
|---|
| 176 | +&pio { |
|---|
| 177 | + pinctrl-names = "default"; |
|---|
| 178 | + pinctrl-0 = <&clk_out_a_pin>; |
|---|
| 179 | + vcc-pa-supply = <®_aldo2>; |
|---|
| 180 | + vcc-pc-supply = <®_dcdc1>; |
|---|
| 181 | + vcc-pd-supply = <®_dcdc1>; |
|---|
| 182 | + vcc-pe-supply = <®_eldo1>; |
|---|
| 183 | + vcc-pf-supply = <®_dcdc1>; |
|---|
| 184 | + vcc-pg-supply = <®_dldo1>; |
|---|
| 185 | +}; |
|---|
| 186 | + |
|---|
| 187 | +®_aldo2 { |
|---|
| 188 | + regulator-min-microvolt = <2500000>; |
|---|
| 189 | + regulator-max-microvolt = <2500000>; |
|---|
| 190 | + regulator-name = "vcc-pa"; |
|---|
| 191 | +}; |
|---|
| 192 | + |
|---|
| 108 | 193 | ®_aldo3 { |
|---|
| 109 | 194 | regulator-always-on; |
|---|
| 110 | 195 | regulator-min-microvolt = <2700000>; |
|---|
| .. | .. |
|---|
| 112 | 197 | regulator-name = "avcc"; |
|---|
| 113 | 198 | }; |
|---|
| 114 | 199 | |
|---|
| 200 | +®_dc1sw { |
|---|
| 201 | + regulator-min-microvolt = <3300000>; |
|---|
| 202 | + regulator-max-microvolt = <3300000>; |
|---|
| 203 | + regulator-name = "vcc-gmac-phy"; |
|---|
| 204 | +}; |
|---|
| 205 | + |
|---|
| 115 | 206 | ®_dcdc1 { |
|---|
| 116 | 207 | regulator-always-on; |
|---|
| 117 | | - regulator-min-microvolt = <3000000>; |
|---|
| 118 | | - regulator-max-microvolt = <3000000>; |
|---|
| 119 | | - regulator-name = "vcc-3v0"; |
|---|
| 208 | + regulator-min-microvolt = <3300000>; |
|---|
| 209 | + regulator-max-microvolt = <3300000>; |
|---|
| 210 | + regulator-name = "vcc-3v3"; |
|---|
| 120 | 211 | }; |
|---|
| 121 | 212 | |
|---|
| 122 | 213 | ®_dcdc2 { |
|---|
| .. | .. |
|---|
| 146 | 237 | regulator-name = "vcc-wifi-io"; |
|---|
| 147 | 238 | }; |
|---|
| 148 | 239 | |
|---|
| 240 | +/* |
|---|
| 241 | + * Our WiFi chip needs both DLDO2 and DLDO3 to be powered at the same |
|---|
| 242 | + * time, with the two being in sync, to be able to meet maximum power |
|---|
| 243 | + * consumption during transmits. Since this is not really supported |
|---|
| 244 | + * right now, just use the two as always on, and we will fix it later. |
|---|
| 245 | + */ |
|---|
| 246 | + |
|---|
| 149 | 247 | ®_dldo2 { |
|---|
| 248 | + regulator-always-on; |
|---|
| 150 | 249 | regulator-min-microvolt = <3300000>; |
|---|
| 151 | 250 | regulator-max-microvolt = <3300000>; |
|---|
| 152 | 251 | regulator-name = "vcc-wifi"; |
|---|
| 153 | 252 | }; |
|---|
| 154 | 253 | |
|---|
| 155 | | -&mmc0 { |
|---|
| 156 | | - vmmc-supply = <®_dcdc1>; |
|---|
| 157 | | - bus-width = <4>; |
|---|
| 158 | | - cd-gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */ |
|---|
| 159 | | - status = "okay"; |
|---|
| 254 | +®_dldo3 { |
|---|
| 255 | + regulator-always-on; |
|---|
| 256 | + regulator-min-microvolt = <3300000>; |
|---|
| 257 | + regulator-max-microvolt = <3300000>; |
|---|
| 258 | + regulator-name = "vcc-wifi-2"; |
|---|
| 160 | 259 | }; |
|---|
| 161 | 260 | |
|---|
| 162 | | -&mmc1 { |
|---|
| 163 | | - pinctrl-names = "default"; |
|---|
| 164 | | - pinctrl-0 = <&mmc1_pg_pins>; |
|---|
| 165 | | - vmmc-supply = <®_dldo2>; |
|---|
| 166 | | - vqmmc-supply = <®_dldo1>; |
|---|
| 167 | | - mmc-pwrseq = <&wifi_pwrseq>; |
|---|
| 168 | | - bus-width = <4>; |
|---|
| 169 | | - non-removable; |
|---|
| 261 | +®_dldo4 { |
|---|
| 262 | + regulator-min-microvolt = <2500000>; |
|---|
| 263 | + regulator-max-microvolt = <2500000>; |
|---|
| 264 | + regulator-name = "vdd2v5-sata"; |
|---|
| 265 | +}; |
|---|
| 266 | + |
|---|
| 267 | +®_eldo3 { |
|---|
| 268 | + regulator-min-microvolt = <1200000>; |
|---|
| 269 | + regulator-max-microvolt = <1200000>; |
|---|
| 270 | + regulator-name = "vdd1v2-sata"; |
|---|
| 271 | +}; |
|---|
| 272 | + |
|---|
| 273 | +&tcon_tv0 { |
|---|
| 170 | 274 | status = "okay"; |
|---|
| 171 | 275 | }; |
|---|
| 172 | 276 | |
|---|
| .. | .. |
|---|
| 176 | 280 | status = "okay"; |
|---|
| 177 | 281 | }; |
|---|
| 178 | 282 | |
|---|
| 283 | +&uart3 { |
|---|
| 284 | + pinctrl-names = "default"; |
|---|
| 285 | + pinctrl-0 = <&uart3_pg_pins>, <&uart3_rts_cts_pg_pins>; |
|---|
| 286 | + uart-has-rtscts; |
|---|
| 287 | + status = "okay"; |
|---|
| 288 | + |
|---|
| 289 | + bluetooth { |
|---|
| 290 | + compatible = "brcm,bcm43438-bt"; |
|---|
| 291 | + clocks = <&ccu CLK_OUTA>; |
|---|
| 292 | + clock-names = "lpo"; |
|---|
| 293 | + vbat-supply = <®_dldo2>; |
|---|
| 294 | + vddio-supply = <®_dldo1>; |
|---|
| 295 | + device-wakeup-gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */ |
|---|
| 296 | + /* TODO host wake line connected to PMIC GPIO pins */ |
|---|
| 297 | + shutdown-gpios = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */ |
|---|
| 298 | + max-speed = <1500000>; |
|---|
| 299 | + }; |
|---|
| 300 | +}; |
|---|
| 301 | + |
|---|
| 179 | 302 | &usbphy { |
|---|
| 180 | 303 | usb1_vbus-supply = <®_vcc5v0>; |
|---|
| 181 | 304 | status = "okay"; |
|---|