mirror of
https://github.com/armbian/build.git
synced 2026-01-06 09:58:46 -08:00
sunxi-6.16: add armbian patches
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Gunjan Gupta <viraniac@gmail.com>
|
||||
Date: Mon, 26 Jun 2023 13:29:46 +0000
|
||||
Subject: ARM: dts: sun8i: nanopiduo2: Use key-0 as power button
|
||||
|
||||
The onboard button key-0 was not marked as power button. This meant
|
||||
that once the board was suspended, there was no way to bring it back
|
||||
to life. Mark key-0 as power button so that it can be used to bring
|
||||
the board back to life
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts b/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts
|
||||
@@ -42,8 +42,9 @@ gpio-keys {
|
||||
|
||||
key-0 {
|
||||
label = "k1";
|
||||
- linux,code = <BTN_0>;
|
||||
+ linux,code = <KEY_POWER>;
|
||||
gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; /* PL3 */
|
||||
+ wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Gunjan Gupta <viraniac@gmail.com>
|
||||
Date: Mon, 26 Jun 2023 13:53:14 +0000
|
||||
Subject: ARM: dts: sun8i: nanopiduo2: enable ethernet
|
||||
|
||||
NanoPi Duo2 has pinout for ethernet. Lets enable the same in dts
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts b/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun8i-h3-nanopi-duo2.dts
|
||||
@@ -105,6 +105,13 @@ &ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&emac {
|
||||
+ phy-handle = <&int_mii_phy>;
|
||||
+ phy-mode = "mii";
|
||||
+ allwinner,leds-active-low;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&mmc0 {
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: JohnTheCoolingFan <ivan8215145640@gmail.com>
|
||||
Date: Thu, 13 Jun 2024 11:50:55 +0000
|
||||
Subject: ARM64: dts: sun50i-h616: BigTreeTech CB1: Enable EMAC1
|
||||
|
||||
Signed-off-by: JohnTheCoolingFan <ivan8215145640@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi | 18 ++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
|
||||
index e7af3a976b6c..dbf43ff63b8e 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
|
||||
@@ -154,6 +154,24 @@ &gpu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&emac1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&rmii_pins>;
|
||||
+ phy-mode = "rmii";
|
||||
+ phy-handle = <&rmii_phy>;
|
||||
+ phy-supply = <®_dldo1>;
|
||||
+ allwinner,rx-delay-ps = <3100>;
|
||||
+ allwinner,tx-delay-ps = <700>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mdio1 {
|
||||
+ rmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dldo1>;
|
||||
broken-cd;
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From f3157390fffbb9dcc634e99d1d0e6728997d789b Mon Sep 17 00:00:00 2001
|
||||
From: JohnTheCoolingFan <ivan8215145640@gmail.com>
|
||||
Date: Thu, 13 Jun 2024 11:07:35 +0000
|
||||
Subject: ARM64: dts: sun50i-h616: BigTreeTech CB1: Enable HDMI
|
||||
|
||||
Signed-off-by: JohnTheCoolingFan <ivan8215145640@gmail.com>
|
||||
---
|
||||
.../sun50i-h616-bigtreetech-cb1.dtsi | 26 +++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
|
||||
index 0168ff3d9972..e7af3a976b6c 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
|
||||
@@ -26,6 +26,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
+ connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "d";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@@ -267,6 +278,21 @@ reg_dldo1: dldo1 {
|
||||
};
|
||||
};
|
||||
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ hvcc-supply = <®_aldo1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
status = "okay";
|
||||
--
|
||||
2.51.0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,377 @@
|
||||
From 43a7177563683a1e7d192138f65073d687ed068b Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Yavitz <pyavitz@armbian.com>
|
||||
Date: Tue, 7 Jan 2025 06:39:30 -0500
|
||||
Subject: Add BananaPi BPI-M4-Zero overlays
|
||||
|
||||
Signed-off-by: Patrick Yavitz <pyavitz@armbian.com>
|
||||
---
|
||||
.../arm64/boot/dts/allwinner/overlay/Makefile | 13 ++++++
|
||||
...sun50i-h616-bananapi-m4-pg-15-16-i2c4.dtso | 13 ++++++
|
||||
...sun50i-h616-bananapi-m4-pg-17-18-i2c3.dtso | 13 ++++++
|
||||
.../sun50i-h616-bananapi-m4-pg-6-7-uart1.dtso | 13 ++++++
|
||||
...h616-bananapi-m4-pg-8-9-rts-cts-uart1.dtso | 16 +++++++
|
||||
.../sun50i-h616-bananapi-m4-ph-2-3-uart5.dtso | 13 ++++++
|
||||
...un50i-h616-bananapi-m4-pi-13-14-uart4.dtso | 13 ++++++
|
||||
...16-bananapi-m4-pi-15-16-rts-cts-uart4.dtso | 16 +++++++
|
||||
.../sun50i-h616-bananapi-m4-pi-5-6-i2c0.dtso | 13 ++++++
|
||||
.../sun50i-h616-bananapi-m4-pi-7-8-i2c1.dtso | 13 ++++++
|
||||
.../sun50i-h616-bananapi-m4-sdio-wifi-bt.dtso | 44 +++++++++++++++++++
|
||||
...-h616-bananapi-m4-spi1-cs0-cs1-spidev.dtso | 32 ++++++++++++++
|
||||
...n50i-h616-bananapi-m4-spi1-cs0-spidev.dtso | 24 ++++++++++
|
||||
...n50i-h616-bananapi-m4-spi1-cs1-spidev.dtso | 13 ++++++
|
||||
14 files changed, 249 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-15-16-i2c4.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-17-18-i2c3.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-6-7-uart1.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-8-9-rts-cts-uart1.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-ph-2-3-uart5.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-13-14-uart4.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-15-16-rts-cts-uart4.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-5-6-i2c0.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-7-8-i2c1.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-sdio-wifi-bt.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs0-cs1-spidev.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs0-spidev.dtso
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs1-spidev.dtso
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
index ccb89b5bf495..3e87d21c9d14 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
@@ -49,6 +49,19 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
|
||||
sun50i-h6-uart2.dtbo \
|
||||
sun50i-h6-uart3.dtbo \
|
||||
sun50i-h6-w1-gpio.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-pg-6-7-uart1.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-pg-8-9-rts-cts-uart1.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-pg-15-16-i2c4.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-pg-17-18-i2c3.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-ph-2-3-uart5.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-pi-13-14-uart4.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-pi-15-16-rts-cts-uart4.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-pi-5-6-i2c0.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-pi-7-8-i2c1.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-sdio-wifi-bt.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-spi1-cs0-cs1-spidev.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-spi1-cs0-spidev.dtbo \
|
||||
+ sun50i-h616-bananapi-m4-spi1-cs1-spidev.dtbo \
|
||||
sun50i-h616-gpu.dtbo \
|
||||
sun50i-h616-i2c0-pi.dtbo \
|
||||
sun50i-h616-i2c1-pi.dtbo \
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-15-16-i2c4.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-15-16-i2c4.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..4e78aa8f1f27
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-15-16-i2c4.dtso
|
||||
@@ -0,0 +1,13 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&i2c4>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-17-18-i2c3.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-17-18-i2c3.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..3419eee0b70b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-17-18-i2c3.dtso
|
||||
@@ -0,0 +1,13 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&i2c3>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-6-7-uart1.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-6-7-uart1.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..7001781f42d2
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-6-7-uart1.dtso
|
||||
@@ -0,0 +1,13 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&uart1>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-8-9-rts-cts-uart1.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-8-9-rts-cts-uart1.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..1317a9b3b52f
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pg-8-9-rts-cts-uart1.dtso
|
||||
@@ -0,0 +1,16 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&uart1>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ uart-has-rtscts;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-ph-2-3-uart5.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-ph-2-3-uart5.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..aaa96e46d708
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-ph-2-3-uart5.dtso
|
||||
@@ -0,0 +1,13 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&uart5>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-13-14-uart4.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-13-14-uart4.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..0373f7d25449
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-13-14-uart4.dtso
|
||||
@@ -0,0 +1,13 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&uart4>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-15-16-rts-cts-uart4.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-15-16-rts-cts-uart4.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..ef9394c8519c
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-15-16-rts-cts-uart4.dtso
|
||||
@@ -0,0 +1,16 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&uart4>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&uart4_pi_pins>, <&uart4_pi_rts_cts_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ uart-has-rtscts;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-5-6-i2c0.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-5-6-i2c0.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..60c75e4d61b5
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-5-6-i2c0.dtso
|
||||
@@ -0,0 +1,13 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&i2c0>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-7-8-i2c1.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-7-8-i2c1.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..99c7e2b8c5f6
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-pi-7-8-i2c1.dtso
|
||||
@@ -0,0 +1,13 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&i2c1>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-sdio-wifi-bt.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-sdio-wifi-bt.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..307f6e5e921c
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-sdio-wifi-bt.dtso
|
||||
@@ -0,0 +1,44 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target-path = "/";
|
||||
+ __overlay__ {
|
||||
+ model = "BananaPi BPI-M4-Zero v2";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ /* SDIO WIFI */
|
||||
+ fragment@1 {
|
||||
+ target = <&mmc1>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ /* BLUETOOTH */
|
||||
+ fragment@2 {
|
||||
+ target = <&uart1>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
+ uart-has-rtscts;
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "brcm,bcm43540-bt";
|
||||
+ host-wakeup-gpios = <&pio 6 16 GPIO_ACTIVE_HIGH>;
|
||||
+ device-wakeup-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>;
|
||||
+ shutdown-gpios = <&pio 6 19 GPIO_ACTIVE_HIGH>;
|
||||
+ max-speed = <1500000>;
|
||||
+ vbat-supply = <®_vcc3v3>;
|
||||
+ vddio-supply = <®_vcc1v8>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs0-cs1-spidev.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs0-cs1-spidev.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..7fa3b94bcc8d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs0-cs1-spidev.dtso
|
||||
@@ -0,0 +1,32 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&spi1>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi1_pins>, <&spi1_cs0_pin>, <&spi1_cs1_pin>;
|
||||
+
|
||||
+ spidev@0 {
|
||||
+ compatible = "rohm,dh2228fv";
|
||||
+ status = "okay";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <50000000>;
|
||||
+ };
|
||||
+
|
||||
+ spidev@1 {
|
||||
+ compatible = "rohm,dh2228fv";
|
||||
+ status = "okay";
|
||||
+ reg = <1>;
|
||||
+ spi-max-frequency = <50000000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs0-spidev.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs0-spidev.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..fef73f1afa52
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs0-spidev.dtso
|
||||
@@ -0,0 +1,24 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&spi1>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi1_pins>, <&spi1_cs0_pin>;
|
||||
+ spidev@0 {
|
||||
+ compatible = "rohm,dh2228fv";
|
||||
+ status = "okay";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <1000000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs1-spidev.dtso b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs1-spidev.dtso
|
||||
new file mode 100644
|
||||
index 000000000000..840357f2e9e0
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h616-bananapi-m4-spi1-cs1-spidev.dtso
|
||||
@@ -0,0 +1,13 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "sinovoip,bpi-m4-zero", "allwinner,sun50i-h616", "allwinner,sun50i-h618";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <&spi1>;
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From 074c33f4b2b60ea6d76968099f8210c61bbad7e1 Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Yavitz <pyavitz@armbian.com>
|
||||
Date: Thu, 12 Dec 2024 06:49:59 -0500
|
||||
Subject: Add BananaPi BPI-M4-Zero pinctrl
|
||||
|
||||
Signed-off-by: Patrick Yavitz <pyavitz@armbian.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
index 8de963bee2ac..2e418ffdfcdb 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -409,6 +409,12 @@ i2c0_pins: i2c0-pins {
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
+ /omit-if-no-ref/
|
||||
+ i2c1_pi_pins: i2c1-pi-pins {
|
||||
+ pins = "PI7", "PI8";
|
||||
+ function = "i2c1";
|
||||
+ };
|
||||
+
|
||||
/omit-if-no-ref/
|
||||
i2c2_ph_pins: i2c2-ph-pins {
|
||||
pins = "PH2", "PH3";
|
||||
@@ -571,6 +577,12 @@ spi1_cs0_pin: spi1-cs0-pin {
|
||||
function = "spi1";
|
||||
};
|
||||
|
||||
+ /omit-if-no-ref/
|
||||
+ spi1_cs1_pin: spi1-cs1-pin {
|
||||
+ pins = "PH9";
|
||||
+ function = "spi1";
|
||||
+ };
|
||||
+
|
||||
spdif_tx_pin: spdif-tx-pin {
|
||||
pins = "PH4";
|
||||
function = "spdif";
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
From 0987e0158d63711b01a2435fa515d80a5b540422 Mon Sep 17 00:00:00 2001
|
||||
From: Alan <Alan>
|
||||
Date: Sat, 20 May 2023 14:33:52 +0800
|
||||
Subject: Add: FB_TFT ST7796S driver
|
||||
|
||||
---
|
||||
drivers/staging/fbtft/Kconfig | 10 +++
|
||||
drivers/staging/fbtft/Makefile | 1 +
|
||||
drivers/staging/fbtft/fb_st7796s.c | 100 +++++++++++++++++++++++++++++
|
||||
3 files changed, 111 insertions(+)
|
||||
create mode 100644 drivers/staging/fbtft/fb_st7796s.c
|
||||
|
||||
diff --git a/drivers/staging/fbtft/Kconfig b/drivers/staging/fbtft/Kconfig
|
||||
index c2655768209a..c72954ea0e19 100644
|
||||
--- a/drivers/staging/fbtft/Kconfig
|
||||
+++ b/drivers/staging/fbtft/Kconfig
|
||||
@@ -145,6 +145,16 @@ config FB_TFT_ST7789V
|
||||
|
||||
Say Y if you have such a display that utilizes this controller.
|
||||
|
||||
+config FB_TFT_ST7796S
|
||||
+ tristate "FB driver for the ST7796S LCD Controller"
|
||||
+ depends on FB_TFT
|
||||
+ help
|
||||
+ This enables generic framebuffer support for the Sitronix ST7796S
|
||||
+ display controller. The controller is intended for small color
|
||||
+ displays with a resolution of up to 480x320 pixels.
|
||||
+
|
||||
+ Say Y if you have such a display that utilizes this controller.
|
||||
+
|
||||
config FB_TFT_TINYLCD
|
||||
tristate "FB driver for tinylcd.com display"
|
||||
help
|
||||
diff --git a/drivers/staging/fbtft/Makefile b/drivers/staging/fbtft/Makefile
|
||||
index e9cdf0f0a7da..7b2098b8a1bd 100644
|
||||
--- a/drivers/staging/fbtft/Makefile
|
||||
+++ b/drivers/staging/fbtft/Makefile
|
||||
@@ -31,6 +31,7 @@ obj-$(CONFIG_FB_TFT_SSD1331) += fb_ssd1331.o
|
||||
obj-$(CONFIG_FB_TFT_SSD1351) += fb_ssd1351.o
|
||||
obj-$(CONFIG_FB_TFT_ST7735R) += fb_st7735r.o
|
||||
obj-$(CONFIG_FB_TFT_ST7789V) += fb_st7789v.o
|
||||
+obj-$(CONFIG_FB_TFT_ST7796S) += fb_st7796s.o
|
||||
obj-$(CONFIG_FB_TFT_TINYLCD) += fb_tinylcd.o
|
||||
obj-$(CONFIG_FB_TFT_TLS8204) += fb_tls8204.o
|
||||
obj-$(CONFIG_FB_TFT_UC1611) += fb_uc1611.o
|
||||
diff --git a/drivers/staging/fbtft/fb_st7796s.c b/drivers/staging/fbtft/fb_st7796s.c
|
||||
new file mode 100644
|
||||
index 000000000000..cad489cef595
|
||||
--- /dev/null
|
||||
+++ b/drivers/staging/fbtft/fb_st7796s.c
|
||||
@@ -0,0 +1,100 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0+
|
||||
+/*
|
||||
+ * FB driver for the ST7796S LCD Controller
|
||||
+ *
|
||||
+ * Copyright (c) 2023 Alan Ma
|
||||
+ * Copyright (c) 2014 Petr Olivka
|
||||
+ * Copyright (c) 2013 Noralf Tronnes
|
||||
+ */
|
||||
+
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <video/mipi_display.h>
|
||||
+
|
||||
+#include "fbtft.h"
|
||||
+
|
||||
+#define DRVNAME "fb_st7796s"
|
||||
+#define WIDTH 480
|
||||
+#define HEIGHT 320
|
||||
+
|
||||
+static const s16 default_init_sequence[] = {
|
||||
+ -1, 0xC0, 0x0C, 0x02,
|
||||
+ -1, 0xC1, 0x44,
|
||||
+ -1, 0xC5, 0x00, 0x16, 0x80,
|
||||
+ -1, 0x36, 0x28,
|
||||
+ /* Interface Mode Control */
|
||||
+ -1, 0x3A, 0x55,
|
||||
+ -1, 0XB0, 0x00,
|
||||
+ /* Frame rate 70HZ */
|
||||
+ -1, 0xB1, 0xB0,
|
||||
+ -1, 0xB4, 0x02,
|
||||
+ /* RGB/MCU Interface Control */
|
||||
+ -1, 0xB6, 0x02, 0x02,
|
||||
+ -1, 0xE9, 0x00,
|
||||
+ -1, 0XF7, 0xA9, 0x51, 0x2C, 0x82,
|
||||
+ /* SLP_OUT - Sleep out */
|
||||
+ -1, MIPI_DCS_EXIT_SLEEP_MODE,
|
||||
+ -2, 50,
|
||||
+ /* DISP_ON */
|
||||
+ -1, MIPI_DCS_SET_DISPLAY_ON,
|
||||
+ -3
|
||||
+};
|
||||
+
|
||||
+static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye)
|
||||
+{
|
||||
+ write_reg(par, MIPI_DCS_SET_COLUMN_ADDRESS,
|
||||
+ xs >> 8, xs & 0xff, xe >> 8, xe & 0xff);
|
||||
+
|
||||
+ write_reg(par, MIPI_DCS_SET_PAGE_ADDRESS,
|
||||
+ ys >> 8, ys & 0xff, ye >> 8, ye & 0xff);
|
||||
+
|
||||
+ write_reg(par, MIPI_DCS_WRITE_MEMORY_START);
|
||||
+}
|
||||
+
|
||||
+static int set_var(struct fbtft_par *par)
|
||||
+{
|
||||
+ switch (par->info->var.rotate) {
|
||||
+ case 270:
|
||||
+ write_reg(par, MIPI_DCS_SET_ADDRESS_MODE,
|
||||
+ 0x80 | (par->bgr << 3));
|
||||
+ break;
|
||||
+ case 180:
|
||||
+ write_reg(par, MIPI_DCS_SET_ADDRESS_MODE,
|
||||
+ 0xE0 | (par->bgr << 3));
|
||||
+ break;
|
||||
+ case 90:
|
||||
+ write_reg(par, MIPI_DCS_SET_ADDRESS_MODE,
|
||||
+ 0x40 | (par->bgr << 3));
|
||||
+ break;
|
||||
+ default:
|
||||
+ write_reg(par, MIPI_DCS_SET_ADDRESS_MODE,
|
||||
+ 0x20 | (par->bgr << 3));
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct fbtft_display display = {
|
||||
+ .regwidth = 8,
|
||||
+ .width = WIDTH,
|
||||
+ .height = HEIGHT,
|
||||
+ .init_sequence = default_init_sequence,
|
||||
+ .fbtftops = {
|
||||
+ .set_addr_win = set_addr_win,
|
||||
+ .set_var = set_var,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+FBTFT_REGISTER_DRIVER(DRVNAME, "sitronix,st7796s", &display);
|
||||
+
|
||||
+MODULE_ALIAS("spi:" DRVNAME);
|
||||
+MODULE_ALIAS("platform:" DRVNAME);
|
||||
+MODULE_ALIAS("spi:st7796s");
|
||||
+MODULE_ALIAS("platform:st7796s");
|
||||
+
|
||||
+MODULE_DESCRIPTION("FB driver for the ST7796S LCD Controller");
|
||||
+MODULE_AUTHOR("Alan Ma");
|
||||
+MODULE_LICENSE("GPL");
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
From 23514cbc264217bcb6c2e6f199c38d0f713061ea Mon Sep 17 00:00:00 2001
|
||||
From: Ryzer58 <ryestar101@gmail.com>
|
||||
Date: Mon, 24 Feb 2025 23:12:01 +0000
|
||||
Subject: Add HDMI support for pcDuino 1 and 2 by including HDMI and DE nodes
|
||||
|
||||
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
|
||||
---
|
||||
.../boot/dts/allwinner/sun4i-a10-pcduino.dts | 25 +++++++++++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/allwinner/sun4i-a10-pcduino.dts
|
||||
index a332d61fd561..b54f54ecc026 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun4i-a10-pcduino.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun4i-a10-pcduino.dts
|
||||
@@ -74,6 +74,17 @@ led-1 {
|
||||
};
|
||||
};
|
||||
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
@@ -127,6 +138,20 @@ axp209: pmic@34 {
|
||||
};
|
||||
};
|
||||
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&mdio {
|
||||
status = "okay";
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
From 8225e98fe295d59bbf4cd5017e04110077ff4d99 Mon Sep 17 00:00:00 2001
|
||||
From: Ryzer58 <ryestar101@gmail.com>
|
||||
Date: Mon, 2 Jun 2025 00:29:48 +0100
|
||||
Subject: Add HDMI support for pcDuino 3 by including HDMI and DE nodes
|
||||
|
||||
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
|
||||
---
|
||||
.../boot/dts/allwinner/sun7i-a20-pcduino3.dts | 25 +++++++++++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun7i-a20-pcduino3.dts b/arch/arm/boot/dts/allwinner/sun7i-a20-pcduino3.dts
|
||||
index 928b86a95f34..9a339912298b 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun7i-a20-pcduino3.dts
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun7i-a20-pcduino3.dts
|
||||
@@ -75,6 +75,17 @@ led-1 {
|
||||
};
|
||||
};
|
||||
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
@@ -137,6 +148,20 @@ axp209: pmic@34 {
|
||||
};
|
||||
};
|
||||
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
#include "axp209.dtsi"
|
||||
|
||||
&ir0 {
|
||||
--
|
||||
2.51.0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,88 @@
|
||||
From 6b1d64060b59702b34bf07068aeff10139c69400 Mon Sep 17 00:00:00 2001
|
||||
From: Gunjan Gupta <viraniac@gmail.com>
|
||||
Date: Tue, 19 Sep 2023 11:06:01 +0000
|
||||
Subject: Add wifi nodes for Inovato Quadra
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
.../allwinner/sun50i-h6-inovato-quadra.dts | 56 +++++++++++++++++++
|
||||
2 files changed, 57 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h6-inovato-quadra.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index 1edcb7023ef8..aedee0882dc9 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -50,6 +50,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-inovato-quadra.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6-mini.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h313-tanix-tx1.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-bigtreetech-cb1-manta.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-inovato-quadra.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-inovato-quadra.dts
|
||||
new file mode 100644
|
||||
index 000000000000..551ad69f18a6
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-inovato-quadra.dts
|
||||
@@ -0,0 +1,56 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (c) 2023 Gunjan Gupta <gunjan@armbian.com>
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-h6-tanix.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Inovato Quadra";
|
||||
+ compatible = "oranth,inovato-quadra", "allwinner,sun50i-h6";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet1 = &xr819;
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led-0 {
|
||||
+ label = "red";
|
||||
+ gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
|
||||
+ };
|
||||
+
|
||||
+ led-1 {
|
||||
+ label = "blue";
|
||||
+ gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
|
||||
+ default-state = "on";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2s1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+
|
||||
+ xr819: sdio_wifi@1 {
|
||||
+ compatible = "xradio,xr819";
|
||||
+ interrupt-names = "host-wake";
|
||||
+ interrupt-parent = <&r_pio>;
|
||||
+ interrupts = <1 0 IRQ_TYPE_EDGE_RISING>;
|
||||
+ local-mac-address = [dc 44 6d c0 ff ee];
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&sound_hdmi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&wifi_pwrseq {
|
||||
+ post-power-on-delay-ms = <0xc8>;
|
||||
+};
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@@ -0,0 +1,273 @@
|
||||
From 4546be7fd3812ee3a733beececa504bf7cb4bfac Mon Sep 17 00:00:00 2001
|
||||
From: Alan <Alan>
|
||||
Date: Sat, 20 May 2023 17:26:21 +0800
|
||||
Subject: Add: ws2812 RGB driver for allwinner H616
|
||||
|
||||
---
|
||||
drivers/leds/rgb/Kconfig | 7 +
|
||||
drivers/leds/rgb/Makefile | 1 +
|
||||
drivers/leds/rgb/leds-ws2812.c | 227 +++++++++++++++++++++++++++++++++
|
||||
3 files changed, 235 insertions(+)
|
||||
create mode 100644 drivers/leds/rgb/leds-ws2812.c
|
||||
|
||||
diff --git a/drivers/leds/rgb/Kconfig b/drivers/leds/rgb/Kconfig
|
||||
index 222d943d826a..3b7761f39f44 100644
|
||||
--- a/drivers/leds/rgb/Kconfig
|
||||
+++ b/drivers/leds/rgb/Kconfig
|
||||
@@ -76,3 +76,10 @@ config LEDS_MT6370_RGB
|
||||
will be called "leds-mt6370-rgb".
|
||||
|
||||
endif # LEDS_CLASS_MULTICOLOR
|
||||
+
|
||||
+config LEDS_WS2812
|
||||
+ tristate "WS2812 RGB support for allwinner H616"
|
||||
+ depends on PINCTRL_SUN50I_H616
|
||||
+
|
||||
+ help
|
||||
+ Say Y here if you want to use the WS2812.
|
||||
\ No newline at end of file
|
||||
diff --git a/drivers/leds/rgb/Makefile b/drivers/leds/rgb/Makefile
|
||||
index a501fd27f179..8f7646ead3c1 100644
|
||||
--- a/drivers/leds/rgb/Makefile
|
||||
+++ b/drivers/leds/rgb/Makefile
|
||||
@@ -6,3 +6,4 @@ obj-$(CONFIG_LEDS_NCP5623) += leds-ncp5623.o
|
||||
obj-$(CONFIG_LEDS_PWM_MULTICOLOR) += leds-pwm-multicolor.o
|
||||
obj-$(CONFIG_LEDS_QCOM_LPG) += leds-qcom-lpg.o
|
||||
obj-$(CONFIG_LEDS_MT6370_RGB) += leds-mt6370-rgb.o
|
||||
+obj-$(CONFIG_LEDS_WS2812) += leds-ws2812.o
|
||||
diff --git a/drivers/leds/rgb/leds-ws2812.c b/drivers/leds/rgb/leds-ws2812.c
|
||||
new file mode 100644
|
||||
index 000000000000..c9981724bba9
|
||||
--- /dev/null
|
||||
+++ b/drivers/leds/rgb/leds-ws2812.c
|
||||
@@ -0,0 +1,227 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-only
|
||||
+/*
|
||||
+ * Copyright (c) 2023, The Linux Foundation. All rights reserved.
|
||||
+ */
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/cdev.h>
|
||||
+#include <linux/fs.h>
|
||||
+#include <linux/device.h>
|
||||
+#include <asm/uaccess.h>
|
||||
+#include <linux/moduleparam.h>
|
||||
+#include <linux/ioctl.h>
|
||||
+#include <linux/version.h>
|
||||
+#include <linux/errno.h>
|
||||
+#include <linux/rbtree.h>
|
||||
+#include <linux/ktime.h>
|
||||
+#include <linux/string.h>
|
||||
+#include <linux/mutex.h>
|
||||
+#include <linux/time.h>
|
||||
+#include <linux/hrtimer.h>
|
||||
+#include <linux/pci.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/input.h>
|
||||
+#include <linux/delay.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/interrupt.h>
|
||||
+#include <linux/irq.h>
|
||||
+#include <linux/gpio.h>
|
||||
+#include <linux/of_gpio.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/miscdevice.h>
|
||||
+#include <linux/uaccess.h>
|
||||
+
|
||||
+#define GPIO_BASE 0x0300B000
|
||||
+#define GPIO_DAT_OFFSET(n) ((n)*0x0024 + 0x10)
|
||||
+
|
||||
+static uint32_t ws2812_pin = 0;
|
||||
+static volatile uint32_t *ws2812_gpio_port;
|
||||
+static volatile uint32_t ws2812_gpio_bit;
|
||||
+static volatile uint32_t ws2812_set_val = 0;
|
||||
+static volatile uint32_t ws2812_reset_val = 0;
|
||||
+
|
||||
+DEFINE_SPINLOCK(lock);
|
||||
+
|
||||
+// ws2812 reset
|
||||
+static void ws2812_rst(void)
|
||||
+{
|
||||
+ *ws2812_gpio_port &= ~ws2812_gpio_bit;
|
||||
+ udelay(200);// RES low voltage time, Above 50µs
|
||||
+}
|
||||
+
|
||||
+static void ws2812_Write_24Bits(uint32_t grb)
|
||||
+{
|
||||
+ uint8_t i;
|
||||
+ for (i = 0; i < 24; i++)
|
||||
+ {
|
||||
+ if (grb & 0x800000)
|
||||
+ {
|
||||
+ // loop for delay about 700ns
|
||||
+ *ws2812_gpio_port = ws2812_set_val;
|
||||
+ *ws2812_gpio_port = ws2812_set_val;
|
||||
+ *ws2812_gpio_port = ws2812_set_val;
|
||||
+ *ws2812_gpio_port = ws2812_set_val;
|
||||
+ *ws2812_gpio_port = ws2812_set_val;
|
||||
+ *ws2812_gpio_port = ws2812_set_val;
|
||||
+ *ws2812_gpio_port = ws2812_set_val;
|
||||
+ // loop for delay about 600ns
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ // loop for delay about 200ns
|
||||
+ *ws2812_gpio_port = ws2812_set_val;
|
||||
+ *ws2812_gpio_port = ws2812_set_val;
|
||||
+ // loop for delay about 800ns
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ *ws2812_gpio_port = ws2812_reset_val;
|
||||
+ }
|
||||
+ grb <<= 1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void ws2812_write_array(uint32_t *rgb, uint32_t cnt)
|
||||
+{
|
||||
+ uint32_t i = 0;
|
||||
+ unsigned long flags;
|
||||
+
|
||||
+ for (i = 0; i < cnt; i++)
|
||||
+ {
|
||||
+ // rgb -> grb
|
||||
+ rgb[i] = (((rgb[i] >> 16) & 0xff) << 8) | (((rgb[i] >> 8) & 0xff) << 16) | ((rgb[i]) & 0xff);
|
||||
+ }
|
||||
+
|
||||
+ spin_lock_irqsave(&lock, flags);
|
||||
+ ws2812_set_val = *ws2812_gpio_port | ws2812_gpio_bit;
|
||||
+ ws2812_reset_val = *ws2812_gpio_port & (~ws2812_gpio_bit);
|
||||
+ ws2812_rst();
|
||||
+ for (i = 0; i < cnt; i++)
|
||||
+ {
|
||||
+ ws2812_Write_24Bits(rgb[i]);
|
||||
+ }
|
||||
+ spin_unlock_irqrestore(&lock, flags);
|
||||
+}
|
||||
+
|
||||
+ssize_t ws2812_read(struct file *file, char __user *user, size_t bytesize, loff_t *this_loff_t)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+ssize_t ws2812_write(struct file *file, const char __user *user_buf, size_t count, loff_t *ppos)
|
||||
+{
|
||||
+ uint32_t rgb[255];
|
||||
+ unsigned long ret = 0;
|
||||
+
|
||||
+ if (count > 255 * 4) count = 255 * 4;
|
||||
+ ret = copy_from_user(&rgb[0], user_buf, count);
|
||||
+ if (ret < 0)
|
||||
+ {
|
||||
+ printk("copy_from_user fail!!!\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ ws2812_write_array((uint32_t *)rgb, count / 4);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int ws2812_open(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int ws2812_close(struct inode *inode, struct file *file)
|
||||
+{
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static struct file_operations ws2812_ops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .open = ws2812_open,
|
||||
+ .release = ws2812_close,
|
||||
+ .write = ws2812_write,
|
||||
+};
|
||||
+
|
||||
+static struct miscdevice ws2812_misc_dev = {
|
||||
+ .minor = MISC_DYNAMIC_MINOR,
|
||||
+ .name = "ws2812-led",
|
||||
+ .fops = &ws2812_ops,
|
||||
+};
|
||||
+
|
||||
+static int ws2812_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ int ret;
|
||||
+ struct device_node *ws2812_gpio_node = pdev->dev.of_node;
|
||||
+ uint32_t rgb_cnt = 0;
|
||||
+ uint32_t rgb[255];
|
||||
+
|
||||
+ of_property_read_u32(ws2812_gpio_node, "rgb_cnt", &rgb_cnt);
|
||||
+ if (rgb_cnt > 255)
|
||||
+ rgb_cnt = 255;
|
||||
+
|
||||
+ of_property_read_u32_array(ws2812_gpio_node, "rgb_value", rgb, rgb_cnt);
|
||||
+ ws2812_pin = of_get_named_gpio(ws2812_gpio_node, "gpios", 0);
|
||||
+ if (!gpio_is_valid(ws2812_pin))
|
||||
+ {
|
||||
+ printk(KERN_ERR "ws2812: gpio: %d is invalid\n", ws2812_pin);
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+
|
||||
+ ws2812_gpio_port = ioremap(GPIO_BASE + GPIO_DAT_OFFSET((ws2812_pin >> 5)), 4);
|
||||
+ ws2812_gpio_bit = 1 << (ws2812_pin & 0x001F);
|
||||
+
|
||||
+ if (gpio_request(ws2812_pin, "ws2812-gpio"))
|
||||
+ {
|
||||
+ printk(KERN_ERR "ws2812: gpio %d request failed!\n", ws2812_pin);
|
||||
+ gpio_free(ws2812_pin);
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+ gpio_direction_output(ws2812_pin, 0);
|
||||
+
|
||||
+ ret = misc_register(&ws2812_misc_dev);
|
||||
+ msleep(50);
|
||||
+
|
||||
+ ws2812_write_array(rgb, rgb_cnt);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void ws2812_remove(struct platform_device *pdev)
|
||||
+{
|
||||
+ misc_deregister(&ws2812_misc_dev);
|
||||
+ gpio_free(ws2812_pin);
|
||||
+}
|
||||
+
|
||||
+static const struct of_device_id ws2812_of_match[] = {
|
||||
+ {.compatible = "rgb-ws2812"},
|
||||
+ {/* sentinel */}};
|
||||
+
|
||||
+MODULE_DEVICE_TABLE(of, ws2812_of_match);
|
||||
+
|
||||
+static struct platform_driver ws2812_driver = {
|
||||
+ .probe = ws2812_probe,
|
||||
+ .remove = ws2812_remove,
|
||||
+ .driver = {
|
||||
+ .name = "ws2812_ctl",
|
||||
+ .of_match_table = ws2812_of_match,
|
||||
+ },
|
||||
+};
|
||||
+
|
||||
+module_platform_driver(ws2812_driver);
|
||||
+
|
||||
+MODULE_AUTHOR("MacLodge, Alan Ma <tech@biqu3d.com>");
|
||||
+MODULE_DESCRIPTION("WS2812 RGB driver for Allwinner");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_ALIAS("platform:ws2812_ctl");
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
From 20dc0b0f3da7895d50f2824b4608c5e44729f892 Mon Sep 17 00:00:00 2001
|
||||
From: JohnTheCoolingFan <ivan8215145640@gmail.com>
|
||||
Date: Sat, 25 Jan 2025 11:30:04 +0000
|
||||
Subject: BigTreeTech CB1: dts: i2c gpio mode adjustment and ws2812 rgb_value
|
||||
|
||||
Signed-off-by: JohnTheCoolingFan <ivan8215145640@gmail.com>
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-emmc.dts | 4 ++--
|
||||
.../boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-sd.dts | 4 ++--
|
||||
.../arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi | 2 +-
|
||||
3 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-emmc.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-emmc.dts
|
||||
index f878c23f1d90..b059ea08fec0 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-emmc.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-emmc.dts
|
||||
@@ -21,8 +21,8 @@ &ws2812 {
|
||||
};
|
||||
|
||||
&i2c_gpio {
|
||||
- gpios = <&pio 8 6 GPIO_ACTIVE_HIGH>, /* SDA PI6 */
|
||||
- <&pio 8 4 GPIO_ACTIVE_HIGH>; /* SCL PI4 */
|
||||
+ gpios = <&pio 8 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>, /* SDA PI6 */
|
||||
+ <&pio 8 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; /* SCL PI4 */
|
||||
};
|
||||
|
||||
&can0_pin_irq {
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-sd.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-sd.dts
|
||||
index e18dd854d74b..cc10be714676 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-sd.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1-sd.dts
|
||||
@@ -12,8 +12,8 @@ &ws2812 {
|
||||
};
|
||||
|
||||
&i2c_gpio {
|
||||
- gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>, /* SDA PC12 */
|
||||
- <&pio 2 10 GPIO_ACTIVE_HIGH>; /* SCL PC10 */
|
||||
+ gpios = <&pio 2 12 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>, /* SDA PC12 */
|
||||
+ <&pio 2 10 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; /* SCL PC10 */
|
||||
};
|
||||
|
||||
&can0_pin_irq {
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
|
||||
index 3b3a196eaa93..d18695148ef5 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-bigtreetech-cb1.dtsi
|
||||
@@ -108,7 +108,7 @@ ws2812: ws2812 {
|
||||
compatible = "rgb-ws2812";
|
||||
pinctrl-names = "default";
|
||||
rgb_cnt = <2>;
|
||||
- rgb_value = <0x010000 0x010000>;
|
||||
+ rgb_value = <0x000001 0x010000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: afaulkner420 <afaulkner420@gmail.com>
|
||||
Date: Fri, 25 Mar 2022 19:26:16 +0000
|
||||
Subject: Compile the pwm overlay
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/overlay/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
@@ -38,6 +38,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += \
|
||||
sun50i-h6-i2c0.dtbo \
|
||||
sun50i-h6-i2c1.dtbo \
|
||||
sun50i-h6-i2c2.dtbo \
|
||||
+ sun50i-h6-pwm.dtbo \
|
||||
sun50i-h6-ruart.dtbo \
|
||||
sun50i-h6-spi-add-cs1.dtbo \
|
||||
sun50i-h6-spi-jedec-nor.dtbo \
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ryzer58 <ryestar101@gmail.com>
|
||||
Date: Sat, 30 Nov 2024 20:40:29 +0000
|
||||
Subject: Correct perf interrupt source number as referenced in the Allwinner
|
||||
A10 User manual
|
||||
|
||||
to resolve conflict with UART2.
|
||||
|
||||
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun4i-a10.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
|
||||
@@ -185,7 +185,7 @@ de: display-engine {
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a8-pmu";
|
||||
- interrupts = <3>;
|
||||
+ interrupts = <66>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
From 846209f909c9cf9d7a29a72328ed27b9ee504ac1 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Mon, 25 Dec 2017 12:08:01 +0800
|
||||
Subject: Doc:dt-bindings:usb: add binding for DWC3 controller on Allwinner SoC
|
||||
|
||||
The Allwinner H6 SoC uses DWC3 controller for USB3.
|
||||
|
||||
Add its device tree binding document.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
.../bindings/usb/allwinner,dwc3.txt | 39 +++++++++++++++++++
|
||||
1 file changed, 39 insertions(+)
|
||||
create mode 100644 Documentation/devicetree/bindings/usb/allwinner,dwc3.txt
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/usb/allwinner,dwc3.txt b/Documentation/devicetree/bindings/usb/allwinner,dwc3.txt
|
||||
new file mode 100644
|
||||
index 000000000000..3f7714636785
|
||||
--- /dev/null
|
||||
+++ b/Documentation/devicetree/bindings/usb/allwinner,dwc3.txt
|
||||
@@ -0,0 +1,39 @@
|
||||
+Allwinner SuperSpeed DWC3 USB SoC controller
|
||||
+
|
||||
+Required properties:
|
||||
+- compatible: should contain "allwinner,sun50i-h6-dwc3" for H6 SoC
|
||||
+- clocks: A list of phandle + clock-specifier pairs for the
|
||||
+ clocks listed in clock-names
|
||||
+- clock-names: Should contain the following:
|
||||
+ "bus" The bus clock of the DWC3 part
|
||||
+- resets: A list of phandle + reset-specifier pairs for the
|
||||
+ resets listed in reset-names
|
||||
+- reset-names: Should contain the following:
|
||||
+ "bus" The bus reset of the DWC3 part
|
||||
+
|
||||
+Required child node:
|
||||
+A child node must exist to represent the core DWC3 IP block. The name of
|
||||
+the node is not important. The content of the node is defined in dwc3.txt.
|
||||
+
|
||||
+Phy documentation is provided in the following places:
|
||||
+Documentation/devicetree/bindings/phy/sun50i-usb3-phy.txt
|
||||
+
|
||||
+Example device nodes:
|
||||
+ usb3: usb@5200000 {
|
||||
+ compatible = "allwinner,sun50i-h6-dwc3";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges;
|
||||
+ clocks = <&ccu CLK_BUS_XHCI>;
|
||||
+ clock-names = "bus";
|
||||
+ resets = <&ccu RST_BUS_XHCI>;
|
||||
+ reset-names = "bus";
|
||||
+
|
||||
+ dwc3: dwc3 {
|
||||
+ compatible = "snps,dwc3";
|
||||
+ reg = <0x5200000 0x10000>;
|
||||
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ phys = <&usb3phy>;
|
||||
+ phy-names = "usb3-phy";
|
||||
+ };
|
||||
+ };
|
||||
--
|
||||
2.35.3
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ryzer58 <ryestar101@gmail.com>
|
||||
Date: Sat, 30 Nov 2024 22:29:50 +0000
|
||||
Subject: Enable DMA support for the Allwinner A10 EMAC, which already exist in
|
||||
the sun4i-emac driver
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/allwinner/sun4i-a10.dtsi | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
|
||||
+++ b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
|
||||
@@ -315,6 +315,8 @@ emac: ethernet@1c0b000 {
|
||||
interrupts = <55>;
|
||||
clocks = <&ccu CLK_AHB_EMAC>;
|
||||
allwinner,sram = <&emac_sram 1>;
|
||||
+ dmas = <&dma SUN4I_DMA_DEDICATED 7>;
|
||||
+ dma-names = "rx";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_pins>;
|
||||
status = "disabled";
|
||||
--
|
||||
Armbian
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Yavitz <pyavitz@gmail.com>
|
||||
Date: Mon, 23 Dec 2024 10:14:57 -0500
|
||||
Subject: Enable creation of __symbols__ node
|
||||
|
||||
Signed-off-by: Patrick Yavitz <pyavitz@gmail.com>
|
||||
---
|
||||
scripts/Makefile.dtbs | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/scripts/Makefile.dtbs b/scripts/Makefile.dtbs
|
||||
index 111111111111..222222222222 100644
|
||||
--- a/scripts/Makefile.dtbs
|
||||
+++ b/scripts/Makefile.dtbs
|
||||
@@ -102,6 +102,11 @@ else
|
||||
DTC_FLAGS += -Wunique_unit_address_if_enabled
|
||||
endif
|
||||
|
||||
+ifeq ($(CONFIG_OF_OVERLAY),y)
|
||||
+# enable creation of __symbols__ node
|
||||
+DTC_FLAGS += -@
|
||||
+endif
|
||||
+
|
||||
ifneq ($(findstring 2,$(KBUILD_EXTRA_WARN)),)
|
||||
DTC_FLAGS += -Wnode_name_chars_strict \
|
||||
-Wproperty_name_chars_strict \
|
||||
--
|
||||
Armbian
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user