mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
Sunxi 5.17 (#3613)
* The initial state of a series of patches for sunxi-5.17 tag orange-pi-5.17-20220323-1423 * DEBUG for sunxi-5.17 * Add Armbian patches to 5.17 * Fix duplicate nodes for sun50i-h5-orangepi-pc2 * Fix reg_ahci_5v to status okay for bananapro board * Remove an unused patch for an unsupported sun50i-h6-tanix-tx6 board
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
diff --git a/drivers/net/wireless/rtl8189fs/include/autoconf.h b/drivers/net/wireless/rtl8189fs/include/autoconf.h
|
||||
index 44efe42..6f40903 100644
|
||||
--- a/drivers/net/wireless/rtl8189fs/include/autoconf.h
|
||||
+++ b/drivers/net/wireless/rtl8189fs/include/autoconf.h
|
||||
@@ -224,7 +224,7 @@
|
||||
/*
|
||||
* Debug Related Config
|
||||
*/
|
||||
-#define CONFIG_DEBUG /* DBG_871X, etc... */
|
||||
+//#define CONFIG_DEBUG /* DBG_871X, etc... */
|
||||
|
||||
#ifdef CONFIG_DEBUG
|
||||
#define DBG 1 // for ODM & BTCOEX debug
|
||||
@@ -0,0 +1,28 @@
|
||||
From 1d0462899c9b8407b81be2ea6a586634d0bd3c45 Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Mon, 7 Dec 2020 21:35:46 +0000
|
||||
Subject: [PATCH 029/101] Doc:dt-bindings:arm:sunxi: Add OrangePi Zero2 binding
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Acked-by: Rob Herring <robh@kernel.org>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
index 889128acf..a13cecb5f 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
@@ -948,4 +948,9 @@ properties:
|
||||
- const: xunlong,orangepi-zero-plus2-h3
|
||||
- const: allwinner,sun8i-h3
|
||||
|
||||
+ - description: Xunlong OrangePi Zero 2
|
||||
+ items:
|
||||
+ - const: xunlong,orangepi-zero2
|
||||
+ - const: allwinner,sun50i-h616
|
||||
+
|
||||
additionalProperties: true
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 9209f523ce11029efbbe22284b27707ed384d76c Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Mon, 7 Dec 2020 21:35:46 +0000
|
||||
Subject: [PATCH 01/50] Doc:dt-bindings:arm:sunxi: Add two H616 board
|
||||
compatible strings
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
Acked-by: Rob Herring <robh@kernel.org>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
index a13cecb5f..1c557a736 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
@@ -848,6 +848,11 @@ properties:
|
||||
- const: yones-toptech,bs1078-v2
|
||||
- const: allwinner,sun6i-a31s
|
||||
|
||||
+ - description: X96 Mate TV box
|
||||
+ items:
|
||||
+ - const: hechuang,x96-mate
|
||||
+ - const: allwinner,sun50i-h616
|
||||
+
|
||||
- description: Xunlong OrangePi
|
||||
items:
|
||||
- const: xunlong,orangepi
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 9c6eff265145ef77166242abd1181c3c15e302d4 Mon Sep 17 00:00:00 2001
|
||||
From: Oskari Lemmela <oskari@lemmela.net>
|
||||
Date: Tue, 23 Oct 2018 21:53:22 +0300
|
||||
Subject: [PATCH 064/101] Doc:dt-bindings: gpio: gpio-axp209: add AXP803 GPIO
|
||||
bindings
|
||||
|
||||
The AXP803 GPIO is compatible with AXP813 GPIO, but add
|
||||
specific compatible for it.
|
||||
|
||||
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
|
||||
Reviewed-by: Rob Herring <robh@kernel.org>
|
||||
---
|
||||
Documentation/devicetree/bindings/gpio/gpio-axp209.txt | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt b/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
|
||||
index fc42b2caa..5337a21d7 100644
|
||||
--- a/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
|
||||
+++ b/Documentation/devicetree/bindings/gpio/gpio-axp209.txt
|
||||
@@ -11,6 +11,7 @@ This driver employs the per-pin muxing pattern.
|
||||
Required properties:
|
||||
- compatible: Should be one of:
|
||||
- "x-powers,axp209-gpio"
|
||||
+ - "x-powers,axp803-gpio"
|
||||
- "x-powers,axp813-gpio"
|
||||
- #gpio-cells: Should be two. The first cell is the pin number and the
|
||||
second is the GPIO flags.
|
||||
@@ -67,6 +68,7 @@ GPIO0 | gpio_in, gpio_out, ldo, adc
|
||||
GPIO1 | gpio_in, gpio_out, ldo, adc
|
||||
GPIO2 | gpio_in, gpio_out
|
||||
|
||||
+axp803
|
||||
axp813
|
||||
------
|
||||
GPIO | Functions
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 7c04839ef865c48da931bddfa74fff188248d4fc Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Wed, 27 Jan 2021 13:27:39 +0000
|
||||
Subject: [PATCH 018/101] Doc:dt-bindings:net: sun8i-emac: Add H616 compatible
|
||||
string
|
||||
|
||||
Add the obvious compatible name to the existing EMAC binding, and pair
|
||||
it with the existing A64 fallback compatible string, as the devices are
|
||||
compatible.
|
||||
|
||||
On the way use enums to group the compatible devices together.
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
---
|
||||
.../devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
|
||||
index 9eb4bb529..7a47c5142 100644
|
||||
--- a/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
|
||||
+++ b/Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml
|
||||
@@ -22,6 +22,7 @@ properties:
|
||||
- enum:
|
||||
- allwinner,sun20i-d1-emac
|
||||
- allwinner,sun50i-h6-emac
|
||||
+ - allwinner,sun50i-h616-emac
|
||||
- const: allwinner,sun50i-a64-emac
|
||||
|
||||
reg:
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From 95b51d2a26e104dc6ff38b105048c9f2184c7693 Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Thu, 10 Dec 2020 22:42:55 +0000
|
||||
Subject: [PATCH 005/101] Doc:dt-bindings:rtc:sun6i: Add H616 compatible string
|
||||
|
||||
Add the obvious compatible name to the existing RTC binding.
|
||||
The actual RTC part of the device uses a different day/month/year
|
||||
storage scheme, so it's not compatible with the previous devices.
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
---
|
||||
.../devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
|
||||
index beeb90e55..004f43765 100644
|
||||
--- a/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
|
||||
+++ b/Documentation/devicetree/bindings/rtc/allwinner,sun6i-a31-rtc.yaml
|
||||
@@ -26,6 +26,7 @@ properties:
|
||||
- const: allwinner,sun50i-a64-rtc
|
||||
- const: allwinner,sun8i-h3-rtc
|
||||
- const: allwinner,sun50i-h6-rtc
|
||||
+ - const: allwinner,sun50i-h616-rtc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
@@ -96,7 +97,9 @@ allOf:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
- const: allwinner,sun50i-h6-rtc
|
||||
+ enum:
|
||||
+ - allwinner,sun50i-h6-rtc
|
||||
+ - allwinner,sun50i-h616-rtc
|
||||
|
||||
then:
|
||||
properties:
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
From d271d5f20015452fbe7fc8f983dde014b6904741 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Mon, 25 Dec 2017 12:08:01 +0800
|
||||
Subject: [PATCH 097/101] 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 000000000..3f7714636
|
||||
--- /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.31.1
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
From b0a5f4e53bb4de44c30c7b038f2660800be6c07a Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Gaignard <benjamin.gaignard@collabora.com>
|
||||
Date: Thu, 15 Jul 2021 17:12:22 +0200
|
||||
Subject: [PATCH 043/101] Doc:u-api:media:v4l: Add scaling matrix control
|
||||
|
||||
HEVC scaling lists are used for the scaling process for transform
|
||||
coefficients.
|
||||
V4L2_HEVC_SPS_FLAG_SCALING_LIST_ENABLED has to set when they are
|
||||
encoded in the bitstream.
|
||||
|
||||
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
|
||||
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
|
||||
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
|
||||
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
||||
---
|
||||
.../media/v4l/ext-ctrls-codec.rst | 57 +++++++++++++++++++
|
||||
.../media/v4l/vidioc-queryctrl.rst | 6 ++
|
||||
drivers/media/v4l2-core/v4l2-ctrls-core.c | 6 ++
|
||||
drivers/media/v4l2-core/v4l2-ctrls-defs.c | 4 ++
|
||||
include/media/hevc-ctrls.h | 11 ++++
|
||||
5 files changed, 84 insertions(+)
|
||||
|
||||
diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
|
||||
index 976d34445..e141f0e4e 100644
|
||||
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
|
||||
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
|
||||
@@ -3088,6 +3088,63 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
|
||||
|
||||
\normalsize
|
||||
|
||||
+``V4L2_CID_MPEG_VIDEO_HEVC_SCALING_MATRIX (struct)``
|
||||
+ Specifies the HEVC scaling matrix parameters used for the scaling process
|
||||
+ for transform coefficients.
|
||||
+ These matrix and parameters are defined according to :ref:`hevc`.
|
||||
+ They are described in section 7.4.5 "Scaling list data semantics" of
|
||||
+ the specification.
|
||||
+
|
||||
+.. c:type:: v4l2_ctrl_hevc_scaling_matrix
|
||||
+
|
||||
+.. raw:: latex
|
||||
+
|
||||
+ \scriptsize
|
||||
+
|
||||
+.. tabularcolumns:: |p{5.4cm}|p{6.8cm}|p{5.1cm}|
|
||||
+
|
||||
+.. cssclass:: longtable
|
||||
+
|
||||
+.. flat-table:: struct v4l2_ctrl_hevc_scaling_matrix
|
||||
+ :header-rows: 0
|
||||
+ :stub-columns: 0
|
||||
+ :widths: 1 1 2
|
||||
+
|
||||
+ * - __u8
|
||||
+ - ``scaling_list_4x4[6][16]``
|
||||
+ - Scaling list is used for the scaling process for transform
|
||||
+ coefficients. The values on each scaling list are expected
|
||||
+ in raster scan order.
|
||||
+ * - __u8
|
||||
+ - ``scaling_list_8x8[6][64]``
|
||||
+ - Scaling list is used for the scaling process for transform
|
||||
+ coefficients. The values on each scaling list are expected
|
||||
+ in raster scan order.
|
||||
+ * - __u8
|
||||
+ - ``scaling_list_16x16[6][64]``
|
||||
+ - Scaling list is used for the scaling process for transform
|
||||
+ coefficients. The values on each scaling list are expected
|
||||
+ in raster scan order.
|
||||
+ * - __u8
|
||||
+ - ``scaling_list_32x32[2][64]``
|
||||
+ - Scaling list is used for the scaling process for transform
|
||||
+ coefficients. The values on each scaling list are expected
|
||||
+ in raster scan order.
|
||||
+ * - __u8
|
||||
+ - ``scaling_list_dc_coef_16x16[6]``
|
||||
+ - Scaling list is used for the scaling process for transform
|
||||
+ coefficients. The values on each scaling list are expected
|
||||
+ in raster scan order.
|
||||
+ * - __u8
|
||||
+ - ``scaling_list_dc_coef_32x32[2]``
|
||||
+ - Scaling list is used for the scaling process for transform
|
||||
+ coefficients. The values on each scaling list are expected
|
||||
+ in raster scan order.
|
||||
+
|
||||
+.. raw:: latex
|
||||
+
|
||||
+ \normalsize
|
||||
+
|
||||
.. c:type:: v4l2_hevc_dpb_entry
|
||||
|
||||
.. raw:: latex
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
From bc201ae4c1a343ff5efc67fc689b02b7180c946f Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Thu, 3 Feb 2022 21:22:16 +0300
|
||||
Subject: [PATCH] Fix compile error node not found
|
||||
|
||||
Error: arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts:47.1-4 Label or path de not found
|
||||
Error: arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts:70.1-6 Label or path hdmi not found
|
||||
Error: arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts:75.1-10 Label or path hdmi_out not found
|
||||
FATAL ERROR: Syntax error parsing input tree
|
||||
make[2]: *** [scripts/Makefile.lib:365: arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dtb] Error 1
|
||||
---
|
||||
.../dts/allwinner/sun50i-h616-x96-mate.dts | 26 -------------------
|
||||
1 file changed, 26 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
index 3640160a3..51f1764ed 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
@@ -23,17 +23,6 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
- connector {
|
||||
- compatible = "hdmi-connector";
|
||||
- type = "a";
|
||||
-
|
||||
- port {
|
||||
- hdmi_con_in: endpoint {
|
||||
- remote-endpoint = <&hdmi_out_con>;
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
-
|
||||
reg_vcc5v: vcc5v {
|
||||
/* board wide 5V supply directly from the DC input */
|
||||
compatible = "regulator-fixed";
|
||||
@@ -44,10 +33,6 @@ reg_vcc5v: vcc5v {
|
||||
};
|
||||
};
|
||||
|
||||
-&de {
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -67,17 +52,6 @@ &emac1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&hdmi {
|
||||
- hvcc-supply = <®_bldo1>;
|
||||
- status = "okay";
|
||||
-};
|
||||
-
|
||||
-&hdmi_out {
|
||||
- hdmi_out_con: endpoint {
|
||||
- remote-endpoint = <&hdmi_con_in>;
|
||||
- };
|
||||
-};
|
||||
-
|
||||
&ir {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
From 59b72897a905b8254ac5ff697465bc02e2d0e87e Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Karlman <jonas@kwiboo.se>
|
||||
Date: Sat, 23 May 2020 15:07:15 +0000
|
||||
Subject: [PATCH 055/101] HACK: media: uapi: hevc: tiles and num_slices
|
||||
|
||||
---
|
||||
include/media/hevc-ctrls.h | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h
|
||||
index a808894e8..f1b875652 100644
|
||||
--- a/include/media/hevc-ctrls.h
|
||||
+++ b/include/media/hevc-ctrls.h
|
||||
@@ -83,7 +83,8 @@ struct v4l2_ctrl_hevc_sps {
|
||||
__u8 chroma_format_idc;
|
||||
__u8 sps_max_sub_layers_minus1;
|
||||
|
||||
- __u8 padding[6];
|
||||
+ __u8 num_slices;
|
||||
+ __u8 padding[5];
|
||||
|
||||
__u64 flags;
|
||||
};
|
||||
@@ -210,7 +211,9 @@ struct v4l2_ctrl_hevc_slice_params {
|
||||
__u16 short_term_ref_pic_set_size;
|
||||
__u16 long_term_ref_pic_set_size;
|
||||
|
||||
- __u8 padding[4];
|
||||
+ __u32 num_entry_point_offsets;
|
||||
+ __u32 entry_point_offset_minus1[256];
|
||||
+ __u8 padding[8];
|
||||
|
||||
/* ISO/IEC 23008-2, ITU-T Rec. H.265: Weighted prediction parameter */
|
||||
struct v4l2_hevc_pred_weight_table pred_weight_table;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From 218616f60f8fa12677cf323dcfdd1ddca465dc67 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 11:28:14 +0300
|
||||
Subject: [PATCH 23/50] Makefile: CONFIG_SHELL fix for builddeb packaging
|
||||
|
||||
---
|
||||
Makefile | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 385286f98..cde742a1f 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -417,7 +417,9 @@ KCONFIG_CONFIG ?= .config
|
||||
export KCONFIG_CONFIG
|
||||
|
||||
# SHELL used by kbuild
|
||||
-CONFIG_SHELL := sh
|
||||
+CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
|
||||
+ else if [ -x /bin/bash ]; then echo /bin/bash; \
|
||||
+ else echo sh; fi ; fi)
|
||||
|
||||
HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS 2>/dev/null)
|
||||
HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null)
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,287 @@
|
||||
From e3e9a55245fcadd5658cf783a3c273b4b4835b9e Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
Date: Sat, 6 Nov 2021 19:15:23 +0100
|
||||
Subject: [PATCH 003/101] Revert "net: Remove net/ipx.h and uapi/linux/ipx.h
|
||||
header files"
|
||||
|
||||
This reverts commit 6c9b40844751ea30c72f7a2f92f4d704bc6b2927.
|
||||
---
|
||||
include/net/ipx.h | 171 +++++++++++++++++++++++++++++++++++++++
|
||||
include/uapi/linux/ipx.h | 87 ++++++++++++++++++++
|
||||
2 files changed, 258 insertions(+)
|
||||
create mode 100644 include/net/ipx.h
|
||||
create mode 100644 include/uapi/linux/ipx.h
|
||||
|
||||
diff --git a/include/net/ipx.h b/include/net/ipx.h
|
||||
new file mode 100644
|
||||
index 000000000..9d1342807
|
||||
--- /dev/null
|
||||
+++ b/include/net/ipx.h
|
||||
@@ -0,0 +1,171 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0 */
|
||||
+#ifndef _NET_INET_IPX_H_
|
||||
+#define _NET_INET_IPX_H_
|
||||
+/*
|
||||
+ * The following information is in its entirety obtained from:
|
||||
+ *
|
||||
+ * Novell 'IPX Router Specification' Version 1.10
|
||||
+ * Part No. 107-000029-001
|
||||
+ *
|
||||
+ * Which is available from ftp.novell.com
|
||||
+ */
|
||||
+
|
||||
+#include <linux/netdevice.h>
|
||||
+#include <net/datalink.h>
|
||||
+#include <linux/ipx.h>
|
||||
+#include <linux/list.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <linux/refcount.h>
|
||||
+
|
||||
+struct ipx_address {
|
||||
+ __be32 net;
|
||||
+ __u8 node[IPX_NODE_LEN];
|
||||
+ __be16 sock;
|
||||
+};
|
||||
+
|
||||
+#define ipx_broadcast_node "\377\377\377\377\377\377"
|
||||
+#define ipx_this_node "\0\0\0\0\0\0"
|
||||
+
|
||||
+#define IPX_MAX_PPROP_HOPS 8
|
||||
+
|
||||
+struct ipxhdr {
|
||||
+ __be16 ipx_checksum __packed;
|
||||
+#define IPX_NO_CHECKSUM cpu_to_be16(0xFFFF)
|
||||
+ __be16 ipx_pktsize __packed;
|
||||
+ __u8 ipx_tctrl;
|
||||
+ __u8 ipx_type;
|
||||
+#define IPX_TYPE_UNKNOWN 0x00
|
||||
+#define IPX_TYPE_RIP 0x01 /* may also be 0 */
|
||||
+#define IPX_TYPE_SAP 0x04 /* may also be 0 */
|
||||
+#define IPX_TYPE_SPX 0x05 /* SPX protocol */
|
||||
+#define IPX_TYPE_NCP 0x11 /* $lots for docs on this (SPIT) */
|
||||
+#define IPX_TYPE_PPROP 0x14 /* complicated flood fill brdcast */
|
||||
+ struct ipx_address ipx_dest __packed;
|
||||
+ struct ipx_address ipx_source __packed;
|
||||
+};
|
||||
+
|
||||
+/* From af_ipx.c */
|
||||
+extern int sysctl_ipx_pprop_broadcasting;
|
||||
+
|
||||
+struct ipx_interface {
|
||||
+ /* IPX address */
|
||||
+ __be32 if_netnum;
|
||||
+ unsigned char if_node[IPX_NODE_LEN];
|
||||
+ refcount_t refcnt;
|
||||
+
|
||||
+ /* physical device info */
|
||||
+ struct net_device *if_dev;
|
||||
+ struct datalink_proto *if_dlink;
|
||||
+ __be16 if_dlink_type;
|
||||
+
|
||||
+ /* socket support */
|
||||
+ unsigned short if_sknum;
|
||||
+ struct hlist_head if_sklist;
|
||||
+ spinlock_t if_sklist_lock;
|
||||
+
|
||||
+ /* administrative overhead */
|
||||
+ int if_ipx_offset;
|
||||
+ unsigned char if_internal;
|
||||
+ unsigned char if_primary;
|
||||
+
|
||||
+ struct list_head node; /* node in ipx_interfaces list */
|
||||
+};
|
||||
+
|
||||
+struct ipx_route {
|
||||
+ __be32 ir_net;
|
||||
+ struct ipx_interface *ir_intrfc;
|
||||
+ unsigned char ir_routed;
|
||||
+ unsigned char ir_router_node[IPX_NODE_LEN];
|
||||
+ struct list_head node; /* node in ipx_routes list */
|
||||
+ refcount_t refcnt;
|
||||
+};
|
||||
+
|
||||
+struct ipx_cb {
|
||||
+ u8 ipx_tctrl;
|
||||
+ __be32 ipx_dest_net;
|
||||
+ __be32 ipx_source_net;
|
||||
+ struct {
|
||||
+ __be32 netnum;
|
||||
+ int index;
|
||||
+ } last_hop;
|
||||
+};
|
||||
+
|
||||
+#include <net/sock.h>
|
||||
+
|
||||
+struct ipx_sock {
|
||||
+ /* struct sock has to be the first member of ipx_sock */
|
||||
+ struct sock sk;
|
||||
+ struct ipx_address dest_addr;
|
||||
+ struct ipx_interface *intrfc;
|
||||
+ __be16 port;
|
||||
+#ifdef CONFIG_IPX_INTERN
|
||||
+ unsigned char node[IPX_NODE_LEN];
|
||||
+#endif
|
||||
+ unsigned short type;
|
||||
+ /*
|
||||
+ * To handle special ncp connection-handling sockets for mars_nwe,
|
||||
+ * the connection number must be stored in the socket.
|
||||
+ */
|
||||
+ unsigned short ipx_ncp_conn;
|
||||
+};
|
||||
+
|
||||
+static inline struct ipx_sock *ipx_sk(struct sock *sk)
|
||||
+{
|
||||
+ return (struct ipx_sock *)sk;
|
||||
+}
|
||||
+
|
||||
+#define IPX_SKB_CB(__skb) ((struct ipx_cb *)&((__skb)->cb[0]))
|
||||
+
|
||||
+#define IPX_MIN_EPHEMERAL_SOCKET 0x4000
|
||||
+#define IPX_MAX_EPHEMERAL_SOCKET 0x7fff
|
||||
+
|
||||
+extern struct list_head ipx_routes;
|
||||
+extern rwlock_t ipx_routes_lock;
|
||||
+
|
||||
+extern struct list_head ipx_interfaces;
|
||||
+struct ipx_interface *ipx_interfaces_head(void);
|
||||
+extern spinlock_t ipx_interfaces_lock;
|
||||
+
|
||||
+extern struct ipx_interface *ipx_primary_net;
|
||||
+
|
||||
+int ipx_proc_init(void);
|
||||
+void ipx_proc_exit(void);
|
||||
+
|
||||
+const char *ipx_frame_name(__be16);
|
||||
+const char *ipx_device_name(struct ipx_interface *intrfc);
|
||||
+
|
||||
+static __inline__ void ipxitf_hold(struct ipx_interface *intrfc)
|
||||
+{
|
||||
+ refcount_inc(&intrfc->refcnt);
|
||||
+}
|
||||
+
|
||||
+void ipxitf_down(struct ipx_interface *intrfc);
|
||||
+struct ipx_interface *ipxitf_find_using_net(__be32 net);
|
||||
+int ipxitf_send(struct ipx_interface *intrfc, struct sk_buff *skb, char *node);
|
||||
+__be16 ipx_cksum(struct ipxhdr *packet, int length);
|
||||
+int ipxrtr_add_route(__be32 network, struct ipx_interface *intrfc,
|
||||
+ unsigned char *node);
|
||||
+void ipxrtr_del_routes(struct ipx_interface *intrfc);
|
||||
+int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx,
|
||||
+ struct msghdr *msg, size_t len, int noblock);
|
||||
+int ipxrtr_route_skb(struct sk_buff *skb);
|
||||
+struct ipx_route *ipxrtr_lookup(__be32 net);
|
||||
+int ipxrtr_ioctl(unsigned int cmd, void __user *arg);
|
||||
+
|
||||
+static __inline__ void ipxitf_put(struct ipx_interface *intrfc)
|
||||
+{
|
||||
+ if (refcount_dec_and_test(&intrfc->refcnt))
|
||||
+ ipxitf_down(intrfc);
|
||||
+}
|
||||
+
|
||||
+static __inline__ void ipxrtr_hold(struct ipx_route *rt)
|
||||
+{
|
||||
+ refcount_inc(&rt->refcnt);
|
||||
+}
|
||||
+
|
||||
+static __inline__ void ipxrtr_put(struct ipx_route *rt)
|
||||
+{
|
||||
+ if (refcount_dec_and_test(&rt->refcnt))
|
||||
+ kfree(rt);
|
||||
+}
|
||||
+#endif /* _NET_INET_IPX_H_ */
|
||||
diff --git a/include/uapi/linux/ipx.h b/include/uapi/linux/ipx.h
|
||||
new file mode 100644
|
||||
index 000000000..3168137ad
|
||||
--- /dev/null
|
||||
+++ b/include/uapi/linux/ipx.h
|
||||
@@ -0,0 +1,87 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
+#ifndef _IPX_H_
|
||||
+#define _IPX_H_
|
||||
+#include <linux/libc-compat.h> /* for compatibility with glibc netipx/ipx.h */
|
||||
+#include <linux/types.h>
|
||||
+#include <linux/sockios.h>
|
||||
+#include <linux/socket.h>
|
||||
+#define IPX_NODE_LEN 6
|
||||
+#define IPX_MTU 576
|
||||
+
|
||||
+#if __UAPI_DEF_SOCKADDR_IPX
|
||||
+struct sockaddr_ipx {
|
||||
+ __kernel_sa_family_t sipx_family;
|
||||
+ __be16 sipx_port;
|
||||
+ __be32 sipx_network;
|
||||
+ unsigned char sipx_node[IPX_NODE_LEN];
|
||||
+ __u8 sipx_type;
|
||||
+ unsigned char sipx_zero; /* 16 byte fill */
|
||||
+};
|
||||
+#endif /* __UAPI_DEF_SOCKADDR_IPX */
|
||||
+
|
||||
+/*
|
||||
+ * So we can fit the extra info for SIOCSIFADDR into the address nicely
|
||||
+ */
|
||||
+#define sipx_special sipx_port
|
||||
+#define sipx_action sipx_zero
|
||||
+#define IPX_DLTITF 0
|
||||
+#define IPX_CRTITF 1
|
||||
+
|
||||
+#if __UAPI_DEF_IPX_ROUTE_DEFINITION
|
||||
+struct ipx_route_definition {
|
||||
+ __be32 ipx_network;
|
||||
+ __be32 ipx_router_network;
|
||||
+ unsigned char ipx_router_node[IPX_NODE_LEN];
|
||||
+};
|
||||
+#endif /* __UAPI_DEF_IPX_ROUTE_DEFINITION */
|
||||
+
|
||||
+#if __UAPI_DEF_IPX_INTERFACE_DEFINITION
|
||||
+struct ipx_interface_definition {
|
||||
+ __be32 ipx_network;
|
||||
+ unsigned char ipx_device[16];
|
||||
+ unsigned char ipx_dlink_type;
|
||||
+#define IPX_FRAME_NONE 0
|
||||
+#define IPX_FRAME_SNAP 1
|
||||
+#define IPX_FRAME_8022 2
|
||||
+#define IPX_FRAME_ETHERII 3
|
||||
+#define IPX_FRAME_8023 4
|
||||
+#define IPX_FRAME_TR_8022 5 /* obsolete */
|
||||
+ unsigned char ipx_special;
|
||||
+#define IPX_SPECIAL_NONE 0
|
||||
+#define IPX_PRIMARY 1
|
||||
+#define IPX_INTERNAL 2
|
||||
+ unsigned char ipx_node[IPX_NODE_LEN];
|
||||
+};
|
||||
+#endif /* __UAPI_DEF_IPX_INTERFACE_DEFINITION */
|
||||
+
|
||||
+#if __UAPI_DEF_IPX_CONFIG_DATA
|
||||
+struct ipx_config_data {
|
||||
+ unsigned char ipxcfg_auto_select_primary;
|
||||
+ unsigned char ipxcfg_auto_create_interfaces;
|
||||
+};
|
||||
+#endif /* __UAPI_DEF_IPX_CONFIG_DATA */
|
||||
+
|
||||
+/*
|
||||
+ * OLD Route Definition for backward compatibility.
|
||||
+ */
|
||||
+
|
||||
+#if __UAPI_DEF_IPX_ROUTE_DEF
|
||||
+struct ipx_route_def {
|
||||
+ __be32 ipx_network;
|
||||
+ __be32 ipx_router_network;
|
||||
+#define IPX_ROUTE_NO_ROUTER 0
|
||||
+ unsigned char ipx_router_node[IPX_NODE_LEN];
|
||||
+ unsigned char ipx_device[16];
|
||||
+ unsigned short ipx_flags;
|
||||
+#define IPX_RT_SNAP 8
|
||||
+#define IPX_RT_8022 4
|
||||
+#define IPX_RT_BLUEBOOK 2
|
||||
+#define IPX_RT_ROUTED 1
|
||||
+};
|
||||
+#endif /* __UAPI_DEF_IPX_ROUTE_DEF */
|
||||
+
|
||||
+#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
|
||||
+#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1)
|
||||
+#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE + 2)
|
||||
+#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE + 3)
|
||||
+#endif /* _IPX_H_ */
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
From b47ff0ab5ea204f3db72e8ab1c1b4a69679e6441 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Karlman <jonas@kwiboo.se>
|
||||
Date: Sat, 23 May 2020 15:03:46 +0000
|
||||
Subject: [PATCH 054/101] WIP: media: uapi: hevc: add fields needed for rkvdec
|
||||
|
||||
NOTE: these fields are used by rkvdec hevc backend
|
||||
|
||||
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
|
||||
---
|
||||
include/media/hevc-ctrls.h | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h
|
||||
index ef63bc205..a808894e8 100644
|
||||
--- a/include/media/hevc-ctrls.h
|
||||
+++ b/include/media/hevc-ctrls.h
|
||||
@@ -58,6 +58,8 @@ enum v4l2_mpeg_video_hevc_start_code {
|
||||
/* The controls are not stable at the moment and will likely be reworked. */
|
||||
struct v4l2_ctrl_hevc_sps {
|
||||
/* ISO/IEC 23008-2, ITU-T Rec. H.265: Sequence parameter set */
|
||||
+ __u8 video_parameter_set_id;
|
||||
+ __u8 seq_parameter_set_id;
|
||||
__u16 pic_width_in_luma_samples;
|
||||
__u16 pic_height_in_luma_samples;
|
||||
__u8 bit_depth_luma_minus8;
|
||||
@@ -81,6 +83,8 @@ struct v4l2_ctrl_hevc_sps {
|
||||
__u8 chroma_format_idc;
|
||||
__u8 sps_max_sub_layers_minus1;
|
||||
|
||||
+ __u8 padding[6];
|
||||
+
|
||||
__u64 flags;
|
||||
};
|
||||
|
||||
@@ -108,6 +112,7 @@ struct v4l2_ctrl_hevc_sps {
|
||||
|
||||
struct v4l2_ctrl_hevc_pps {
|
||||
/* ISO/IEC 23008-2, ITU-T Rec. H.265: Picture parameter set */
|
||||
+ __u8 pic_parameter_set_id;
|
||||
__u8 num_extra_slice_header_bits;
|
||||
__u8 num_ref_idx_l0_default_active_minus1;
|
||||
__u8 num_ref_idx_l1_default_active_minus1;
|
||||
@@ -123,7 +128,7 @@ struct v4l2_ctrl_hevc_pps {
|
||||
__s8 pps_tc_offset_div2;
|
||||
__u8 log2_parallel_merge_level_minus2;
|
||||
|
||||
- __u8 padding[4];
|
||||
+ __u8 padding;
|
||||
__u64 flags;
|
||||
};
|
||||
|
||||
@@ -202,7 +207,10 @@ struct v4l2_ctrl_hevc_slice_params {
|
||||
__u8 ref_idx_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
|
||||
__u8 ref_idx_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
|
||||
|
||||
- __u8 padding;
|
||||
+ __u16 short_term_ref_pic_set_size;
|
||||
+ __u16 long_term_ref_pic_set_size;
|
||||
+
|
||||
+ __u8 padding[4];
|
||||
|
||||
/* ISO/IEC 23008-2, ITU-T Rec. H.265: Weighted prediction parameter */
|
||||
struct v4l2_hevc_pred_weight_table pred_weight_table;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
From 3a934000cccaf616cca02dbede612aae51207d33 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Sun, 23 Jan 2022 16:43:53 +0300
|
||||
Subject: [PATCH 008/101] arm:arm64:dts: Add leds axp20x charger
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/axp209.dtsi | 5 +++++
|
||||
arch/arm/boot/dts/axp22x.dtsi | 5 +++++
|
||||
arch/arm/boot/dts/axp81x.dtsi | 5 +++++
|
||||
arch/arm64/boot/dts/allwinner/axp803.dtsi | 5 +++++
|
||||
4 files changed, 20 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/axp209.dtsi b/arch/arm/boot/dts/axp209.dtsi
|
||||
index ca240cd6f..85000fdb4 100644
|
||||
--- a/arch/arm/boot/dts/axp209.dtsi
|
||||
+++ b/arch/arm/boot/dts/axp209.dtsi
|
||||
@@ -69,6 +69,11 @@ axp_gpio: gpio {
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
+ axp_led: led {
|
||||
+ compatible = "x-powers,axp20x-led";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
battery_power_supply: battery-power {
|
||||
compatible = "x-powers,axp209-battery-power-supply";
|
||||
status = "disabled";
|
||||
diff --git a/arch/arm/boot/dts/axp22x.dtsi b/arch/arm/boot/dts/axp22x.dtsi
|
||||
index a020c12b2..eeea37bbe 100644
|
||||
--- a/arch/arm/boot/dts/axp22x.dtsi
|
||||
+++ b/arch/arm/boot/dts/axp22x.dtsi
|
||||
@@ -62,6 +62,11 @@ axp_adc: adc {
|
||||
#io-channel-cells = <1>;
|
||||
};
|
||||
|
||||
+ axp_led: led {
|
||||
+ compatible = "x-powers,axp20x-led";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
battery_power_supply: battery-power {
|
||||
compatible = "x-powers,axp221-battery-power-supply";
|
||||
status = "disabled";
|
||||
diff --git a/arch/arm/boot/dts/axp81x.dtsi b/arch/arm/boot/dts/axp81x.dtsi
|
||||
index 9195a8c49..350e8ec11 100644
|
||||
--- a/arch/arm/boot/dts/axp81x.dtsi
|
||||
+++ b/arch/arm/boot/dts/axp81x.dtsi
|
||||
@@ -74,6 +74,11 @@ gpio1_ldo: gpio1-ldo-pin {
|
||||
};
|
||||
};
|
||||
|
||||
+ axp_led: led {
|
||||
+ compatible = "x-powers,axp20x-led";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
battery_power_supply: battery-power {
|
||||
compatible = "x-powers,axp813-battery-power-supply";
|
||||
status = "disabled";
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/axp803.dtsi b/arch/arm64/boot/dts/allwinner/axp803.dtsi
|
||||
index 578ef368e..6d00d3c27 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/axp803.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/axp803.dtsi
|
||||
@@ -37,6 +37,11 @@ gpio1_ldo: gpio1-ldo-pin {
|
||||
};
|
||||
};
|
||||
|
||||
+ axp_led: led {
|
||||
+ compatible = "x-powers,axp20x-led";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
battery_power_supply: battery-power {
|
||||
compatible = "x-powers,axp803-battery-power-supply",
|
||||
"x-powers,axp813-battery-power-supply";
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,196 @@
|
||||
From 67ce246e3bb03dec3851a5bfdffe93a32fa82b76 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 15:00:36 +0300
|
||||
Subject: [PATCH 079/101] arm:dts: Add sun8i-h2-plus-nanopi-duo device
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
.../arm/boot/dts/sun8i-h2-plus-nanopi-duo.dts | 164 ++++++++++++++++++
|
||||
2 files changed, 165 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/sun8i-h2-plus-nanopi-duo.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 234762eb5..3f5f5498f 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -1240,6 +1240,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-a83t-tbs-a711.dtb \
|
||||
sun8i-h2-plus-bananapi-m2-zero.dtb \
|
||||
sun8i-h2-plus-libretech-all-h3-cc.dtb \
|
||||
+ sun8i-h2-plus-nanopi-duo.dtb \
|
||||
sun8i-h2-plus-orangepi-r1.dtb \
|
||||
sun8i-h2-plus-orangepi-zero.dtb \
|
||||
sun8i-h3-bananapi-m2-plus.dtb \
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-nanopi-duo.dts b/arch/arm/boot/dts/sun8i-h2-plus-nanopi-duo.dts
|
||||
new file mode 100644
|
||||
index 000000000..2b31b8fdd
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/sun8i-h2-plus-nanopi-duo.dts
|
||||
@@ -0,0 +1,164 @@
|
||||
+/*
|
||||
+ * adapted by karabek, 2018 , based on
|
||||
+ * Copyright (C) 2016 James Pettigrew <james@innovum.com.au>
|
||||
+ * Copyright (C) 2016 Milo Kim <woogyom.kim@gmail.com>
|
||||
+ *
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "sun8i-h3-nanopi.dtsi"
|
||||
+#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyARM NanoPi DUO";
|
||||
+ compatible = "friendlyarm,nanopi-duo", "allwinner,sun8i-h3";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac;
|
||||
+ ethernet1 = &xr819;
|
||||
+ };
|
||||
+
|
||||
+ reg_sy8113b: gpio-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-ramp-delay = <50>; // 50=4ms check
|
||||
+
|
||||
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; // PL6 check
|
||||
+ enable-active-high;
|
||||
+ gpios-states = <0x1>;
|
||||
+ states = <1100000 0x0
|
||||
+ 1300000 0x1>;
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc_wifi: reg_vcc_wifi {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-wifi";
|
||||
+ gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; // PL7 WIFI_POWER_EN
|
||||
+ startup-delay-us = <70000>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&wifi_en_npi>;
|
||||
+ reset-gpios = <&pio 6 13 GPIO_ACTIVE_LOW>; // PG13 WL_RESTN
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_sy8113b>;
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ phy-handle = <&int_mii_phy>;
|
||||
+ phy-mode = "mii";
|
||||
+ allwinner,leds-active-low;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ vqmmc-supply = <®_vcc_wifi>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ xr819: sdio_wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "xradio,xr819";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&wifi_wake>;
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <6 10 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupt-names = "host-wake";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc1_pins {
|
||||
+ bias-pull-up;
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ wifi_en_npi: wifi_en_pin {
|
||||
+ pins = "PG13";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+ wifi_wake: wifi_wake@0 {
|
||||
+ pins = "PG10";
|
||||
+ function = "irq";
|
||||
+ pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "peripheral";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ /*
|
||||
+ * USB Type-A port VBUS is always on. However, MicroUSB VBUS can only
|
||||
+ * power up the board; when it's used as OTG port, this VBUS is
|
||||
+ * always off even if the board is powered via GPIO pins.
|
||||
+ */
|
||||
+ status = "okay";
|
||||
+ usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,257 @@
|
||||
From 472e545e962621bfcb806ce475ed6f6e403b2584 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 15:23:33 +0300
|
||||
Subject: [PATCH 080/101] arm:dts: Add sun8i-h2-plus-sunvell-r69 device
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
.../boot/dts/sun8i-h2-plus-sunvell-r69.dts | 225 ++++++++++++++++++
|
||||
2 files changed, 226 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/sun8i-h2-plus-sunvell-r69.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 3f5f5498f..a4367ae2a 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -1243,6 +1243,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-h2-plus-nanopi-duo.dtb \
|
||||
sun8i-h2-plus-orangepi-r1.dtb \
|
||||
sun8i-h2-plus-orangepi-zero.dtb \
|
||||
+ sun8i-h2-plus-sunvell-r69.dtb \
|
||||
sun8i-h3-bananapi-m2-plus.dtb \
|
||||
sun8i-h3-bananapi-m2-plus-v1.2.dtb \
|
||||
sun8i-h3-beelink-x2.dtb \
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-sunvell-r69.dts b/arch/arm/boot/dts/sun8i-h2-plus-sunvell-r69.dts
|
||||
new file mode 100644
|
||||
index 000000000..bb0c2f72b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/sun8i-h2-plus-sunvell-r69.dts
|
||||
@@ -0,0 +1,225 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
||||
+/*
|
||||
+ * Based original Sunvell R69 FEX file (2019 karabek)
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "sun8i-h3.dtsi"
|
||||
+#include "sunxi-common-regulators.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "Sunvell R69";
|
||||
+ compatible = "sunvell,sunvell-r69", "allwinner,sun8i-h2-plus";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac;
|
||||
+ ethernet1 = &xr819;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&leds_opc>, <&leds_r_opc>;
|
||||
+
|
||||
+ pwr_led {
|
||||
+ label = "sunvell-r69:red:pwr";
|
||||
+ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ status_led {
|
||||
+ label = "sunvell-r69:blue:status";
|
||||
+ gpios = <&pio 0 15 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_vdd_cpux: vdd-cpux-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-ramp-delay = <50>; /* 4ms */
|
||||
+
|
||||
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ enable-active-high;
|
||||
+ gpios-states = <0x1>;
|
||||
+ states = <1100000 0x0
|
||||
+ 1300000 0x1>;
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc_wifi: reg_vcc_wifi {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-wifi";
|
||||
+ gpio = <&r_pio 0 7 GPIO_ACTIVE_HIGH>;
|
||||
+ startup-delay-us = <70000>;
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&r_pio 0 0 GPIO_ACTIVE_LOW>;
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ phy-handle = <&int_mii_phy>;
|
||||
+ phy-mode = "mii";
|
||||
+ allwinner,leds-active-low;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ir {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&r_ir_rx_pin>; /* <&r_ir_rx_pin> */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ vmmc-supply = <®_vcc_wifi>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ xr819: sdio_wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "xradio,xr819";
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <0 11 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupt-names = "host-wake";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc2_8bit_pins {
|
||||
+ /* Increase current from 30mA to 40mA for DDR eMMC */
|
||||
+ allwinner,drive = <SUN4I_PINCTRL_40_MA>;
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ leds_opc: led_pins {
|
||||
+ pins = "PA15";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&r_pio {
|
||||
+ leds_r_opc: led_pins {
|
||||
+ pins = "PL10";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+®_usb0_vbus {
|
||||
+ gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pa_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart2_pins>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&uart3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart3_pins>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From 87a2cfa2afc9952c7c9ffb7ed8af57a364ee2da2 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 14:46:11 +0300
|
||||
Subject: [PATCH 078/101] arm:dts: a10-cubiebord a20-cubietruck green LED mmc0
|
||||
default-trigger
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun4i-a10-cubieboard.dts | 2 +-
|
||||
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
|
||||
index 0645d6064..f97b53c44 100644
|
||||
--- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
|
||||
+++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts
|
||||
@@ -83,7 +83,7 @@ led-0 {
|
||||
led-1 {
|
||||
label = "cubieboard:green:usr";
|
||||
gpios = <&pio 7 20 GPIO_ACTIVE_HIGH>; /* LED2 */
|
||||
- linux,default-trigger = "heartbeat";
|
||||
+ linux,default-trigger = "mmc0";
|
||||
};
|
||||
};
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
index 525cb7fcc..df428f29b 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
@@ -93,6 +93,7 @@ led-2 {
|
||||
led-3 {
|
||||
label = "cubietruck:green:usr";
|
||||
gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "mmc0";
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
From 2956436a55d001b49e904197e0ac228287eb0ec0 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 13:18:28 +0300
|
||||
Subject: [PATCH 073/101] arm:dts: a20-orangepi and mini fix phy-mode, hdmi
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts | 2 +-
|
||||
arch/arm/boot/dts/sun7i-a20-orangepi.dts | 31 ++++++++++++++++++-
|
||||
2 files changed, 31 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts b/arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts
|
||||
index 84efa01e7..fc87309ae 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-orangepi-mini.dts
|
||||
@@ -121,7 +121,7 @@ &gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy-handle = <&phy1>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
status = "okay";
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-orangepi.dts b/arch/arm/boot/dts/sun7i-a20-orangepi.dts
|
||||
index 5d77f1d98..0c760b0a5 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-orangepi.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-orangepi.dts
|
||||
@@ -61,6 +61,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@@ -85,6 +96,14 @@ &ahci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&codec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -97,11 +116,21 @@ &gmac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac_rgmii_pins>;
|
||||
phy-handle = <&phy1>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&hdmi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
From b71f9ac99f587f068b876494438bd60166bc02c4 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 15:34:01 +0300
|
||||
Subject: [PATCH 081/101] arm:dts: h3-nanopi-neo Add regulator, leds, mmc2
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts | 53 +++++++++++++++++++++++
|
||||
1 file changed, 53 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
|
||||
index 9f33f6fae..ada548028 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts
|
||||
@@ -45,6 +45,59 @@
|
||||
/ {
|
||||
model = "FriendlyARM NanoPi NEO";
|
||||
compatible = "friendlyarm,nanopi-neo", "allwinner,sun8i-h3";
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ pwr {
|
||||
+ label = "nanopi:red:pwr";
|
||||
+ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
|
||||
+ linux,default-trigger = "default-on";
|
||||
+ };
|
||||
+
|
||||
+ status {
|
||||
+ label = "nanopi:green:status";
|
||||
+ gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ vdd_cpux: gpio-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ pinctrl-names = "default";
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-ramp-delay = <50>; /* 4ms */
|
||||
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ gpios-states = <0x1>;
|
||||
+ states = <1100000 0x0
|
||||
+ 1300000 0x1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc2_8bit_pins {
|
||||
+ /* Increase drive strength for DDR modes */
|
||||
+ drive-strength = <40>;
|
||||
+ /* eMMC is missing pull-ups */
|
||||
+ bias-pull-up;
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,215 @@
|
||||
From 18e1970e8dd69c65161bc3ac6d1f404b93633cf9 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 15:45:43 +0300
|
||||
Subject: [PATCH 082/101] arm:dts: h3-nanopi-neo-air Add regulator camera wifi
|
||||
bluetooth otg
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts | 169 ++++++++++++++++++
|
||||
1 file changed, 169 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
|
||||
index be49eabbf..45936f046 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo-air.dts
|
||||
@@ -70,15 +70,96 @@ led-0 {
|
||||
led-1 {
|
||||
label = "nanopi:blue:status";
|
||||
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
+ vdd_cpux: gpio-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ pinctrl-names = "default";
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-ramp-delay = <50>; /* 4ms */
|
||||
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ gpios-states = <0x1>;
|
||||
+ states = <1100000 0x0
|
||||
+ 1300000 0x1>;
|
||||
+ };
|
||||
+
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&wifi_en_npi>;
|
||||
reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+
|
||||
+ rfkill_bt {
|
||||
+ compatible = "rfkill-gpio";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&bt_pwr_pin>;
|
||||
+ reset-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */
|
||||
+ clocks = <&osc32k>;
|
||||
+ clock-frequency = <32768>;
|
||||
+ rfkill-name = "sunxi-bt";
|
||||
+ rfkill-type = "bluetooth";
|
||||
+ };
|
||||
+
|
||||
+ cam_xclk: cam-xclk {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <24000000>;
|
||||
+ clock-output-names = "cam-xclk";
|
||||
+ };
|
||||
+
|
||||
+ reg_cam_avdd: cam-avdd {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "cam500b-avdd";
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ vin-supply = <®_vcc3v3>;
|
||||
+ };
|
||||
+
|
||||
+ reg_cam_dovdd: cam-dovdd {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "cam500b-dovdd";
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ vin-supply = <®_vcc3v3>;
|
||||
+ };
|
||||
+
|
||||
+ reg_cam_dvdd: cam-dvdd {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "cam500b-dvdd";
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ vin-supply = <®_vcc3v3>;
|
||||
+ };
|
||||
+
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ bt_pwr_pin: bt_pwr_pin@0 {
|
||||
+ pins = "PG13";
|
||||
+ function = "gpio_out";
|
||||
};
|
||||
};
|
||||
|
||||
+&r_pio {
|
||||
+ wifi_en_npi: wifi_en_pin {
|
||||
+ pins = "PL7";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
@@ -103,12 +184,100 @@ brcmf: bcrmf@1 {
|
||||
};
|
||||
};
|
||||
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc2_8bit_pins {
|
||||
+ /* Increase drive strength for DDR modes */
|
||||
+ drive-strength = <40>;
|
||||
+ /* eMMC is missing pull-ups */
|
||||
+ bias-pull-up;
|
||||
+};
|
||||
+
|
||||
+&csi {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ /* Parallel bus endpoint */
|
||||
+ csi_from_ov5640: endpoint {
|
||||
+ remote-endpoint = <&ov5640_to_csi>;
|
||||
+ bus-width = <8>;
|
||||
+ data-shift = <2>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c2 {
|
||||
+ status = "okay";
|
||||
+ ov5640: camera@3c {
|
||||
+ compatible = "ovti,ov5640";
|
||||
+ reg = <0x3c>;
|
||||
+ clocks = <&cam_xclk>;
|
||||
+ clock-names = "xclk";
|
||||
+
|
||||
+ reset-gpios = <&pio 4 14 GPIO_ACTIVE_LOW>;
|
||||
+ powerdown-gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>;
|
||||
+ AVDD-supply = <®_cam_avdd>;
|
||||
+ DOVDD-supply = <®_cam_dovdd>;
|
||||
+ DVDD-supply = <®_cam_dvdd>;
|
||||
+
|
||||
+ port {
|
||||
+ ov5640_to_csi: endpoint {
|
||||
+ remote-endpoint = <&csi_from_ov5640>;
|
||||
+ bus-width = <8>;
|
||||
+ data-shift = <2>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c2_pins {
|
||||
+ bias-pull-up;
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pa_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&uart3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "peripheral";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&usbphy {
|
||||
/* USB VBUS is always on */
|
||||
status = "okay";
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From fe15516466ced5e9aa71d71b44134833cab19ac4 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 18:23:18 +0300
|
||||
Subject: [PATCH 083/101] arm:dts: h3-orangepi-2 Add regulator vdd cpu
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-h3-orangepi-2.dts | 29 +++++++++++++++++++++++
|
||||
1 file changed, 29 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
|
||||
index 0347b763a..fcecfa037 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts
|
||||
@@ -123,6 +123,10 @@ &de {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -177,6 +181,31 @@ rtl8189: sdio_wifi@1 {
|
||||
};
|
||||
};
|
||||
|
||||
+&r_i2c {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ reg_vdd_cpux: regulator@65 {
|
||||
+ compatible = "silergy,sy8106a";
|
||||
+ reg = <0x65>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ silergy,fixed-microvolt = <1200000>;
|
||||
+ /*
|
||||
+ * The datasheet uses 1.1V as the minimum value of VDD-CPUX,
|
||||
+ * however both the Armbian DVFS table and the official one
|
||||
+ * have operating points with voltage under 1.1V, and both
|
||||
+ * DVFS table are known to work properly at the lowest
|
||||
+ * operating point.
|
||||
+ *
|
||||
+ * Use 1.0V as the minimum voltage instead.
|
||||
+ */
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1400000>;
|
||||
+ regulator-ramp-delay = <200>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
®_usb1_vbus {
|
||||
gpio = <&pio 6 13 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
--
|
||||
2.31.1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,209 @@
|
||||
From cdc5550066449ac3e6e1c772bcfb319d19a03bc3 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 21:29:16 +0300
|
||||
Subject: [PATCH 27/50] arm:dts:overlay: sun8i-h3-cpu-clock add overclock
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/overlay/Makefile | 3 +
|
||||
.../sun8i-h3-cpu-clock-1.2GHz-1.3v.dts | 31 +++++++++
|
||||
.../sun8i-h3-cpu-clock-1.368GHz-1.3v.dts | 67 +++++++++++++++++++
|
||||
.../sun8i-h3-cpu-clock-1.3GHz-1.3v.dts | 61 +++++++++++++++++
|
||||
4 files changed, 162 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.2GHz-1.3v.dts
|
||||
create mode 100644 arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.368GHz-1.3v.dts
|
||||
create mode 100644 arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.3GHz-1.3v.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile
|
||||
index d2e94f6b7..23f8c2048 100644
|
||||
--- a/arch/arm/boot/dts/overlay/Makefile
|
||||
+++ b/arch/arm/boot/dts/overlay/Makefile
|
||||
@@ -60,6 +60,9 @@ dtbo-$(CONFIG_MACH_SUN7I) += \
|
||||
dtbo-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-h3-analog-codec.dtbo \
|
||||
sun8i-h3-cir.dtbo \
|
||||
+ sun8i-h3-cpu-clock-1.2GHz-1.3v.dtbo \
|
||||
+ sun8i-h3-cpu-clock-1.368GHz-1.3v.dtbo \
|
||||
+ sun8i-h3-cpu-clock-1.3GHz-1.3v.dtbo \
|
||||
sun8i-h3-i2c0.dtbo \
|
||||
sun8i-h3-i2c1.dtbo \
|
||||
sun8i-h3-i2c2.dtbo \
|
||||
diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.2GHz-1.3v.dts b/arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.2GHz-1.3v.dts
|
||||
new file mode 100644
|
||||
index 000000000..b07e694c7
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.2GHz-1.3v.dts
|
||||
@@ -0,0 +1,31 @@
|
||||
+// DT overlay for CPU frequency operating points to up to 1.2GHz at a maximum CPU voltage of 1.3v
|
||||
+
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ fragment@0 {
|
||||
+ target = <&cpu0_opp_table>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ compatible = "operating-points-v2";
|
||||
+ opp-shared;
|
||||
+
|
||||
+ // in order to match the existing DT cooling-maps, update the existing OP table in-place
|
||||
+ // with the new voltages
|
||||
+
|
||||
+ opp-1104000000 {
|
||||
+ opp-hz = /bits/ 64 <1104000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1200000000 {
|
||||
+ opp-hz = /bits/ 64 <1200000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.368GHz-1.3v.dts b/arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.368GHz-1.3v.dts
|
||||
new file mode 100644
|
||||
index 000000000..e3fd7e5c8
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.368GHz-1.3v.dts
|
||||
@@ -0,0 +1,67 @@
|
||||
+// DT overlay for CPU frequency operating points to 1.3GHz at a maximum CPU voltage of 1.3v
|
||||
+
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ fragment@0 {
|
||||
+ target = <&cpu0_opp_table>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ compatible = "operating-points-v2";
|
||||
+ opp-shared;
|
||||
+
|
||||
+ // in order to match the DT cooling-maps, update the existing OP table in-place
|
||||
+ // with the new voltages
|
||||
+
|
||||
+ opp-1056000000 {
|
||||
+ opp-hz = /bits/ 64 <1056000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1104000000 {
|
||||
+ opp-hz = /bits/ 64 <1104000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1152000000 {
|
||||
+ opp-hz = /bits/ 64 <1152000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1200000000 {
|
||||
+ opp-hz = /bits/ 64 <1200000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1224000000 {
|
||||
+ opp-hz = /bits/ 64 <1224000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1248000000 {
|
||||
+ opp-hz = /bits/ 64 <1248000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1296000000 {
|
||||
+ opp-hz = /bits/ 64 <1296000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1368000000 {
|
||||
+ opp-hz = /bits/ 64 <1368000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
diff --git a/arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.3GHz-1.3v.dts b/arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.3GHz-1.3v.dts
|
||||
new file mode 100644
|
||||
index 000000000..413222831
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/overlay/sun8i-h3-cpu-clock-1.3GHz-1.3v.dts
|
||||
@@ -0,0 +1,61 @@
|
||||
+// DT overlay for CPU frequency operating points to 1.3GHz at a maximum CPU voltage of 1.3v
|
||||
+
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ fragment@0 {
|
||||
+ target = <&cpu0_opp_table>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ compatible = "operating-points-v2";
|
||||
+ opp-shared;
|
||||
+
|
||||
+ // in order to match the DT cooling-maps, update the existing OP table in-place
|
||||
+ // with the new voltages
|
||||
+
|
||||
+ opp-1056000000 {
|
||||
+ opp-hz = /bits/ 64 <1056000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1104000000 {
|
||||
+ opp-hz = /bits/ 64 <1104000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1152000000 {
|
||||
+ opp-hz = /bits/ 64 <1152000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1200000000 {
|
||||
+ opp-hz = /bits/ 64 <1200000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1224000000 {
|
||||
+ opp-hz = /bits/ 64 <1224000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1248000000 {
|
||||
+ opp-hz = /bits/ 64 <1248000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1296000000 {
|
||||
+ opp-hz = /bits/ 64 <1296000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
From ca3d89bc067bddf84cb5ca182abfda9cebfab37a Mon Sep 17 00:00:00 2001
|
||||
From: hehopmajieh <hehopmajieh@debian.bg>
|
||||
Date: Thu, 19 Mar 2020 10:40:44 +0200
|
||||
Subject: [PATCH 32/50] arm:dts:sun5i-a13-olinuxino Add panel lcd-olinuxino-4.3
|
||||
needed to fix overlay tests
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun5i-a13-olinuxino.dts | 79 +++++++++++++----------
|
||||
1 file changed, 44 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
||||
index fadeae3cd..d015a24c6 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
||||
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts
|
||||
@@ -48,6 +48,7 @@
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/pwm/pwm.h>
|
||||
|
||||
/ {
|
||||
model = "Olimex A13-Olinuxino";
|
||||
@@ -72,40 +73,28 @@ led {
|
||||
};
|
||||
};
|
||||
|
||||
- bridge {
|
||||
- compatible = "dumb-vga-dac";
|
||||
+ lcd_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>;
|
||||
+ };
|
||||
+
|
||||
+ panel: panel {
|
||||
+ compatible = "olimex,lcd-olinuxino-4.3";
|
||||
+ backlight = <&lcd_backlight>;
|
||||
+ enable-gpios = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; /* AXP GPIO0 */
|
||||
+ pinctrl-names = "default";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ port {
|
||||
+ panel_input: endpoint {
|
||||
+ remote-endpoint = <&tcon0_out_lcd>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
|
||||
- ports {
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
-
|
||||
- port@0 {
|
||||
- reg = <0>;
|
||||
-
|
||||
- vga_bridge_in: endpoint {
|
||||
- remote-endpoint = <&tcon0_out_vga>;
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- port@1 {
|
||||
- reg = <1>;
|
||||
-
|
||||
- vga_bridge_out: endpoint {
|
||||
- remote-endpoint = <&vga_con_in>;
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
-
|
||||
- vga {
|
||||
- compatible = "vga-connector";
|
||||
-
|
||||
- port {
|
||||
- vga_con_in: endpoint {
|
||||
- remote-endpoint = <&vga_bridge_out>;
|
||||
- };
|
||||
- };
|
||||
- };
|
||||
};
|
||||
|
||||
&be0 {
|
||||
@@ -130,6 +119,11 @@ axp209: pmic@34 {
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
+ axp_gpio:gpio{
|
||||
+ compatible = "x-powers,axp209-gpio";
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <2>;
|
||||
+ };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -221,12 +215,18 @@ &tcon0 {
|
||||
};
|
||||
|
||||
&tcon0_out {
|
||||
- tcon0_out_vga: endpoint@0 {
|
||||
+ tcon0_out_lcd: endpoint@0 {
|
||||
reg = <0>;
|
||||
- remote-endpoint = <&vga_bridge_in>;
|
||||
+ remote-endpoint = <&panel_input>;
|
||||
};
|
||||
};
|
||||
|
||||
+&pwm {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pwm0_pin>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pg_pins>;
|
||||
@@ -245,3 +245,12 @@ &usbphy {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&rtp {
|
||||
+ allwinner,ts-attached;
|
||||
+ #thermal-sensor-cells = <0>;
|
||||
+ /* sensitive/noisy touch panel */
|
||||
+ touchscreen-inverted-x;
|
||||
+ allwinner,tp-sensitive-adjust = <0>;
|
||||
+ allwinner,filter-type = <3>;
|
||||
+};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
From 829d015737ee1a46845e42b6422396f49c5eeeec Mon Sep 17 00:00:00 2001
|
||||
From: Mitko Gamishev <hehopmajieh@debian.bg>
|
||||
Date: Wed, 5 Feb 2020 15:00:25 +0200
|
||||
Subject: [PATCH 31/50] arm:dts:sun5i-a13-olinuxino-micro add panel
|
||||
lcd-olinuxino-4.3
|
||||
|
||||
---
|
||||
.../boot/dts/sun5i-a13-olinuxino-micro.dts | 62 ++++++++++++++++++-
|
||||
1 file changed, 60 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
|
||||
index bfe1075e6..32874f6a5 100644
|
||||
--- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts
|
||||
@@ -44,7 +44,7 @@
|
||||
/dts-v1/;
|
||||
#include "sun5i-a13.dtsi"
|
||||
#include "sunxi-common-regulators.dtsi"
|
||||
-
|
||||
+#include <dt-bindings/pwm/pwm.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
@@ -70,6 +70,40 @@ led {
|
||||
default-state = "on";
|
||||
};
|
||||
};
|
||||
+
|
||||
+ 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>;
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ panel: panel {
|
||||
+ compatible = "olimex,lcd-olinuxino-4.3";
|
||||
+ backlight = <&backlight>;
|
||||
+ enable-gpios = <&pio 1 10 GPIO_ACTIVE_HIGH>; /* PB10 */
|
||||
+ pinctrl-names = "default";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ port {
|
||||
+ panel_input: endpoint {
|
||||
+ remote-endpoint = <&tcon0_out_lcd>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+
|
||||
+
|
||||
+&be0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
@@ -117,10 +151,28 @@ ®_usb0_vbus {
|
||||
};
|
||||
|
||||
®_usb1_vbus {
|
||||
- gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>;
|
||||
+ gpio = <&pio 2 19 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&tcon0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&lcd_rgb666_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+&tcon0_out {
|
||||
+ tcon0_out_lcd: endpoint@0 {
|
||||
+ reg = <0>;
|
||||
+ remote-endpoint = <&panel_input>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&pwm {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pwm0_pin>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pg_pins>;
|
||||
@@ -139,3 +191,9 @@ &usbphy {
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&rtp {
|
||||
+ allwinner,ts-attached;
|
||||
+ touchscreen-inverted-x;
|
||||
+};
|
||||
+
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
From a0cef4901bc0a988ba415189eddc0da8c0b467db Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Sun, 23 Jan 2022 22:32:07 +0300
|
||||
Subject: [PATCH 070/101] arm:dts:sun7i-a20 Disable OOB IRQ for brcm-wifi on
|
||||
Cubietruck and Banana-Pro
|
||||
|
||||
While doing some brcmfmac driver work I needed to test this also on some
|
||||
devicetree based boards. So I fired up the good old Cubietruck and when
|
||||
that would not work a Banana Pro.
|
||||
|
||||
With an unmodified 4.17 kernel both boards intermittently would come up
|
||||
with non working wifi with the following errors:
|
||||
|
||||
brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
|
||||
brcmfmac: brcmf_bus_started: failed: -110
|
||||
brcmfmac: brcmf_attach: dongle is not responding: err=-110
|
||||
brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed
|
||||
|
||||
They would come up this way more often then with actual working wifi,
|
||||
once this problem happens it seems to require a power-cycle to fix.
|
||||
Once things work one can safely reboot without hitting the issue.
|
||||
|
||||
I've found that disabling OOB interrupts fixes this. This really is more
|
||||
of a workaround then a proper fix, but it makes the wifi reliable again
|
||||
and it does not have much of a downside.
|
||||
|
||||
Using an OOB IRQ instead of the sdio-IRQ mechanism is mostly important to
|
||||
allow the MMC controller to go into runtime-suspend which is not really an
|
||||
issue on these boards since they are (usually) not battery powered.
|
||||
|
||||
I've looked at recent brcmfmac and mmc-core changes which may explain this
|
||||
and I've not found anything. So the most likely culprit is the A20 external
|
||||
interrupt handling e.g. perhaps it is set to edge instead of level? Either
|
||||
way I do not have time to further investigate this.
|
||||
|
||||
BugLink: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=908438
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-bananapro.dts | 16 +++++++++++++---
|
||||
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 16 +++++++++++++---
|
||||
2 files changed, 26 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapro.dts b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
|
||||
index e22f0e8bb..e68748076 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-bananapro.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
|
||||
@@ -162,9 +162,19 @@ &mmc3 {
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
- interrupt-parent = <&pio>;
|
||||
- interrupts = <7 15 IRQ_TYPE_LEVEL_LOW>;
|
||||
- interrupt-names = "host-wake";
|
||||
+ /*
|
||||
+ * OOB interrupt support is broken ATM, often the first irq
|
||||
+ * does not get seen resulting in the drv probe failing with:
|
||||
+ *
|
||||
+ * brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
|
||||
+ * brcmfmac: brcmf_bus_started: failed: -110
|
||||
+ * brcmfmac: brcmf_attach: dongle is not responding: err=-110
|
||||
+ * brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed
|
||||
+ *
|
||||
+ * interrupt-parent = <&pio>;
|
||||
+ * interrupts = <7 15 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ * interrupt-names = "host-wake";
|
||||
+ */
|
||||
};
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
index 52160e368..525cb7fcc 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
@@ -213,9 +213,19 @@ &mmc3 {
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
- interrupt-parent = <&pio>;
|
||||
- interrupts = <7 10 IRQ_TYPE_LEVEL_LOW>; /* PH10 / EINT10 */
|
||||
- interrupt-names = "host-wake";
|
||||
+ /*
|
||||
+ * OOB interrupt support is broken ATM, often the first irq
|
||||
+ * does not get seen resulting in the drv probe failing with:
|
||||
+ *
|
||||
+ * brcmfmac: brcmf_sdio_bus_rxctl: resumed on timeout
|
||||
+ * brcmfmac: brcmf_bus_started: failed: -110
|
||||
+ * brcmfmac: brcmf_attach: dongle is not responding: err=-110
|
||||
+ * brcmfmac: brcmf_sdio_firmware_callback: brcmf_attach failed
|
||||
+ *
|
||||
+ * interrupt-parent = <&pio>;
|
||||
+ * interrupts = <7 10 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ * interrupt-names = "host-wake";
|
||||
+ */
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
From 927ca4b6c7648cd69605ca95bf87bea310e27e3b Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 15:15:19 +0300
|
||||
Subject: [PATCH 7/8] arm:dts: sun7i-a20-bananapro add hdmi-connector, de
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-bananapro.dts | 26 +++++++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-bananapro.dts b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
|
||||
index e68748076..10ee53fba 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-bananapro.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-bananapro.dts
|
||||
@@ -60,6 +60,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@@ -91,6 +102,7 @@ reg_gmac_3v3: gmac-3v3 {
|
||||
};
|
||||
|
||||
&ahci {
|
||||
+ target-supply = <®_ahci_5v>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -98,6 +110,10 @@ &codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -115,6 +131,16 @@ &gmac {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&hdmi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
@@ -227,3 +253,7 @@ &usbphy {
|
||||
usb2_vbus-supply = <®_usb2_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+®_ahci_5v {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From 1e7f21b847b5f583f950aee5538320cee1b9c085 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 11:38:08 +0300
|
||||
Subject: [PATCH 2/4] arm:dts: sun7i-a20-cubietruck add alias uart2
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-cubietruck.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
index df428f29b..a3d169c43 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts
|
||||
@@ -55,6 +55,7 @@ / {
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
+ serial2 = &uart2;
|
||||
};
|
||||
|
||||
chosen {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
From d422739871bc6014f698218a13b67ec8bb63e537 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Wed, 24 Jun 2020 20:53:36 +0300
|
||||
Subject: [PATCH 36/50] arm:dts:sun7i-a20: olimex-som(204)-evb,olinuxino-micro
|
||||
decrease dcdc2 min voltage
|
||||
|
||||
fixes some kernel crashes
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts | 2 +-
|
||||
arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts | 2 +-
|
||||
arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts b/arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts
|
||||
index f05ee32bc..e1867190c 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olimex-som-evb.dts
|
||||
@@ -247,7 +247,7 @@ ®_ahci_5v {
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
- regulator-min-microvolt = <1000000>;
|
||||
+ regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts b/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts
|
||||
index 54af6c180..ae3aa1055 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olimex-som204-evb.dts
|
||||
@@ -218,7 +218,7 @@ ®_ahci_5v {
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
- regulator-min-microvolt = <1000000>;
|
||||
+ regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
index a1b89b2a2..7077ceea7 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts
|
||||
@@ -268,7 +268,7 @@ &battery_power_supply {
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
- regulator-min-microvolt = <1000000>;
|
||||
+ regulator-min-microvolt = <1300000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From a69ef0e4a85c72bc7aed65966384fb41e6fecbaa Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Wed, 3 Jun 2020 13:49:44 +0300
|
||||
Subject: [PATCH 34/50] arm:dts:sun7i-a20-olinuxino-lime2 enable audio codec
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
|
||||
index ecb91fb89..e0174ca48 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
|
||||
@@ -96,6 +96,10 @@ &ahci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&codec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 04522e7055f1daa108469209c61ff5b4968a564f Mon Sep 17 00:00:00 2001
|
||||
From: hehopmajieh <hehopmajieh@debian.bg>
|
||||
Date: Tue, 16 Jun 2020 15:40:59 +0300
|
||||
Subject: [PATCH 35/50] arm:dts:sun7i-a20-olinuxino-lime2 enable ldo3 always-on
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
|
||||
index e0174ca48..ae710f785 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts
|
||||
@@ -237,10 +237,10 @@ ®_ldo2 {
|
||||
};
|
||||
|
||||
®_ldo3 {
|
||||
+ regulator-always-on;
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-name = "vddio-csi0";
|
||||
- regulator-soft-start;
|
||||
regulator-ramp-delay = <1600>;
|
||||
};
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From 748abc09fbc74a2b2ed67e4d2ecbaa8c239c705a Mon Sep 17 00:00:00 2001
|
||||
From: hehopmajieh <hehopmajieh@debian.bg>
|
||||
Date: Tue, 14 Apr 2020 10:28:16 +0300
|
||||
Subject: [PATCH 33/50] arm:dts:sun7i-a20-olinuxino-micro-emmc Add vqmmc node
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts
|
||||
index 2337b44a8..c79e9ad02 100644
|
||||
--- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts
|
||||
+++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro-emmc.dts
|
||||
@@ -55,6 +55,7 @@ mmc2_pwrseq: pwrseq {
|
||||
|
||||
&mmc2 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
+ vqmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
mmc-pwrseq = <&mmc2_pwrseq>;
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From 20c12a00fa3d5f89cb149eed72041b79f630f2df Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 7 Feb 2022 19:15:17 +0300
|
||||
Subject: [PATCH 13/13] arm:dts: sun8i-h2-plus-orangepi-zero fix xradio
|
||||
interrupt
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
index f19ed981d..4120437a1 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
|
||||
@@ -49,6 +49,7 @@
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "Xunlong Orange Pi Zero";
|
||||
@@ -151,6 +152,10 @@ &mmc1 {
|
||||
*/
|
||||
xr819: sdio_wifi@1 {
|
||||
reg = <1>;
|
||||
+ compatible = "xradio,xr819";
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <6 10 IRQ_TYPE_EDGE_RISING>;
|
||||
+ interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
From 923a8dbcd63e1bbd547d3952e7cdf1b726cb8f2d Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 21:34:48 +0300
|
||||
Subject: [PATCH 37/50] arm:dts:sun8i-h3 add thermal zones
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-h3.dtsi | 70 ++++++++++++++++++++++++++-------
|
||||
1 file changed, 56 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
index e0aa7bf2f..1b02a4c3f 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||||
@@ -297,32 +297,74 @@ ths: thermal-sensor@1c25000 {
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
- cpu_thermal: cpu-thermal {
|
||||
- polling-delay-passive = <0>;
|
||||
- polling-delay = <0>;
|
||||
- thermal-sensors = <&ths 0>;
|
||||
+ cpu_thermal {
|
||||
+ /* milliseconds */
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
+ thermal-sensors = <&ths>;
|
||||
|
||||
trips {
|
||||
- cpu_hot_trip: cpu-hot {
|
||||
+ cpu_warm: cpu_warm {
|
||||
+ temperature = <75000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot_pre: cpu_hot_pre {
|
||||
temperature = <80000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
- cpu_very_hot_trip: cpu-very-hot {
|
||||
- temperature = <100000>;
|
||||
- hysteresis = <0>;
|
||||
+ cpu_hot: cpu_hot {
|
||||
+ temperature = <85000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot_pre: cpu_very_hot_pre {
|
||||
+ temperature = <90000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot: cpu_very_hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_crit: cpu_crit {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
- cpu-hot-limit {
|
||||
- trip = <&cpu_hot_trip>;
|
||||
- cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
- <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
- <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
- <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
+ cpu_warm_limit_cpu {
|
||||
+ trip = <&cpu_warm>;
|
||||
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT 2>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot_pre_limit_cpu {
|
||||
+ trip = <&cpu_hot_pre>;
|
||||
+ cooling-device = <&cpu0 2 3>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot_limit_cpu {
|
||||
+ trip = <&cpu_hot>;
|
||||
+ cooling-device = <&cpu0 3 4>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot_pre_limit_cpu {
|
||||
+ trip = <&cpu_very_hot_pre>;
|
||||
+ cooling-device = <&cpu0 5 6>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot_limit_cpu {
|
||||
+ trip = <&cpu_very_hot>;
|
||||
+ cooling-device = <&cpu0 7 THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 4cfa2969de97a9bef0fda836cb5b17c53b88dff0 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 15:06:34 +0300
|
||||
Subject: [PATCH 6/8] arm:dts:sun8i-h3-bananapi-m2-plus add wifi_pwrseq
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
|
||||
index 195a75da1..f3f324e66 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-bananapi-m2-plus.dts
|
||||
@@ -48,3 +48,8 @@ / {
|
||||
model = "Banana Pi BPI-M2-Plus H3";
|
||||
compatible = "sinovoip,bpi-m2-plus", "allwinner,sun8i-h3";
|
||||
};
|
||||
+
|
||||
+&wifi_pwrseq {
|
||||
+ clocks = <&rtc 1>;
|
||||
+ clock-names = "ext_clock";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
From 0a961113148851f72343d4bea906527b0a3352c8 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 14:14:41 +0300
|
||||
Subject: [PATCH 075/101] arm:dts: sun8i-h3-nanopi add leds pio pins
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-h3-nanopi.dtsi | 23 +++++++++++++++++++++++
|
||||
1 file changed, 23 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi b/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi
|
||||
index c7c3e7d8b..f57338e5a 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi
|
||||
@@ -59,6 +59,8 @@ chosen {
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&leds_npi>, <&leds_r_npi>;
|
||||
|
||||
led-0 {
|
||||
label = "nanopi:blue:status";
|
||||
@@ -76,6 +78,8 @@ led-1 {
|
||||
r_gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
input-name = "k1";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&sw_r_npi>;
|
||||
|
||||
k1 {
|
||||
label = "k1";
|
||||
@@ -100,6 +104,25 @@ &ohci3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&pio {
|
||||
+ leds_npi: led_pins {
|
||||
+ pins = "PA10";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&r_pio {
|
||||
+ leds_r_npi: led_pins {
|
||||
+ pins = "PL10";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+
|
||||
+ sw_r_npi: key_pins {
|
||||
+ pins = "PL3";
|
||||
+ function = "gpio_in";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pa_pins>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From acb82757ae19ccf235c18f31bd37d415734d8b45 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 7 Feb 2022 19:01:59 +0300
|
||||
Subject: [PATCH 11/13] arm:dts: sun8i-h3-orangepi-pc-plus add wifi_pwrseq
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
|
||||
index babf4cf1b..e1efbf1b1 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts
|
||||
@@ -51,10 +51,16 @@ aliases {
|
||||
/* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */
|
||||
ethernet1 = &rtl8189ftv;
|
||||
};
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 WIFI_EN */
|
||||
+ };
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From b60c7af6b6779013167086be5e0b21df7ecb00a0 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 15:01:30 +0300
|
||||
Subject: [PATCH 5/8] arm:dts: sun8i-r40 add clk_out_a fix bananam2ultra
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-r40.dtsi | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi
|
||||
index 5bb6e1530..767d41509 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-r40.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-r40.dtsi
|
||||
@@ -74,6 +74,23 @@ osc32k: osc32k {
|
||||
clock-accuracy = <20000>;
|
||||
clock-output-names = "ext-osc32k";
|
||||
};
|
||||
+
|
||||
+ osc24M_32k: clk@1 {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "fixed-factor-clock";
|
||||
+ clock-div = <732>;
|
||||
+ clock-mult = <1>;
|
||||
+ clocks = <&osc24M>;
|
||||
+ clock-output-names = "osc24M_32k";
|
||||
+ };
|
||||
+
|
||||
+ clk_out_a: clk@01c201f0 {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "allwinner,sun7i-a20-out-clk";
|
||||
+ reg = <0x01c201f0 0x4>;
|
||||
+ clocks = <&osc24M_32k>, <&osc32k>, <&osc24M>;
|
||||
+ clock-output-names = "clk_out_a";
|
||||
+ };
|
||||
};
|
||||
|
||||
cpus {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
From c42403109d01c176ce425083b08303c46961e822 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Tue, 25 Jan 2022 21:18:21 +0300
|
||||
Subject: [PATCH 101/101] arm:dts: sun8i-r40 bananapi-m2-ultra add codec analog
|
||||
|
||||
---
|
||||
.../boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 10 ++++++++++
|
||||
arch/arm/boot/dts/sun8i-r40.dtsi | 18 ++++++++++++++++++
|
||||
2 files changed, 28 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
|
||||
index 87cf03574..73370f20d 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts
|
||||
@@ -113,6 +113,16 @@ &ahci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&codec {
|
||||
+ allwinner,audio-routing =
|
||||
+ "Headphone", "HP",
|
||||
+ "Headphone", "HPCOM",
|
||||
+ "MIC1", "Mic",
|
||||
+ "Mic", "MBIAS";
|
||||
+ allwinner,codec-analog-controls = <&codec_analog>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi
|
||||
index 4f42e3c4b..5bb6e1530 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-r40.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-r40.dtsi
|
||||
@@ -800,6 +800,24 @@ ths: thermal-sensor@1c24c00 {
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
|
||||
+ codec: codec@1c22c00 {
|
||||
+ #sound-dai-cells = <1>;
|
||||
+ compatible = "allwinner,sun8i-h3-codec";
|
||||
+ reg = <0x01c22c00 0x300>;
|
||||
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_CODEC>;
|
||||
+ clock-names = "apb", "codec";
|
||||
+ resets = <&ccu RST_BUS_CODEC>;
|
||||
+ dmas = <&dma 19>, <&dma 19>;
|
||||
+ dma-names = "rx", "tx";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ codec_analog: codec-analog@1c22f00 {
|
||||
+ compatible = "allwinner,sun8i-a23-codec-analog";
|
||||
+ reg = <0x01c22f00 0x4>;
|
||||
+ };
|
||||
+
|
||||
uart0: serial@1c28000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c28000 0x400>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
From 3437123f7c1b5b717efc79c604273a0661937cb2 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 12:58:57 +0300
|
||||
Subject: [PATCH 3/4] arm:dts: sun8i-v3s/s3-pinecube enable sound codec
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-s3-pinecube.dts | 14 ++++++++++++++
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 14 ++++++++++++++
|
||||
2 files changed, 28 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-s3-pinecube.dts b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
|
||||
index 20966e954..773ad0503 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-s3-pinecube.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
|
||||
@@ -58,6 +58,20 @@ wifi_pwrseq: wifi_pwrseq {
|
||||
};
|
||||
};
|
||||
|
||||
+
|
||||
+&i2s0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ allwinner,audio-routing =
|
||||
+ "Speaker", "LINEOUT",
|
||||
+ "MIC1", "Mic",
|
||||
+ "Mic", "MBIAS";
|
||||
+ allwinner,pa-gpios = <&pio 6 6 GPIO_ACTIVE_HIGH>; /* PG6 */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&csi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&csi1_8bit_pins>;
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index b30bc1a25..74be87254 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -469,6 +469,20 @@ codec_analog: codec-analog@1c23000 {
|
||||
reg = <0x01c23000 0x4>;
|
||||
};
|
||||
|
||||
+
|
||||
+ i2s0: i2s@1c22000 {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ compatible = "allwinner,sun8i-h3-i2s";
|
||||
+ reg = <0x01c22000 0x400>;
|
||||
+ interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>;
|
||||
+ clock-names = "apb", "mod";
|
||||
+ dmas = <&dma 3>, <&dma 3>;
|
||||
+ resets = <&ccu RST_BUS_I2S0>; /* TODO: Areset/sun8i-v3s-ccu says this isn't available on V3s */
|
||||
+ dma-names = "rx", "tx";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
uart0: serial@1c28000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x01c28000 0x400>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 116680ba94f5bb5fe6fabfdbb237cdc97d2fd08b Mon Sep 17 00:00:00 2001
|
||||
From: Philipp Rossak <embed3d@gmail.com>
|
||||
Date: Sat, 27 Jan 2018 21:30:16 +0100
|
||||
Subject: [PATCH 057/101] arm:dts: sun9i-a80 add thermal sensor
|
||||
|
||||
As we have gained the support for the thermal sensor in A80,
|
||||
we can now add its device nodes to the device tree.
|
||||
|
||||
The clocks and the resets are shared between the GPADC and the THS
|
||||
sensor.
|
||||
|
||||
Signed-off-by: Philipp Rossak <embed3d@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun9i-a80.dtsi | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun9i-a80.dtsi b/arch/arm/boot/dts/sun9i-a80.dtsi
|
||||
index ce4fa6706..ebffbc506 100644
|
||||
--- a/arch/arm/boot/dts/sun9i-a80.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun9i-a80.dtsi
|
||||
@@ -941,6 +941,17 @@ ccu: clock@6000000 {
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
+ ths: thermal-sensor@6004C00 {
|
||||
+ compatible = "allwinner,sun9i-a80-ths";
|
||||
+ reg = <0x06004C00 0x100>;
|
||||
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_GPADC>, <&ccu CLK_GPADC>;
|
||||
+ clock-names = "bus", "mod";
|
||||
+ resets = <&ccu RST_BUS_GPADC>;
|
||||
+ #thermal-sensor-cells = <1>;
|
||||
+ #io-channel-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
timer@6000c00 {
|
||||
compatible = "allwinner,sun4i-a10-timer";
|
||||
reg = <0x06000c00 0xa0>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
From cfdc927d7c1779223f8c9444b9e305f23327af10 Mon Sep 17 00:00:00 2001
|
||||
From: Philipp Rossak <embed3d@gmail.com>
|
||||
Date: Sat, 27 Jan 2018 21:39:09 +0100
|
||||
Subject: [PATCH 058/101] arm:dts: sun9i-a80 add thermal zone
|
||||
|
||||
This patch adds the thermal zones to the A80.
|
||||
|
||||
Sensor 0 is located besides the big CPU, sensor 1 is located besides the
|
||||
DRAM, sensor 2 is located besides the GPU and sensor 3 is located besides
|
||||
the small CPU.
|
||||
|
||||
Signed-off-by: Philipp Rossak <embed3d@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/sun9i-a80.dtsi | 26 ++++++++++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun9i-a80.dtsi b/arch/arm/boot/dts/sun9i-a80.dtsi
|
||||
index ebffbc506..c34b463fe 100644
|
||||
--- a/arch/arm/boot/dts/sun9i-a80.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun9i-a80.dtsi
|
||||
@@ -1262,4 +1262,30 @@ r_rsb: rsb@8003400 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+ thermal-zones {
|
||||
+ cpu0_thermal: cpu0-thermal {
|
||||
+ polling-delay-passive = <1000>;
|
||||
+ polling-delay = <5000>;
|
||||
+ thermal-sensors = <&ths 0>;
|
||||
+ };
|
||||
+
|
||||
+ dram_thermal: dram-thermal {
|
||||
+ polling-delay-passive = <1000>;
|
||||
+ polling-delay = <5000>;
|
||||
+ thermal-sensors = <&ths 1>;
|
||||
+ };
|
||||
+
|
||||
+ gpu_thermal: gpu-thermal {
|
||||
+ polling-delay-passive = <1000>;
|
||||
+ polling-delay = <5000>;
|
||||
+ thermal-sensors = <&ths 2>;
|
||||
+ };
|
||||
+
|
||||
+ cpu2_thermal: cpu2-thermal {
|
||||
+ polling-delay-passive = <1000>;
|
||||
+ polling-delay = <5000>;
|
||||
+ thermal-sensors = <&ths 3>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From f98daf0fcb8836213da442ccfba97e1ce2a336de Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Tue, 1 Feb 2022 19:43:08 +0300
|
||||
Subject: [PATCH 30/50] arm:dts:sunxi-h3-h5.dtsi add i2s0 i2s1 pins
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sunxi-h3-h5.dtsi | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
index 422a5bbbc..a8f849e28 100644
|
||||
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
@@ -458,6 +458,16 @@ i2c2_pins: i2c2-pins {
|
||||
function = "i2c2";
|
||||
};
|
||||
|
||||
+ i2s0_pins: i2s0-pins {
|
||||
+ pins = "PA18", "PA19", "PA20", "PA21";
|
||||
+ function = "i2s0";
|
||||
+ };
|
||||
+
|
||||
+ i2s1_pins: i2s1-pins {
|
||||
+ pins = "PG10", "PG11", "PG12", "PG13";
|
||||
+ function = "i2s1";
|
||||
+ };
|
||||
+
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1", "PF2", "PF3",
|
||||
"PF4", "PF5";
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From 178284aea1769c4aed0e73a880bbf4fd87b2d0ad Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 16:12:37 +0300
|
||||
Subject: [PATCH 4/4] arm:dts: sunxi-h3-h5.dtsi force mmc0 bus-width
|
||||
|
||||
---
|
||||
arch/arm/boot/dts/sunxi-h3-h5.dtsi | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sunxi-h3-h5.dtsi b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
index fe9268f70..422a5bbbc 100644
|
||||
--- a/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
+++ b/arch/arm/boot/dts/sunxi-h3-h5.dtsi
|
||||
@@ -220,6 +220,7 @@ mmc0: mmc@1c0f000 {
|
||||
resets = <&ccu RST_BUS_MMC0>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ bus-width = <0x4>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,429 @@
|
||||
From 64fb06b24f8d73e8c88c188668587317215f7b56 Mon Sep 17 00:00:00 2001
|
||||
From: wuweidong <625769020@qq.com>
|
||||
Date: Mon, 27 Nov 2017 10:23:51 +0800
|
||||
Subject: [PATCH 084/101] arm64:dts: Add sun50i-h5-nanopi-k1-plus device
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
.../allwinner/sun50i-h5-nanopi-k1-plus.dts | 396 ++++++++++++++++++
|
||||
2 files changed, 397 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index 14053c566..ce5eecc6b 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -27,6 +27,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-plus2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-r1s-h5.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-k1-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts
|
||||
new file mode 100644
|
||||
index 000000000..b7045a9ef
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts
|
||||
@@ -0,0 +1,396 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2016 ARM Ltd.
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "sun50i-h5.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyElec NanoPi K1 Plus";
|
||||
+ compatible = "friendlyelec,nanopi-k1-plus", "allwinner,sun50i-h5";
|
||||
+
|
||||
+ reg_vcc3v3: vcc3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ status {
|
||||
+ label = "nanopi:green:status";
|
||||
+ gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ };
|
||||
+ pwr {
|
||||
+ label = "nanopi:red:pwr";
|
||||
+ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
+ default-state = "on";
|
||||
+ };
|
||||
+
|
||||
+ };
|
||||
+
|
||||
+ r-gpio-keys {
|
||||
+ compatible = "gpio-keys";
|
||||
+
|
||||
+ sw4 {
|
||||
+ label = "sw4";
|
||||
+ linux,code = <BTN_0>;
|
||||
+ gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_gmac_3v3: gmac-3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&gmac_power_pin_nanopi>;
|
||||
+ regulator-name = "gmac-3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ startup-delay-us = <100000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb0_vbus: usb0-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb0-vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&wifi_en_npi>;
|
||||
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+
|
||||
+ rfkill_bt {
|
||||
+ compatible = "rfkill-gpio";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&bt_pwr_pin>;
|
||||
+ reset-gpios = <&pio 6 13 GPIO_ACTIVE_HIGH>; /* PG13 */
|
||||
+ clocks = <&osc32k>;
|
||||
+ clock-frequency = <32768>;
|
||||
+ rfkill-name = "sunxi-bt";
|
||||
+ rfkill-type = "bluetooth";
|
||||
+ };
|
||||
+
|
||||
+ pcm5102a: pcm5102a-codec {
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ compatible = "ti,pcm5102a";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ allwinner,audio-routing =
|
||||
+ "Line Out", "LINEOUT",
|
||||
+ "MIC1", "Mic",
|
||||
+ "Mic", "MBIAS";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&external_mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
+ allwinner,leds-active-low;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ir {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&r_ir_rx_pin>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ vqmmc-supply = <®_vcc3v3>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+ brcmf: bcrmf@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "brcm,bcm4329-fmac";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ boot_device = <0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc2_8bit_pins {
|
||||
+ /* Increase drive strength for DDR modes */
|
||||
+ drive-strength = <40>;
|
||||
+ /* eMMC is missing pull-ups */
|
||||
+ bias-pull-up;
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+
|
||||
+&pio {
|
||||
+ leds_npi: led_pins@0 {
|
||||
+ pins = "PA10";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+ gmac_power_pin_nanopi: gmac_power_pin@0 {
|
||||
+ pins = "PD6";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+ bt_pwr_pin: bt_pwr_pin@0 {
|
||||
+ pins = "PG13";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+ spi0_cs_pins: spi0_cs_pins {
|
||||
+ pins = "PC3", "PA6";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+};
|
||||
+&r_pio {
|
||||
+ leds_r_npi: led_pins@0 {
|
||||
+ pins = "PL10";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+ vdd_cpux_r_npi: regulator_pins@0 {
|
||||
+ allwinner,pins = "PL6";
|
||||
+ allwinner,function = "gpio_out";
|
||||
+ allwinner,drive = <SUN4I_PINCTRL_10_MA>;
|
||||
+ allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
|
||||
+ };
|
||||
+ wifi_en_npi: wifi_en_pin {
|
||||
+ pins = "PL7";
|
||||
+ function = "gpio_out";
|
||||
+ };
|
||||
+};
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+
|
||||
+&r_i2c {
|
||||
+ status = "okay";
|
||||
+ reg_vdd_cpux: regulator@65 {
|
||||
+ compatible = "silergy,sy8106a";
|
||||
+ reg = <0x65>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ silergy,fixed-microvolt = <1200000>;
|
||||
+ /*
|
||||
+ * The datasheet uses 1.1V as the minimum value of VDD-CPUX,
|
||||
+ * however both the Armbian DVFS table and the official one
|
||||
+ * have operating points with voltage under 1.1V, and both
|
||||
+ * DVFS table are known to work properly at the lowest
|
||||
+ * operating point.
|
||||
+ *
|
||||
+ * Use 1.0V as the minimum voltage instead.
|
||||
+ */
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1400000>;
|
||||
+ regulator-ramp-delay = <200>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ status = "okay";
|
||||
+ spi-flash@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>; /* Chip select 0 */
|
||||
+ spi-max-frequency = <10000000>;
|
||||
+ status = "okay";
|
||||
+ partitions {
|
||||
+ compatible = "fixed-partitions";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ partition@0 {
|
||||
+ label = "uboot";
|
||||
+ reg = <0x0 0x100000>;
|
||||
+ };
|
||||
+ partition@100000 {
|
||||
+ label = "env";
|
||||
+ reg = <0x100000 0x100000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pa_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart2_pins>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&uart3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart3_pins>, <&uart3_rts_cts_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+&usb_otg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ /* USB Type-A ports' VBUS is always on */
|
||||
+ usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
|
||||
+ usb0_vbus-supply = <®_usb0_vbus>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2s0 {
|
||||
+ sound-dai = <&pcm5102a>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
\ No newline at end of file
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,272 @@
|
||||
From af8c23904928a74f0cf6c6feb83bee029a0385a0 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 18:54:36 +0300
|
||||
Subject: [PATCH 087/101] arm64:dts: Add sun50i-h5-nanopi-m1-plus2 device
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
.../allwinner/sun50i-h5-nanopi-m1-plus2.dts | 240 ++++++++++++++++++
|
||||
2 files changed, 241 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-m1-plus2.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index e9eb00b9f..f8301e431 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -30,6 +30,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-core2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-r1s-h5.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-k1-plus.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-m1-plus2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-prime.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-m1-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-m1-plus2.dts
|
||||
new file mode 100644
|
||||
index 000000000..d051382cc
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-m1-plus2.dts
|
||||
@@ -0,0 +1,240 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+ * Copyright (C) 2017 Armbian
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "sun50i-h5.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyARM Nanopi M1 Plus 2";
|
||||
+ compatible = "friendlyarm,nanopi-neo2", "allwinner,sun50i-h5";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ pwr {
|
||||
+ label = "nanopi:green:pwr";
|
||||
+ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
+ default-state = "on";
|
||||
+ };
|
||||
+
|
||||
+ status {
|
||||
+ label = "nanopi:blue:status";
|
||||
+ gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_gmac_3v3: gmac-3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "gmac-3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ startup-delay-us = <100000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc3v3: vcc3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb0_vbus: usb0-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb0-vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||||
+ post-power-on-delay-ms = <50>;
|
||||
+ };
|
||||
+
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@7 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <7>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ vqmmc-supply = <®_vcc3v3>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ brcmf: brcmf@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "brcm,bcm4329-fmac";
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 */
|
||||
+ interrupt-names = "host-wake";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&wifi_wake>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mixer0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_pio {
|
||||
+ wifi_wake: wifi_wake@0 {
|
||||
+ pins = "PL7";
|
||||
+ function = "irq";
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&tcon0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_i2c {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pa_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "peripheral";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ /* USB Type-A port's VBUS is always on */
|
||||
+ usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
|
||||
+ usb0_vbus-supply = <®_usb0_vbus>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,242 @@
|
||||
From 1ab94f02fbdb45f3a4de71c4adc09a99e3e6cad7 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 18:43:42 +0300
|
||||
Subject: [PATCH 085/101] arm64:dts: Add sun50i-h5-nanopi-neo-core2 device
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
.../allwinner/sun50i-h5-nanopi-neo-core2.dts | 210 ++++++++++++++++++
|
||||
2 files changed, 211 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-core2.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index ce5eecc6b..d29fba472 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -25,6 +25,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-libretech-all-h3-it.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-libretech-all-h5-cc.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-plus2.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-core2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-r1s-h5.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-pc2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-k1-plus.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-core2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-core2.dts
|
||||
new file mode 100644
|
||||
index 000000000..57283cc16
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-core2.dts
|
||||
@@ -0,0 +1,210 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2017 Antony Antony <antony@phenome.org>
|
||||
+ * Copyright (C) 2016 ARM Ltd.
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "sun50i-h5.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyARM NanoPi NEO Core2";
|
||||
+ compatible = "friendlyarm,nanopi-neo-core2", "allwinner,sun50i-h5";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ pwr {
|
||||
+ label = "nanopi:red:pwr";
|
||||
+ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
|
||||
+ linux,default-trigger = "default-on";
|
||||
+ };
|
||||
+
|
||||
+ status {
|
||||
+ label = "nanopi:green:status";
|
||||
+ gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_gmac_3v3: gmac-3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ pinctrl-names = "default";
|
||||
+ regulator-name = "gmac-3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ startup-delay-us = <100000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc3v3: vcc3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ pinctrl-names = "default";
|
||||
+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ allwinner,audio-routing =
|
||||
+ "Line Out", "LINEOUT",
|
||||
+ "MIC1", "Mic",
|
||||
+ "Mic", "MBIAS";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&external_mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@7 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <7>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ vqmmc-supply = <®_vcc3v3>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ brcmf: wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ compatible = "brcm,bcm4329-fmac";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_i2c {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ vdd_cpux: regulator@65 {
|
||||
+ compatible = "silergy,sy8106a";
|
||||
+ reg = <0x65>;
|
||||
+ silergy,fixed-microvolt = <1000000>;
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1400000>;
|
||||
+ regulator-ramp-delay = <200>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pa_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ /* USB Type-A ports' VBUS is always on */
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,212 @@
|
||||
From 4f3c08d1a3bb88a6dbe924f49ca382cdbee74c02 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 18:49:55 +0300
|
||||
Subject: [PATCH 086/101] arm64:dts: Add sun50i-h5-nanopi-neo2-v1.1 device
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
.../allwinner/sun50i-h5-nanopi-neo2-v1.1.dts | 180 ++++++++++++++++++
|
||||
2 files changed, 181 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2-v1.1.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index d29fba472..e9eb00b9f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -24,6 +24,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-libretech-all-h3-cc.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-libretech-all-h3-it.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-libretech-all-h5-cc.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo2-v1.1.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-plus2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-neo-core2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-nanopi-r1s-h5.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2-v1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2-v1.1.dts
|
||||
new file mode 100644
|
||||
index 000000000..06ffbbd29
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2-v1.1.dts
|
||||
@@ -0,0 +1,180 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use,
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "sun50i-h5.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "FriendlyARM NanoPi NEO 2";
|
||||
+ compatible = "friendlyarm,nanopi-neo2", "allwinner,sun50i-h5";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ pwr {
|
||||
+ label = "nanopi:red:pwr";
|
||||
+ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
|
||||
+ linux,default-trigger = "default-on";
|
||||
+ };
|
||||
+
|
||||
+ status {
|
||||
+ label = "nanopi:green:status";
|
||||
+ gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_gmac_3v3: gmac-3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "gmac-3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ startup-delay-us = <100000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc3v3: vcc3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
+ vdd_cpux: gpio-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ pinctrl-names = "default";
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-ramp-delay = <50>; /* 4ms */
|
||||
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ gpios-states = <0x1>;
|
||||
+ states = <1100000 0x0
|
||||
+ 1300000 0x1>;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb0_vbus: usb0-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb0-vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&external_mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@7 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <7>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pa_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ /* USB Type-A port's VBUS is always on */
|
||||
+ usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
|
||||
+ usb0_vbus-supply = <®_usb0_vbus>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,292 @@
|
||||
From 4834c59f7a14e9736dcc432c7bec7507d1547a8d Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Fri, 27 Nov 2020 15:28:40 +0000
|
||||
Subject: [PATCH 031/101] arm64:dts: Add sun50i-h616-orangepi-zero2 device
|
||||
|
||||
The OrangePi Zero 2 is a development board with the new H616 SoC. It
|
||||
comes with the following features:
|
||||
- Four ARM Cortex-A53 cores, Mali-G31 MP2 GPU
|
||||
- 512MiB/1GiB DDR3 DRAM
|
||||
- AXP305 PMIC
|
||||
- Raspberry-Pi-1 compatible GPIO header
|
||||
- extra 13 pin expansion header, exposing pins for 2x USB 2.0 ports
|
||||
- 1 USB 2.0 host port
|
||||
- 1 USB 2.0 type C port (power supply + OTG)
|
||||
- MicroSD slot
|
||||
- on-board 2MiB bootable SPI NOR flash
|
||||
- 1Gbps Ethernet port (via RTL8211F PHY)
|
||||
- micro-HDMI port
|
||||
- unsupported Allwinner WiFi/BT chip
|
||||
|
||||
For more details see: https://linux-sunxi.org/Orange_Pi_Zero_2
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
.../allwinner/sun50i-h616-orangepi-zero2.dts | 245 ++++++++++++++++++
|
||||
2 files changed, 246 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index a96d9d2d8..62f8d43cf 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -38,3 +38,4 @@ 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-tanix-tx6-mini.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
new file mode 100644
|
||||
index 000000000..a26201288
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
@@ -0,0 +1,245 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2020 Arm Ltd.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-h616.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
+#include <dt-bindings/leds/common.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "OrangePi Zero2";
|
||||
+ compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac0;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led-0 {
|
||||
+ function = LED_FUNCTION_POWER;
|
||||
+ color = <LED_COLOR_ID_RED>;
|
||||
+ gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12 */
|
||||
+ default-state = "on";
|
||||
+ };
|
||||
+
|
||||
+ led-1 {
|
||||
+ function = LED_FUNCTION_STATUS;
|
||||
+ color = <LED_COLOR_ID_GREEN>;
|
||||
+ gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 */
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc5v: vcc5v {
|
||||
+ /* board wide 5V supply directly from the USB-C socket */
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-5v";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb1_vbus: usb1-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ vin-supply = <®_vcc5v>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* USB 2 & 3 are on headers only. */
|
||||
+
|
||||
+&emac0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ext_rgmii_pins>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-supply = <®_dcdce>;
|
||||
+ allwinner,rx-delay-ps = <3100>;
|
||||
+ allwinner,tx-delay-ps = <700>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mdio0 {
|
||||
+ ext_rgmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_dcdce>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_rsb {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp305: pmic@745 {
|
||||
+ compatible = "x-powers,axp305", "x-powers,axp805",
|
||||
+ "x-powers,axp806";
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <1>;
|
||||
+ reg = <0x745>;
|
||||
+
|
||||
+ x-powers,self-working-mode;
|
||||
+ vina-supply = <®_vcc5v>;
|
||||
+ vinb-supply = <®_vcc5v>;
|
||||
+ vinc-supply = <®_vcc5v>;
|
||||
+ vind-supply = <®_vcc5v>;
|
||||
+ vine-supply = <®_vcc5v>;
|
||||
+ aldoin-supply = <®_vcc5v>;
|
||||
+ bldoin-supply = <®_vcc5v>;
|
||||
+ cldoin-supply = <®_vcc5v>;
|
||||
+
|
||||
+ regulators {
|
||||
+ reg_aldo1: aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-sys";
|
||||
+ };
|
||||
+
|
||||
+ reg_aldo2: aldo2 { /* 3.3V on headers */
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3-ext";
|
||||
+ };
|
||||
+
|
||||
+ reg_aldo3: aldo3 { /* 3.3V on headers */
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3-ext2";
|
||||
+ };
|
||||
+
|
||||
+ reg_bldo1: bldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc1v8";
|
||||
+ };
|
||||
+
|
||||
+ bldo2 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ bldo3 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ bldo4 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ cldo1 {
|
||||
+ /* reserved */
|
||||
+ };
|
||||
+
|
||||
+ cldo2 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ cldo3 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdca: dcdca {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <1080000>;
|
||||
+ regulator-name = "vdd-cpu";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcc: dcdcc {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <1080000>;
|
||||
+ regulator-name = "vdd-gpu-sys";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcd: dcdcd {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-name = "vdd-dram";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdce: dcdce {
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-eth-mmc";
|
||||
+ };
|
||||
+
|
||||
+ sw {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ flash@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <40000000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_ph_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbotg {
|
||||
+ /*
|
||||
+ * PHY0 pins are connected to a USB-C socket, but a role switch
|
||||
+ * is not implemented: both CC pins are pulled to GND.
|
||||
+ * The VBUS pins power the device, so a fixed peripheral mode
|
||||
+ * is the best choice.
|
||||
+ * The board can be powered via GPIOs, in this case port0 *can*
|
||||
+ * act as a host (with a cable/adapter ignoring CC), as VBUS is
|
||||
+ * then provided by the GPIOs. Any user of this setup would
|
||||
+ * need to adjust the DT accordingly: dr_mode set to "host",
|
||||
+ * enabling OHCI0 and EHCI0.
|
||||
+ */
|
||||
+ dr_mode = "peripheral";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ usb1_vbus-supply = <®_usb1_vbus>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,251 @@
|
||||
From f9756b4f8625f2bfd03ef52c5eef9762f489d578 Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Wed, 28 Apr 2021 00:06:26 +0100
|
||||
Subject: [PATCH 033/101] arm64:dts: Add sun50i-h616-x96-mate TV box device
|
||||
support
|
||||
|
||||
The X96 Mate is an Allwinner H616 based TV box, featuring:
|
||||
- Four ARM Cortex-A53 cores, Mali-G31 MP2 GPU
|
||||
- 2GiB/4GiB RAM (fully usable!)
|
||||
- 16/32/64GiB eMMC
|
||||
- 100Mbps Ethernet (via embedded AC200 EPHY, not yet supported)
|
||||
- Unsupported Allwinner WiFi chip
|
||||
- 2 x USB 2.0 host ports
|
||||
- HDMI port
|
||||
- IR receiver
|
||||
- 5V/2A DC power supply via barrel plug
|
||||
|
||||
For more information see: https://linux-sunxi.org/X96_Mate
|
||||
|
||||
Add a basic devicetree for it, with SD card, eMMC and USB working, as
|
||||
well as serial and the essential peripherals, like the AXP PMIC.
|
||||
|
||||
This DT is somewhat minimal, and should work on many other similar TV
|
||||
boxes with the Allwinner H616 chip.
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
.../dts/allwinner/sun50i-h616-x96-mate.dts | 201 ++++++++++++++++++
|
||||
2 files changed, 202 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index 62f8d43cf..14053c566 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -39,3 +39,4 @@ 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-tanix-tx6-mini.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-x96-mate.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
new file mode 100644
|
||||
index 000000000..b960bb310
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
@@ -0,0 +1,201 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2021 Arm Ltd.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-h616.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "X96 Mate";
|
||||
+ compatible = "hechuang,x96-mate", "allwinner,sun50i-h616";
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc5v: vcc5v {
|
||||
+ /* board wide 5V supply directly from the DC input */
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-5v";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ir {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_dcdce>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ vmmc-supply = <®_dcdce>;
|
||||
+ vqmmc-supply = <®_bldo1>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_rsb {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp305: pmic@745 {
|
||||
+ compatible = "x-powers,axp305", "x-powers,axp805",
|
||||
+ "x-powers,axp806";
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <1>;
|
||||
+ reg = <0x745>;
|
||||
+
|
||||
+ x-powers,self-working-mode;
|
||||
+ vina-supply = <®_vcc5v>;
|
||||
+ vinb-supply = <®_vcc5v>;
|
||||
+ vinc-supply = <®_vcc5v>;
|
||||
+ vind-supply = <®_vcc5v>;
|
||||
+ vine-supply = <®_vcc5v>;
|
||||
+ aldoin-supply = <®_vcc5v>;
|
||||
+ bldoin-supply = <®_vcc5v>;
|
||||
+ cldoin-supply = <®_vcc5v>;
|
||||
+
|
||||
+ regulators {
|
||||
+ reg_aldo1: aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-sys";
|
||||
+ };
|
||||
+
|
||||
+ /* Enabled by the Android BSP */
|
||||
+ reg_aldo2: aldo2 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3-ext";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ /* Enabled by the Android BSP */
|
||||
+ reg_aldo3: aldo3 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3-ext2";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ reg_bldo1: bldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc1v8";
|
||||
+ };
|
||||
+
|
||||
+ /* Enabled by the Android BSP */
|
||||
+ reg_bldo2: bldo2 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc1v8-2";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ bldo3 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ bldo4 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ cldo1 {
|
||||
+ regulator-min-microvolt = <2500000>;
|
||||
+ regulator-max-microvolt = <2500000>;
|
||||
+ regulator-name = "vcc2v5";
|
||||
+ };
|
||||
+
|
||||
+ cldo2 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ cldo3 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdca: dcdca {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <1080000>;
|
||||
+ regulator-name = "vdd-cpu";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcc: dcdcc {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <1080000>;
|
||||
+ regulator-name = "vdd-gpu-sys";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcd: dcdcd {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1360000>;
|
||||
+ regulator-max-microvolt = <1360000>;
|
||||
+ regulator-name = "vdd-dram";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdce: dcdce {
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-eth-mmc";
|
||||
+ };
|
||||
+
|
||||
+ sw {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_ph_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbotg {
|
||||
+ dr_mode = "host"; /* USB A type receptable */
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
From 5d1a8d7717cf81e3b7672328837b90f1c85df14e Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 14:24:40 +0300
|
||||
Subject: [PATCH 077/101] arm64:dts: a64-olinuxino add regulator audio mmc
|
||||
|
||||
---
|
||||
.../dts/allwinner/sun50i-a64-olinuxino.dts | 59 +++++++++++++++++++
|
||||
1 file changed, 59 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
|
||||
index 354d63558..5321cd75e 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts
|
||||
@@ -52,6 +52,13 @@ reg_usb1_vbus: usb1-vbus {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+ reg_vcc3v3: vcc3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
@@ -74,6 +81,18 @@ &cpu3 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
||||
+&codec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&codec_analog {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dai {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -86,6 +105,14 @@ &ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&i2s2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mixer0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&rgmii_pins>;
|
||||
@@ -146,6 +173,16 @@ rtl8723bs: wifi@1 {
|
||||
};
|
||||
};
|
||||
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ vmmc-supply = <®_vcc3v3>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -336,6 +373,28 @@ &sound_hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&sound {
|
||||
+ status = "okay";
|
||||
+ simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
|
||||
+ "Microphone", "Internal Microphone Right",
|
||||
+ "Headphone", "Headphone Jack";
|
||||
+ simple-audio-card,aux-devs = <&codec_analog>;
|
||||
+ simple-audio-card,routing =
|
||||
+ "Left DAC", "AIF1 Slot 0 Left",
|
||||
+ "Right DAC", "AIF1 Slot 0 Right",
|
||||
+ "INL", "LINEOUT",
|
||||
+ "INR", "LINEOUT",
|
||||
+ "Headphone Jack", "HP",
|
||||
+ "AIF1 Slot 0 Left ADC", "Left ADC",
|
||||
+ "AIF1 Slot 0 Right ADC", "Right ADC",
|
||||
+ "Left ADC", "ADC",
|
||||
+ "Right ADC", "ADC",
|
||||
+ "Internal Microphone Left", "MBIAS",
|
||||
+ "MIC1", "Internal Microphone Left",
|
||||
+ "Internal Microphone Right", "HBIAS",
|
||||
+ "MIC2", "Internal Microphone Right";
|
||||
+};
|
||||
+
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,783 @@
|
||||
From 0cb51be425d50c8278a91e87f8bc0889af77754f Mon Sep 17 00:00:00 2001
|
||||
From: Andre Przywara <andre.przywara@arm.com>
|
||||
Date: Fri, 27 Nov 2020 15:28:12 +0000
|
||||
Subject: [PATCH 027/101] arm64: dts: allwinner: Add sun50i-h616.dtsi file
|
||||
|
||||
This (relatively) new SoC is similar to the H6, but drops the (broken)
|
||||
PCIe support and the USB 3.0 controller. It also gets the management
|
||||
controller removed, which in turn removes *some*, but not all of the
|
||||
devices formerly dedicated to the ARISC (CPUS).
|
||||
And while there is still the extra sunxi interrupt controller, the
|
||||
package lacks the corresponding NMI pin, so no interrupts for the PMIC.
|
||||
|
||||
USB is a bit tricky: host controller 0, 1 and 3 depend on some help from
|
||||
controller and PHY 2, so we need to include one reset line and one
|
||||
clock gate from HCI 2 into every other HCI node, plus need some nasty
|
||||
quirk.
|
||||
|
||||
The reserved memory node is actually handled by Trusted Firmware now,
|
||||
but U-Boot fails to propagate this to a separately loaded DTB, so we
|
||||
keep it in here for now, until U-Boot learns to do this properly.
|
||||
|
||||
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||
---
|
||||
.../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 747 ++++++++++++++++++
|
||||
1 file changed, 747 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
new file mode 100644
|
||||
index 000000000..30195e477
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -0,0 +1,747 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2020 Arm Ltd.
|
||||
+// based on the H6 dtsi, which is:
|
||||
+// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+
|
||||
+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
+#include <dt-bindings/clock/sun50i-h616-ccu.h>
|
||||
+#include <dt-bindings/clock/sun50i-h6-r-ccu.h>
|
||||
+#include <dt-bindings/reset/sun50i-h616-ccu.h>
|
||||
+#include <dt-bindings/reset/sun50i-h6-r-ccu.h>
|
||||
+
|
||||
+/ {
|
||||
+ interrupt-parent = <&gic>;
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+
|
||||
+ cpus {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ cpu0: cpu@0 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <0>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+
|
||||
+ cpu1: cpu@1 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <1>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+
|
||||
+ cpu2: cpu@2 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <2>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+
|
||||
+ cpu3: cpu@3 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <3>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reserved-memory {
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ /* 512KiB reserved for ARM Trusted Firmware (BL31) */
|
||||
+ secmon_reserved: secmon@40000000 {
|
||||
+ reg = <0x0 0x40000000 0x0 0x80000>;
|
||||
+ no-map;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ osc24M: osc24M_clk {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <24000000>;
|
||||
+ clock-output-names = "osc24M";
|
||||
+ };
|
||||
+
|
||||
+ pmu {
|
||||
+ compatible = "arm,cortex-a53-pmu";
|
||||
+ interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
||||
+ };
|
||||
+
|
||||
+ psci {
|
||||
+ compatible = "arm,psci-0.2";
|
||||
+ method = "smc";
|
||||
+ };
|
||||
+
|
||||
+ timer {
|
||||
+ compatible = "arm,armv8-timer";
|
||||
+ arm,no-tick-in-suspend;
|
||||
+ interrupts = <GIC_PPI 13
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
+ <GIC_PPI 14
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
+ <GIC_PPI 11
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
+ <GIC_PPI 10
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
+ };
|
||||
+
|
||||
+ soc {
|
||||
+ compatible = "simple-bus";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges = <0x0 0x0 0x0 0x40000000>;
|
||||
+
|
||||
+ syscon: syscon@3000000 {
|
||||
+ compatible = "allwinner,sun50i-h616-system-control";
|
||||
+ reg = <0x03000000 0x1000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges;
|
||||
+
|
||||
+ sram_c: sram@28000 {
|
||||
+ compatible = "mmio-sram";
|
||||
+ reg = <0x00028000 0x30000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges = <0 0x00028000 0x30000>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ccu: clock@3001000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ccu";
|
||||
+ reg = <0x03001000 0x1000>;
|
||||
+ clocks = <&osc24M>, <&rtc 0>, <&rtc 2>;
|
||||
+ clock-names = "hosc", "losc", "iosc";
|
||||
+ #clock-cells = <1>;
|
||||
+ #reset-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ watchdog: watchdog@30090a0 {
|
||||
+ compatible = "allwinner,sun50i-h616-wdt",
|
||||
+ "allwinner,sun6i-a31-wdt";
|
||||
+ reg = <0x030090a0 0x20>;
|
||||
+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&osc24M>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ pio: pinctrl@300b000 {
|
||||
+ compatible = "allwinner,sun50i-h616-pinctrl";
|
||||
+ reg = <0x0300b000 0x400>;
|
||||
+ interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc 0>;
|
||||
+ clock-names = "apb", "hosc", "losc";
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <3>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+
|
||||
+ ext_rgmii_pins: rgmii-pins {
|
||||
+ pins = "PI0", "PI1", "PI2", "PI3", "PI4",
|
||||
+ "PI5", "PI7", "PI8", "PI9", "PI10",
|
||||
+ "PI11", "PI12", "PI13", "PI14", "PI15",
|
||||
+ "PI16";
|
||||
+ function = "emac0";
|
||||
+ drive-strength = <40>;
|
||||
+ };
|
||||
+
|
||||
+ i2c0_pins: i2c0-pins {
|
||||
+ pins = "PI6", "PI7";
|
||||
+ function = "i2c0";
|
||||
+ };
|
||||
+
|
||||
+ i2c3_ph_pins: i2c3-ph-pins {
|
||||
+ pins = "PH4", "PH5";
|
||||
+ function = "i2c3";
|
||||
+ };
|
||||
+
|
||||
+ ir_rx_pin: ir-rx-pin {
|
||||
+ pins = "PH10";
|
||||
+ function = "ir_rx";
|
||||
+ };
|
||||
+
|
||||
+ mmc0_pins: mmc0-pins {
|
||||
+ pins = "PF0", "PF1", "PF2", "PF3",
|
||||
+ "PF4", "PF5";
|
||||
+ function = "mmc0";
|
||||
+ drive-strength = <30>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ mmc1_pins: mmc1-pins {
|
||||
+ pins = "PG0", "PG1", "PG2", "PG3",
|
||||
+ "PG4", "PG5";
|
||||
+ function = "mmc1";
|
||||
+ drive-strength = <30>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ mmc2_pins: mmc2-pins {
|
||||
+ pins = "PC0", "PC1", "PC5", "PC6",
|
||||
+ "PC8", "PC9", "PC10", "PC11",
|
||||
+ "PC13", "PC14", "PC15", "PC16";
|
||||
+ function = "mmc2";
|
||||
+ drive-strength = <30>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ spi0_pins: spi0-pins {
|
||||
+ pins = "PC0", "PC2", "PC3", "PC4";
|
||||
+ function = "spi0";
|
||||
+ };
|
||||
+
|
||||
+ spi1_pins: spi1-pins {
|
||||
+ pins = "PH6", "PH7", "PH8";
|
||||
+ function = "spi1";
|
||||
+ };
|
||||
+
|
||||
+ spi1_cs_pin: spi1-cs-pin {
|
||||
+ pins = "PH5";
|
||||
+ function = "spi1";
|
||||
+ };
|
||||
+
|
||||
+ uart0_ph_pins: uart0-ph-pins {
|
||||
+ pins = "PH0", "PH1";
|
||||
+ function = "uart0";
|
||||
+ };
|
||||
+
|
||||
+ uart1_pins: uart1-pins {
|
||||
+ pins = "PG6", "PG7";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+
|
||||
+ uart1_rts_cts_pins: uart1-rts-cts-pins {
|
||||
+ pins = "PG8", "PG9";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gic: interrupt-controller@3021000 {
|
||||
+ compatible = "arm,gic-400";
|
||||
+ reg = <0x03021000 0x1000>,
|
||||
+ <0x03022000 0x2000>,
|
||||
+ <0x03024000 0x2000>,
|
||||
+ <0x03026000 0x2000>;
|
||||
+ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+ };
|
||||
+
|
||||
+ mmc0: mmc@4020000 {
|
||||
+ compatible = "allwinner,sun50i-h616-mmc",
|
||||
+ "allwinner,sun50i-a100-mmc";
|
||||
+ reg = <0x04020000 0x1000>;
|
||||
+ clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ccu RST_BUS_MMC0>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins>;
|
||||
+ status = "disabled";
|
||||
+ max-frequency = <150000000>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-ddr-3_3v;
|
||||
+ mmc-ddr-1_8v;
|
||||
+ cap-sdio-irq;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mmc1: mmc@4021000 {
|
||||
+ compatible = "allwinner,sun50i-h616-mmc",
|
||||
+ "allwinner,sun50i-a100-mmc";
|
||||
+ reg = <0x04021000 0x1000>;
|
||||
+ clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ccu RST_BUS_MMC1>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ status = "disabled";
|
||||
+ max-frequency = <150000000>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-ddr-3_3v;
|
||||
+ mmc-ddr-1_8v;
|
||||
+ cap-sdio-irq;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mmc2: mmc@4022000 {
|
||||
+ compatible = "allwinner,sun50i-h616-emmc",
|
||||
+ "allwinner,sun50i-a100-emmc";
|
||||
+ reg = <0x04022000 0x1000>;
|
||||
+ clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ccu RST_BUS_MMC2>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ status = "disabled";
|
||||
+ max-frequency = <150000000>;
|
||||
+ cap-sd-highspeed;
|
||||
+ cap-mmc-highspeed;
|
||||
+ mmc-ddr-3_3v;
|
||||
+ mmc-ddr-1_8v;
|
||||
+ cap-sdio-irq;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ uart0: serial@5000000 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000000 0x400>;
|
||||
+ interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART0>;
|
||||
+ resets = <&ccu RST_BUS_UART0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart1: serial@5000400 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000400 0x400>;
|
||||
+ interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART1>;
|
||||
+ resets = <&ccu RST_BUS_UART1>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart2: serial@5000800 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000800 0x400>;
|
||||
+ interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART2>;
|
||||
+ resets = <&ccu RST_BUS_UART2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart3: serial@5000c00 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000c00 0x400>;
|
||||
+ interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART3>;
|
||||
+ resets = <&ccu RST_BUS_UART3>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart4: serial@5001000 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05001000 0x400>;
|
||||
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART4>;
|
||||
+ resets = <&ccu RST_BUS_UART4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart5: serial@5001400 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05001400 0x400>;
|
||||
+ interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART5>;
|
||||
+ resets = <&ccu RST_BUS_UART5>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ i2c0: i2c@5002000 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002000 0x400>;
|
||||
+ interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C0>;
|
||||
+ resets = <&ccu RST_BUS_I2C0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c0_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c1: i2c@5002400 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002400 0x400>;
|
||||
+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C1>;
|
||||
+ resets = <&ccu RST_BUS_I2C1>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c2: i2c@5002800 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002800 0x400>;
|
||||
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C2>;
|
||||
+ resets = <&ccu RST_BUS_I2C2>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c3: i2c@5002c00 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002c00 0x400>;
|
||||
+ interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C3>;
|
||||
+ resets = <&ccu RST_BUS_I2C3>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c4: i2c@5003000 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05003000 0x400>;
|
||||
+ interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C4>;
|
||||
+ resets = <&ccu RST_BUS_I2C4>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ spi0: spi@5010000 {
|
||||
+ compatible = "allwinner,sun50i-h616-spi",
|
||||
+ "allwinner,sun8i-h3-spi";
|
||||
+ reg = <0x05010000 0x1000>;
|
||||
+ interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
|
||||
+ clock-names = "ahb", "mod";
|
||||
+ resets = <&ccu RST_BUS_SPI0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi0_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ spi1: spi@5011000 {
|
||||
+ compatible = "allwinner,sun50i-h616-spi",
|
||||
+ "allwinner,sun8i-h3-spi";
|
||||
+ reg = <0x05011000 0x1000>;
|
||||
+ interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
|
||||
+ clock-names = "ahb", "mod";
|
||||
+ resets = <&ccu RST_BUS_SPI1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi1_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ emac0: ethernet@5020000 {
|
||||
+ compatible = "allwinner,sun50i-h616-emac",
|
||||
+ "allwinner,sun50i-a64-emac";
|
||||
+ syscon = <&syscon>;
|
||||
+ reg = <0x05020000 0x10000>;
|
||||
+ interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "macirq";
|
||||
+ resets = <&ccu RST_BUS_EMAC0>;
|
||||
+ reset-names = "stmmaceth";
|
||||
+ clocks = <&ccu CLK_BUS_EMAC0>;
|
||||
+ clock-names = "stmmaceth";
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ mdio0: mdio {
|
||||
+ compatible = "snps,dwmac-mdio";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usbotg: usb@5100000 {
|
||||
+ compatible = "allwinner,sun50i-h616-musb",
|
||||
+ "allwinner,sun8i-h3-musb";
|
||||
+ reg = <0x05100000 0x0400>;
|
||||
+ clocks = <&ccu CLK_BUS_OTG>;
|
||||
+ resets = <&ccu RST_BUS_OTG>;
|
||||
+ interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "mc";
|
||||
+ phys = <&usbphy 0>;
|
||||
+ phy-names = "usb";
|
||||
+ extcon = <&usbphy 0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ usbphy: phy@5100400 {
|
||||
+ compatible = "allwinner,sun50i-h616-usb-phy";
|
||||
+ reg = <0x05100400 0x24>,
|
||||
+ <0x05101800 0x14>,
|
||||
+ <0x05200800 0x14>,
|
||||
+ <0x05310800 0x14>,
|
||||
+ <0x05311800 0x14>;
|
||||
+ reg-names = "phy_ctrl",
|
||||
+ "pmu0",
|
||||
+ "pmu1",
|
||||
+ "pmu2",
|
||||
+ "pmu3";
|
||||
+ clocks = <&ccu CLK_USB_PHY0>,
|
||||
+ <&ccu CLK_USB_PHY1>,
|
||||
+ <&ccu CLK_USB_PHY2>,
|
||||
+ <&ccu CLK_USB_PHY3>,
|
||||
+ <&ccu CLK_BUS_EHCI2>;
|
||||
+ clock-names = "usb0_phy",
|
||||
+ "usb1_phy",
|
||||
+ "usb2_phy",
|
||||
+ "usb3_phy",
|
||||
+ "pmu2_clk";
|
||||
+ resets = <&ccu RST_USB_PHY0>,
|
||||
+ <&ccu RST_USB_PHY1>,
|
||||
+ <&ccu RST_USB_PHY2>,
|
||||
+ <&ccu RST_USB_PHY3>;
|
||||
+ reset-names = "usb0_reset",
|
||||
+ "usb1_reset",
|
||||
+ "usb2_reset",
|
||||
+ "usb3_reset";
|
||||
+ status = "disabled";
|
||||
+ #phy-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ ehci0: usb@5101000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05101000 0x100>;
|
||||
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
+ <&ccu CLK_BUS_EHCI0>,
|
||||
+ <&ccu CLK_USB_OHCI0>,
|
||||
+ <&ccu CLK_USB_PHY2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI0>,
|
||||
+ <&ccu RST_BUS_EHCI0>,
|
||||
+ <&ccu RST_USB_PHY2>;
|
||||
+ phys = <&usbphy 0>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci0: usb@5101400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05101400 0x100>;
|
||||
+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
+ <&ccu CLK_USB_OHCI0>,
|
||||
+ <&ccu CLK_USB_PHY2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI0>,
|
||||
+ <&ccu RST_USB_PHY2>;
|
||||
+ phys = <&usbphy 0>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ehci1: usb@5200000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05200000 0x100>;
|
||||
+ interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI1>,
|
||||
+ <&ccu CLK_BUS_EHCI1>,
|
||||
+ <&ccu CLK_USB_OHCI1>,
|
||||
+ <&ccu CLK_USB_PHY2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI1>,
|
||||
+ <&ccu RST_BUS_EHCI1>,
|
||||
+ <&ccu RST_USB_PHY2>;
|
||||
+ phys = <&usbphy 1>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci1: usb@5200400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05200400 0x100>;
|
||||
+ interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI1>,
|
||||
+ <&ccu CLK_USB_OHCI1>,
|
||||
+ <&ccu CLK_USB_PHY2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI1>,
|
||||
+ <&ccu RST_USB_PHY2>;
|
||||
+ phys = <&usbphy 1>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ehci2: usb@5310000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05310000 0x100>;
|
||||
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI2>,
|
||||
+ <&ccu CLK_BUS_EHCI2>,
|
||||
+ <&ccu CLK_USB_OHCI2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI2>,
|
||||
+ <&ccu RST_BUS_EHCI2>;
|
||||
+ phys = <&usbphy 2>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci2: usb@5310400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05310400 0x100>;
|
||||
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI2>,
|
||||
+ <&ccu CLK_USB_OHCI2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI2>;
|
||||
+ phys = <&usbphy 2>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ehci3: usb@5311000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05311000 0x100>;
|
||||
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI3>,
|
||||
+ <&ccu CLK_BUS_EHCI3>,
|
||||
+ <&ccu CLK_USB_OHCI3>,
|
||||
+ <&ccu CLK_USB_PHY2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI3>,
|
||||
+ <&ccu RST_BUS_EHCI3>,
|
||||
+ <&ccu RST_USB_PHY2>;
|
||||
+ phys = <&usbphy 3>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci3: usb@5311400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05311400 0x100>;
|
||||
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI3>,
|
||||
+ <&ccu CLK_USB_OHCI3>,
|
||||
+ <&ccu CLK_USB_PHY2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI3>,
|
||||
+ <&ccu RST_USB_PHY2>;
|
||||
+ phys = <&usbphy 3>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ rtc: rtc@7000000 {
|
||||
+ compatible = "allwinner,sun50i-h616-rtc";
|
||||
+ reg = <0x07000000 0x400>;
|
||||
+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clock-output-names = "osc32k", "osc32k-out", "iosc";
|
||||
+ #clock-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ r_ccu: clock@7010000 {
|
||||
+ compatible = "allwinner,sun50i-h616-r-ccu";
|
||||
+ reg = <0x07010000 0x210>;
|
||||
+ clocks = <&osc24M>, <&rtc 0>, <&rtc 2>,
|
||||
+ <&ccu CLK_PLL_PERIPH0>;
|
||||
+ clock-names = "hosc", "losc", "iosc", "pll-periph";
|
||||
+ #clock-cells = <1>;
|
||||
+ #reset-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ r_pio: pinctrl@7022000 {
|
||||
+ compatible = "allwinner,sun50i-h616-r-pinctrl";
|
||||
+ reg = <0x07022000 0x400>;
|
||||
+ interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>;
|
||||
+ clock-names = "apb", "hosc", "losc";
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <3>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+
|
||||
+ r_i2c_pins: r-i2c-pins {
|
||||
+ pins = "PL0", "PL1";
|
||||
+ function = "s_i2c";
|
||||
+ };
|
||||
+
|
||||
+ r_rsb_pins: r-rsb-pins {
|
||||
+ pins = "PL0", "PL1";
|
||||
+ function = "s_rsb";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ir: ir@7040000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ir",
|
||||
+ "allwinner,sun6i-a31-ir";
|
||||
+ reg = <0x07040000 0x400>;
|
||||
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&r_ccu CLK_R_APB1_IR>,
|
||||
+ <&r_ccu CLK_IR>;
|
||||
+ clock-names = "apb", "ir";
|
||||
+ resets = <&r_ccu RST_R_APB1_IR>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ir_rx_pin>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ r_i2c: i2c@7081400 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x07081400 0x400>;
|
||||
+ interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&r_ccu CLK_R_APB2_I2C>;
|
||||
+ resets = <&r_ccu RST_R_APB2_I2C>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ r_rsb: rsb@7083000 {
|
||||
+ compatible = "allwinner,sun50i-h616-rsb",
|
||||
+ "allwinner,sun8i-a23-rsb";
|
||||
+ reg = <0x07083000 0x400>;
|
||||
+ interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&r_ccu CLK_R_APB2_RSB>;
|
||||
+ clock-frequency = <3000000>;
|
||||
+ resets = <&r_ccu RST_R_APB2_RSB>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&r_rsb_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 649f814f3b7f82b5f6b2bc13430444a167924e1e Mon Sep 17 00:00:00 2001
|
||||
From: Kali Prasad <kprasadvnsi@protonmail.com>
|
||||
Date: Sun, 19 Sep 2021 13:30:08 +0530
|
||||
Subject: [PATCH 38/50] arm64: dts: allwinner: h616: Add device node for SID
|
||||
|
||||
The device tree binding for H616's SID controller.
|
||||
|
||||
Signed-off-by: Kali Prasad <kprasadvnsi@protonmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
index 6794a8035..a4a5f25d8 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -166,6 +166,21 @@ ccu: clock@3001000 {
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
+ sid: efuse@3006000 {
|
||||
+ compatible = "allwinner,sun50i-h616-sid";
|
||||
+ reg = <0x03006000 0x1000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+
|
||||
+ cpu_speed_grade: cpu-speed-grade@00 {
|
||||
+ reg = <0x00 0x02>;
|
||||
+ };
|
||||
+
|
||||
+ ths_calibration: thermal-sensor-calibration@14 {
|
||||
+ reg = <0x14 0x8>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
watchdog: watchdog@30090a0 {
|
||||
compatible = "allwinner,sun50i-h616-wdt",
|
||||
"allwinner,sun6i-a31-wdt";
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
From 0d27d4148080e8e9cbeb98a71630f9f375b76cb1 Mon Sep 17 00:00:00 2001
|
||||
From: Kali Prasad <kprasadvnsi@protonmail.com>
|
||||
Date: Sun, 19 Sep 2021 13:38:20 +0530
|
||||
Subject: [PATCH 39/50] arm64: dts: allwinner: h616: Add thermal sensor and
|
||||
thermal zones
|
||||
|
||||
There are four sensors, CPU, GPU, VE, and DDR.
|
||||
|
||||
Signed-off-by: Kali Prasad <kprasadvnsi@protonmail.com>
|
||||
---
|
||||
.../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 74 +++++++++++++++++++
|
||||
1 file changed, 74 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
index a4a5f25d8..e4f5a085f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <dt-bindings/clock/sun50i-h6-r-ccu.h>
|
||||
#include <dt-bindings/reset/sun50i-h616-ccu.h>
|
||||
#include <dt-bindings/reset/sun50i-h6-r-ccu.h>
|
||||
+#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
/ {
|
||||
interrupt-parent = <&gic>;
|
||||
@@ -24,6 +25,8 @@ cpu0: cpu@0 {
|
||||
reg = <0>;
|
||||
enable-method = "psci";
|
||||
clocks = <&ccu CLK_CPUX>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ #cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
@@ -32,6 +35,8 @@ cpu1: cpu@1 {
|
||||
reg = <1>;
|
||||
enable-method = "psci";
|
||||
clocks = <&ccu CLK_CPUX>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ #cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu2: cpu@2 {
|
||||
@@ -40,6 +45,8 @@ cpu2: cpu@2 {
|
||||
reg = <2>;
|
||||
enable-method = "psci";
|
||||
clocks = <&ccu CLK_CPUX>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ #cooling-cells = <2>;
|
||||
};
|
||||
|
||||
cpu3: cpu@3 {
|
||||
@@ -48,6 +55,8 @@ cpu3: cpu@3 {
|
||||
reg = <3>;
|
||||
enable-method = "psci";
|
||||
clocks = <&ccu CLK_CPUX>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ #cooling-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -822,5 +831,70 @@ r_rsb: rsb@7083000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
+
|
||||
+ ths: thermal-sensor@5070400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ths";
|
||||
+ reg = <0x05070400 0x400>;
|
||||
+ interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_THS>;
|
||||
+ clock-names = "bus";
|
||||
+ resets = <&ccu RST_BUS_THS>;
|
||||
+ nvmem-cells = <&ths_calibration>;
|
||||
+ nvmem-cell-names = "calibration";
|
||||
+ #thermal-sensor-cells = <1>;
|
||||
+ };
|
||||
+ };
|
||||
+ thermal-zones {
|
||||
+ cpu-thermal {
|
||||
+ polling-delay-passive = <500>;
|
||||
+ polling-delay = <1000>;
|
||||
+ thermal-sensors = <&ths 2>;
|
||||
+ sustainable-power = <1000>;
|
||||
+ k_po = <20>;
|
||||
+ k_pu = <40>;
|
||||
+ k_i = <0>;
|
||||
+
|
||||
+ trips {
|
||||
+ cpu_threshold: trip-point@0 {
|
||||
+ temperature = <60000>;
|
||||
+ type = "passive";
|
||||
+ hysteresis = <0>;
|
||||
+ };
|
||||
+ cpu_target: trip-point@1 {
|
||||
+ temperature = <70000>;
|
||||
+ type = "passive";
|
||||
+ hysteresis = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ cooling-maps {
|
||||
+ map0 {
|
||||
+ trip = <&cpu_target>;
|
||||
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
+ <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
+ <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
+ <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gpu-thermal {
|
||||
+ polling-delay-passive = <500>;
|
||||
+ polling-delay = <1000>;
|
||||
+ thermal-sensors = <&ths 0>;
|
||||
+ sustainable-power = <1100>;
|
||||
+ };
|
||||
+
|
||||
+ ve-thermal {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&ths 1>;
|
||||
+ };
|
||||
+
|
||||
+ ddr-thermal {
|
||||
+ polling-delay-passive = <0>;
|
||||
+ polling-delay = <0>;
|
||||
+ thermal-sensors = <&ths 3>;
|
||||
+ };
|
||||
};
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,38 @@
|
||||
From dac2a4e5a3270df2a0dc2b9839f63d9e70204b08 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Fri, 15 Oct 2021 21:07:46 +0200
|
||||
Subject: [PATCH 036/101] arm64:dts: allwinner: sun50i-h616 Add GPU node
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
index 30195e477..e5e099068 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -103,6 +103,20 @@ soc {
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x0 0x40000000>;
|
||||
|
||||
+ gpu: gpu@1800000 {
|
||||
+ compatible = "allwinner,sun50i-h616-mali",
|
||||
+ "arm,mali-bifrost";
|
||||
+ reg = <0x1800000 0x40000>;
|
||||
+ interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "job", "mmu", "gpu";
|
||||
+ clocks = <&ccu CLK_GPU0>, <&ccu CLK_BUS_GPU>;
|
||||
+ clock-names = "core", "bus";
|
||||
+ resets = <&ccu RST_BUS_GPU>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
syscon: syscon@3000000 {
|
||||
compatible = "allwinner,sun50i-h616-system-control";
|
||||
reg = <0x03000000 0x1000>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
From 473775a0b6fbc8e5b8d2e118ac6e6007358476b4 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Fri, 15 Oct 2021 21:14:55 +0200
|
||||
Subject: [PATCH 042/101] arm64:dts:allwinner: sun50i-h616 Add VPU node
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
---
|
||||
.../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 24 +++++++++++++++++++
|
||||
1 file changed, 24 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
index e5e099068..805b1e6b7 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -117,6 +117,17 @@ gpu: gpu@1800000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ video-codec@1c0e000 {
|
||||
+ compatible = "allwinner,sun50i-h616-video-engine";
|
||||
+ reg = <0x01c0e000 0x2000>;
|
||||
+ clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>,
|
||||
+ <&ccu CLK_MBUS_VE>;
|
||||
+ clock-names = "ahb", "mod", "ram";
|
||||
+ resets = <&ccu RST_BUS_VE>;
|
||||
+ interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ allwinner,sram = <&ve_sram 1>;
|
||||
+ };
|
||||
+
|
||||
syscon: syscon@3000000 {
|
||||
compatible = "allwinner,sun50i-h616-system-control";
|
||||
reg = <0x03000000 0x1000>;
|
||||
@@ -131,6 +142,19 @@ sram_c: sram@28000 {
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x00028000 0x30000>;
|
||||
};
|
||||
+
|
||||
+ sram_c1: sram@1a00000 {
|
||||
+ compatible = "mmio-sram";
|
||||
+ reg = <0x01a00000 0x200000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges = <0 0x01a00000 0x200000>;
|
||||
+
|
||||
+ ve_sram: sram-section@0 {
|
||||
+ compatible = "allwinner,sun50i-h616-sram-c1";
|
||||
+ reg = <0x000000 0x200000>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
ccu: clock@3001000 {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From 8085d8cf96974c77bf8972091f19d8a22d5ff92b Mon Sep 17 00:00:00 2001
|
||||
From: root <guido.lehwalder@gmail.com>
|
||||
Date: Tue, 26 Jan 2021 18:17:33 +0300
|
||||
Subject: [PATCH 076/101] arm64:dts: nanopi-a64 set right phy-mode to rgmii-id
|
||||
|
||||
set right phy-mode for NPI A64 to rgmii-id for working
|
||||
onboard-ethernet
|
||||
|
||||
Signed-off-by: root <guido.lehwalder@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
|
||||
index e74c48b92..9bccbf6d3 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-nanopi-a64.dts
|
||||
@@ -80,7 +80,7 @@ &ehci1 {
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&rgmii_pins>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
phy-supply = <®_dcdc1>;
|
||||
status = "okay";
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
From 8200373f019d6c52e179b5ebcde6eea4e34de11f Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 20:27:02 +0300
|
||||
Subject: [PATCH 28/50] arm64:dts:overlay: sun50i-a64-pine64-7inch-lcd
|
||||
|
||||
Added to orange-pi-5.9 2020-11-30
|
||||
---
|
||||
.../arm64/boot/dts/allwinner/overlay/Makefile | 1 +
|
||||
.../overlay/README.sun50i-a64-overlays | 5 ++
|
||||
.../overlay/sun50i-a64-pine64-7inch-lcd.dts | 87 +++++++++++++++++++
|
||||
3 files changed, 93 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-pine64-7inch-lcd.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
index 9b6528ec2..591eef672 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
@@ -2,6 +2,7 @@
|
||||
dtbo-$(CONFIG_ARCH_SUNXI) += \
|
||||
sun50i-a64-i2c0.dtbo \
|
||||
sun50i-a64-i2c1.dtbo \
|
||||
+ sun50i-a64-pine64-7inch-lcd.dtbo \
|
||||
sun50i-a64-pps-gpio.dtbo \
|
||||
sun50i-a64-spi-add-cs1.dtbo \
|
||||
sun50i-a64-spi-jedec-nor.dtbo \
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-a64-overlays b/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-a64-overlays
|
||||
index cd9dbc686..b684c2e3a 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-a64-overlays
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/README.sun50i-a64-overlays
|
||||
@@ -20,6 +20,7 @@ on supported boards, so this controller is not supported in provided overlays
|
||||
|
||||
- i2c0
|
||||
- i2c1
|
||||
+- pine64-7inch-lcd
|
||||
- pps-gpio
|
||||
- spi-add-cs1
|
||||
- spi-jedec-nor
|
||||
@@ -44,6 +45,10 @@ Activates TWI/I2C bus 1
|
||||
|
||||
I2C1 pins (SCL, SDA): PH2, PH3
|
||||
|
||||
+### pine64-7inch-lcd
|
||||
+
|
||||
+Activates the Pine64 7" LCD on pine64/pine64so boards
|
||||
+
|
||||
### pps-gpio
|
||||
|
||||
Activates pulse-per-second GPIO client
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-pine64-7inch-lcd.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-pine64-7inch-lcd.dts
|
||||
new file mode 100644
|
||||
index 000000000..34708103f
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-a64-pine64-7inch-lcd.dts
|
||||
@@ -0,0 +1,87 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+#include <dt-bindings/interrupt-controller/irq.h>
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/pwm/pwm.h>
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "allwinner,sun50i-a64";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target = <®_ldo_io0>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-ctp";
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&i2c0>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ gt911: touchscreen@5d {
|
||||
+ compatible = "goodix,gt911";
|
||||
+ reg = <0x5d>;
|
||||
+
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <7 4 IRQ_TYPE_EDGE_RISING>; /* PH4 */
|
||||
+ reset-gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
|
||||
+ AVDD28-supply = <®_ldo_io0>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@2 {
|
||||
+ target = <&r_pwm>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@3 {
|
||||
+ target-path = "/";
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ backlight: backlight {
|
||||
+ compatible = "pwm-backlight";
|
||||
+ pwms = <&r_pwm 0 50000 PWM_POLARITY_INVERTED>;
|
||||
+ brightness-levels = <1 2 4 8 16 32 64 128 512>;
|
||||
+ default-brightness-level = <8>;
|
||||
+ enable-gpios = <&pio 7 10 GPIO_ACTIVE_HIGH>; /* PH10 */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@4 {
|
||||
+ target = <&dsi>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ vcc-dsi-supply = <®_dldo1>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ panel@0 {
|
||||
+ compatible = "feiyang,fy07024di26a30d";
|
||||
+ reg = <0>;
|
||||
+ avdd-supply = <®_dc1sw>;
|
||||
+ dvdd-supply = <®_dldo2>;
|
||||
+ reset-gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
|
||||
+ backlight = <&backlight>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@5 {
|
||||
+ target = <&dphy>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
From c91ea6f3b75412e9ce10b6cb275aa01fc808f2af Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 21:01:10 +0300
|
||||
Subject: [PATCH 29/50] arm64:dts:overlay sun50i-h5 add gpio regulator
|
||||
overclock
|
||||
|
||||
---
|
||||
.../arm64/boot/dts/allwinner/overlay/Makefile | 4 ++
|
||||
.../sun50i-h5-cpu-clock-1.0GHz-1.1v.dts | 31 ++++++++++
|
||||
.../sun50i-h5-cpu-clock-1.2GHz-1.3v.dts | 31 ++++++++++
|
||||
.../sun50i-h5-cpu-clock-1.3GHz-1.3v.dts | 61 +++++++++++++++++++
|
||||
.../overlay/sun50i-h5-gpio-regulator-1.3v.dts | 38 ++++++++++++
|
||||
5 files changed, 165 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.0GHz-1.1v.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.2GHz-1.3v.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.3GHz-1.3v.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-gpio-regulator-1.3v.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/Makefile b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
index 591eef672..87f5addec 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/Makefile
|
||||
@@ -14,6 +14,10 @@ dtbo-$(CONFIG_ARCH_SUNXI) += \
|
||||
sun50i-a64-w1-gpio.dtbo \
|
||||
sun50i-h5-analog-codec.dtbo \
|
||||
sun50i-h5-cir.dtbo \
|
||||
+ sun50i-h5-cpu-clock-1.0GHz-1.1v.dtbo \
|
||||
+ sun50i-h5-cpu-clock-1.2GHz-1.3v.dtbo \
|
||||
+ sun50i-h5-cpu-clock-1.3GHz-1.3v.dtbo \
|
||||
+ sun50i-h5-gpio-regulator-1.3v.dtbo \
|
||||
sun50i-h5-i2c0.dtbo \
|
||||
sun50i-h5-i2c1.dtbo \
|
||||
sun50i-h5-i2c2.dtbo \
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.0GHz-1.1v.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.0GHz-1.1v.dts
|
||||
new file mode 100644
|
||||
index 000000000..674ec1dcb
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.0GHz-1.1v.dts
|
||||
@@ -0,0 +1,31 @@
|
||||
+// DT overlay for CPU frequency operating points to up to 1.0GHz at a maximum CPU voltage of 1.1v
|
||||
+
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ fragment@0 {
|
||||
+ target = <&cpu_opp_table>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ compatible = "operating-points-v2";
|
||||
+ opp-shared;
|
||||
+
|
||||
+ // in order to match the H5 DT cooling-maps, update the existing OP table in-place
|
||||
+ // with the new voltages
|
||||
+
|
||||
+ opp-960000000 {
|
||||
+ opp-hz = /bits/ 64 <960000000>;
|
||||
+ opp-microvolt = <1100000 1100000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1008000000 {
|
||||
+ opp-hz = /bits/ 64 <1008000000>;
|
||||
+ opp-microvolt = <1100000 1100000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.2GHz-1.3v.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.2GHz-1.3v.dts
|
||||
new file mode 100644
|
||||
index 000000000..4fb5c81d3
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.2GHz-1.3v.dts
|
||||
@@ -0,0 +1,31 @@
|
||||
+// DT overlay for CPU frequency operating points to up to 1.2GHz at a maximum CPU voltage of 1.3v
|
||||
+
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ fragment@0 {
|
||||
+ target = <&cpu_opp_table>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ compatible = "operating-points-v2";
|
||||
+ opp-shared;
|
||||
+
|
||||
+ // in order to match the H5 DT cooling-maps, update the existing OP table in-place
|
||||
+ // with the new voltages
|
||||
+
|
||||
+ opp-1104000000 {
|
||||
+ opp-hz = /bits/ 64 <1104000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1200000000 {
|
||||
+ opp-hz = /bits/ 64 <1200000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.3GHz-1.3v.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.3GHz-1.3v.dts
|
||||
new file mode 100644
|
||||
index 000000000..9c633973d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-cpu-clock-1.3GHz-1.3v.dts
|
||||
@@ -0,0 +1,61 @@
|
||||
+// DT overlay for CPU frequency operating points to 1.3GHz at a maximum CPU voltage of 1.3v
|
||||
+
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ fragment@0 {
|
||||
+ target = <&cpu_opp_table>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ compatible = "operating-points-v2";
|
||||
+ opp-shared;
|
||||
+
|
||||
+ // in order to match the H5 DT cooling-maps, update the existing OP table in-place
|
||||
+ // with the new voltages
|
||||
+
|
||||
+ opp-1056000000 {
|
||||
+ opp-hz = /bits/ 64 <1056000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1104000000 {
|
||||
+ opp-hz = /bits/ 64 <1104000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1152000000 {
|
||||
+ opp-hz = /bits/ 64 <1152000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1200000000 {
|
||||
+ opp-hz = /bits/ 64 <1200000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1224000000 {
|
||||
+ opp-hz = /bits/ 64 <1224000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1248000000 {
|
||||
+ opp-hz = /bits/ 64 <1248000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+
|
||||
+ opp-1296000000 {
|
||||
+ opp-hz = /bits/ 64 <1296000000>;
|
||||
+ opp-microvolt = <1300000 1300000 1300000>;
|
||||
+ clock-latency-ns = <244144>; /* 8 32k periods */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-gpio-regulator-1.3v.dts b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-gpio-regulator-1.3v.dts
|
||||
new file mode 100644
|
||||
index 000000000..8d2755c3d
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/overlay/sun50i-h5-gpio-regulator-1.3v.dts
|
||||
@@ -0,0 +1,38 @@
|
||||
+/dts-v1/;
|
||||
+/plugin/;
|
||||
+
|
||||
+/ {
|
||||
+ compatible = "allwinner,sun50i-h5";
|
||||
+
|
||||
+ fragment@0 {
|
||||
+ target-path = "/";
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ reg_vdd_cpux: gpio-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-ramp-delay = <50>; /* 4ms */
|
||||
+
|
||||
+ gpios = <&r_pio 0 6 0>; /* PL6 */
|
||||
+ enable-active-high;
|
||||
+ gpios-states = <0x1>;
|
||||
+ states = <1100000 0x0
|
||||
+ 1300000 0x1>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ fragment@1 {
|
||||
+ target = <&cpu0>;
|
||||
+
|
||||
+ __overlay__ {
|
||||
+ cpu-supply = <®_vdd_cpux>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From f95f6c86d61601400569700a5cb2e006d4210af3 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 15:52:48 +0300
|
||||
Subject: [PATCH 3/4] arm64:dts: sun50i-a64 force mmc0 bus-width
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index 17031c35d..cee9cd579 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -559,6 +559,7 @@ mmc0: mmc@1c0f000 {
|
||||
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
|
||||
max-frequency = <150000000>;
|
||||
status = "disabled";
|
||||
+ bus-width = <0x4>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From bfc2c1a7d2c0e5a9ab475d1c5b180e4c3711f6cf Mon Sep 17 00:00:00 2001
|
||||
From: hehopmajieh <hehopmajieh@debian.bg>
|
||||
Date: Wed, 20 May 2020 09:25:56 +0300
|
||||
Subject: [PATCH 44/50] arm64:dts:sun50i-a64-olinuxino-1Ge16GW Disable clock
|
||||
phase and hs just for test
|
||||
|
||||
---
|
||||
.../arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts
|
||||
index 100a7ce49..41c7a4ed4 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts
|
||||
@@ -15,8 +15,8 @@ / {
|
||||
|
||||
&mmc2 {
|
||||
vqmmc-supply = <®_eldo1>;
|
||||
- mmc-hs200-1_8v;
|
||||
- allwinner,drive-data-phase = <180>;
|
||||
+/* mmc-hs200-1_8v;
|
||||
+ allwinner,drive-data-phase = <180>;*/
|
||||
};
|
||||
|
||||
&pio {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From 1aad6696714d419f31df756f70aa18637d87b93d Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Fri, 20 Mar 2020 17:31:49 +0200
|
||||
Subject: [PATCH 42/50] arm64:dts: sun50i-a64-olinuxino-1Ge16GW: enable
|
||||
bluetooth
|
||||
|
||||
---
|
||||
.../sun50i-a64-olinuxino-1Ge16GW.dts | 21 +++++++++++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts
|
||||
index a508d77d2..100a7ce49 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts
|
||||
@@ -18,3 +18,24 @@ &mmc2 {
|
||||
mmc-hs200-1_8v;
|
||||
allwinner,drive-data-phase = <180>;
|
||||
};
|
||||
+
|
||||
+&pio {
|
||||
+ vcc-pc-supply = <®_eldo1>;
|
||||
+ uart1_cts_pins: uart1_cts_pins {
|
||||
+ pins = "PG8";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>, <&uart1_cts_pins>;
|
||||
+ status = "okay";
|
||||
+ bluetooth {
|
||||
+ compatible = "realtek,rtl8723bs-bt";
|
||||
+ reset-gpios = <&r_pio 0 4 GPIO_ACTIVE_LOW>; /* PL4 */
|
||||
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
|
||||
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ firmware-postfix = "olinuxino";
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,603 @@
|
||||
From 4856649ebb917b61a04b2dd1082cdb6c7f12ea43 Mon Sep 17 00:00:00 2001
|
||||
From: Mitko Gamishev <hehopmajieh@debian.bg>
|
||||
Date: Wed, 5 Feb 2020 15:03:08 +0200
|
||||
Subject: [PATCH 40/50] arm64:dts:sun50i-a64-olinuxino add boards
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 5 +
|
||||
.../dts/allwinner/sun50i-a64-olinuxino-1G.dts | 362 ++++++++++++++++++
|
||||
.../sun50i-a64-olinuxino-1Ge16GW.dts | 20 +
|
||||
.../allwinner/sun50i-a64-olinuxino-1Ge4GW.dts | 97 +++++
|
||||
.../allwinner/sun50i-a64-olinuxino-1Gs16M.dts | 31 ++
|
||||
.../allwinner/sun50i-a64-olinuxino-2Ge8G.dts | 25 ++
|
||||
6 files changed, 540 insertions(+)
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1G.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge4GW.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Gs16M.dts
|
||||
create mode 100644 arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-2Ge8G.dts
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index 07265765b..a14ad689b 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -5,6 +5,11 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-nanopi-a64.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-oceanic-5205-5inmfd.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino-emmc.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino-1G.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino-1Ge4GW.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino-1Ge16GW.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino-1Gs16M.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino-2Ge8G.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-lts.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-pine64-plus.dtb sun50i-a64-pine64.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1G.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1G.dts
|
||||
new file mode 100644
|
||||
index 000000000..d48ed65de
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1G.dts
|
||||
@@ -0,0 +1,362 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2019 OLIMEX Ltd.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "Olimex A64-Olinuxino-1G";
|
||||
+ compatible = "olimex,a64-olinuxino-1g", "allwinner,sun50i-a64";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ hdmi-connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ hdmi-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,name = "allwinner,hdmi";
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&hdmi>;
|
||||
+ };
|
||||
+
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s2>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc_sys: vcc-sys {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-sys";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ reg_usb1_vbus: usb1-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 6 9 GPIO_ACTIVE_HIGH>; /* PG9 */
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&codec {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&codec_analog {
|
||||
+ hpvcc-supply = <®_eldo1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dai {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&rgmii_pins>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-supply = <®_dcdc1>;
|
||||
+ allwinner,tx-delay-ps = <600>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi {
|
||||
+ hvcc-supply = <®_dldo1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+/* Exposed to UEXT connector */
|
||||
+&i2c1 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c1_pins>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&i2s2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
+ disable-wp;
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_rsb {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp803: pmic@3a3 {
|
||||
+ compatible = "x-powers,axp803";
|
||||
+ reg = <0x3a3>;
|
||||
+ interrupt-parent = <&r_intc>;
|
||||
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+#include "axp803.dtsi"
|
||||
+
|
||||
+&ac_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&axp_led {
|
||||
+ label = "axp20x:yellow:chgled";
|
||||
+ status = "okay";
|
||||
+ x-powers,charger-mode = <0>;
|
||||
+};
|
||||
+
|
||||
+&battery_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "vcc-pe";
|
||||
+};
|
||||
+
|
||||
+®_aldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-pl";
|
||||
+};
|
||||
+
|
||||
+®_aldo3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-name = "vcc-pll-avcc";
|
||||
+};
|
||||
+
|
||||
+®_dcdc1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-3v3";
|
||||
+};
|
||||
+
|
||||
+®_dcdc2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1040000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+};
|
||||
+
|
||||
+/* DCDC3 is polyphased with DCDC2 */
|
||||
+
|
||||
+/*
|
||||
+ * The board uses DDR3L DRAM chips. 1.36V is the closest to the nominal
|
||||
+ * 1.35V that the PMIC can drive.
|
||||
+ */
|
||||
+®_dcdc5 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1360000>;
|
||||
+ regulator-max-microvolt = <1360000>;
|
||||
+ regulator-name = "vcc-ddr3";
|
||||
+};
|
||||
+
|
||||
+®_dcdc6 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-sys";
|
||||
+};
|
||||
+
|
||||
+®_dldo1 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-hdmi";
|
||||
+};
|
||||
+
|
||||
+®_dldo2 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-mipi";
|
||||
+};
|
||||
+
|
||||
+®_dldo3 {
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "vcc-avdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_dldo4 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-wifi-io";
|
||||
+};
|
||||
+
|
||||
+®_drivevbus {
|
||||
+ regulator-name = "usb0-vbus";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_eldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-emmc";
|
||||
+};
|
||||
+
|
||||
+®_eldo2 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc-dvdd-csi";
|
||||
+};
|
||||
+
|
||||
+®_fldo1 {
|
||||
+ regulator-min-microvolt = <1200000>;
|
||||
+ regulator-max-microvolt = <1200000>;
|
||||
+ regulator-name = "vcc-1v2-hsic";
|
||||
+};
|
||||
+
|
||||
+/*
|
||||
+ * The A64 chip cannot work without this regulator off, although
|
||||
+ * it seems to be only driving the AR100 core.
|
||||
+ * Maybe we don't still know well about CPUs domain.
|
||||
+ */
|
||||
+®_fldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-name = "vdd-cpus";
|
||||
+};
|
||||
+
|
||||
+®_rtc_ldo {
|
||||
+ regulator-name = "vcc-rtc";
|
||||
+};
|
||||
+
|
||||
+&simplefb_hdmi {
|
||||
+ vcc-hdmi-supply = <®_dldo1>;
|
||||
+};
|
||||
+
|
||||
+&sound {
|
||||
+ simple-audio-card,aux-devs = <&codec_analog>;
|
||||
+ simple-audio-card,widgets = "Microphone", "Microphone Jack Left",
|
||||
+ "Microphone", "Microphone Jack Right",
|
||||
+ "Headphone", "Headphone Jack";
|
||||
+ simple-audio-card,routing = "Left DAC", "AIF1 Slot 0 Left",
|
||||
+ "Right DAC", "AIF1 Slot 0 Right",
|
||||
+ "Headphone Jack", "HP",
|
||||
+ "AIF1 Slot 0 Left ADC", "Left ADC",
|
||||
+ "AIF1 Slot 0 Right ADC", "Right ADC",
|
||||
+ "Microphone Jack Left", "MBIAS",
|
||||
+ "MIC1", "Microphone Jack Left",
|
||||
+ "Microphone Jack Left", "HBIAS",
|
||||
+ "MIC2", "Microphone Jack Right";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&spdif {
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+/* Exposed on UEXT */
|
||||
+&spi0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi0_pins>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_pb_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* Exposed on UEXT */
|
||||
+&uart3 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart3_pins>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ status = "okay";
|
||||
+ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
|
||||
+ usb0_vbus_det-gpios = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
|
||||
+ usb0_vbus-supply = <®_drivevbus>;
|
||||
+ usb1_vbus-supply = <®_usb1_vbus>;
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts
|
||||
new file mode 100644
|
||||
index 000000000..a508d77d2
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge16GW.dts
|
||||
@@ -0,0 +1,20 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2019 OLIMEX Ltd.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-olinuxino-1Ge4GW.dts"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Olimex A64-Olinuxino-1Ge16GW";
|
||||
+ compatible = "olimex,a64-olinuxino-1ge16gw", "allwinner,sun50i-a64";
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ vqmmc-supply = <®_eldo1>;
|
||||
+ mmc-hs200-1_8v;
|
||||
+ allwinner,drive-data-phase = <180>;
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge4GW.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge4GW.dts
|
||||
new file mode 100644
|
||||
index 000000000..c87ecc6e1
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Ge4GW.dts
|
||||
@@ -0,0 +1,97 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2019 OLIMEX Ltd.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-olinuxino-1G.dts"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Olimex A64-Olinuxino-1Ge4GW";
|
||||
+ compatible = "olimex,a64-olinuxino-1ge4gw", "allwinner,sun50i-a64";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet1 = &rtl8723bs;
|
||||
+ mmc1 = &mmc2;
|
||||
+ };
|
||||
+
|
||||
+ bt-sound {
|
||||
+ compatible = "simple-audio-card";
|
||||
+ simple-audio-card,format = "i2s";
|
||||
+ simple-audio-card,bitclock-inversion = <1>;
|
||||
+ simple-audio-card,mclk-fs = <256>;
|
||||
+ simple-audio-card,name = "RTL8723BS";
|
||||
+ simple-audio-card,cpu {
|
||||
+ sound-dai = <&i2s1>;
|
||||
+ };
|
||||
+ simple-audio-card,codec {
|
||||
+ sound-dai = <&bt_sco>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ bt_sco: bt-sco {
|
||||
+ compatible = "linux,bt-sco";
|
||||
+ #sound-dai-cells = <0>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2s1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ vmmc-supply = <®_aldo2>;
|
||||
+ vqmmc-supply = <®_dldo4>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ rtl8723bs: wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ interrupt-parent = <&r_pio>;
|
||||
+ interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
|
||||
+ interrupt-names = "host-wake";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ vqmmc-supply = <®_dcdc1>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ uart1_cts_pins: uart1_cts_pins {
|
||||
+ pins = "PG8";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>, <&uart1_cts_pins>;
|
||||
+ status = "okay";
|
||||
+ bluetooth {
|
||||
+ compatible = "realtek,rtl8723bs-bt";
|
||||
+ reset-gpios = <&r_pio 0 4 GPIO_ACTIVE_LOW>; /* PL4 */
|
||||
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
|
||||
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ firmware-postfix = "olinuxino";
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Gs16M.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Gs16M.dts
|
||||
new file mode 100644
|
||||
index 000000000..5b85f4d2b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-1Gs16M.dts
|
||||
@@ -0,0 +1,31 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2019 OLIMEX Ltd.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-olinuxino-1G.dts"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Olimex A64-Olinuxino-1Gs16M";
|
||||
+ compatible = "olimex,a64-olinuxino-1gs16m", "allwinner,sun50i-a64";
|
||||
+
|
||||
+ aliases {
|
||||
+ spi0 = &spi0;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ spi-nor@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "winbond,w25q128", "jedec,spi-nor", "spi-flash";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <10000000>;
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-2Ge8G.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-2Ge8G.dts
|
||||
new file mode 100644
|
||||
index 000000000..3583c37d3
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-2Ge8G.dts
|
||||
@@ -0,0 +1,25 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2019 OLIMEX Ltd.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-a64-olinuxino-1G.dts"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Olimex A64-Olinuxino-2Ge8G-IND";
|
||||
+ compatible = "olimex,a64-olinuxino-2ge8g", "allwinner,sun50i-a64";
|
||||
+};
|
||||
+
|
||||
+&mmc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ vmmc-supply = <®_dcdc1>;
|
||||
+ vqmmc-supply = <®_dcdc1>;
|
||||
+ bus-width = <8>;
|
||||
+ non-removable;
|
||||
+ cap-mmc-hw-reset;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 5439beb79a2eb6276685c2525f655ff8438e7df9 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Fri, 20 Mar 2020 13:53:44 +0200
|
||||
Subject: [PATCH 41/50] arm64:dts: sun50i-a64-olinuxino-emmc: enable bluetooth
|
||||
|
||||
---
|
||||
.../dts/allwinner/sun50i-a64-olinuxino-emmc.dts | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
|
||||
index efb20846d..963b8b207 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts
|
||||
@@ -22,4 +22,21 @@ &mmc2 {
|
||||
|
||||
&pio {
|
||||
vcc-pc-supply = <®_eldo1>;
|
||||
+ uart1_cts_pins: uart1_cts_pins {
|
||||
+ pins = "PG8";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>, <&uart1_cts_pins>;
|
||||
+ status = "okay";
|
||||
+ bluetooth {
|
||||
+ compatible = "realtek,rtl8723bs-bt";
|
||||
+ reset-gpios = <&r_pio 0 4 GPIO_ACTIVE_LOW>; /* PL4 */
|
||||
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
|
||||
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ firmware-postfix = "olinuxino";
|
||||
+ };
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From b81777f105ab05f76feb45c83f6616b05c953703 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 15:48:25 +0300
|
||||
Subject: [PATCH 2/4] arm64:dts: sun50i-a64-orangepi-win add aliase ethernet1
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
|
||||
index b9ec9c7e1..917105a51 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts
|
||||
@@ -15,6 +15,7 @@ / {
|
||||
|
||||
aliases {
|
||||
ethernet0 = &emac;
|
||||
+ ethernet1 = &brcmf;
|
||||
serial0 = &uart0;
|
||||
serial1 = &uart1;
|
||||
serial2 = &uart2;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From 494726be286d25bb95eba2ef9198abf2a567a71b Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Tue, 25 Jan 2022 19:10:06 +0300
|
||||
Subject: [PATCH 099/101] arm64:dts: sun50i-a64-pine64 add spi0
|
||||
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-a64-pine64.dts | 29 +++++++++++++++++++
|
||||
1 file changed, 29 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
|
||||
index cba8ae875..fc0f7975c 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
|
||||
@@ -350,3 +350,32 @@ &usb_otg {
|
||||
&usbphy {
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&spi0 {
|
||||
+ status = "okay";
|
||||
+ spi-flash@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>; /* Chip select 0 */
|
||||
+ spi-max-frequency = <10000000>;
|
||||
+ status = "disabled";
|
||||
+ partitions {
|
||||
+ compatible = "fixed-partitions";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ partition@0 {
|
||||
+ label = "uboot";
|
||||
+ reg = <0x0 0x100000>;
|
||||
+ };
|
||||
+ partition@100000 {
|
||||
+ label = "env";
|
||||
+ reg = <0x100000 0x100000>;
|
||||
+ };
|
||||
+ partition@200000 {
|
||||
+ label = "data";
|
||||
+ reg = <0x200000 0x200000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From 041084848f6c218a95c306248c44999439a26597 Mon Sep 17 00:00:00 2001
|
||||
From: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
Date: Wed, 31 Oct 2018 20:45:16 -0700
|
||||
Subject: [PATCH 066/101] arm64:dts: sun50i-a64-pine64 enable Bluetooth
|
||||
|
||||
Pine64 has optional RTL8723BS WiFi + BT module, BT is connected to UART1
|
||||
and uses PL4 as BT reset, PL5 as device wake GPIO, PL6 as host wake GPIO
|
||||
the I2C controlling signals are connected to R_I2C bus.
|
||||
|
||||
Enable it in the device tree.
|
||||
|
||||
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
|
||||
index a08c97f23..cba8ae875 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
|
||||
@@ -310,7 +310,15 @@ &uart0 {
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||
- status = "disabled";
|
||||
+ status = "okay";
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "realtek,rtl8723bs-bt";
|
||||
+ reset-gpios = <&r_pio 0 4 GPIO_ACTIVE_LOW>; /* PL4 */
|
||||
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
|
||||
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ firmware-postfix = "pine64";
|
||||
+ };
|
||||
};
|
||||
|
||||
/* On Pi-2 connector */
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From a75d699946645e521260b4a099937cd563eeeae8 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Thu, 9 Feb 2017 00:18:56 +0800
|
||||
Subject: [PATCH 004/101] arm64:dts: sun50i-a64-pine64 enable wifi mmc1
|
||||
|
||||
The Wi-Fi modules of Pine64 is powered via DLDO4 and ELDO1 (the latter
|
||||
one provides I/O voltage).
|
||||
|
||||
Add device node for it.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-a64-pine64.dts | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
|
||||
index 17886709b..a08c97f23 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
|
||||
@@ -35,6 +35,11 @@ hdmi_con_in: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
+ };
|
||||
};
|
||||
|
||||
&codec {
|
||||
@@ -128,6 +133,17 @@ &mmc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&mmc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ vmmc-supply = <®_dldo4>;
|
||||
+ vqmmc-supply = <®_eldo1>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ non-removable;
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&ohci0 {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From baa2f7cf1d457a34b27d32fba0609b3eeabb6d7c Mon Sep 17 00:00:00 2001
|
||||
From: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
Date: Wed, 31 Oct 2018 20:43:26 -0700
|
||||
Subject: [PATCH 065/101] arm64:dts: sun50i-a64-pinebook enable Bluetooth
|
||||
|
||||
Pinebook has an RTL8723CS WiFi + BT chip, BT is connected to UART1
|
||||
and uses PL4 as BT reset, PL5 as device wake GPIO, PL6 as host wake GPIO
|
||||
the I2C controlling signals are connected to R_I2C bus.
|
||||
|
||||
Enable it in the device tree.
|
||||
|
||||
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-a64-pinebook.dts | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
index 34e67f5f8..0cd5cf419 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pinebook.dts
|
||||
@@ -405,6 +405,20 @@ &uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "realtek,rtl8723cs-bt";
|
||||
+ reset-gpios = <&r_pio 0 4 GPIO_ACTIVE_LOW>; /* PL4 */
|
||||
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
|
||||
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ firmware-postfix = "pinebook";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&usb_otg {
|
||||
dr_mode = "host";
|
||||
};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From 03f0067f158c4a8c31b26b17bb2c3eff06d32351 Mon Sep 17 00:00:00 2001
|
||||
From: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
Date: Sun, 3 Dec 2017 11:43:08 -0800
|
||||
Subject: [PATCH 019/101] arm64:dts: sun50i-a64-sopine-baseboard Add i2s2 mmc1
|
||||
|
||||
---
|
||||
.../dts/allwinner/sun50i-a64-sopine-baseboard.dts | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
|
||||
index 970d52837..ee4fd195e 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
|
||||
@@ -100,6 +100,10 @@ &i2s2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&i2s2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&mdio {
|
||||
ext_rgmii_phy: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
@@ -107,6 +111,16 @@ ext_rgmii_phy: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
+&mmc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ vmmc-supply = <®_dldo4>;
|
||||
+ vqmmc-supply = <®_eldo1>;
|
||||
+ non-removable;
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 57e9f66bb8891a1157533f8b7193f84fc1a4b568 Mon Sep 17 00:00:00 2001
|
||||
From: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
Date: Wed, 31 Oct 2018 20:50:09 -0700
|
||||
Subject: [PATCH 067/101] arm64:dts: sun50i-a64-sopine-baseboard enable
|
||||
Bluetooth
|
||||
|
||||
SoPine has optional RTL8723BS WiFi + BT module, BT is connected to UART1
|
||||
and uses PL4 as BT reset, PL5 as device wake GPIO, PL6 as host wake GPIO
|
||||
the I2C controlling signals are connected to R_I2C bus.
|
||||
|
||||
Enable it in the device tree.
|
||||
|
||||
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
---
|
||||
.../dts/allwinner/sun50i-a64-sopine-baseboard.dts | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
|
||||
index ee4fd195e..56714cc3f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
|
||||
@@ -197,6 +197,20 @@ &uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ bluetooth {
|
||||
+ compatible = "realtek,rtl8723bs-bt";
|
||||
+ reset-gpios = <&r_pio 0 4 GPIO_ACTIVE_LOW>; /* PL4 */
|
||||
+ device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 */
|
||||
+ host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ firmware-postfix = "pine64";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
/* On Pi-2 connector */
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From 6d01fd36994f8367e2c3d4f5f80240a8436b7b4e Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Mon, 6 Apr 2020 15:26:10 +0300
|
||||
Subject: [PATCH 43/50] arm64:dts:sun50i-a64.dtsi adjust thermal trip points
|
||||
|
||||
default values for alert1/crit are way too high.
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
index cee9cd579..2b39af262 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
|
||||
@@ -253,21 +253,21 @@ map1 {
|
||||
trips {
|
||||
cpu_alert0: cpu_alert0 {
|
||||
/* milliCelsius */
|
||||
- temperature = <75000>;
|
||||
+ temperature = <70000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu_alert1: cpu_alert1 {
|
||||
/* milliCelsius */
|
||||
- temperature = <90000>;
|
||||
+ temperature = <80000>;
|
||||
hysteresis = <2000>;
|
||||
type = "hot";
|
||||
};
|
||||
|
||||
cpu_crit: cpu_crit {
|
||||
/* milliCelsius */
|
||||
- temperature = <110000>;
|
||||
+ temperature = <90000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
From 53a63fe960089dd9affd0ac50446cc5f4f6327cd Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 20:40:02 +0300
|
||||
Subject: [PATCH 46/50] arm64:dts:sun50i-h5 add cpu opp refs
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-bananapi-m2-plus.dts | 1 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts | 3 ++-
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-m1-plus2.dts | 1 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-core2.dts | 1 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts | 1 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2-v1.1.dts | 1 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts | 1 +
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 1 +
|
||||
8 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-bananapi-m2-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-bananapi-m2-plus.dts
|
||||
index 77661006d..fa1f4e706 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-bananapi-m2-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-bananapi-m2-plus.dts
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
#include <arm/sunxi-bananapi-m2-plus.dtsi>
|
||||
|
||||
/ {
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts
|
||||
index b7045a9ef..4980076da 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-k1-plus.dts
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
@@ -393,4 +394,4 @@ &usbphy {
|
||||
&i2s0 {
|
||||
sound-dai = <&pcm5102a>;
|
||||
status = "disabled";
|
||||
-};
|
||||
\ No newline at end of file
|
||||
+};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-m1-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-m1-plus2.dts
|
||||
index d051382cc..2c742e0e8 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-m1-plus2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-m1-plus2.dts
|
||||
@@ -43,6 +43,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-core2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-core2.dts
|
||||
index 57283cc16..8d1958cd5 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-core2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-core2.dts
|
||||
@@ -43,6 +43,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts
|
||||
index 4c3921ac2..49e28ed6d 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo-plus2.dts
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2-v1.1.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2-v1.1.dts
|
||||
index 06ffbbd29..be48938ee 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2-v1.1.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2-v1.1.dts
|
||||
@@ -42,6 +42,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
index 39331229c..ba597c9d3 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
index 2e2ff6cc1..7fc2ead23 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
From 8124a98ee76297d03410df28226f6121ee998a3e Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 21:12:46 +0300
|
||||
Subject: [PATCH 47/50] arm64:dts:sun50i-h5 add termal zones
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi | 66 ++++++++++++++++----
|
||||
1 file changed, 54 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
|
||||
index 24cd29ad9..9ce6b0a3a 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
|
||||
@@ -234,31 +234,73 @@ ths: thermal-sensor@1c25000 {
|
||||
|
||||
thermal-zones {
|
||||
cpu_thermal: cpu-thermal {
|
||||
- polling-delay-passive = <0>;
|
||||
- polling-delay = <0>;
|
||||
+ /* milliseconds */
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
thermal-sensors = <&ths 0>;
|
||||
|
||||
trips {
|
||||
- cpu_hot_trip: cpu-hot {
|
||||
+ cpu_warm: cpu_warm {
|
||||
+ temperature = <75000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot_pre: cpu_hot_pre {
|
||||
temperature = <80000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
- cpu_very_hot_trip: cpu-very-hot {
|
||||
- temperature = <100000>;
|
||||
- hysteresis = <0>;
|
||||
+ cpu_hot: cpu_hot {
|
||||
+ temperature = <85000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot_pre: cpu_very_hot_pre {
|
||||
+ temperature = <90000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot: cpu_very_hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_crit: cpu_crit {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
- cpu-hot-limit {
|
||||
- trip = <&cpu_hot_trip>;
|
||||
- cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
- <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
- <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
- <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
+ cpu_warm_limit_cpu {
|
||||
+ trip = <&cpu_warm>;
|
||||
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT 2>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot_pre_limit_cpu {
|
||||
+ trip = <&cpu_hot_pre>;
|
||||
+ cooling-device = <&cpu0 2 3>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot_limit_cpu {
|
||||
+ trip = <&cpu_hot>;
|
||||
+ cooling-device = <&cpu0 3 4>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot_pre_limit_cpu {
|
||||
+ trip = <&cpu_very_hot_pre>;
|
||||
+ cooling-device = <&cpu0 5 6>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot_limit_cpu {
|
||||
+ trip = <&cpu_very_hot>;
|
||||
+ cooling-device = <&cpu0 7 THERMAL_NO_LIMIT>;
|
||||
};
|
||||
};
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
From 00261eb89842912d41faca6ea0c46d13f9ffe7f6 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 19:24:24 +0300
|
||||
Subject: [PATCH 088/101] arm64:dts: sun50i-h5-nanopi-neo2 add regulator, led
|
||||
triger
|
||||
|
||||
---
|
||||
.../dts/allwinner/sun50i-h5-nanopi-neo2.dts | 23 ++++++++++++++++++-
|
||||
1 file changed, 22 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
index 05486ccce..39331229c 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
@@ -25,12 +25,13 @@ leds {
|
||||
led-0 {
|
||||
label = "nanopi:green:pwr";
|
||||
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
- default-state = "on";
|
||||
+ linux,default-trigger = "default-on";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
label = "nanopi:blue:status";
|
||||
gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -51,6 +52,22 @@ reg_vcc3v3: vcc3v3 {
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
+ vdd_cpux: gpio-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ pinctrl-names = "default";
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1100000>;
|
||||
+ regulator-ramp-delay = <50>; /* 4ms */
|
||||
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ gpios-states = <0x1>;
|
||||
+ states = <1100000 0x0
|
||||
+ 1100000 0x1>;
|
||||
+ };
|
||||
+
|
||||
reg_usb0_vbus: usb0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb0-vbus";
|
||||
@@ -62,6 +79,10 @@ reg_usb0_vbus: usb0-vbus {
|
||||
};
|
||||
};
|
||||
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <&vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
From 5084b907001b739337fda54ec442a35f2ed96afb Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 19:27:52 +0300
|
||||
Subject: [PATCH 089/101] arm64:dts: sun50i-h5-orangepi-pc2 add spi flash
|
||||
|
||||
---
|
||||
.../dts/allwinner/sun50i-h5-orangepi-pc2.dts | 25 +++++++++++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
|
||||
index d7852fa4d..181a465fb 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-pc2.dts
|
||||
@@ -207,16 +207,29 @@ &sound_hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
-&spi0 {
|
||||
+&spi0 {
|
||||
status = "okay";
|
||||
-
|
||||
- flash@0 {
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <1>;
|
||||
- compatible = "jedec,spi-nor";
|
||||
- reg = <0>;
|
||||
- spi-max-frequency = <40000000>;
|
||||
- };
|
||||
+ spi-flash@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ compatible = "jedec,spi-nor";
|
||||
+ reg = <0>; /* Chip select 0 */
|
||||
+ spi-max-frequency = <10000000>;
|
||||
+ status = "okay";
|
||||
+ partitions {
|
||||
+ compatible = "fixed-partitions";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ partition@0 {
|
||||
+ label = "uboot";
|
||||
+ reg = <0x0 0x100000>;
|
||||
+ };
|
||||
+ partition@100000 {
|
||||
+ label = "env";
|
||||
+ reg = <0x100000 0x100000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
From 18df89efaaa1aba61f501ecdc674e58a732ddbd4 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 19:34:31 +0300
|
||||
Subject: [PATCH 090/101] arm64:dts: sun50i-h5-orangepi-prime add regulator
|
||||
|
||||
---
|
||||
.../allwinner/sun50i-h5-orangepi-prime.dts | 43 ++++++++++++++++---
|
||||
1 file changed, 36 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
index 19b8538e0..2e2ff6cc1 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
@@ -8,11 +8,19 @@
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
+#include <dt-bindings/pinctrl/sun4i-a10.h>
|
||||
|
||||
/ {
|
||||
model = "Xunlong Orange Pi Prime";
|
||||
compatible = "xunlong,orangepi-prime", "allwinner,sun50i-h5";
|
||||
|
||||
+ reg_vcc3v3: vcc3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
aliases {
|
||||
ethernet0 = &emac;
|
||||
serial0 = &uart0;
|
||||
@@ -68,13 +76,6 @@ reg_gmac_3v3: gmac-3v3 {
|
||||
gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
- reg_vcc3v3: vcc3v3 {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc3v3";
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
- };
|
||||
-
|
||||
reg_usb0_vbus: usb0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb0-vbus";
|
||||
@@ -91,6 +92,10 @@ wifi_pwrseq: wifi_pwrseq {
|
||||
};
|
||||
};
|
||||
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_vdd_cpux>;
|
||||
+};
|
||||
+
|
||||
&codec {
|
||||
allwinner,audio-routing =
|
||||
"Line Out", "LINEOUT",
|
||||
@@ -189,6 +194,30 @@ &ohci3 {
|
||||
&sound_hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
+&r_i2c {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ reg_vdd_cpux: regulator@65 {
|
||||
+ compatible = "silergy,sy8106a";
|
||||
+ reg = <0x65>;
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ silergy,fixed-microvolt = <1200000>;
|
||||
+ /*
|
||||
+ * The datasheet uses 1.1V as the minimum value of VDD-CPUX,
|
||||
+ * however both the Armbian DVFS table and the official one
|
||||
+ * have operating points with voltage under 1.1V, and both
|
||||
+ * DVFS table are known to work properly at the lowest
|
||||
+ * operating point.
|
||||
+ *
|
||||
+ * Use 1.0V as the minimum voltage instead.
|
||||
+ */
|
||||
+ regulator-min-microvolt = <1000000>;
|
||||
+ regulator-max-microvolt = <1400000>;
|
||||
+ regulator-ramp-delay = <200>;
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 9ef75a2676fae4f16d362c56a054bdad200b970f Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 7 Feb 2022 19:11:07 +0300
|
||||
Subject: [PATCH 12/13] arm64:dts: sun50i-h5-orangepi-prime add rtl8723cs
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
index 7fc2ead23..20461a170 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-prime.dts
|
||||
@@ -25,6 +25,7 @@ reg_vcc3v3: vcc3v3 {
|
||||
aliases {
|
||||
ethernet0 = &emac;
|
||||
serial0 = &uart0;
|
||||
+ ethernet1 = &rtl8723cs;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -174,6 +175,10 @@ &mmc1 {
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
+
|
||||
+ rtl8723cs: sdio_wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
From 03864f045fcdcf3154d14f348a2c11fb46f3ed8f Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 19:49:11 +0300
|
||||
Subject: [PATCH 091/101] arm64:dts: sun50i-h5-orangepi-zero-plus add regulator
|
||||
|
||||
---
|
||||
.../sun50i-h5-orangepi-zero-plus.dts | 25 ++++++++++++++++++-
|
||||
1 file changed, 24 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
index 7ec5ac850..dfa5fd2a7 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
@@ -36,12 +37,13 @@ leds {
|
||||
led-0 {
|
||||
label = "orangepi:green:pwr";
|
||||
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
|
||||
- default-state = "on";
|
||||
+ linux,default-trigger = "default-on";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
label = "orangepi:red:status";
|
||||
gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -54,6 +56,27 @@ reg_gmac_3v3: gmac-3v3 {
|
||||
enable-active-high;
|
||||
gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
|
||||
};
|
||||
+
|
||||
+ reg_sy8113b: gpio-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1100000>;
|
||||
+ regulator-max-microvolt = <1300000>;
|
||||
+ regulator-ramp-delay = <50>; /* 4ms */
|
||||
+
|
||||
+ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
||||
+ enable-active-high;
|
||||
+ gpios-states = <0x1>;
|
||||
+ states = <1100000 0x0
|
||||
+ 1300000 0x1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_sy8113b>;
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
From 2c0599854c3c4835aa778db604eba54f0dc5feee Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Mon, 24 Jan 2022 19:54:04 +0300
|
||||
Subject: [PATCH 092/101] arm64:dts: sun50i-h5-orangepi-zero-plus2
|
||||
regulator-gpio fix
|
||||
|
||||
---
|
||||
.../sun50i-h5-orangepi-zero-plus2.dts | 58 ++++++++++++++-----
|
||||
1 file changed, 45 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
|
||||
index 3e69ebde5..999fdcd96 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
|
||||
@@ -4,6 +4,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "sun50i-h5.dtsi"
|
||||
+#include "sun50i-h5-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
@@ -30,33 +31,55 @@ hdmi_con_in: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
+ reg_vcc3v3: vcc3v3 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc3v3";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led-0 {
|
||||
label = "orangepi:green:pwr";
|
||||
- gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
- default-state = "on";
|
||||
+ gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
|
||||
+ linux,default-trigger = "default-on";
|
||||
};
|
||||
|
||||
led-1 {
|
||||
label = "orangepi:red:status";
|
||||
- gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>;
|
||||
+ gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */
|
||||
+ linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
|
||||
- reg_vcc3v3: vcc3v3 {
|
||||
- compatible = "regulator-fixed";
|
||||
- regulator-name = "vcc3v3";
|
||||
- regulator-min-microvolt = <3300000>;
|
||||
- regulator-max-microvolt = <3300000>;
|
||||
+ reg_vdd_cpux: gpio-regulator {
|
||||
+ compatible = "regulator-gpio";
|
||||
+ regulator-name = "vdd-cpux";
|
||||
+ regulator-type = "voltage";
|
||||
+ regulator-boot-on;
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1108475>;
|
||||
+ regulator-max-microvolt = <1307810>;
|
||||
+ regulator-ramp-delay = <50>; /* 4ms */
|
||||
+// enable-gpios = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
|
||||
+ gpios = <&r_pio 0 6 0>; /* PL6 */
|
||||
+ enable-active-high;
|
||||
+ gpios-states = <0x1>;
|
||||
+ states = <1108475 0x0
|
||||
+ 1307810 0x1>;
|
||||
};
|
||||
+};
|
||||
|
||||
- wifi_pwrseq: wifi_pwrseq {
|
||||
- compatible = "mmc-pwrseq-simple";
|
||||
- reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
|
||||
- post-power-on-delay-ms = <200>;
|
||||
- };
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_vdd_cpux>;
|
||||
};
|
||||
|
||||
&de {
|
||||
@@ -149,3 +172,12 @@ &usb_otg {
|
||||
&usbphy {
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,122 @@
|
||||
From c843cbfb9d8c5b68ed2fedfd2d6905ec852f2873 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
Date: Sun, 12 Jan 2020 12:09:12 +0100
|
||||
Subject: [PATCH 011/101] arm64:dts: sun50i-h6: Add AC200 EPHY related nodes
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 63 ++++++++++++++++++++
|
||||
1 file changed, 63 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
index 6cdebbbff..7c17076d9 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
@@ -22,6 +22,16 @@ aliases {
|
||||
mmc2 = &mmc2;
|
||||
};
|
||||
|
||||
+ ac200_pwm_clk: ac200_clk {
|
||||
+ compatible = "pwm-clock";
|
||||
+ #clock-cells = <0>;
|
||||
+ clock-frequency = <24000000>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pwm1_pin>;
|
||||
+ pwms = <&pwm 1 42 0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -307,6 +317,10 @@ ths_calibration: thermal-sensor-calibration@14 {
|
||||
reg = <0x14 0x8>;
|
||||
};
|
||||
|
||||
+ ephy_calibration: ephy-calibration@2c {
|
||||
+ reg = <0x2c 0x2>;
|
||||
+ };
|
||||
+
|
||||
cpu_speed_grade: cpu-speed-grade@1c {
|
||||
reg = <0x1c 0x4>;
|
||||
};
|
||||
@@ -364,6 +378,14 @@ ext_rgmii_pins: rgmii-pins {
|
||||
drive-strength = <40>;
|
||||
};
|
||||
|
||||
+ /omit-if-no-ref/
|
||||
+ ext_rmii_pins: rmii_pins {
|
||||
+ pins = "PA0", "PA1", "PA2", "PA3", "PA4",
|
||||
+ "PA5", "PA6", "PA7", "PA8", "PA9";
|
||||
+ function = "emac";
|
||||
+ drive-strength = <40>;
|
||||
+ };
|
||||
+
|
||||
hdmi_pins: hdmi-pins {
|
||||
pins = "PH8", "PH9", "PH10";
|
||||
function = "hdmi";
|
||||
@@ -384,6 +406,11 @@ i2c2_pins: i2c2-pins {
|
||||
function = "i2c2";
|
||||
};
|
||||
|
||||
+ i2c3_pins: i2c3-pins {
|
||||
+ pins = "PB17", "PB18";
|
||||
+ function = "i2c3";
|
||||
+ };
|
||||
+
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1", "PF2", "PF3",
|
||||
"PF4", "PF5";
|
||||
@@ -401,6 +428,11 @@ mmc1_pins: mmc1-pins {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
+ pwm1_pin: pwm1-pin {
|
||||
+ pins = "PB19";
|
||||
+ function = "pwm1";
|
||||
+ };
|
||||
+
|
||||
mmc2_pins: mmc2-pins {
|
||||
pins = "PC1", "PC4", "PC5", "PC6",
|
||||
"PC7", "PC8", "PC9", "PC10",
|
||||
@@ -643,6 +675,37 @@ spi1: spi@5011000 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ i2c3: i2c@5002c00 {
|
||||
+ compatible = "allwinner,sun50i-h6-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002c00 0x400>;
|
||||
+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C3>;
|
||||
+ resets = <&ccu RST_BUS_I2C3>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c3_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ ac200: mfd@10 {
|
||||
+ compatible = "x-powers,ac200";
|
||||
+ reg = <0x10>;
|
||||
+ interrupt-parent = <&pio>;
|
||||
+ interrupts = <1 20 IRQ_TYPE_LEVEL_LOW>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <1>;
|
||||
+
|
||||
+ ac200_ephy: phy {
|
||||
+ compatible = "x-powers,ac200-ephy";
|
||||
+ clocks = <&ac200_pwm_clk>;
|
||||
+ nvmem-cells = <&ephy_calibration>;
|
||||
+ nvmem-cell-names = "calibration";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
emac: ethernet@5020000 {
|
||||
compatible = "allwinner,sun50i-h6-emac",
|
||||
"allwinner,sun50i-a64-emac";
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
From 86694ad8ba1f02ba3148b282b1bdf710fd07d83b Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Sun, 23 Jan 2022 20:49:27 +0300
|
||||
Subject: [PATCH 023/101] arm64:dts: sun50i-h6 Add r_uart uart2-3 pins
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 60 ++++++++++++++++----
|
||||
1 file changed, 50 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
index 7c17076d9..ceda702d6 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
@@ -307,6 +307,17 @@ msgbox: mailbox@3003000 {
|
||||
#mbox-cells = <1>;
|
||||
};
|
||||
|
||||
+ gic: interrupt-controller@3021000 {
|
||||
+ compatible = "arm,gic-400";
|
||||
+ reg = <0x03021000 0x1000>,
|
||||
+ <0x03022000 0x2000>,
|
||||
+ <0x03024000 0x2000>,
|
||||
+ <0x03026000 0x2000>;
|
||||
+ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+ };
|
||||
+
|
||||
sid: efuse@3006000 {
|
||||
compatible = "allwinner,sun50i-h6-sid";
|
||||
reg = <0x03006000 0x400>;
|
||||
@@ -370,6 +381,7 @@ pio: pinctrl@300b000 {
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
+ /omit-if-no-ref/
|
||||
ext_rgmii_pins: rgmii-pins {
|
||||
pins = "PD0", "PD1", "PD2", "PD3", "PD4",
|
||||
"PD5", "PD7", "PD8", "PD9", "PD10",
|
||||
@@ -433,6 +445,7 @@ pwm1_pin: pwm1-pin {
|
||||
function = "pwm1";
|
||||
};
|
||||
|
||||
+ /omit-if-no-ref/
|
||||
mmc2_pins: mmc2-pins {
|
||||
pins = "PC1", "PC4", "PC5", "PC6",
|
||||
"PC7", "PC8", "PC9", "PC10",
|
||||
@@ -486,17 +499,26 @@ uart1_rts_cts_pins: uart1-rts-cts-pins {
|
||||
pins = "PG8", "PG9";
|
||||
function = "uart1";
|
||||
};
|
||||
- };
|
||||
|
||||
- gic: interrupt-controller@3021000 {
|
||||
- compatible = "arm,gic-400";
|
||||
- reg = <0x03021000 0x1000>,
|
||||
- <0x03022000 0x2000>,
|
||||
- <0x03024000 0x2000>,
|
||||
- <0x03026000 0x2000>;
|
||||
- interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
- interrupt-controller;
|
||||
- #interrupt-cells = <3>;
|
||||
+ uart2_pins: uart2-pins {
|
||||
+ pins = "PD19", "PD20";
|
||||
+ function = "uart2";
|
||||
+ };
|
||||
+
|
||||
+ uart2_rts_cts_pins: uart2-rts-cts-pins {
|
||||
+ pins = "PD21", "PD22";
|
||||
+ function = "uart2";
|
||||
+ };
|
||||
+
|
||||
+ uart3_pins: uart3-pins {
|
||||
+ pins = "PD23", "PD24";
|
||||
+ function = "uart3";
|
||||
+ };
|
||||
+
|
||||
+ uart3_rts_cts_pins: uart3-rts-cts-pins {
|
||||
+ pins = "PD25", "PD26";
|
||||
+ function = "uart3";
|
||||
+ };
|
||||
};
|
||||
|
||||
iommu: iommu@30f0000 {
|
||||
@@ -1014,6 +1036,19 @@ tcon_tv_out_tcon_top: endpoint@1 {
|
||||
};
|
||||
};
|
||||
|
||||
+ r_uart: serial@7080000 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x07080000 0x400>;
|
||||
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&r_ccu CLK_R_APB2_UART>;
|
||||
+ resets = <&r_ccu RST_R_APB2_UART>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&r_uart_pins>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
rtc: rtc@7000000 {
|
||||
compatible = "allwinner,sun50i-h6-rtc";
|
||||
reg = <0x07000000 0x400>;
|
||||
@@ -1078,6 +1113,11 @@ r_rsb_pins: r-rsb-pins {
|
||||
pins = "PL0", "PL1";
|
||||
function = "s_rsb";
|
||||
};
|
||||
+
|
||||
+ r_uart_pins: r-uart-pins {
|
||||
+ pins = "PL2", "PL3";
|
||||
+ function = "s_uart";
|
||||
+ };
|
||||
};
|
||||
|
||||
r_ir: ir@7040000 {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
From 6afdb5ec4bc239a0e3043bfec6788d5d98f7c773 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 20:12:37 +0300
|
||||
Subject: [PATCH 45/50] arm64:dts: sun50i-h6-orangepi-3 add r_uart aliase
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
index 33678b938..a897bb513 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
@@ -15,6 +15,7 @@ / {
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
serial1 = &uart1;
|
||||
+ serial9 = &r_uart;
|
||||
ethernet0 = &emac;
|
||||
};
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 0d6606772184ef516d18670dcacadd7d29bb744c Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Tue, 25 Jan 2022 17:06:21 +0300
|
||||
Subject: [PATCH 094/101] arm64:dts: sun50i-h6-orangepi-3 delete-node &spi0
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
index 5780ae248..33678b938 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-3.dts
|
||||
@@ -347,6 +347,8 @@ &sound_hdmi {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+/delete-node/ &spi0;
|
||||
+
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_ph_pins>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 6b43b31c9f492d42b209e0758e710f1dab4ed109 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 21:18:05 +0300
|
||||
Subject: [PATCH 48/50] arm64:dts: sun50i-h6-orangepi add cpu opp refs
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
index b019bbaae..a494b3bbf 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
@@ -5,6 +5,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "sun50i-h6.dtsi"
|
||||
+#include "sun50i-h6-cpu-opp.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
@@ -64,6 +65,10 @@ reg_vcc5v: vcc5v {
|
||||
};
|
||||
};
|
||||
|
||||
+&cpu0 {
|
||||
+ cpu-supply = <®_dcdca>;
|
||||
+};
|
||||
+
|
||||
&de {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 69ff913f486d487f4032401731ef24aeabb009de Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Wed, 2 Feb 2022 21:22:57 +0300
|
||||
Subject: [PATCH 49/50] arm64:dts: sun50i-h6-orangepi enable higher clock
|
||||
regulator-max-microvolt
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
index a494b3bbf..ee1919b80 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi.dtsi
|
||||
@@ -217,7 +217,7 @@ reg_cldo3: cldo3 {
|
||||
reg_dcdca: dcdca {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <810000>;
|
||||
- regulator-max-microvolt = <1080000>;
|
||||
+ regulator-max-microvolt = <1160000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
From 7301a90cf33bdff78a22572e32daa3738544ee11 Mon Sep 17 00:00:00 2001
|
||||
From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
Date: Thu, 22 Jul 2021 08:56:39 +0200
|
||||
Subject: [PATCH 095/101] arm64:dts: sun50i-h6-orangepi-lite2 spi0, usb3phy,
|
||||
dwc3 enable
|
||||
|
||||
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||||
---
|
||||
.../allwinner/sun50i-h6-orangepi-lite2.dts | 26 +++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts
|
||||
index e8770858b..ee6c01da5 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts
|
||||
@@ -1,5 +1,6 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
// Copyright (C) 2018 Jagan Teki <jagan@openedev.com>
|
||||
+// Copyright (C) 2021 Igor Pecovnik <igor@armbian.com>
|
||||
|
||||
#include "sun50i-h6-orangepi.dtsi"
|
||||
|
||||
@@ -11,6 +12,16 @@ aliases {
|
||||
serial1 = &uart1; /* BT-UART */
|
||||
};
|
||||
|
||||
+ reg_usb_vbus: vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb-vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ startup-delay-us = <100000>;
|
||||
+ gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; /* PL5 USB0-DRVVBUS */
|
||||
+ enable-active-high;
|
||||
+ };
|
||||
+
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
clocks = <&rtc 1>;
|
||||
@@ -72,3 +83,18 @@ bluetooth {
|
||||
max-speed = <1500000>;
|
||||
};
|
||||
};
|
||||
+
|
||||
+&spi0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi0_pins>;
|
||||
+ status = "disabled";
|
||||
+};
|
||||
+
|
||||
+&usb3phy {
|
||||
+ phy-supply = <®_usb_vbus>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&dwc3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From 190d32328799259a2edb4a7aab4f9ca3cd098e63 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Tue, 25 Jan 2022 19:05:25 +0300
|
||||
Subject: [PATCH 098/101] arm64:dts: sun50i-h6-pine-h64 add dwc3 usb3phy
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
|
||||
index 41d3b5d21..454d2a297 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
|
||||
@@ -89,6 +89,10 @@ reg_usb_vbus: vbus {
|
||||
};
|
||||
};
|
||||
|
||||
+&dwc3 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdca>;
|
||||
};
|
||||
@@ -378,3 +382,8 @@ &usb2phy {
|
||||
usb3_vbus-supply = <®_usb_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
+
|
||||
+&usb3phy {
|
||||
+ phy-supply = <®_usb_vbus>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
From cf049f587d77cb53db68aece926526389829bf80 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Tue, 25 Jan 2022 18:41:47 +0300
|
||||
Subject: [PATCH 096/101] arm64:dts: sun50i-h6-pine-h64 add wifi rtl8723cs
|
||||
|
||||
---
|
||||
.../boot/dts/allwinner/sun50i-h6-pine-h64.dts | 38 +++++++++++++++++++
|
||||
1 file changed, 38 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
|
||||
index 341f42ae0..41d3b5d21 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts
|
||||
@@ -41,6 +41,14 @@ hdmi_con_in: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ clocks = <&rtc 1>;
|
||||
+ clock-names = "ext_clock";
|
||||
+ reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
@@ -141,6 +149,24 @@ &mmc0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&mmc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ vmmc-supply = <®_cldo2>;
|
||||
+ vqmmc-supply = <®_bldo2>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ rtl8723cs: sdio_wifi@1 {
|
||||
+ reg = <1>;
|
||||
+ interrupt-parent = <&r_pio>;
|
||||
+ interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */
|
||||
+ interrupt-names = "host-wake";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&mmc2 {
|
||||
vmmc-supply = <®_cldo1>;
|
||||
vqmmc-supply = <®_bldo2>;
|
||||
@@ -234,12 +260,24 @@ reg_cldo1: cldo1 {
|
||||
};
|
||||
|
||||
reg_cldo2: cldo2 {
|
||||
+ /*
|
||||
+ * This regulator is connected with CLDO3.
|
||||
+ * Before the kernel can support synchronized
|
||||
+ * enable of coupled regulators, keep them
|
||||
+ * both always on as a ugly hack.
|
||||
+ */
|
||||
+ regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi-1";
|
||||
};
|
||||
|
||||
reg_cldo3: cldo3 {
|
||||
+ /*
|
||||
+ * This regulator is connected with CLDO2.
|
||||
+ * See the comments for CLDO2.
|
||||
+ */
|
||||
+ regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi-2";
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 9e69bb4e0f9767b1ace285cf3227b5a82f6ace3a Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 15:19:32 +0300
|
||||
Subject: [PATCH 8/8] arm64:dts: sun50i-h6.dtsi add pinctrl pins for spi
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
index 35279469c..0bea1c77c 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
@@ -677,6 +677,8 @@ spi0: spi@5010000 {
|
||||
clock-names = "ahb", "mod";
|
||||
dmas = <&dma 22>, <&dma 22>;
|
||||
dma-names = "rx", "tx";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi0_pins>, <&spi0_cs_pin>;
|
||||
resets = <&ccu RST_BUS_SPI0>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
@@ -692,6 +694,8 @@ spi1: spi@5011000 {
|
||||
clock-names = "ahb", "mod";
|
||||
dmas = <&dma 23>, <&dma 23>;
|
||||
dma-names = "rx", "tx";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi1_pins>, <&spi1_cs_pin>;
|
||||
resets = <&ccu RST_BUS_SPI1>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
From 9eac817d9c58eee57d287e09e1ff1b5e62746342 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Tue, 25 Jan 2022 17:02:30 +0300
|
||||
Subject: [PATCH 093/101] arm64:dts: sun50i-h6.dtsi improve thermals
|
||||
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 68 ++++++++++++++++----
|
||||
1 file changed, 55 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
index ceda702d6..35279469c 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
|
||||
@@ -1,5 +1,6 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+// Copyright (C) 2020 Igor Pecovnik <igor@armbian.com>
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/sun50i-h6-ccu.h>
|
||||
@@ -1177,33 +1178,74 @@ ths: thermal-sensor@5070400 {
|
||||
|
||||
thermal-zones {
|
||||
cpu-thermal {
|
||||
- polling-delay-passive = <0>;
|
||||
- polling-delay = <0>;
|
||||
+ polling-delay-passive = <250>;
|
||||
+ polling-delay = <1000>;
|
||||
thermal-sensors = <&ths 0>;
|
||||
|
||||
trips {
|
||||
- cpu_alert: cpu-alert {
|
||||
+ cpu_warm: cpu_warm {
|
||||
+ temperature = <75000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot_pre: cpu_hot_pre {
|
||||
+ temperature = <80000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot: cpu_hot {
|
||||
temperature = <85000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
- cpu-crit {
|
||||
- temperature = <100000>;
|
||||
- hysteresis = <0>;
|
||||
+ cpu_very_hot_pre: cpu_very_hot_pre {
|
||||
+ temperature = <90000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot: cpu_very_hot {
|
||||
+ temperature = <95000>;
|
||||
+ hysteresis = <2000>;
|
||||
+ type = "passive";
|
||||
+ };
|
||||
+
|
||||
+ cpu_crit: cpu_crit {
|
||||
+ temperature = <105000>;
|
||||
+ hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
- map0 {
|
||||
- trip = <&cpu_alert>;
|
||||
- cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
- <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
- <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
||||
- <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
||||
+ cpu_warm_limit_cpu {
|
||||
+ trip = <&cpu_warm>;
|
||||
+ cooling-device = <&cpu0 THERMAL_NO_LIMIT 2>;
|
||||
};
|
||||
- };
|
||||
+
|
||||
+ cpu_hot_pre_limit_cpu {
|
||||
+ trip = <&cpu_hot_pre>;
|
||||
+ cooling-device = <&cpu0 2 3>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_hot_limit_cpu {
|
||||
+ trip = <&cpu_hot>;
|
||||
+ cooling-device = <&cpu0 3 4>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot_pre_limit_cpu {
|
||||
+ trip = <&cpu_very_hot_pre>;
|
||||
+ cooling-device = <&cpu0 5 6>;
|
||||
+ };
|
||||
+
|
||||
+ cpu_very_hot_limit_cpu {
|
||||
+ trip = <&cpu_very_hot>;
|
||||
+ cooling-device = <&cpu0 7 THERMAL_NO_LIMIT>;
|
||||
+ };
|
||||
+ };
|
||||
};
|
||||
|
||||
gpu-thermal {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From 47d026ab3c8dbb7a8da1791a1fa23466c1e9d160 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Fri, 15 Oct 2021 21:09:42 +0200
|
||||
Subject: [PATCH 038/101] arm64:dts: sun50i-h616-orangepi-zero2 Enable GPU mali
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
index a26201288..39e639b53 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
@@ -66,6 +66,11 @@ &ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&gpu {
|
||||
+ mali-supply = <®_dcdcc>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
/* USB 2 & 3 are on headers only. */
|
||||
|
||||
&emac0 {
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
From 46d15dff209a4a14c9596c4f050c2a69aaf0408b Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Mon, 14 Jun 2021 20:48:15 +0200
|
||||
Subject: [PATCH 059/101] arm64:dts: sun50i-h616-x96-mate T95 eth & sd card
|
||||
hack
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
---
|
||||
.../dts/allwinner/sun50i-h616-x96-mate.dts | 21 ++++++++++++++-
|
||||
.../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 26 +++++++++++++++++++
|
||||
2 files changed, 46 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
index b960bb310..51f1764ed 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
@@ -15,6 +15,7 @@ / {
|
||||
compatible = "hechuang,x96-mate", "allwinner,sun50i-h616";
|
||||
|
||||
aliases {
|
||||
+ ethernet0 = &emac1;
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
@@ -40,13 +41,31 @@ &ehci2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&emac1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&rmii_pins>;
|
||||
+ phy-mode = "rmii";
|
||||
+ phy-handle = <&rmii_phy>;
|
||||
+ phy-supply = <®_aldo1>;
|
||||
+ allwinner,rx-delay-ps = <3100>;
|
||||
+ allwinner,tx-delay-ps = <700>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&ir {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&mdio1 {
|
||||
+ rmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dcdce>;
|
||||
- cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ broken-cd;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
index 805b1e6b7..6794a8035 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -242,6 +242,13 @@ mmc2_pins: mmc2-pins {
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
+ rmii_pins: rmii-pins {
|
||||
+ pins = "PA0", "PA1", "PA2", "PA3", "PA4",
|
||||
+ "PA5", "PA6", "PA7", "PA8", "PA9";
|
||||
+ function = "emac1";
|
||||
+ drive-strength = <40>;
|
||||
+ };
|
||||
+
|
||||
spi0_pins: spi0-pins {
|
||||
pins = "PC0", "PC2", "PC3", "PC4";
|
||||
function = "spi0";
|
||||
@@ -528,6 +535,25 @@ mdio0: mdio {
|
||||
};
|
||||
};
|
||||
|
||||
+ emac1: ethernet@5030000 {
|
||||
+ compatible = "allwinner,sun50i-h616-emac";
|
||||
+ syscon = <&syscon 1>;
|
||||
+ reg = <0x05030000 0x10000>;
|
||||
+ interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "macirq";
|
||||
+ resets = <&ccu RST_BUS_EMAC1>;
|
||||
+ reset-names = "stmmaceth";
|
||||
+ clocks = <&ccu CLK_BUS_EMAC1>;
|
||||
+ clock-names = "stmmaceth";
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ mdio1: mdio {
|
||||
+ compatible = "snps,dwmac-mdio";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
usbotg: usb@5100000 {
|
||||
compatible = "allwinner,sun50i-h616-musb",
|
||||
"allwinner,sun8i-h3-musb";
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
From d1fae81ee1b7e5c1259119e35e9c100e8e9f2a2d Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Mon, 14 Jun 2021 22:39:58 +0200
|
||||
Subject: [PATCH 060/101] arm64:dts: sun50i-h616-x96-mate add hdmi
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
---
|
||||
.../dts/allwinner/sun50i-h616-x96-mate.dts | 26 +++++++++++++++++++
|
||||
1 file changed, 26 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
index 51f1764ed..3640160a3 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-x96-mate.dts
|
||||
@@ -23,6 +23,17 @@ chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
+ connector {
|
||||
+ compatible = "hdmi-connector";
|
||||
+ type = "a";
|
||||
+
|
||||
+ port {
|
||||
+ hdmi_con_in: endpoint {
|
||||
+ remote-endpoint = <&hdmi_out_con>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
reg_vcc5v: vcc5v {
|
||||
/* board wide 5V supply directly from the DC input */
|
||||
compatible = "regulator-fixed";
|
||||
@@ -33,6 +44,10 @@ reg_vcc5v: vcc5v {
|
||||
};
|
||||
};
|
||||
|
||||
+&de {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -52,6 +67,17 @@ &emac1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
+&hdmi {
|
||||
+ hvcc-supply = <®_bldo1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&hdmi_out {
|
||||
+ hdmi_out_con: endpoint {
|
||||
+ remote-endpoint = <&hdmi_con_in>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&ir {
|
||||
status = "okay";
|
||||
};
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From a6ff7a92a7bc37748410072f340bbbcda8c6206e Mon Sep 17 00:00:00 2001
|
||||
From: chbgdn <chbgdn@gmail.com>
|
||||
Date: Fri, 15 Oct 2021 23:08:52 +0300
|
||||
Subject: [PATCH] drv:bluetooth: btrtl: Add rtl8822cs (hci ver 0008)
|
||||
|
||||
Signed-off-by: chbgdn <chbgdn@gmail.com>
|
||||
---
|
||||
drivers/bluetooth/btrtl.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
|
||||
index fd293a9c4..ad4085eed 100644
|
||||
--- a/drivers/bluetooth/btrtl.c
|
||||
+++ b/drivers/bluetooth/btrtl.c
|
||||
@@ -192,6 +192,13 @@ static const struct id_table ic_id_table[] = {
|
||||
.fw_name = "rtl_bt/rtl8822cs_fw.bin",
|
||||
.cfg_name = "rtl_bt/rtl8822cs_config" },
|
||||
|
||||
+ /* 8822C with UART interface */
|
||||
+ { IC_INFO(RTL_ROM_LMP_8822B, 0xc, 0x8, HCI_UART),
|
||||
+ .config_needed = true,
|
||||
+ .has_rom_version = true,
|
||||
+ .fw_name = "rtl_bt/rtl8822cs_fw.bin",
|
||||
+ .cfg_name = "rtl_bt/rtl8822cs_config" },
|
||||
+
|
||||
/* 8822C with USB interface */
|
||||
{ IC_INFO(RTL_ROM_LMP_8822B, 0xc, 0xa, HCI_USB),
|
||||
.config_needed = false,
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 9c561be107f67a878c902970b0fca27f35baf071 Mon Sep 17 00:00:00 2001
|
||||
From: Vyacheslav Bocharov <adeep@lexina.in>
|
||||
Date: Tue, 19 Oct 2021 12:46:06 +0300
|
||||
Subject: [PATCH 002/101] drv:bluetooth:hci_h5: power reset via gpio in
|
||||
h5_btrtl_open
|
||||
|
||||
Add power reset via enable-gpios in h5_btrtl_open function.
|
||||
|
||||
Signed-off-by: Vyacheslav Bocharov <adeep@lexina.in>
|
||||
---
|
||||
drivers/bluetooth/hci_h5.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c
|
||||
index c9b54335a..a56e378b1 100644
|
||||
--- a/drivers/bluetooth/hci_h5.c
|
||||
+++ b/drivers/bluetooth/hci_h5.c
|
||||
@@ -971,6 +971,11 @@ static void h5_btrtl_open(struct h5 *h5)
|
||||
pm_runtime_enable(&h5->hu->serdev->dev);
|
||||
}
|
||||
|
||||
+ /* The controller needs reset to startup */
|
||||
+ gpiod_set_value_cansleep(h5->enable_gpio, 0);
|
||||
+ gpiod_set_value_cansleep(h5->device_wake_gpio, 0);
|
||||
+ msleep(100);
|
||||
+
|
||||
/* The controller needs up to 500ms to wakeup */
|
||||
gpiod_set_value_cansleep(h5->enable_gpio, 1);
|
||||
gpiod_set_value_cansleep(h5->device_wake_gpio, 1);
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From e37139c6fd329a0893244063c86f8925d77d7337 Mon Sep 17 00:00:00 2001
|
||||
From: Vasily Khoruzhick <anarsoul@gmail.com>
|
||||
Date: Tue, 24 Jul 2018 10:17:55 -0700
|
||||
Subject: [PATCH 063/101] drv:clk:sunxi-ng: ccu: add min/max rate sun50i-a64
|
||||
|
||||
---
|
||||
drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 2 ++
|
||||
drivers/clk/sunxi-ng/ccu_nkm.c | 5 +++++
|
||||
drivers/clk/sunxi-ng/ccu_nkm.h | 3 +++
|
||||
3 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
index 3ea8b9ee6..ba10a76b5 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
@@ -196,6 +196,8 @@ static struct ccu_nkm pll_mipi_clk = {
|
||||
.n = _SUNXI_CCU_MULT(8, 4),
|
||||
.k = _SUNXI_CCU_MULT_MIN(4, 2, 2),
|
||||
.m = _SUNXI_CCU_DIV(0, 4),
|
||||
+ .min_rate = 300000000,
|
||||
+ .max_rate = 1400000000,
|
||||
.common = {
|
||||
.reg = 0x040,
|
||||
.hw.init = CLK_HW_INIT("pll-mipi", "pll-video0",
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu_nkm.c b/drivers/clk/sunxi-ng/ccu_nkm.c
|
||||
index b9cfee027..5d687c1dc 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu_nkm.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu_nkm.c
|
||||
@@ -119,6 +119,11 @@ static unsigned long ccu_nkm_round_rate(struct ccu_mux_internal *mux,
|
||||
_nkm.min_m = 1;
|
||||
_nkm.max_m = nkm->m.max ?: 1 << nkm->m.width;
|
||||
|
||||
+ if (rate < nkm->min_rate)
|
||||
+ rate = nkm->min_rate;
|
||||
+ if (nkm->max_rate && (rate > nkm->max_rate))
|
||||
+ rate = nkm->max_rate;
|
||||
+
|
||||
if (nkm->common.features & CCU_FEATURE_FIXED_POSTDIV)
|
||||
rate *= nkm->fixed_post_div;
|
||||
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu_nkm.h b/drivers/clk/sunxi-ng/ccu_nkm.h
|
||||
index 6601defb3..57aa8087c 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu_nkm.h
|
||||
+++ b/drivers/clk/sunxi-ng/ccu_nkm.h
|
||||
@@ -28,6 +28,9 @@ struct ccu_nkm {
|
||||
|
||||
unsigned int fixed_post_div;
|
||||
|
||||
+ unsigned int min_rate;
|
||||
+ unsigned int max_rate;
|
||||
+
|
||||
struct ccu_common common;
|
||||
};
|
||||
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 6dcd635e0305930f9f6d0a57345e6b46095c344b Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 14:10:52 +0300
|
||||
Subject: [PATCH 3/8] drv:clk:sunxi-ng:ccu-sun50i-a64: revert ccu Pinebook-A64
|
||||
|
||||
---
|
||||
drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
index ba10a76b5..b72cf0f37 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-a64.c
|
||||
@@ -560,8 +560,8 @@ static SUNXI_CCU_M_WITH_MUX_GATE(de_clk, "de", de_parents,
|
||||
* is required to restore the rate of TCON0 when the rate of PLL-Video0
|
||||
* changed.
|
||||
*/
|
||||
-static const char * const tcon0_parents[] = { "pll-mipi", /* "pll-video0-2x" */ };
|
||||
-static const u8 tcon0_table[] = { 0, /* 2, */ };
|
||||
+static const char * const tcon0_parents[] = { "pll-mipi", "pll-video0-2x" };
|
||||
+static const u8 tcon0_table[] = { 0, 2, };
|
||||
static SUNXI_CCU_MUX_TABLE_WITH_GATE(tcon0_clk, "tcon0", tcon0_parents,
|
||||
tcon0_table, 0x118, 24, 3, BIT(31),
|
||||
CLK_SET_RATE_PARENT);
|
||||
@@ -1006,9 +1006,9 @@ static int sun50i_a64_ccu_probe(struct platform_device *pdev)
|
||||
}
|
||||
|
||||
/* Force the parent of TCON0 to PLL-MIPI */
|
||||
- val = readl(reg + SUN50I_A64_TCON0_REG);
|
||||
- val &= ~GENMASK(26, 24);
|
||||
- writel(val | (0 << 24), reg + SUN50I_A64_TCON0_REG);
|
||||
+// val = readl(reg + SUN50I_A64_TCON0_REG);
|
||||
+// val &= ~GENMASK(26, 24);
|
||||
+// writel(val | (0 << 24), reg + SUN50I_A64_TCON0_REG);
|
||||
|
||||
ret = devm_sunxi_ccu_probe(&pdev->dev, reg, &sun50i_a64_ccu_desc);
|
||||
if (ret)
|
||||
@@ -1022,8 +1022,8 @@ static int sun50i_a64_ccu_probe(struct platform_device *pdev)
|
||||
&sun50i_a64_cpu_nb);
|
||||
|
||||
/* Reset the rate of TCON0 clock when PLL-VIDEO0 is changed */
|
||||
- sun50i_a64_pll_video0_reset_tcon0_nb.target_clk = tcon0_clk.common.hw.clk;
|
||||
- ccu_rate_reset_notifier_register(&sun50i_a64_pll_video0_reset_tcon0_nb);
|
||||
+// sun50i_a64_pll_video0_reset_tcon0_nb.target_clk = tcon0_clk.common.hw.clk;
|
||||
+// ccu_rate_reset_notifier_register(&sun50i_a64_pll_video0_reset_tcon0_nb);
|
||||
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
From 0842ca056554ac01c0a2c0770496291ca76d4480 Mon Sep 17 00:00:00 2001
|
||||
From: The-going <48602507+The-going@users.noreply.github.com>
|
||||
Date: Fri, 28 Jan 2022 14:18:17 +0300
|
||||
Subject: [PATCH 4/8] drv:clocksource:arm_arch_timer fix a64 timejump
|
||||
|
||||
---
|
||||
drivers/clocksource/arm_arch_timer.c | 25 ++++++++++++++-----------
|
||||
1 file changed, 14 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
|
||||
index be6d741d4..ffc42573a 100644
|
||||
--- a/drivers/clocksource/arm_arch_timer.c
|
||||
+++ b/drivers/clocksource/arm_arch_timer.c
|
||||
@@ -357,17 +357,20 @@ static u64 notrace arm64_858921_read_cntvct_el0(void)
|
||||
* with all ones or all zeros in the low bits. Bound the loop by the maximum
|
||||
* number of CPU cycles in 3 consecutive 24 MHz counter periods.
|
||||
*/
|
||||
-#define __sun50i_a64_read_reg(reg) ({ \
|
||||
- u64 _val; \
|
||||
- int _retries = 150; \
|
||||
- \
|
||||
- do { \
|
||||
- _val = read_sysreg(reg); \
|
||||
- _retries--; \
|
||||
- } while (((_val + 1) & GENMASK(8, 0)) <= 1 && _retries); \
|
||||
- \
|
||||
- WARN_ON_ONCE(!_retries); \
|
||||
- _val; \
|
||||
+#define __sun50i_a64_read_reg(reg) ({ \
|
||||
+ register u64 _tries = 5, _old, _new; \
|
||||
+ \
|
||||
+ do { \
|
||||
+ if (unlikely(_tries < 3)) \
|
||||
+ isb(); \
|
||||
+ _old = read_sysreg(reg); \
|
||||
+ _new = read_sysreg(reg); \
|
||||
+ } while (unlikely((_new - _old) >> 4) && --_tries); \
|
||||
+ \
|
||||
+ if (unlikely(!_tries)) \
|
||||
+ pr_err("(cpu %d) returning possibly incorrect counter value %llx (%llx)\n", \
|
||||
+ smp_processor_id() + 1, _new, _old); \
|
||||
+ _new; \
|
||||
})
|
||||
|
||||
static u64 notrace sun50i_a64_read_cntpct_el0(void)
|
||||
--
|
||||
2.31.1
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user