407ea85f72
This patch is obsolete now and even breaks the detection of headphones. Headsets are properly detected at all times. Dropping this, allows ALSA to see the 'Headphone Jack' event when headphones are plugged in and removed. This way, ALSA UCM can act on these jack events as well. [ci:skip-build] Already built on CI in a MR
278 lines
5.5 KiB
Diff
278 lines
5.5 KiB
Diff
From e9ac5ae02481dfe87335d9f2033785f0263c820d Mon Sep 17 00:00:00 2001
|
|
From: JuniorJPDJ <git@juniorjpdj.pl>
|
|
Date: Thu, 25 Mar 2021 19:18:58 +0100
|
|
Subject: [PATCH] ARM: dts: sun6i: Add Lark FreeMe 70.2S tablet
|
|
|
|
---
|
|
arch/arm/boot/dts/Makefile | 1 +
|
|
.../boot/dts/sun4i-a10-lark-freeme-70-2s.dts | 246 ++++++++++++++++++
|
|
2 files changed, 247 insertions(+)
|
|
create mode 100644 arch/arm/boot/dts/sun4i-a10-lark-freeme-70-2s.dts
|
|
|
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
index ba31b42f1e18..f5df06c4d564 100644
|
|
--- a/arch/arm/boot/dts/Makefile
|
|
+++ b/arch/arm/boot/dts/Makefile
|
|
@@ -1098,6 +1098,7 @@ dtb-$(CONFIG_MACH_SUN4I) += \
|
|
sun4i-a10-inet9f-rev03.dtb \
|
|
sun4i-a10-itead-iteaduino-plus.dtb \
|
|
sun4i-a10-jesurun-q5.dtb \
|
|
+ sun4i-a10-lark-freeme-70-2s.dtb \
|
|
sun4i-a10-marsboard.dtb \
|
|
sun4i-a10-mini-xplus.dtb \
|
|
sun4i-a10-mk802.dtb \
|
|
diff --git a/arch/arm/boot/dts/sun4i-a10-lark-freeme-70-2s.dts b/arch/arm/boot/dts/sun4i-a10-lark-freeme-70-2s.dts
|
|
new file mode 100644
|
|
index 000000000000..fcba874976fa
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/sun4i-a10-lark-freeme-70-2s.dts
|
|
@@ -0,0 +1,246 @@
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
|
+// Copyright 2021 Jacek Pruciak <linux@juniorjpdj.pl>
|
|
+// Copyright 2020 Adam Słaboń <asaillen456esx@gmail.com>
|
|
+// Copyright 2015 Hans de Goede <hdegoede@redhat.com>
|
|
+
|
|
+/dts-v1/;
|
|
+#include "sun4i-a10.dtsi"
|
|
+#include "sunxi-common-regulators.dtsi"
|
|
+#include <dt-bindings/gpio/gpio.h>
|
|
+#include <dt-bindings/input/input.h>
|
|
+#include <dt-bindings/interrupt-controller/irq.h>
|
|
+#include <dt-bindings/pwm/pwm.h>
|
|
+
|
|
+/ {
|
|
+ model = "Lark FreeMe 70.2S";
|
|
+ compatible = "lark,freeme-70-2s", "allwinner,sun4i-a10";
|
|
+
|
|
+ aliases {
|
|
+ serial0 = &uart0;
|
|
+ };
|
|
+
|
|
+ chosen {
|
|
+ stdout-path = "serial0:115200n8";
|
|
+ };
|
|
+
|
|
+ hdmi-connector {
|
|
+ compatible = "hdmi-connector";
|
|
+ type = "c";
|
|
+
|
|
+ port {
|
|
+ hdmi_con_in: endpoint {
|
|
+ remote-endpoint = <&hdmi_out_con>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ backlight: backlight {
|
|
+ compatible = "pwm-backlight";
|
|
+ pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
|
|
+ brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
|
|
+ default-brightness-level = <8>;
|
|
+ enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
|
|
+ };
|
|
+
|
|
+ panel: panel {
|
|
+ compatible = "hannstar,hsd070idw1-a";
|
|
+ power-supply = <®_vcc3v3>;
|
|
+ enable-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
|
|
+ backlight = <&backlight>;
|
|
+
|
|
+ port {
|
|
+ panel_input: endpoint {
|
|
+ remote-endpoint = <&tcon0_out_lcd>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&tcon0 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&lcd_rgb666_pins>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tcon0_out {
|
|
+ tcon0_out_lcd: endpoint@0 {
|
|
+ reg = <0>;
|
|
+ remote-endpoint = <&panel_input>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&pio {
|
|
+ lcd_rgb666_pins: lcd-rgb666-pins {
|
|
+ pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7",
|
|
+ "PD10", "PD11", "PD12", "PD13", "PD14", "PD15",
|
|
+ "PD18", "PD19", "PD20", "PD21", "PD22", "PD23",
|
|
+ "PD24", "PD25", "PD26", "PD27";
|
|
+ function = "lcd0";
|
|
+ };
|
|
+};
|
|
+
|
|
+&pwm {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&pwm0_pin>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&ehci1 {
|
|
+ /* WiFi card */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&ohci0 {
|
|
+ /* Full USB port - USB1.1 */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&ehci0 {
|
|
+ /* Full USB port - USB2 */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&i2c0 {
|
|
+ status = "okay";
|
|
+
|
|
+ axp209: pmic@34 {
|
|
+ reg = <0x34>;
|
|
+ interrupts = <0>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c1 {
|
|
+ status = "okay";
|
|
+
|
|
+ accelerometer@1c {
|
|
+ compatible = "domintech,dmard06";
|
|
+ reg = <0x1c>;
|
|
+ };
|
|
+};
|
|
+
|
|
+#include "axp209.dtsi"
|
|
+
|
|
+®_dcdc2 {
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <1000000>;
|
|
+ regulator-max-microvolt = <1400000>;
|
|
+ regulator-name = "vdd-cpu";
|
|
+};
|
|
+
|
|
+®_dcdc3 {
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <1000000>;
|
|
+ regulator-max-microvolt = <1400000>;
|
|
+ regulator-name = "vdd-int-dll";
|
|
+};
|
|
+
|
|
+®_ldo1 {
|
|
+ regulator-name = "vdd-rtc";
|
|
+};
|
|
+
|
|
+®_ldo2 {
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <3000000>;
|
|
+ regulator-max-microvolt = <3000000>;
|
|
+ regulator-name = "avcc";
|
|
+};
|
|
+
|
|
+&ac_power_supply {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&battery_power_supply {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb_power_supply {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&i2c1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&lradc {
|
|
+ vref-supply = <®_vcc3v0>;
|
|
+ status = "okay";
|
|
+
|
|
+ button-400 {
|
|
+ label = "Key Esc";
|
|
+ linux,code = <KEY_ESC>;
|
|
+ channel = <0>;
|
|
+ voltage = <400000>;
|
|
+ };
|
|
+
|
|
+ button-800 {
|
|
+ label = "Key Menu";
|
|
+ linux,code = <KEY_MENU>;
|
|
+ channel = <0>;
|
|
+ voltage = <800000>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&mmc0 {
|
|
+ vmmc-supply = <®_vcc3v3>;
|
|
+ bus-width = <4>;
|
|
+ cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&otg_sram {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+®_usb0_vbus {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+®_usb1_vbus {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+®_usb2_vbus {
|
|
+ /* WiFi */
|
|
+ gpio = <&pio 7 12 GPIO_ACTIVE_HIGH>; /* PH12 */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&uart0 {
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&uart0_pb_pins>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb_otg {
|
|
+ dr_mode = "otg";
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&codec {
|
|
+ allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&de {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&hdmi {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&hdmi_out {
|
|
+ hdmi_out_con: endpoint {
|
|
+ remote-endpoint = <&hdmi_con_in>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&usbphy {
|
|
+ usb0_id_det-gpios = <&pio 7 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PH4 */
|
|
+ usb0_vbus_det-gpios = <&pio 7 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* PH5 */
|
|
+ usb0_vbus_power-supply = <&usb_power_supply>;
|
|
+ usb0_vbus-supply = <®_usb0_vbus>;
|
|
+ usb1_vbus-supply = <®_usb1_vbus>;
|
|
+ usb2_vbus-supply = <®_usb2_vbus>;
|
|
+ status = "okay";
|
|
+};
|
|
--
|
|
2.31.1
|
|
|