hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/boot/dts/sun8i-a83t-tbs-a711.dts
....@@ -46,6 +46,7 @@
4646
4747 #include <dt-bindings/gpio/gpio.h>
4848 #include <dt-bindings/pwm/pwm.h>
49
+#include <dt-bindings/input/input.h>
4950
5051 / {
5152 model = "TBS A711 Tablet";
....@@ -96,6 +97,13 @@
9697 remote-endpoint = <&tcon0_out_lcd>;
9798 };
9899 };
100
+ };
101
+
102
+ reg_gps: reg-gps {
103
+ compatible = "regulator-fixed";
104
+ regulator-name = "gps";
105
+ regulator-min-microvolt = <3000000>;
106
+ regulator-max-microvolt = <3000000>;
99107 };
100108
101109 reg_vbat: reg-vbat {
....@@ -156,10 +164,39 @@
156164 status = "okay";
157165 };
158166
167
+&i2c0 {
168
+ clock-frequency = <400000>;
169
+ status = "okay";
170
+
171
+ touchscreen@38 {
172
+ compatible = "edt,edt-ft5x06";
173
+ reg = <0x38>;
174
+ interrupt-parent = <&r_pio>;
175
+ interrupts = <0 7 IRQ_TYPE_EDGE_FALLING>; /* PL7 */
176
+ reset-gpios = <&pio 3 5 GPIO_ACTIVE_LOW>; /* PD5 */
177
+ vcc-supply = <&reg_ldo_io0>;
178
+ touchscreen-size-x = <1024>;
179
+ touchscreen-size-y = <600>;
180
+ };
181
+};
182
+
183
+&i2c1 {
184
+ clock-frequency = <400000>;
185
+ status = "okay";
186
+
187
+ accelerometer@18 {
188
+ compatible = "bosch,bma250";
189
+ reg = <0x18>;
190
+ interrupt-parent = <&pio>;
191
+ interrupts = <7 10 IRQ_TYPE_EDGE_RISING>; /* PH10 / EINT10 */
192
+ };
193
+};
194
+
159195 &mmc0 {
160196 vmmc-supply = <&reg_dcdc1>;
161197 pinctrl-names = "default";
162198 pinctrl-0 = <&mmc0_pins>;
199
+ bus-width = <4>;
163200 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
164201 status = "okay";
165202 };
....@@ -198,6 +235,25 @@
198235 pinctrl-names = "default";
199236 pinctrl-0 = <&pwm_pin>;
200237 status = "okay";
238
+};
239
+
240
+&r_lradc {
241
+ vref-supply = <&reg_aldo2>;
242
+ status = "okay";
243
+
244
+ button-210 {
245
+ label = "Volume Up";
246
+ linux,code = <KEY_VOLUMEUP>;
247
+ channel = <0>;
248
+ voltage = <210000>;
249
+ };
250
+
251
+ button-410 {
252
+ label = "Volume Down";
253
+ linux,code = <KEY_VOLUMEDOWN>;
254
+ channel = <0>;
255
+ voltage = <410000>;
256
+ };
201257 };
202258
203259 &r_rsb {
....@@ -391,8 +447,7 @@
391447 };
392448
393449 &tcon0_out {
394
- tcon0_out_lcd: endpoint@0 {
395
- reg = <0>;
450
+ tcon0_out_lcd: endpoint {
396451 remote-endpoint = <&panel_input>;
397452 };
398453 };
....@@ -407,18 +462,45 @@
407462 &uart1 {
408463 pinctrl-names = "default";
409464 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
465
+ uart-has-rtscts;
410466 status = "okay";
467
+
468
+ bluetooth {
469
+ compatible = "brcm,bcm20702a1";
470
+ clocks = <&ac100_rtc 1>;
471
+ clock-names = "lpo";
472
+ vbat-supply = <&reg_vbat>;
473
+ vddio-supply = <&reg_dldo1>;
474
+ device-wakeup-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
475
+ host-wakeup-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
476
+ shutdown-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
477
+ max-speed = <1500000>;
478
+ };
479
+};
480
+
481
+&uart2 {
482
+ pinctrl-names = "default";
483
+ pinctrl-0 = <&uart2_pb_pins>;
484
+ status = "okay";
485
+
486
+ gnss {
487
+ compatible = "u-blox,neo-6m";
488
+
489
+ v-bckp-supply = <&reg_rtc_ldo>;
490
+ vcc-supply = <&reg_gps>;
491
+ current-speed = <9600>;
492
+ };
411493 };
412494
413495 &usb_otg {
414
- dr_mode = "otg";
415496 status = "okay";
416497 };
417498
418499 &usbphy {
419
- usb0_id_det-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
500
+ usb0_id_det-gpios = <&pio 7 11 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH11 */
501
+ usb0_vbus_power-supply = <&usb_power_supply>;
420502 usb0_vbus-supply = <&reg_drivevbus>;
421
- usb1_vbus_supply = <&reg_vmain>;
422
- usb2_vbus_supply = <&reg_vmain>;
503
+ usb1_vbus-supply = <&reg_vmain>;
504
+ usb2_vbus-supply = <&reg_vmain>;
423505 status = "okay";
424506 };