1c916eb95SHarald Geyer/* 2c916eb95SHarald Geyer * Copyright (C) Harald Geyer <harald@ccbib.org> 3c916eb95SHarald Geyer * based on sun50i-a64-olinuxino.dts by Jagan Teki <jteki@openedev.com> 4c916eb95SHarald Geyer * 5c916eb95SHarald Geyer * SPDX-License-Identifier: (GPL-2.0 OR MIT) 6c916eb95SHarald Geyer */ 7c916eb95SHarald Geyer 8c916eb95SHarald Geyer/dts-v1/; 9c916eb95SHarald Geyer 10c916eb95SHarald Geyer#include "sun50i-a64.dtsi" 11c916eb95SHarald Geyer 12c916eb95SHarald Geyer#include <dt-bindings/gpio/gpio.h> 13c916eb95SHarald Geyer#include <dt-bindings/input/input.h> 14c916eb95SHarald Geyer#include <dt-bindings/pwm/pwm.h> 15c916eb95SHarald Geyer 16c916eb95SHarald Geyer/ { 17c916eb95SHarald Geyer model = "Olimex A64 Teres-I"; 18c916eb95SHarald Geyer compatible = "olimex,a64-teres-i", "allwinner,sun50i-a64"; 19c916eb95SHarald Geyer 20c916eb95SHarald Geyer aliases { 21c916eb95SHarald Geyer serial0 = &uart0; 22c916eb95SHarald Geyer }; 23c916eb95SHarald Geyer 24*24bd5d2cSHarald Geyer backlight: backlight { 25*24bd5d2cSHarald Geyer compatible = "pwm-backlight"; 26*24bd5d2cSHarald Geyer pwms = <&pwm 0 50000 0>; 27*24bd5d2cSHarald Geyer power-supply = <®_dcdc1>; 28*24bd5d2cSHarald Geyer brightness-levels = <0 5 7 10 14 20 28 40 56 80 112>; 29*24bd5d2cSHarald Geyer default-brightness-level = <5>; 30*24bd5d2cSHarald Geyer enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */ 31*24bd5d2cSHarald Geyer }; 32*24bd5d2cSHarald Geyer 33c916eb95SHarald Geyer chosen { 34c916eb95SHarald Geyer stdout-path = "serial0:115200n8"; 35c916eb95SHarald Geyer 36c916eb95SHarald Geyer framebuffer-lcd { 37c916eb95SHarald Geyer eDP25-supply = <®_dldo2>; 38c916eb95SHarald Geyer eDP12-supply = <®_dldo3>; 39c916eb95SHarald Geyer }; 40c916eb95SHarald Geyer }; 41c916eb95SHarald Geyer 42c916eb95SHarald Geyer gpio-keys { 43c916eb95SHarald Geyer compatible = "gpio-keys"; 44c916eb95SHarald Geyer 45c916eb95SHarald Geyer lid-switch { 46c916eb95SHarald Geyer label = "Lid Switch"; 47c916eb95SHarald Geyer gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */ 48c916eb95SHarald Geyer linux,input-type = <EV_SW>; 49c916eb95SHarald Geyer linux,code = <SW_LID>; 5048f3e7bfSIcenowy Zheng wakeup-source; 51c916eb95SHarald Geyer }; 52c916eb95SHarald Geyer }; 53c916eb95SHarald Geyer 54c916eb95SHarald Geyer leds { 55c916eb95SHarald Geyer compatible = "gpio-leds"; 56c916eb95SHarald Geyer 57c916eb95SHarald Geyer capslock { 58c916eb95SHarald Geyer label = "teres-i:green:capslock"; 59c916eb95SHarald Geyer gpios = <&pio 2 7 GPIO_ACTIVE_HIGH>; /* PC7 */ 60c916eb95SHarald Geyer }; 61c916eb95SHarald Geyer 62c916eb95SHarald Geyer numlock { 63c916eb95SHarald Geyer label = "teres-i:green:numlock"; 64c916eb95SHarald Geyer gpios = <&pio 2 4 GPIO_ACTIVE_HIGH>; /* PC4 */ 65c916eb95SHarald Geyer }; 66c916eb95SHarald Geyer }; 67c916eb95SHarald Geyer 68c916eb95SHarald Geyer reg_usb1_vbus: usb1-vbus { 69c916eb95SHarald Geyer compatible = "regulator-fixed"; 70c916eb95SHarald Geyer regulator-name = "usb1-vbus"; 71c916eb95SHarald Geyer regulator-min-microvolt = <5000000>; 72c916eb95SHarald Geyer regulator-max-microvolt = <5000000>; 73c916eb95SHarald Geyer enable-active-high; 74c916eb95SHarald Geyer gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ 75c916eb95SHarald Geyer status = "okay"; 76c916eb95SHarald Geyer }; 77c916eb95SHarald Geyer 78c916eb95SHarald Geyer wifi_pwrseq: wifi_pwrseq { 79c916eb95SHarald Geyer compatible = "mmc-pwrseq-simple"; 80c916eb95SHarald Geyer reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ 81c916eb95SHarald Geyer }; 82c916eb95SHarald Geyer}; 83c916eb95SHarald Geyer 84c916eb95SHarald Geyer&ehci1 { 85c916eb95SHarald Geyer status = "okay"; 86c916eb95SHarald Geyer}; 87c916eb95SHarald Geyer 88c916eb95SHarald Geyer 89c916eb95SHarald Geyer/* The ANX6345 eDP-bridge is on i2c0. There is no linux (mainline) 90c916eb95SHarald Geyer * driver for this chip at the moment, the bootloader initializes it. 91c916eb95SHarald Geyer * However it can be accessed with the i2c-dev driver from user space. 92c916eb95SHarald Geyer */ 93c916eb95SHarald Geyer&i2c0 { 94c916eb95SHarald Geyer clock-frequency = <100000>; 95c916eb95SHarald Geyer pinctrl-names = "default"; 96c916eb95SHarald Geyer pinctrl-0 = <&i2c0_pins>; 97c916eb95SHarald Geyer status = "okay"; 98c916eb95SHarald Geyer}; 99c916eb95SHarald Geyer 100c916eb95SHarald Geyer&mmc0 { 101c916eb95SHarald Geyer pinctrl-names = "default"; 102c916eb95SHarald Geyer pinctrl-0 = <&mmc0_pins>; 103c916eb95SHarald Geyer vmmc-supply = <®_dcdc1>; 104c916eb95SHarald Geyer cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 105c916eb95SHarald Geyer disable-wp; 106c916eb95SHarald Geyer bus-width = <4>; 107c916eb95SHarald Geyer status = "okay"; 108c916eb95SHarald Geyer}; 109c916eb95SHarald Geyer 110c916eb95SHarald Geyer&mmc1 { 111c916eb95SHarald Geyer pinctrl-names = "default"; 112c916eb95SHarald Geyer pinctrl-0 = <&mmc1_pins>; 113c916eb95SHarald Geyer vmmc-supply = <®_aldo2>; 114c916eb95SHarald Geyer vqmmc-supply = <®_dldo4>; 115c916eb95SHarald Geyer mmc-pwrseq = <&wifi_pwrseq>; 116c916eb95SHarald Geyer bus-width = <4>; 117c916eb95SHarald Geyer non-removable; 118c916eb95SHarald Geyer status = "okay"; 119c916eb95SHarald Geyer 120c916eb95SHarald Geyer rtl8723bs: wifi@1 { 121c916eb95SHarald Geyer reg = <1>; 122c916eb95SHarald Geyer interrupt-parent = <&r_pio>; 123c916eb95SHarald Geyer interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */ 124c916eb95SHarald Geyer interrupt-names = "host-wake"; 125c916eb95SHarald Geyer }; 126c916eb95SHarald Geyer}; 127c916eb95SHarald Geyer 128c916eb95SHarald Geyer&mmc2 { 129c916eb95SHarald Geyer pinctrl-names = "default"; 130c916eb95SHarald Geyer pinctrl-0 = <&mmc2_pins>; 131c916eb95SHarald Geyer vmmc-supply = <®_dcdc1>; 132c916eb95SHarald Geyer vqmmc-supply = <®_dcdc1>; 133c916eb95SHarald Geyer bus-width = <8>; 134c916eb95SHarald Geyer non-removable; 135c916eb95SHarald Geyer cap-mmc-hw-reset; 136c916eb95SHarald Geyer status = "okay"; 137c916eb95SHarald Geyer}; 138c916eb95SHarald Geyer 139c916eb95SHarald Geyer&ohci1 { 140c916eb95SHarald Geyer status = "okay"; 141c916eb95SHarald Geyer}; 142c916eb95SHarald Geyer 143*24bd5d2cSHarald Geyer&pwm { 144*24bd5d2cSHarald Geyer status = "okay"; 145*24bd5d2cSHarald Geyer}; 146*24bd5d2cSHarald Geyer 147c916eb95SHarald Geyer&r_rsb { 148c916eb95SHarald Geyer status = "okay"; 149c916eb95SHarald Geyer 150c916eb95SHarald Geyer axp803: pmic@3a3 { 151c916eb95SHarald Geyer compatible = "x-powers,axp803"; 152c916eb95SHarald Geyer reg = <0x3a3>; 153c916eb95SHarald Geyer interrupt-parent = <&r_intc>; 154c916eb95SHarald Geyer interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 155c916eb95SHarald Geyer wakeup-source; 156c916eb95SHarald Geyer }; 157c916eb95SHarald Geyer}; 158c916eb95SHarald Geyer 159c916eb95SHarald Geyer#include "axp803.dtsi" 160c916eb95SHarald Geyer 16125f6f54fSHarald Geyer&ac_power_supply { 16225f6f54fSHarald Geyer status = "okay"; 16325f6f54fSHarald Geyer}; 16425f6f54fSHarald Geyer 16525f6f54fSHarald Geyer&battery_power_supply { 16625f6f54fSHarald Geyer status = "okay"; 16725f6f54fSHarald Geyer}; 16825f6f54fSHarald Geyer 169c916eb95SHarald Geyer®_aldo1 { 170c916eb95SHarald Geyer regulator-always-on; 171c916eb95SHarald Geyer regulator-min-microvolt = <2800000>; 172c916eb95SHarald Geyer regulator-max-microvolt = <2800000>; 173c916eb95SHarald Geyer regulator-name = "vcc-pe"; 174c916eb95SHarald Geyer}; 175c916eb95SHarald Geyer 176c916eb95SHarald Geyer®_aldo2 { 177c916eb95SHarald Geyer regulator-always-on; 178c916eb95SHarald Geyer regulator-min-microvolt = <3300000>; 179c916eb95SHarald Geyer regulator-max-microvolt = <3300000>; 180c916eb95SHarald Geyer regulator-name = "vcc-pl"; 181c916eb95SHarald Geyer}; 182c916eb95SHarald Geyer 183c916eb95SHarald Geyer®_aldo3 { 184c916eb95SHarald Geyer regulator-always-on; 185c916eb95SHarald Geyer regulator-min-microvolt = <3000000>; 186c916eb95SHarald Geyer regulator-max-microvolt = <3000000>; 187c916eb95SHarald Geyer regulator-name = "vcc-pll-avcc"; 188c916eb95SHarald Geyer}; 189c916eb95SHarald Geyer 190c916eb95SHarald Geyer®_dcdc1 { 191c916eb95SHarald Geyer regulator-always-on; 192c916eb95SHarald Geyer regulator-min-microvolt = <3300000>; 193c916eb95SHarald Geyer regulator-max-microvolt = <3300000>; 194c916eb95SHarald Geyer regulator-name = "vcc-3v3"; 195c916eb95SHarald Geyer}; 196c916eb95SHarald Geyer 197c916eb95SHarald Geyer®_dcdc2 { 198c916eb95SHarald Geyer regulator-always-on; 199c916eb95SHarald Geyer regulator-min-microvolt = <1040000>; 200c916eb95SHarald Geyer regulator-max-microvolt = <1300000>; 201c916eb95SHarald Geyer regulator-name = "vdd-cpux"; 202c916eb95SHarald Geyer}; 203c916eb95SHarald Geyer 204c916eb95SHarald Geyer/* DCDC3 is polyphased with DCDC2 */ 205c916eb95SHarald Geyer 206c916eb95SHarald Geyer®_dcdc5 { 207c916eb95SHarald Geyer regulator-always-on; 208c916eb95SHarald Geyer regulator-min-microvolt = <1500000>; 209c916eb95SHarald Geyer regulator-max-microvolt = <1500000>; 210c916eb95SHarald Geyer regulator-name = "vcc-ddr3"; 211c916eb95SHarald Geyer}; 212c916eb95SHarald Geyer 213c916eb95SHarald Geyer®_dcdc6 { 214c916eb95SHarald Geyer regulator-always-on; 215c916eb95SHarald Geyer regulator-min-microvolt = <1100000>; 216c916eb95SHarald Geyer regulator-max-microvolt = <1100000>; 217c916eb95SHarald Geyer regulator-name = "vdd-sys"; 218c916eb95SHarald Geyer}; 219c916eb95SHarald Geyer 220c916eb95SHarald Geyer®_dldo1 { 221c916eb95SHarald Geyer regulator-min-microvolt = <3300000>; 222c916eb95SHarald Geyer regulator-max-microvolt = <3300000>; 223c916eb95SHarald Geyer regulator-name = "vcc-hdmi"; 224c916eb95SHarald Geyer}; 225c916eb95SHarald Geyer 226c916eb95SHarald Geyer®_dldo2 { 227c916eb95SHarald Geyer regulator-min-microvolt = <2500000>; 228c916eb95SHarald Geyer regulator-max-microvolt = <2500000>; 229c916eb95SHarald Geyer regulator-name = "vcc-pd"; 230c916eb95SHarald Geyer}; 231c916eb95SHarald Geyer 232c916eb95SHarald Geyer®_dldo3 { 233c916eb95SHarald Geyer regulator-min-microvolt = <1200000>; 234c916eb95SHarald Geyer regulator-max-microvolt = <1200000>; 235e4357c82SIcenowy Zheng regulator-name = "vdd-edp"; 236c916eb95SHarald Geyer}; 237c916eb95SHarald Geyer 238c916eb95SHarald Geyer®_dldo4 { 239c916eb95SHarald Geyer regulator-min-microvolt = <3300000>; 240c916eb95SHarald Geyer regulator-max-microvolt = <3300000>; 241c916eb95SHarald Geyer regulator-name = "vcc-wifi-io"; 242c916eb95SHarald Geyer}; 243c916eb95SHarald Geyer 244c916eb95SHarald Geyer®_eldo1 { 245c916eb95SHarald Geyer regulator-min-microvolt = <1800000>; 246c916eb95SHarald Geyer regulator-max-microvolt = <1800000>; 247c916eb95SHarald Geyer regulator-name = "cpvdd"; 248c916eb95SHarald Geyer}; 249c916eb95SHarald Geyer 250c916eb95SHarald Geyer®_eldo2 { 251c916eb95SHarald Geyer regulator-min-microvolt = <1800000>; 252c916eb95SHarald Geyer regulator-max-microvolt = <1800000>; 253c916eb95SHarald Geyer regulator-name = "vcc-dvdd-csi"; 254c916eb95SHarald Geyer}; 255c916eb95SHarald Geyer 256c916eb95SHarald Geyer®_fldo1 { 257c916eb95SHarald Geyer regulator-min-microvolt = <1200000>; 258c916eb95SHarald Geyer regulator-max-microvolt = <1200000>; 259c916eb95SHarald Geyer regulator-name = "vcc-1v2-hsic"; 260c916eb95SHarald Geyer}; 261c916eb95SHarald Geyer 262c916eb95SHarald Geyer/* 263062904f2SJonathan Neuschäfer * The A64 chip cannot work with this regulator off, although 264c916eb95SHarald Geyer * it seems to be only driving the AR100 core. 265c916eb95SHarald Geyer * Maybe we don't still know well about CPUs domain. 266c916eb95SHarald Geyer */ 267c916eb95SHarald Geyer®_fldo2 { 268c916eb95SHarald Geyer regulator-always-on; 269c916eb95SHarald Geyer regulator-min-microvolt = <1100000>; 270c916eb95SHarald Geyer regulator-max-microvolt = <1100000>; 271c916eb95SHarald Geyer regulator-name = "vdd-cpus"; 272c916eb95SHarald Geyer}; 273c916eb95SHarald Geyer 274c916eb95SHarald Geyer®_rtc_ldo { 275c916eb95SHarald Geyer regulator-name = "vcc-rtc"; 276c916eb95SHarald Geyer}; 277c916eb95SHarald Geyer 2785cbef9f9SIcenowy Zheng&simplefb_hdmi { 2795cbef9f9SIcenowy Zheng vcc-hdmi-supply = <®_dldo1>; 2805cbef9f9SIcenowy Zheng}; 2815cbef9f9SIcenowy Zheng 282c916eb95SHarald Geyer&uart0 { 283c916eb95SHarald Geyer pinctrl-names = "default"; 284d91ebb95SChen-Yu Tsai pinctrl-0 = <&uart0_pb_pins>; 285c916eb95SHarald Geyer status = "okay"; 286c916eb95SHarald Geyer}; 287c916eb95SHarald Geyer 288c916eb95SHarald Geyer&usbphy { 289c916eb95SHarald Geyer usb1_vbus-supply = <®_usb1_vbus>; 290c916eb95SHarald Geyer status = "okay"; 291c916eb95SHarald Geyer}; 292