1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright 2020 Pascal Roeleven <dev@pascalroeleven.nl> 4 */ 5 6/dts-v1/; 7#include "sun4i-a10.dtsi" 8#include "sunxi-common-regulators.dtsi" 9 10#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/input/input.h> 12#include <dt-bindings/interrupt-controller/irq.h> 13#include <dt-bindings/pwm/pwm.h> 14 15/ { 16 model = "Topwise A721"; 17 compatible = "topwise,a721", "allwinner,sun4i-a10"; 18 19 aliases { 20 serial0 = &uart0; 21 }; 22 23 backlight: backlight { 24 compatible = "pwm-backlight"; 25 pwms = <&pwm 0 100000 PWM_POLARITY_INVERTED>; 26 power-supply = <®_vbat>; 27 enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ 28 brightness-levels = <0 30 40 50 60 70 80 90 100>; 29 default-brightness-level = <8>; 30 }; 31 32 chosen { 33 stdout-path = "serial0:115200n8"; 34 }; 35 36 panel { 37 compatible = "starry,kr070pe2t"; 38 backlight = <&backlight>; 39 power-supply = <®_lcd_power>; 40 41 port { 42 panel_input: endpoint { 43 remote-endpoint = <&tcon0_out_panel>; 44 }; 45 }; 46 }; 47 48 reg_lcd_power: reg-lcd-power { 49 compatible = "regulator-fixed"; 50 regulator-name = "reg-lcd-power"; 51 gpio = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */ 52 enable-active-high; 53 }; 54 55 reg_vbat: reg-vbat { 56 compatible = "regulator-fixed"; 57 regulator-name = "vbat"; 58 regulator-min-microvolt = <3700000>; 59 regulator-max-microvolt = <3700000>; 60 }; 61 62}; 63 64&codec { 65 status = "okay"; 66}; 67 68&cpu0 { 69 cpu-supply = <®_dcdc2>; 70}; 71 72&de { 73 status = "okay"; 74}; 75 76&ehci0 { 77 status = "okay"; 78}; 79 80&ehci1 { 81 status = "okay"; 82}; 83 84&i2c0 { 85 status = "okay"; 86 87 axp209: pmic@34 { 88 reg = <0x34>; 89 interrupts = <0>; 90 }; 91}; 92 93#include "axp209.dtsi" 94 95&ac_power_supply { 96 status = "okay"; 97}; 98 99&battery_power_supply { 100 status = "okay"; 101}; 102 103&i2c1 { 104 status = "okay"; 105 106 accelerometer@4c { 107 compatible = "fsl,mma7660"; 108 reg = <0x4c>; 109 }; 110}; 111 112&i2c2 { 113 status = "okay"; 114 115 touchscreen@38 { 116 compatible = "edt,edt-ft5406"; 117 reg = <0x38>; 118 interrupt-parent = <&pio>; 119 interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>; 120 touchscreen-size-x = <800>; 121 touchscreen-size-y = <480>; 122 vcc-supply = <®_vcc3v3>; 123 }; 124}; 125 126&lradc { 127 vref-supply = <®_ldo2>; 128 status = "okay"; 129 130 button-571 { 131 label = "Volume Up"; 132 linux,code = <KEY_VOLUMEUP>; 133 channel = <0>; 134 voltage = <571428>; 135 }; 136 137 button-761 { 138 label = "Volume Down"; 139 linux,code = <KEY_VOLUMEDOWN>; 140 channel = <0>; 141 voltage = <761904>; 142 }; 143}; 144 145&mmc0 { 146 vmmc-supply = <®_vcc3v3>; 147 bus-width = <4>; 148 cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH01 */ 149 status = "okay"; 150}; 151 152&ohci0 { 153 status = "okay"; 154}; 155 156&ohci1 { 157 status = "okay"; 158}; 159 160&otg_sram { 161 status = "okay"; 162}; 163 164&pio { 165 vcc-pb-supply = <®_vcc3v3>; 166 vcc-pf-supply = <®_vcc3v3>; 167 vcc-ph-supply = <®_vcc3v3>; 168}; 169 170&pwm { 171 pinctrl-names = "default"; 172 pinctrl-0 = <&pwm0_pin>; 173 status = "okay"; 174}; 175 176®_dcdc2 { 177 regulator-always-on; 178 regulator-min-microvolt = <1000000>; 179 regulator-max-microvolt = <1400000>; 180 regulator-name = "vdd-cpu"; 181}; 182 183®_dcdc3 { 184 regulator-always-on; 185 regulator-min-microvolt = <1250000>; 186 regulator-max-microvolt = <1250000>; 187 regulator-name = "vdd-int-dll"; 188}; 189 190®_ldo1 { 191 regulator-name = "vdd-rtc"; 192}; 193 194®_ldo2 { 195 regulator-always-on; 196 regulator-min-microvolt = <3000000>; 197 regulator-max-microvolt = <3000000>; 198 regulator-name = "avcc"; 199}; 200 201®_usb0_vbus { 202 status = "okay"; 203}; 204 205®_usb1_vbus { 206 status = "okay"; 207}; 208 209®_usb2_vbus { 210 status = "okay"; 211}; 212 213&tcon0_out { 214 tcon0_out_panel: endpoint@0 { 215 reg = <0>; 216 remote-endpoint = <&panel_input>; 217 }; 218}; 219 220&uart0 { 221 pinctrl-names = "default"; 222 pinctrl-0 = <&uart0_pb_pins>; 223 status = "okay"; 224}; 225 226&usb_otg { 227 dr_mode = "otg"; 228 status = "okay"; 229}; 230 231&usb_power_supply { 232 status = "okay"; 233}; 234 235&usbphy { 236 usb0_id_det-gpios = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ 237 usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ 238 usb0_vbus-supply = <®_usb0_vbus>; 239 usb1_vbus-supply = <®_usb1_vbus>; 240 usb2_vbus-supply = <®_usb2_vbus>; 241 status = "okay"; 242}; 243