[cleanup] rockchip64 legacy: remove long dead 4.4 patches (family/common didn't define legacy branch for a while)

This commit is contained in:
Ricardo Pardini 2023-12-27 16:51:20 +01:00 committed by Igor
parent c609299ca2
commit 0daaccab8f
109 changed files with 0 additions and 1184184 deletions

View File

@ -1,54 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Sun, 9 Aug 2020 11:08:07 +0200
Subject: Add link to all Rockpi variant
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
---
arch/arm64/boot/dts/rockchip/Makefile | 3 +++
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts | 1 +
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts | 1 +
4 files changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 4906fd0a4da9..9d2bb78dd939 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -103,6 +103,9 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-linux-for-rk1808-cascade.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpi4b.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4b.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4c.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-tve1030g.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-tve1030g-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-tve1205g.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dts
new file mode 120000
index 000000000000..d365c482d9be
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4a.dts
@@ -0,0 +1 @@
+rk3399-rockpi4b.dts
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts
new file mode 120000
index 000000000000..d365c482d9be
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4b.dts
@@ -0,0 +1 @@
+rk3399-rockpi4b.dts
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts
new file mode 120000
index 000000000000..d365c482d9be
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c.dts
@@ -0,0 +1 @@
+rk3399-rockpi4b.dts
\ No newline at end of file
--
Armbian

View File

@ -1,26 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Mon, 8 Mar 2021 06:54:40 +0000
Subject: fixing dtc error
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
---
scripts/dtc/dtc-lexer.lex.c_shipped | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
index 011bb9632ff2..c3b631631cb6 100644
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
@@ -631,7 +631,7 @@ char *yytext;
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
+extern YYLTYPE yylloc;
extern bool treesource_error;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
--
Armbian

View File

@ -1,51 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: JMCC <JMCC@localhost>
Date: Sat, 2 Jan 2021 22:42:11 +0100
Subject: enable-rga
Signed-off-by: JMCC <JMCC@localhost>
---
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 2 +-
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 7 ++++---
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 085c684842e2..e4debf4d6363 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -977,7 +977,7 @@
clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA>;
clock-names = "aclk_rga", "hclk_rga", "clk_rga";
dma-coherent;
- status = "disabled";
+ status = "okay";
};
iep: iep@ff3a0000 {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 0ddb03f3686b..0125fc6e2731 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -1447,15 +1447,16 @@
};
rga: rga@ff680000 {
- compatible = "rockchip,rk3399-rga";
+ compatible = "rockchip,rga2";
+ dev_mode = <1>;
reg = <0x0 0xff680000 0x0 0x10000>;
interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
- clock-names = "aclk", "hclk", "sclk";
+ clock-names = "aclk_rga", "hclk_rga", "clk_rga";
resets = <&cru SRST_RGA_CORE>, <&cru SRST_A_RGA>, <&cru SRST_H_RGA>;
reset-names = "core", "axi", "ahb";
power-domains = <&power RK3399_PD_RGA>;
- status = "disabled";
+ status = "okay";
};
efuse0: efuse@ff690000 {
--
Armbian

View File

@ -1,56 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: chwe17 <weberc18@gmail.com>
Date: Sun, 4 Aug 2019 18:05:50 -0400
Subject: [ARCHEOLOGY] Tinkerboard camera support (#1482)
> X-Git-Archeology: > recovered message: > * fix kernelcrash with config_of_overlay combined with isp1 camera driver,based on:
> X-Git-Archeology: > recovered message: > https://github.com/TinkerBoard/debian_kernel/commit/30a8401c2f3851f4e9b46c9d3e8e1138ce8d5b51
> X-Git-Archeology: > recovered message: > * add basic dtbo infrastucture
> X-Git-Archeology: > recovered message: > * set ov5647 (RPi cam rev 1.3) as default, imx219 (RPi cam V2.1) outputs a blurry green videostream at the moment
> X-Git-Archeology: > recovered message: > * maybe fix powering for camera
> X-Git-Archeology: > recovered message: > * adjust mainline dtbo patch to bsp kernel
> X-Git-Archeology: > recovered message: > * got you! little.. dtbo's are properly built and applied during boot.
> X-Git-Archeology: > recovered message: > * add imx219 overlay to switch between cameras & add ae/awb fix for ov 5647 from asus tinker repo
> X-Git-Archeology: > recovered message: > * patch imx219 up to https://github.com/TinkerBoard/debian_kernel/commit/96396323fa3d8941e4d556be83591333329d2799
> X-Git-Archeology: > recovered message: > * bring back wireguard, otherwise igor gets grumpy :D
> X-Git-Archeology: > recovered message: > * fix camera status
> X-Git-Archeology: - Revision a040785d4299e10255d87fdfcfa70b56e0b6779f: https://github.com/armbian/build/commit/a040785d4299e10255d87fdfcfa70b56e0b6779f
> X-Git-Archeology: Date: Sun, 04 Aug 2019 18:05:50 -0400
> X-Git-Archeology: From: chwe17 <weberc18@gmail.com>
> X-Git-Archeology: Subject: Tinkerboard camera support (#1482)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision b2751ab56f2a0f8e4ff1e55b4de3a1fdf5647236: https://github.com/armbian/build/commit/b2751ab56f2a0f8e4ff1e55b4de3a1fdf5647236
> X-Git-Archeology: Date: Tue, 29 Dec 2020 22:52:09 +0100
> X-Git-Archeology: From: JMCC <JMCC@localhost>
> X-Git-Archeology: Subject: rk3399's-legacy: Kernel patch to fix panic when RKISP1 is enabled
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
drivers/of/property.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/of/property.c b/drivers/of/property.c
index 2c201e2c257d..ae79a6f82b27 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -900,7 +900,7 @@ of_fwnode_graph_get_port_parent(struct fwnode_handle *fwnode)
struct device_node *np;
/* Get the parent of the port */
- np = of_get_next_parent(to_of_node(fwnode));
+ np = of_get_parent(to_of_node(fwnode));
if (!np)
return NULL;
--
Armbian

View File

@ -1,38 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jungchi_Liao <Jungchi_Liao@asus.com>
Date: Wed, 4 Jul 2018 12:33:45 +0800
Subject: Use auto AE/AWB control form OV5647
Change-Id: I991aa4c56a795b21dd28b45c9938624f6510dba6
Reviewed-on: https://tp-biosrd-v02/gerrit/83090
Reviewed-by: Jamess Huang(Huang Yi Min ) <Jamess_Huang@asus.com>
Tested-by: Jamess Huang(Huang Yi Min ) <Jamess_Huang@asus.com>
---
drivers/media/i2c/ov5647.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c
old mode 100644
new mode 100755
index b8b011ece42f..cdd77b868eb0
--- a/drivers/media/i2c/ov5647.c
+++ b/drivers/media/i2c/ov5647.c
@@ -158,6 +158,7 @@ static struct regval_list ov5647_common_regs[] = {
{0x3a1f, 0x28},
{0x4001, 0x02},
{0x4000, 0x09},
+#if 0 // use auto AE/AWB control from sensor
{0x3503, 0x03}, /* manual,0xAE */
{0x3500, 0x00},
{0x3501, 0x6f},
@@ -173,6 +174,7 @@ static struct regval_list ov5647_common_regs[] = {
{0x518a, 0x04},
{0x518b, 0x00},
{0x5000, 0x00}, /* lenc WBC on */
+#endif
{0x3011, 0x62},
/* mipi */
{0x3016, 0x08},
--
Armbian

View File

@ -1,40 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: JMCC <JMCC@localhost>
Date: Fri, 18 Dec 2020 16:29:21 +0100
Subject: 0050-enable-hdmicec-rockpi4b-rockpro64
Signed-off-by: JMCC <JMCC@localhost>
---
arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts | 2 ++
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts | 2 ++
2 files changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
index 3db06a26024a..672a897db849 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
@@ -296,6 +296,8 @@
#address-cells = <1>;
#size-cells = <0>;
#sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_i2c_xfer>, <&hdmi_cec>;
status = "okay";
rockchip,phy-table =
<74250000 0x8009 0x0004 0x0272>,
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
index acfbdf22180d..f10e1bf0e2a6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
@@ -854,6 +854,8 @@
&hdmi {
status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&hdmi_i2c_xfer>, <&hdmi_cec>;
rockchip,phy-table =
<74250000 0x8009 0x0004 0x0272>,
<165000000 0x802b 0x0004 0x0209>,
--
Armbian

File diff suppressed because it is too large Load Diff

View File

@ -1,62 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Mon, 21 Aug 2017 08:54:53 +0200
Subject: [ARCHEOLOGY] Increasing DMA block memory allocation to 2048k on all
relevant kernels.
> X-Git-Archeology: > recovered message: > https://forum.armbian.com/index.php?/topic/4811-uas-mainline-kernel-coherent-pool-memory-size
> X-Git-Archeology: - Revision 908bb199ec2defd77f7f05d2016980abf100d627: https://github.com/armbian/build/commit/908bb199ec2defd77f7f05d2016980abf100d627
> X-Git-Archeology: Date: Mon, 21 Aug 2017 08:54:53 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Increasing DMA block memory allocation to 2048k on all relevant kernels.
> X-Git-Archeology:
> X-Git-Archeology: - Revision a3cf7b74858e1f862db8ca238bd44f6406be6662: https://github.com/armbian/build/commit/a3cf7b74858e1f862db8ca238bd44f6406be6662
> X-Git-Archeology: Date: Mon, 21 Aug 2017 17:52:29 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Revert "Increasing DMA block memory allocation to 2048k on all relevant kernels."
> X-Git-Archeology:
> X-Git-Archeology: - Revision 2be21aad5dc965b3bc67e136a1e1170119d60f74: https://github.com/armbian/build/commit/2be21aad5dc965b3bc67e136a1e1170119d60f74
> X-Git-Archeology: Date: Mon, 21 Aug 2017 17:52:48 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Increasing DMA block memory allocation to 2048k on all relevant kernels. https://forum.armbian.com/index.php?/topic/4811-uas-mainline-kernel-coherent-pool-memory-size
> X-Git-Archeology:
> X-Git-Archeology: - Revision 13e94e58f04be27db51d18b7dac1d15a1864b79e: https://github.com/armbian/build/commit/13e94e58f04be27db51d18b7dac1d15a1864b79e
> X-Git-Archeology: Date: Fri, 27 Oct 2017 16:14:21 +0300
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove random executable bits from patch files
> X-Git-Archeology:
> X-Git-Archeology: - Revision 41b589372f2c1a8450033db78f3d8ed9db1b2196: https://github.com/armbian/build/commit/41b589372f2c1a8450033db78f3d8ed9db1b2196
> X-Git-Archeology: Date: Sun, 26 Aug 2018 14:14:14 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Creating new family rockchip64. 3288 and 3399 was merged in, except Nanopi which stays in RK3399 family with sources attached to FA repository until we manage to join that in. Enabled Nanopc T4, Nanopi M4, Renegade. Tested on Rock64 and Nanopc T4.
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/mm/dma-mapping.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c
index 2b05653e8156..2ad8515cd4da 100644
--- a/arch/arm64/mm/dma-mapping.c
+++ b/arch/arm64/mm/dma-mapping.c
@@ -32,7 +32,7 @@
static struct gen_pool *atomic_pool;
-#define DEFAULT_DMA_COHERENT_POOL_SIZE SZ_256K
+#define DEFAULT_DMA_COHERENT_POOL_SIZE SZ_2M
static size_t atomic_pool_size __initdata = DEFAULT_DMA_COHERENT_POOL_SIZE;
static int __init early_coherent_pool(char *p)
--
Armbian

View File

@ -1,48 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Matthias Riechmann <21068765+mmriech@users.noreply.github.com>
Date: Tue, 21 Jan 2020 14:57:45 +0100
Subject: [ARCHEOLOGY] Fixed makefile of kernel headers 4.4.210 for rk3399
(#1753)
> X-Git-Archeology: - Revision e0b17387ea6614340a58c75ed111d13141cb5886: https://github.com/armbian/build/commit/e0b17387ea6614340a58c75ed111d13141cb5886
> X-Git-Archeology: Date: Tue, 21 Jan 2020 14:57:45 +0100
> X-Git-Archeology: From: Matthias Riechmann <21068765+mmriech@users.noreply.github.com>
> X-Git-Archeology: Subject: Fixed makefile of kernel headers 4.4.210 for rk3399 (#1753)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 23604e8a0dcdf81ec6c28ccd4b2a64b90816d8e7: https://github.com/armbian/build/commit/23604e8a0dcdf81ec6c28ccd4b2a64b90816d8e7
> X-Git-Archeology: Date: Fri, 19 Jun 2020 17:27:27 +0200
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: Introducing Rockchip RK322X SoC support (#2032)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index 197c08ee6af6..d36b42ca1e51 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -141,6 +141,7 @@ archclean:
$(Q)$(MAKE) $(clean)=$(boot)
$(Q)$(MAKE) $(clean)=$(boot)/dts
+ifeq ($(KBUILD_EXTMOD),)
# We need to generate vdso-offsets.h before compiling certain files in kernel/.
# In order to do that, we should use the archprepare target, but we can't since
# asm-offsets.h is included in some files used to generate vdso-offsets.h, and
@@ -150,6 +151,7 @@ archclean:
prepare: vdso_prepare
vdso_prepare: prepare0
$(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso include/generated/vdso-offsets.h
+endif
define archhelp
echo '* Image.gz - Compressed kernel image (arch/$(ARCH)/boot/Image.gz)'
--
Armbian

View File

@ -1,88 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Tue, 27 Feb 2018 16:21:49 +0100
Subject: [ARCHEOLOGY] RK3328 kernel and u-boot upstream patches and few small
fixes
> X-Git-Archeology: - Revision 9e32020d1aa974462d82d5c404e305da04bdb432: https://github.com/armbian/build/commit/9e32020d1aa974462d82d5c404e305da04bdb432
> X-Git-Archeology: Date: Tue, 27 Feb 2018 16:21:49 +0100
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: RK3328 kernel and u-boot upstream patches and few small fixes
> X-Git-Archeology:
> X-Git-Archeology: - Revision 7d2f3af08f23049c91c88eec5062613bbfbc85d4: https://github.com/armbian/build/commit/7d2f3af08f23049c91c88eec5062613bbfbc85d4
> X-Git-Archeology: Date: Thu, 24 May 2018 15:44:15 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Merging Rockchip family
> X-Git-Archeology:
> X-Git-Archeology: - Revision 41b589372f2c1a8450033db78f3d8ed9db1b2196: https://github.com/armbian/build/commit/41b589372f2c1a8450033db78f3d8ed9db1b2196
> X-Git-Archeology: Date: Sun, 26 Aug 2018 14:14:14 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Creating new family rockchip64. 3288 and 3399 was merged in, except Nanopi which stays in RK3399 family with sources attached to FA repository until we manage to join that in. Enabled Nanopc T4, Nanopi M4, Renegade. Tested on Rock64 and Nanopc T4.
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 42ecf1582f83241e18ce329193c5eac66fd244de: https://github.com/armbian/build/commit/42ecf1582f83241e18ce329193c5eac66fd244de
> X-Git-Archeology: Date: Fri, 03 Jan 2020 11:37:00 +0100
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Move rockchip64 legacy to most recent kernel. Tested with standard https://github.com/armbian/autotests stress test on RockPro64 and Rock64.
> X-Git-Archeology:
> X-Git-Archeology: - Revision 5597ecfe073a70e11a3d832ca210471217706a0f: https://github.com/armbian/build/commit/5597ecfe073a70e11a3d832ca210471217706a0f
> X-Git-Archeology: Date: Fri, 03 Jan 2020 11:42:56 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Move rockchip64 legacy to most recent kernel. Tested with standard https://github.com/armbian/autotests stress test on RockPro64 and Rock64. (#1714)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
scripts/package/builddeb | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index de4bfb55e128..530f310b4c5b 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -293,7 +293,7 @@ if [ "$ARCH" = "um" ]; then
cat <<EOF >> debian/control
Package: $packagename
-Provides: linux-image, linux-image-rockchip, linux-image-rockchip-4.4, linux-modules-$version
+Provides: linux-image, linux-image-2.6, linux-modules-$version
Architecture: any
Description: User Mode Linux kernel, version $version
User-mode Linux is a port of the Linux kernel to its own system call
@@ -310,7 +310,7 @@ else
cat <<EOF >> debian/control
Package: $packagename
-Provides: linux-image, linux-image-rockchip, linux-image-rockchip-4.4, linux-modules-$version
+Provides: linux-image, linux-image-2.6, linux-modules-$version
Suggests: $fwpackagename
Architecture: any
Description: Linux kernel, version $version
@@ -366,7 +366,7 @@ cat <<EOF >> debian/control
Package: $libc_headers_packagename
Section: devel
-Provides: linux-kernel-headers, linux-kernel-headers-rockchip, linux-kernel-headers-rockchip-4.4
+Provides: linux-kernel-headers
Architecture: any
Description: Linux support headers for userspace development
This package provides userspaces headers from the Linux kernel. These headers
@@ -396,7 +396,7 @@ if [ -n "$BUILD_DEBUG" ] ; then
Package: $dbg_packagename
Section: debug
-Provides: linux-debug, linux-debug-$version, linux-debug-rockchip, linux-debug-rockchip-4.4
+Provides: linux-debug, linux-debug-$version
Architecture: any
Description: Linux kernel debugging symbols for $version
This package will come in handy if you need to debug the kernel. It provides
--
Armbian

View File

@ -1,40 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Piotr Szczepanik <piter75@gmail.com>
Date: Mon, 5 Oct 2020 23:17:55 +0200
Subject: [ARCHEOLOGY] Switched RockPro64 to mainline u-boot (#2218)
> X-Git-Archeology: > recovered message: > * Switched RockPro64 to mainline u-boot
> X-Git-Archeology: > recovered message: > * Enabled rockusb and ums for RockPro64 in mainline u-boot
> X-Git-Archeology: > recovered message: > * Switched RockPro64 u-boot to TPL/SPL/BLOB scenario
> X-Git-Archeology: > recovered message: > * Enabled advanced recovery button support for RockPro64
> X-Git-Archeology: > recovered message: > * Disabled SDR104 mode for RockPro64 in legacy
> X-Git-Archeology: - Revision f2db96252530d2f5585755b518e7fd020b5f0392: https://github.com/armbian/build/commit/f2db96252530d2f5585755b518e7fd020b5f0392
> X-Git-Archeology: Date: Mon, 05 Oct 2020 23:17:55 +0200
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Switched RockPro64 to mainline u-boot (#2218)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
index f10e1bf0e2a6..83bc06cf1306 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
@@ -898,7 +898,7 @@
cap-sd-highspeed;
disable-wp;
num-slots = <1>;
- sd-uhs-sdr104;
+ // sd-uhs-sdr104;
vqmmc-supply = <&vcc_sd>;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
--
Armbian

View File

@ -1,100 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Piotr Szczepanik <piter75@gmail.com>
Date: Mon, 24 Aug 2020 22:47:03 +0200
Subject: [ARCHEOLOGY] Switch RockPro64 work led to heartbeat trigger
> X-Git-Archeology: - Revision 42e76b9277ad492e935cc76c2b37c9f6d882a675: https://github.com/armbian/build/commit/42e76b9277ad492e935cc76c2b37c9f6d882a675
> X-Git-Archeology: Date: Mon, 24 Aug 2020 22:47:03 +0200
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Switch RockPro64 work led to heartbeat trigger
> X-Git-Archeology:
> X-Git-Archeology: - Revision d1eb0003854909824d17b529cd513feb542bf228: https://github.com/armbian/build/commit/d1eb0003854909824d17b529cd513feb542bf228
> X-Git-Archeology: Date: Mon, 24 Aug 2020 23:11:20 +0200
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Switch RockPro64 work led to heartbeat trigger (in legacy too)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 4d4c3f58ffc1cbfbb060cbabc9eb414036a2fda5: https://github.com/armbian/build/commit/4d4c3f58ffc1cbfbb060cbabc9eb414036a2fda5
> X-Git-Archeology: Date: Wed, 02 Sep 2020 23:22:09 +0200
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Switched rockchip64 curent to kernel 5.8.y (#2175)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
> X-Git-Archeology:
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
> X-Git-Archeology:
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 85bab47bba73e0ef0e4ea5fde60e0aab56f82906: https://github.com/armbian/build/commit/85bab47bba73e0ef0e4ea5fde60e0aab56f82906
> X-Git-Archeology: Date: Sat, 06 May 2023 12:55:10 +0200
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
> X-Git-Archeology:
> X-Git-Archeology: - Revision 906ca66430329ab774f5b9d0f62eef1ce5e398fe: https://github.com/armbian/build/commit/906ca66430329ab774f5b9d0f62eef1ce5e398fe
> X-Git-Archeology: Date: Tue, 16 May 2023 08:55:33 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `rockchip64`/`edge`/`6.3`: rebase/rewrite patches against `v6.3.1`; do archeology for mbox-less patches; materialize overwrites
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
index 83bc06cf1306..7a8d9031cb0c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpro64.dts
@@ -209,7 +209,7 @@
work-led {
gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
- linux,default-trigger = "none";
+ linux,default-trigger = "heartbeat";
default-state = "on";
};
--
Armbian

View File

@ -1,788 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paolo <paolo.sabatino@gmail.com>
Date: Thu, 23 Jun 2022 08:30:54 +0200
Subject: [ARCHEOLOGY] rockchip64: add rk3318-box tvbox board patch and
configurations (#3921)
> X-Git-Archeology: > recovered message: > * rockchip64: add rk3318-box tvbox board patch and configurations
> X-Git-Archeology: > recovered message: > * rockchip64: add missing bcm43342 patch for edge kernel
> X-Git-Archeology: - Revision 2ca6a9381db4b875533926e0eae9d3d17f68ad06: https://github.com/armbian/build/commit/2ca6a9381db4b875533926e0eae9d3d17f68ad06
> X-Git-Archeology: Date: Thu, 23 Jun 2022 08:30:54 +0200
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip64: add rk3318-box tvbox board patch and configurations (#3921)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0310f955051adafee3a9701e7e54f01d6a496ff5: https://github.com/armbian/build/commit/0310f955051adafee3a9701e7e54f01d6a496ff5
> X-Git-Archeology: Date: Sat, 09 Jul 2022 16:30:16 +0200
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip64: fix rk3318-box cpu voltages (#3976)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 85bab47bba73e0ef0e4ea5fde60e0aab56f82906: https://github.com/armbian/build/commit/85bab47bba73e0ef0e4ea5fde60e0aab56f82906
> X-Git-Archeology: Date: Sat, 06 May 2023 12:55:10 +0200
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
> X-Git-Archeology:
> X-Git-Archeology: - Revision 906ca66430329ab774f5b9d0f62eef1ce5e398fe: https://github.com/armbian/build/commit/906ca66430329ab774f5b9d0f62eef1ce5e398fe
> X-Git-Archeology: Date: Tue, 16 May 2023 08:55:33 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `rockchip64`/`edge`/`6.3`: rebase/rewrite patches against `v6.3.1`; do archeology for mbox-less patches; materialize overwrites
> X-Git-Archeology:
> X-Git-Archeology: - Revision 19d532b13cabc1a749f61b9c400d933ba5aeb7e3: https://github.com/armbian/build/commit/19d532b13cabc1a749f61b9c400d933ba5aeb7e3
> X-Git-Archeology: Date: Tue, 13 Jun 2023 12:33:59 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `rockchip64` `edge` 6.3: rename most remaining "add-board" patches to "board" (all "add-board"s are now bare .dts in `dt/` folder)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 028281f0d673c41e827e6795e5d55c16e12474b3: https://github.com/armbian/build/commit/028281f0d673c41e827e6795e5d55c16e12474b3
> X-Git-Archeology: Date: Tue, 13 Jun 2023 12:33:59 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `rockchip64` `edge` 6.3: drop null-patched DTS files, add them bare in `dt/` folder
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
arch/arm64/boot/dts/rockchip/rk3318-box.dts | 719 ++++++++++
2 files changed, 720 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index b1211e43ec13..014b8c2701b7 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -25,6 +25,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb-dmic-pdm-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-fpga.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-voice-module-board-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308b-evb-amic-v10.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-box.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-ai-va-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-ai-va-v11.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-evb-ai-va-v11-i2s-dmic.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3318-box.dts b/arch/arm64/boot/dts/rockchip/rk3318-box.dts
new file mode 100644
index 000000000000..93e102c055cd
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3318-box.dts
@@ -0,0 +1,719 @@
+/*
+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., 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 library 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 library 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 "rk3328.dtsi"
+
+/ {
+ model = "Rockchip RK3318 BOX";
+ compatible = "rockchip,rk3318-box", "rockchip,rk3328-box", "rockchip,rk3328";
+
+ chosen {
+ bootargs = "swiotlb=1 kpti=0";
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ drm_logo: drm-logo@00000000 {
+ compatible = "rockchip,drm-logo";
+ reg = <0x0 0x0 0x0 0x0>;
+ };
+
+ secure_memory: secure-memory@20000000 {
+ compatible = "rockchip,secure-memory";
+ reg = <0x0 0x20000000 0x0 0x0>;
+ };
+
+ /* global autoconfigured region for contiguous allocations */
+ linux,cma {
+ compatible = "shared-dma-pool";
+ reusable;
+ size = <0x0 0x1000000>;
+ linux,cma-default;
+ };
+ };
+
+ regulators {
+ compatible = "simple-bus";
+ #address-cells = <0x01>;
+ #size-cells = <0x00>;
+
+ vcc_18: regulator@0 {
+ compatible = "regulator-fixed";
+ regulator-name = "vccio_1v8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ vcc_io: regulator@1 {
+ compatible = "regulator-fixed";
+ regulator-name = "vccio_3v3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+ };
+
+ xin32k: xin32k {
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ clock-output-names = "xin32k";
+ #clock-cells = <0>;
+ };
+
+ external-gmac-clock {
+ compatible = "fixed-clock";
+ clock-frequency = <125000000>;
+ clock-output-names = "gmac_clkin";
+ #clock-cells = <0x00>;
+ };
+
+ vcc_phy: vcc-phy-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_phy";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vcc_sys: vcc-sys {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_sys";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ vcc_sd: sdmmc-regulator {
+ compatible = "regulator-fixed";
+ gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0m1_gpio>;
+ regulator-name = "vcc_sd";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vcc_io>;
+ };
+
+ /*
+ * USB3 vbus
+ */
+ vcc_host_vbus: vcc-host-vbus {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb30_host_drv>;
+ regulator-name = "vcc_host_vbus";
+ regulator-always-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc_sys>;
+ };
+
+ /*
+ * USB2 OTG vbus
+ */
+ vcc_otg_vbus: vcc-otg-vbus {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb20_host_drv>;
+ regulator-name = "vcc_otg_vbus";
+ regulator-always-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ vin-supply = <&vcc_sys>;
+ };
+
+ vdd_arm: vdd-arm {
+ compatible = "pwm-regulator";
+ rockchip,pwm_id = <0>;
+ rockchip,pwm_voltage = <1100000>;
+ pwms = <&pwm0 0 5000 1>;
+ regulator-name = "vdd_arm";
+ regulator-min-microvolt = <950000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-ramp-delay = <12500>;
+ regulator-settling-time-up-us = <250>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vdd_logic: vdd-log {
+ compatible = "pwm-regulator";
+ rockchip,pwm_id = <1>;
+ rockchip,pwm_voltage = <1200000>;
+ pwms = <&pwm1 0 5000 1>;
+ regulator-name = "vdd_log";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1300000>;
+ regulator-ramp-delay = <12500>;
+ regulator-settling-time-up-us = <250>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ working {
+ gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "default-on";
+ default-state = "on";
+ };
+
+ };
+
+ ir-receiver {
+ compatible = "gpio-ir-receiver";
+ gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&ir_int>;
+ pinctrl-names = "default";
+ };
+
+ hdmi-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <128>;
+ simple-audio-card,name = "HDMI";
+ simple-audio-card,cpu {
+ sound-dai = <&i2s0>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&hdmi>;
+ };
+ };
+
+ spdif-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "SPDIF";
+ simple-audio-card,cpu {
+ sound-dai = <&spdif>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&spdif_out>;
+ };
+ };
+
+ spdif_out: spdif-out {
+ compatible = "linux,spdif-dit";
+ #sound-dai-cells = <0>;
+ };
+
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_enable_h>;
+
+ /*
+ * On the module itself this is one of these (depending
+ * on the actual card populated):
+ * - SDIO_RESET_L_WL_REG_ON
+ * - PDN (power down when low)
+ */
+ reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+ };
+
+ wireless-bluetooth {
+ compatible = "bluetooth-platdata";
+ uart_rts_gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default", "rts_gpio";
+ pinctrl-0 = <&uart0_rts>;
+ pinctrl-1 = <&uart0_rts_gpio>;
+ BT,power_gpio = <&gpio1 RK_PC5 GPIO_ACTIVE_HIGH>;
+ BT,wake_host_irq = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
+ };
+
+ wireless-wlan {
+ compatible = "wlan-platdata";
+ rockchip,grf = <&grf>;
+ wifi_chip_type = "ap6330";
+ sdio_vref = <1800>;
+ WIFI,host_wake_irq = <&gpio1 RK_PC3 GPIO_ACTIVE_HIGH>;
+ };
+
+ fd628_dev {
+ compatible = "fd628_dev";
+ fd628_gpio_clk = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
+ fd628_gpio_dat = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+ };
+
+ rkvdec_opp_table: rkvdec-opp-table {
+ compatible = "operating-points-v2";
+ rockchip,leakage-voltage-sel = <
+ 1 10 0
+ 11 254 1>;
+ nvmem-cells = <0x47>;
+ nvmem-cell-names = "rkvdec_leakage";
+
+ opp-100000000 {
+ opp-hz = <0x00 100000000>;
+ opp-microvolt = <975000>;
+ opp-microvolt-L0 = <975000>;
+ opp-microvolt-L1 = <950000>;
+ };
+
+ opp-200000000 {
+ opp-hz = <0x00 200000000>;
+ opp-microvolt = <975000>;
+ opp-microvolt-L0 = <975000>;
+ opp-microvolt-L1 = <950000>;
+ };
+
+ opp-500000000 {
+ opp-hz = <0x00 500000000>;
+ opp-microvolt = <1075000>;
+ opp-microvolt-L0 = <1075000>;
+ opp-microvolt-L1 = <1050000>;
+ };
+ };
+
+};
+
+&codec {
+ #sound-dai-cells = <0>;
+ status = "okay";
+};
+
+&cpu0 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&cpu1 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&cpu2 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&cpu3 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&dfi {
+ status = "okay";
+};
+
+&dmc {
+ center-supply = <&vdd_logic>;
+ status = "disabled";
+};
+
+&display_subsystem {
+
+ logo-memory-region = <&drm_logo>;
+ secure-memory-region = <&secure_memory>;
+ ports = <&vop_out>;
+
+ status = "okay";
+
+ route {
+ route_hdmi: route-hdmi {
+ status = "okay";
+ connect = <&vop_out_hdmi>;
+ };
+ route_tve: route-tve {
+ status = "okay";
+ connect = <&vop_out_tve>;
+ };
+ };
+
+};
+
+&emmc {
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ non-removable;
+ disable-wp;
+ non-removable;
+ num-slots = <0x01>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+ mmc-ddr-1_8v;
+ supports-emmc;
+ status = "okay";
+};
+
+&gmac2phy {
+ phy-supply = <&vcc_phy>;
+
+ phy-mode = "rmii";
+ phy-is-integrated;
+ clock_in_out = "output";
+ assigned-clocks = <&cru SCLK_MAC2PHY>;
+ assigned-clock-rate = <50000000>;
+ assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
+ tx_delay = <0x30>;
+ rx_delay = <0x10>;
+
+ status = "okay";
+
+};
+
+&gpu {
+ status = "okay";
+ mali-supply = <&vdd_logic>;
+};
+
+&h265e {
+ status = "okay";
+};
+
+&h265e_mmu {
+ status = "okay";
+};
+
+&hdmi {
+ #sound-dai-cells = <0>;
+ ddc-i2c-scl-high-time-ns = <9625>;
+ ddc-i2c-scl-low-time-ns = <10000>;
+ status = "okay";
+};
+
+&hdmiphy {
+ status = "okay";
+};
+
+&i2c2 {
+ status = "okay";
+};
+
+&i2s0 {
+ #sound-dai-cells = <0>;
+ rockchip,bclk-fs = <128>;
+ status = "okay";
+};
+
+&i2s1 {
+ status = "okay";
+};
+
+
+&iep {
+ status = "disabled";
+};
+
+&iep_mmu {
+ status = "okay";
+};
+
+&io_domains {
+ status = "okay";
+
+ vccio1-supply = <&vcc_io>;
+ vccio2-supply = <&vcc_18>;
+ vccio3-supply = <&vcc_io>;
+ vccio4-supply = <&vcc_18>;
+ vccio5-supply = <&vcc_io>;
+ vccio6-supply = <&vcc_io>;
+ pmuio-supply = <&vcc_io>;
+};
+
+&pinctrl {
+ pinctrl-names = "default";
+ pinctrl-0 = <&clk_32k_out>;
+
+ clk_32k {
+ clk_32k_out: clk-32k-out {
+ rockchip,pins = <1 RK_PD4 RK_FUNC_1 &pcfg_pull_none>;
+ };
+ };
+
+ ir {
+ ir_int: ir-int {
+ rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ pmic {
+ pmic_int_l: pmic-int-l {
+ rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+ sdio-pwrseq {
+ wifi_enable_h: wifi-enable-h {
+ rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none_4ma>,
+ <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none_4ma>;
+ };
+ };
+
+ usb2 {
+ usb20_host_drv: usb20-host-drv {
+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ usb3 {
+ usb30_host_drv: usb30-host-drv {
+ rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ wireless-bluetooth {
+ uart0_gpios: uart0-gpios {
+ rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+};
+
+&rkvdec {
+ status = "okay";
+ operating-points-v2 = <&rkvdec_opp_table>;
+ vcodec-supply = <&vdd_logic>;
+};
+
+&rkvdec_mmu {
+ status = "okay";
+};
+
+&sdio {
+ bus-width = <4>;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ disable-wp;
+ keep-power-in-suspend;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ non-removable;
+ num-slots = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
+ supports-sdio;
+ //sd-uhs-sdr104;
+ status = "okay";
+};
+
+&sdmmc {
+ bus-width = <4>;
+ cap-mmc-highspeed;
+ cap-sd-highspeed;
+ card-detect-delay = <800>;
+ disable-wp;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
+ supports-sd;
+ vmmc-supply = <&vcc_sd>;
+ status = "okay";
+};
+
+&spdif {
+ #sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spdifm0_tx>;
+ status = "okay";
+};
+
+&threshold {
+ temperature = <80000>; /* millicelsius */
+};
+
+&target {
+ temperature = <95000>; /* millicelsius */
+};
+
+&soc_crit {
+ temperature = <100000>; /* millicelsius */
+};
+
+&tsadc {
+ rockchip,hw-tshut-mode = <0>;
+ rockchip,hw-tshut-polarity = <0>;
+ rockchip,hw-tshut-temp = <110000>;
+ status = "okay";
+};
+
+&uart0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart0_xfer &uart0_cts>;
+ status = "okay";
+};
+
+&uart2 {
+ status = "okay";
+ dma-names = "tx", "rx";
+};
+
+&u2phy {
+ status = "okay";
+};
+
+&u2phy_host {
+ vbus-supply = <&vcc_otg_vbus>;
+ status = "okay";
+};
+
+&u2phy_otg {
+ vbus-supply = <&vcc_otg_vbus>;
+ status = "okay";
+};
+
+&u3phy {
+ status = "okay";
+};
+
+&u3phy_utmi {
+ vbus-supply = <&vcc_host_vbus>;
+ status = "okay";
+};
+
+&u3phy_pipe {
+ vbus-supply = <&vcc_host_vbus>;
+ status = "okay";
+};
+
+&usb20_otg {
+ vusb_d-supply = <&vcc_otg_vbus>;
+ vusb_a-supply = <&vcc_otg_vbus>;
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_host0_ehci {
+ status = "okay";
+};
+
+&usb_host0_ohci {
+ status = "okay";
+};
+
+&usbdrd3 {
+ status = "okay";
+};
+
+&usbdrd_dwc3 {
+ status = "okay";
+};
+
+&vop {
+ status = "okay";
+};
+
+&vop_mmu {
+ status = "okay";
+};
+
+&vpu_service {
+ status = "okay";
+ vcodec-supply = <&vdd_logic>;
+};
+
+&vpu_mmu {
+ status = "okay";
+};
+
+&vepu {
+ status = "okay";
+};
+
+&vepu_mmu {
+ status = "okay";
+};
+
+&venc_srv {
+ status = "okay";
+};
+
+&wdt {
+ status = "disabled";
+};
+
+&saradc {
+ vref-supply = <&vcc_18>;
+ status = "okay";
+};
+
+&rga {
+ status = "okay";
+};
+
+&pwm0 {
+ status = "okay";
+ pinctrl-names = "active";
+ pinctrl-0 = <&pwm0_pin_pull_up>;
+};
+
+&pwm1 {
+ status = "okay";
+ pinctrl-names = "active";
+ pinctrl-0 = <&pwm1_pin_pull_up>;
+};
+
+&pdm {
+ status = "okay";
+};
+
+&vdpu {
+ status = "okay";
+ allocator = <0>;
+};
+
+&dfi {
+ status = "okay";
+};
+
+&rockchip_suspend {
+ status = "okay";
+ rockchip,virtual-poweroff = <1>;
+ rockchip,sleep-mode-config = <
+ (0
+ |RKPM_SLP_CTR_VOL_PWM0
+ |RKPM_SLP_CTR_VOL_PWM1
+ )
+ >;
+};
+
+&cpu0_opp_table {
+ /delete-node/ opp-1392000000;
+ /delete-node/ opp-1512000000;
+};
--
Armbian

View File

@ -1,51 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Paolo <paolo.sabatino@gmail.com>
Date: Thu, 23 Jun 2022 08:30:54 +0200
Subject: [ARCHEOLOGY] rockchip64: add rk3318-box tvbox board patch and
configurations (#3921)
> X-Git-Archeology: > recovered message: > * rockchip64: add rk3318-box tvbox board patch and configurations
> X-Git-Archeology: > recovered message: > * rockchip64: add missing bcm43342 patch for edge kernel
> X-Git-Archeology: - Revision 2ca6a9381db4b875533926e0eae9d3d17f68ad06: https://github.com/armbian/build/commit/2ca6a9381db4b875533926e0eae9d3d17f68ad06
> X-Git-Archeology: Date: Thu, 23 Jun 2022 08:30:54 +0200
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip64: add rk3318-box tvbox board patch and configurations (#3921)
> X-Git-Archeology:
---
drivers/net/wireless/brcm80211/brcmfmac/sdio.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
index b082b8859b17..a23d6aab8054 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/sdio.c
@@ -611,6 +611,8 @@ static const struct sdiod_drive_str sdiod_drvstr_tab2_3v3[] = {
#define BCM4330_NVRAM_NAME "brcm/brcmfmac4330-sdio.txt"
#define BCM4334_FIRMWARE_NAME "brcm/brcmfmac4334-sdio.bin"
#define BCM4334_NVRAM_NAME "brcm/brcmfmac4334-sdio.txt"
+#define BCM4334_AP6334_FIRMWARE_NAME "brcm/brcmfmac4334-sdio.bin"
+#define BCM4334_AP6334_NVRAM_NAME "brcm/brcmfmac4334-sdio.rockchip,rk3318-box.txt"
#define BCM43340_FIRMWARE_NAME "brcm/brcmfmac43340-sdio.bin"
#define BCM43340_NVRAM_NAME "brcm/brcmfmac43340-sdio.txt"
#define BCM4335_FIRMWARE_NAME "brcm/brcmfmac4335-sdio.bin"
@@ -640,6 +642,7 @@ MODULE_FIRMWARE(BCM4330_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM4330_NVRAM_NAME);
MODULE_FIRMWARE(BCM4334_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM4334_NVRAM_NAME);
+MODULE_FIRMWARE(BCM4334_AP6334_NVRAM_NAME);
MODULE_FIRMWARE(BCM43340_FIRMWARE_NAME);
MODULE_FIRMWARE(BCM43340_NVRAM_NAME);
MODULE_FIRMWARE(BCM4335_FIRMWARE_NAME);
@@ -677,7 +680,8 @@ static const struct brcmf_firmware_names brcmf_fwname_data[] = {
{ BRCM_CC_43241_CHIP_ID, 0xFFFFFFC0, BRCMF_FIRMWARE_NVRAM(BCM43241B5) },
{ BRCM_CC_4329_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4329) },
{ BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4330) },
- { BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4334) },
+ { BRCM_CC_4334_CHIP_ID, 0xFFFFFFF7, BRCMF_FIRMWARE_NVRAM(BCM4334) },
+ { BRCM_CC_4334_CHIP_ID, 0x8, BRCMF_FIRMWARE_NVRAM(BCM4334_AP6334) },
{ BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM43340) },
{ BRCM_CC_4335_CHIP_ID, 0xFFFFFFFF, BRCMF_FIRMWARE_NVRAM(BCM4335) },
{ BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, BRCMF_FIRMWARE_NVRAM(BCM43362) },
--
Armbian

View File

@ -1,29 +0,0 @@
From 49b436cd66683e185f53435e9572f15044ee4132 Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Tue, 25 Sep 2018 14:06:01 +0800
Subject: [PATCH 06/97] es8316 patch for rockpi print error message
Change-Id: I54b1775c4d2bd695f7a5373149b14bc2501ce136
---
sound/soc/codecs/es8316.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.c
index 86d0eea444c5..e2a14976d8d2 100644
--- a/sound/soc/codecs/es8316.c
+++ b/sound/soc/codecs/es8316.c
@@ -103,7 +103,10 @@ static void es8316_enable_spk(struct es8316_priv *es8316, bool enable)
bool level;
level = enable ? es8316->spk_active_level : !es8316->spk_active_level;
- gpio_set_value(es8316->spk_ctl_gpio, level);
+
+ if (INVALID_GPIO != es8316->spk_ctl_gpio) {
+ gpio_set_value(es8316->spk_ctl_gpio, level);
+ }
}
static const DECLARE_TLV_DB_SCALE(dac_vol_tlv, -9600, 50, 1);
--
2.25.1

View File

@ -1,27 +0,0 @@
From 06062b02cf5aa138752d1c952eda866f331e7228 Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Fri, 19 Oct 2018 20:40:40 +0800
Subject: [PATCH 07/97] delete chosen node in rk3399-linux.dtsi
---
arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi | 4 ----
1 file changed, 4 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi
index 77801340b2d2..ecbac79d5ed0 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-linux.dtsi
@@ -46,10 +46,6 @@
/ {
compatible = "rockchip,linux", "rockchip,rk3399";
- chosen {
- bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1 console=ttyFIQ0 rw root=PARTUUID=614e0000-0000 rootfstype=ext4 rootwait";
- };
-
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
--
2.25.1

View File

@ -1,314 +0,0 @@
From e791d8951d749bcfddd9741c730fed4cafb0f38e Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Tue, 30 Oct 2018 11:18:48 +0800
Subject: [PATCH 08/97] add mcu driver for rockpi lcd module
Change-Id: I4d9eb75bc69bb59ffe2b7b110431c9ceab2cb3b8
---
arch/arm64/configs/rockchip_linux_defconfig | 1 +
drivers/misc/Kconfig | 7 +
drivers/misc/Makefile | 1 +
drivers/misc/rockpi_mcu.c | 242 ++++++++++++++++++++
drivers/misc/rockpi_mcu.h | 14 ++
5 files changed, 265 insertions(+)
create mode 100644 drivers/misc/rockpi_mcu.c
create mode 100644 drivers/misc/rockpi_mcu.h
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 77fa126eb1f2..eec5802fd989 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -564,6 +564,13 @@ config GPIO_DET
help
Enable this driver will support gpio detection.
+config ROCKPI_MCU
+ tristate "rockpi mcu"
+ default y
+ depends on I2C
+ help
+ Control the power of touch screen for rockpi board.
+
source "drivers/misc/c2port/Kconfig"
source "drivers/misc/eeprom/Kconfig"
source "drivers/misc/cb710/Kconfig"
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index b58f922dd5a0..059722165095 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -61,3 +61,4 @@ obj-$(CONFIG_CXL_BASE) += cxl/
obj-$(CONFIG_UID_SYS_STATS) += uid_sys_stats.o
obj-$(CONFIG_MEMORY_STATE_TIME) += memory_state_time.o
obj-$(CONFIG_USB_CAM_GPIO) += usb_cam_gpio.o
+obj-$(CONFIG_ROCKPI_MCU) += rockpi_mcu.o
diff --git a/drivers/misc/rockpi_mcu.c b/drivers/misc/rockpi_mcu.c
new file mode 100644
index 000000000000..38e7af802119
--- /dev/null
+++ b/drivers/misc/rockpi_mcu.c
@@ -0,0 +1,242 @@
+/*
+ *
+ * Rockpi board Touchscreen MCU driver.
+ *
+ * Copyright (c) 2016 ASUSTek Computer Inc.
+ * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program 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.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/slab.h>
+#include <linux/delay.h>
+#include <linux/i2c.h>
+#include <linux/module.h>
+#include <linux/workqueue.h>
+#include "rockpi_mcu.h"
+
+static struct rockpi_mcu_data *g_mcu_data;
+static int connected = 0;
+
+static int is_hex(char num)
+{
+ //0-9, a-f, A-F
+ if ((47 < num && num < 58) || (64 < num && num < 71) || (96 < num && num < 103))
+ return 1;
+ return 0;
+}
+
+static int string_to_byte(const char *source, unsigned char *destination, int size)
+{
+ int i = 0, counter = 0;
+ char c[3] = {0};
+ unsigned char bytes;
+
+ if (size%2 == 1)
+ return -EINVAL;
+
+ for(i = 0; i < size; i++){
+ if(!is_hex(source[i])) {
+ return -EINVAL;
+ }
+ if(0 == i%2){
+ c[0] = source[i];
+ c[1] = source[i+1];
+ sscanf(c, "%hhx", &bytes);
+ destination[counter] = bytes;
+ counter++;
+ }
+ }
+ return 0;
+}
+
+static int send_cmds(struct i2c_client *client, const char *buf)
+{
+ int ret, size = strlen(buf);
+ unsigned char byte_cmd[size/2];
+
+ if ((size%2) != 0) {
+ LOG_ERR("size should be even\n");
+ return -EINVAL;
+ }
+
+ LOG_INFO("%s\n", buf);
+
+ string_to_byte(buf, byte_cmd, size);
+
+ ret = i2c_master_send(client, byte_cmd, size/2);
+ if (ret <= 0) {
+ //LOG_ERR("send command failed, ret = %d\n", ret);
+ printk("send command failed, ret = %d\n", ret);
+ return ret!=0 ? ret : -ECOMM;
+ }
+ msleep(20);
+ return 0;
+}
+
+static int recv_cmds(struct i2c_client *client, char *buf, int size)
+{
+ int ret;
+
+ ret = i2c_master_recv(client, buf, size);
+ if (ret <= 0) {
+ LOG_ERR("receive commands failed, %d\n", ret);
+ return ret!=0 ? ret : -ECOMM;
+ }
+ msleep(20);
+ return 0;
+}
+
+static int init_cmd_check(struct rockpi_mcu_data *mcu_data)
+{
+ int ret;
+ char recv_buf[1] = {0};
+
+ ret = send_cmds(mcu_data->client, "80");
+ if (ret < 0)
+ goto error;
+
+ recv_cmds(mcu_data->client, recv_buf, 1);
+ if (ret < 0)
+ goto error;
+
+ LOG_INFO("recv_cmds: 0x%X\n", recv_buf[0]);
+ if (recv_buf[0] != 0xDE && recv_buf[0] != 0xC3) {
+ LOG_ERR("read wrong info\n");
+ ret = -EINVAL;
+ goto error;
+
+ }
+ return 0;
+
+error:
+ return ret;
+}
+
+int rockpi_mcu_screen_power_up(void)
+{
+ int res = 0;
+ if (!connected)
+ return -ENODEV;
+
+ LOG_INFO("\n");
+
+ res = send_cmds(g_mcu_data->client, "8500");
+ if(res < 0)
+ printk("send 8500 failed\n");
+ msleep(800);
+ res = send_cmds(g_mcu_data->client, "8501");
+ if(res < 0)
+ printk("send 8501 failed\n");
+ msleep(800);
+ res = send_cmds(g_mcu_data->client, "8104");
+ if(res < 0)
+ printk("send 8104 failed\n");
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(rockpi_mcu_screen_power_up);
+
+int rockpi_mcu_set_bright(int bright)
+{
+ unsigned char cmd[2];
+ int ret;
+
+ if (!connected)
+ return -ENODEV;
+
+ if (bright > 0xff || bright < 0)
+ return -EINVAL;
+
+ LOG_INFO("bright = 0x%x\n", bright);
+
+ cmd[0] = 0x86;
+ cmd[1] = bright;
+
+ ret = i2c_master_send(g_mcu_data->client, cmd, 2);
+ if (ret <= 0) {
+ LOG_ERR("send command failed, ret = %d\n", ret);
+ return ret != 0 ? ret : -ECOMM;
+ }
+
+ return 0;
+}
+EXPORT_SYMBOL_GPL(rockpi_mcu_set_bright);
+
+int rockpi_mcu_is_connected(void)
+{
+ return connected;
+}
+EXPORT_SYMBOL_GPL(rockpi_mcu_is_connected);
+
+static int rockpi_mcu_probe(struct i2c_client *client,
+ const struct i2c_device_id *id)
+{
+ struct rockpi_mcu_data *mcu_data;
+ int ret;
+
+ LOG_INFO("address = 0x%x\n", client->addr);
+
+ if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
+ LOG_ERR("I2C check functionality failed\n");
+ return -ENODEV;
+ }
+
+ mcu_data = kzalloc(sizeof(struct rockpi_mcu_data), GFP_KERNEL);
+ if (mcu_data == NULL) {
+ LOG_ERR("no memory for device\n");
+ return -ENOMEM;
+ }
+
+ mcu_data->client = client;
+ i2c_set_clientdata(client, mcu_data);
+ g_mcu_data = mcu_data;
+
+ ret = init_cmd_check(mcu_data);
+ if (ret < 0) {
+ LOG_ERR("init_cmd_check failed, %d\n", ret);
+ goto error;
+ }
+ connected = 1;
+
+ return 0;
+
+error:
+ kfree(mcu_data);
+ return ret;
+}
+
+static int rockpi_mcu_remove(struct i2c_client *client)
+{
+ struct rockpi_mcu_data *mcu_data = i2c_get_clientdata(client);
+ connected = 0;
+ kfree(mcu_data);
+ return 0;
+}
+
+static const struct i2c_device_id rockpi_mcu_id[] = {
+ {"rockpi_mcu", 0},
+ {},
+};
+
+static struct i2c_driver rockpi_mcu_driver = {
+ .driver = {
+ .name = "rockpi_mcu",
+ },
+ .probe = rockpi_mcu_probe,
+ .remove = rockpi_mcu_remove,
+ .id_table = rockpi_mcu_id,
+};
+module_i2c_driver(rockpi_mcu_driver);
+
+MODULE_DESCRIPTION("rockpi Board TouchScreen MCU driver");
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/misc/rockpi_mcu.h b/drivers/misc/rockpi_mcu.h
new file mode 100644
index 000000000000..5be872fa3b5d
--- /dev/null
+++ b/drivers/misc/rockpi_mcu.h
@@ -0,0 +1,14 @@
+#ifndef _ROCKPI_MCU_H_
+#define _ROCKPI_MCU_H_
+
+#define LOG_INFO(fmt,arg...) pr_info("rockpi-mcu: %s: "fmt, __func__, ##arg);
+#define LOG_ERR(fmt,arg...) pr_err("rockpi-mcu: %s: "fmt, __func__, ##arg);
+
+#define MAX_I2C_LEN 255
+
+struct rockpi_mcu_data {
+ struct device *dev;
+ struct i2c_client *client;
+};
+
+#endif
--
2.25.1

View File

@ -1,444 +0,0 @@
From 2791f6096fa67f1999d63fce8807ada1e00d24df Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Mon, 8 Oct 2018 20:46:32 +0800
Subject: [PATCH 10/97] add ft5406 driver for rockpi
Change-Id: Ie9e2a596fa979421c4868c74652e12aef2ea285c
---
arch/arm64/configs/rockchip_linux_defconfig | 1 +
drivers/input/touchscreen/Kconfig | 8 +
drivers/input/touchscreen/Makefile | 1 +
drivers/input/touchscreen/rockpi_ft5406.c | 323 ++++++++++++++++++++
drivers/input/touchscreen/rockpi_ft5406.h | 64 ++++
5 files changed, 397 insertions(+)
create mode 100644 drivers/input/touchscreen/rockpi_ft5406.c
create mode 100644 drivers/input/touchscreen/rockpi_ft5406.h
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index 3c0a61d23709..ba9071fc12b3 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -1165,4 +1165,12 @@ config TOUCHSCREEN_VTL_CT36X
config TOUCHSCREEN_GT1X
tristate "GT1X touchscreens support"
+config TOUCHSCREEN_ROCKPI_FT5406
+ tristate "rockpi ft5406"
+ default y
+ depends on I2C
+ help
+ Control ft5406 touch ic.
+
+
endif
diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
index b66414e38283..3b7787366c63 100644
--- a/drivers/input/touchscreen/Makefile
+++ b/drivers/input/touchscreen/Makefile
@@ -102,3 +102,4 @@ obj-$(CONFIG_TOUCHSCREEN_COLIBRI_VF50) += colibri-vf50-ts.o
obj-$(CONFIG_TOUCHSCREEN_ROHM_BU21023) += rohm_bu21023.o
obj-$(CONFIG_TOUCHSCREEN_VTL_CT36X) += vtl_ts/
obj-$(CONFIG_TOUCHSCREEN_GT1X) += gt1x/
+obj-$(CONFIG_TOUCHSCREEN_ROCKPI_FT5406) += rockpi_ft5406.o
diff --git a/drivers/input/touchscreen/rockpi_ft5406.c b/drivers/input/touchscreen/rockpi_ft5406.c
new file mode 100644
index 000000000000..6d5f08e4bf4b
--- /dev/null
+++ b/drivers/input/touchscreen/rockpi_ft5406.c
@@ -0,0 +1,323 @@
+/*
+ *
+ * rockpi BOARD FT5406 touch driver.
+ *
+ * Copyright (c) 2016 ASUSTek Computer Inc.
+ * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program 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.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/slab.h>
+#include <linux/delay.h>
+#include <linux/i2c.h>
+#include <linux/input.h>
+#include <linux/input/mt.h>
+#include <linux/module.h>
+#include <linux/workqueue.h>
+#include "rockpi_ft5406.h"
+
+static int fts_i2c_read(struct i2c_client *client, char *writebuf,
+ int writelen, char *readbuf, int readlen)
+{
+ int ret;
+
+ if (writelen > 0) {
+ struct i2c_msg msgs[] = {
+ {
+ .addr = client->addr,
+ .flags = 0,
+ .len = writelen,
+ .buf = writebuf,
+ },
+ {
+ .addr = client->addr,
+ .flags = I2C_M_RD,
+ .len = readlen,
+ .buf = readbuf,
+ },
+ };
+ ret = i2c_transfer(client->adapter, msgs, 2);
+ if (ret < 0)
+ LOG_ERR("i2c read error, %d\n", ret);
+ } else {
+ struct i2c_msg msgs[] = {
+ {
+ .addr = client->addr,
+ .flags = I2C_M_RD,
+ .len = readlen,
+ .buf = readbuf,
+ },
+ };
+ ret = i2c_transfer(client->adapter, msgs, 1);
+ if (ret < 0)
+ LOG_ERR("i2c read error, %d\n", ret);
+ }
+
+ return ret;
+}
+
+static int fts_read_reg(struct i2c_client *client, u8 addr, u8 *val)
+{
+ return fts_i2c_read(client, &addr, 1, val, 1);
+}
+
+static int fts_check_fw_ver(struct i2c_client *client)
+{
+ u8 reg_addr, fw_ver[3];
+ int ret;
+
+ reg_addr = FT_REG_FW_VER;
+ ret = fts_i2c_read(client, &reg_addr, 1, &fw_ver[0], 1);
+ if (ret < 0)
+ goto error;
+
+ reg_addr = FT_REG_FW_MIN_VER;
+ ret = fts_i2c_read(client, &reg_addr, 1, &fw_ver[1], 1);
+ if (ret < 0)
+ goto error;
+
+ reg_addr = FT_REG_FW_SUB_MIN_VER;
+ ret = fts_i2c_read(client, &reg_addr, 1, &fw_ver[2], 1);
+ if (ret < 0)
+ goto error;
+
+ LOG_INFO("Firmware version = %d.%d.%d\n", fw_ver[0], fw_ver[1], fw_ver[2]);
+ return 0;
+
+error:
+ return ret;
+}
+
+static int fts_read_td_status(struct rockpi_ft5406_data *ts_data)
+{
+ u8 td_status;
+ int ret = -1;
+ ret = fts_read_reg(ts_data->client, FT_TD_STATUS_REG, &td_status);
+ if (ret < 0) {
+ LOG_ERR("get reg td_status failed, %d\n", ret);
+ return ret;
+ }
+ return (int)td_status;
+}
+
+static int fts_read_touchdata(struct rockpi_ft5406_data *ts_data)
+{
+ struct ts_event *event = &ts_data->event;
+ int ret = -1, i;
+ u8 buf[FT_ONE_TCH_LEN-2] = { 0 };
+ u8 reg_addr, pointid = FT_MAX_ID;
+
+ for (i = 0; i < event->touch_point && i < MAX_TOUCH_POINTS; i++) {
+ reg_addr = FT_TOUCH_X_H_REG + (i * FT_ONE_TCH_LEN);
+ ret = fts_i2c_read(ts_data->client, &reg_addr, 1, buf, FT_ONE_TCH_LEN-2);
+ if (ret < 0) {
+ LOG_ERR("read touchdata failed.\n");
+ return ret;
+ }
+
+ pointid = (buf[FT_TOUCH_ID]) >> 4;
+ if (pointid >= MAX_TOUCH_POINTS)
+ break;
+ event->au8_finger_id[i] = pointid;
+ event->au16_x[i] = (s16) (buf[FT_TOUCH_X_H] & 0x0F) << 8 | (s16) buf[FT_TOUCH_X_L];
+ event->au16_y[i] = (s16) (buf[FT_TOUCH_Y_H] & 0x0F) << 8 | (s16) buf[FT_TOUCH_Y_L];
+ event->au8_touch_event[i] = buf[FT_TOUCH_EVENT] >> 6;
+
+#if XY_REVERSE
+ event->au16_x[i] = SCREEN_WIDTH - event->au16_x[i] - 1;
+ event->au16_y[i] = SCREEN_HEIGHT - event->au16_y[i] - 1;
+#endif
+ }
+ event->pressure = FT_PRESS;
+
+ return 0;
+}
+
+static void fts_report_value(struct rockpi_ft5406_data *ts_data)
+{
+ struct ts_event *event = &ts_data->event;
+ int i, modified_ids = 0, released_ids;
+
+ for (i = 0; i < event->touch_point && i < MAX_TOUCH_POINTS; i++) {
+ if (event->au8_touch_event[i]== FT_TOUCH_DOWN
+ || event->au8_touch_event[i] == FT_TOUCH_CONTACT)
+ {
+ modified_ids |= 1 << event->au8_finger_id[i];
+ input_mt_slot(ts_data->input_dev, event->au8_finger_id[i]);
+ input_mt_report_slot_state(ts_data->input_dev, MT_TOOL_FINGER,
+ true);
+ input_report_abs(ts_data->input_dev, ABS_MT_TOUCH_MAJOR,
+ event->pressure);
+ input_report_abs(ts_data->input_dev, ABS_MT_POSITION_X,
+ event->au16_x[i]);
+ input_report_abs(ts_data->input_dev, ABS_MT_POSITION_Y,
+ event->au16_y[i]);
+
+ if(!((1 << event->au8_finger_id[i]) & ts_data->known_ids))
+ LOG_DBG("Touch id-%d: x = %d, y = %d\n",
+ event->au8_finger_id[i], event->au16_x[i], event->au16_y[i]);
+ }
+ }
+
+ released_ids = ts_data->known_ids & ~modified_ids;
+ for(i = 0; released_ids && i < MAX_TOUCH_POINTS; i++) {
+ if(released_ids & (1<<i)) {
+ LOG_DBG("Release id-%d, known = %x modified = %x\n", i, ts_data->known_ids, modified_ids);
+ input_mt_slot(ts_data->input_dev, i);
+ input_mt_report_slot_state(ts_data->input_dev, MT_TOOL_FINGER, false);
+ modified_ids &= ~(1 << i);
+ }
+ }
+ ts_data->known_ids = modified_ids;
+ input_mt_report_pointer_emulation(ts_data->input_dev, true);
+ input_sync(ts_data->input_dev);
+}
+
+extern int rockpi_mcu_is_connected(void);
+
+static void rockpi_ft5406_work(struct work_struct *work)
+{
+ struct rockpi_ft5406_data *ts_data
+ = container_of(work, struct rockpi_ft5406_data, ft5406_work);
+ struct ts_event *event = &ts_data->event;
+ int ret = 0, count = 8, td_status;
+
+ while(count > 0) {
+ ret = fts_check_fw_ver(ts_data->client);
+ if (ret == 0)
+ break;
+ LOG_INFO("checking touch ic, countdown: %d\n", count);
+ msleep(1000);
+ count--;
+ }
+ if (!count) {
+ LOG_ERR("checking touch ic timeout, %d\n", ret);
+ return;
+ }
+
+ //polling 60fps
+ while(1) {
+ td_status = fts_read_td_status(ts_data);
+ if (td_status < VALID_TD_STATUS_VAL+1 && (td_status > 0 || ts_data->known_ids != 0)) {
+ memset(event, -1, sizeof(struct ts_event));
+ event->touch_point = td_status;
+ ret = fts_read_touchdata(ts_data);
+ if (ret == 0)
+ fts_report_value(ts_data);
+ }
+ msleep_interruptible(17);
+ }
+}
+
+static int rockpi_ft5406_probe(struct i2c_client *client,
+ const struct i2c_device_id *id)
+{
+ struct rockpi_ft5406_data *ts_data;
+ struct input_dev *input_dev;
+ int ret = 0, timeout = 10;
+
+ LOG_INFO("address = 0x%x\n", client->addr);
+
+ ts_data = kzalloc(sizeof(struct rockpi_ft5406_data), GFP_KERNEL);
+ if (ts_data == NULL) {
+ LOG_ERR("no memory for device\n");
+ return -ENOMEM;
+ }
+
+ ts_data->client = client;
+ i2c_set_clientdata(client, ts_data);
+
+ while(!rockpi_mcu_is_connected() && timeout > 0) {
+ msleep(50);
+ timeout--;
+ }
+
+ if (timeout == 0) {
+ LOG_ERR("wait connected timeout\n");
+ ret = -ENODEV;
+ goto timeout_failed;
+ }
+
+ input_dev = input_allocate_device();
+ if (!input_dev) {
+ LOG_ERR("failed to allocate input device\n");
+ goto input_allocate_failed;
+ }
+ input_dev->name = "fts_ts";
+ input_dev->id.bustype = BUS_I2C;
+ input_dev->dev.parent = &ts_data->client->dev;
+
+ ts_data->input_dev = input_dev;
+ input_set_drvdata(input_dev, ts_data);
+
+ __set_bit(EV_SYN, input_dev->evbit);
+ __set_bit(EV_KEY, input_dev->evbit);
+ __set_bit(EV_ABS, input_dev->evbit);
+ __set_bit(BTN_TOUCH, input_dev->keybit);
+
+ input_mt_init_slots(input_dev, MAX_TOUCH_POINTS, 0);
+ input_set_abs_params(input_dev, ABS_MT_POSITION_X, 0,
+ SCREEN_WIDTH, 0, 0);
+ input_set_abs_params(input_dev, ABS_MT_POSITION_Y, 0,
+ SCREEN_HEIGHT, 0, 0);
+
+ ret = input_register_device(input_dev);
+ if (ret) {
+ LOG_ERR("Input device registration failed\n");
+ goto input_register_failed;
+ }
+
+ INIT_WORK(&ts_data->ft5406_work, rockpi_ft5406_work);
+ schedule_work(&ts_data->ft5406_work);
+
+ return 0;
+
+input_register_failed:
+ input_free_device(input_dev);
+input_allocate_failed:
+timeout_failed:
+ kfree(ts_data);
+ return ret;
+}
+
+static int rockpi_ft5406_remove(struct i2c_client *client)
+{
+ struct rockpi_ft5406_data *ts_data = i2c_get_clientdata(client);
+
+ cancel_work_sync(&ts_data->ft5406_work);
+ if (ts_data->input_dev) {
+ input_unregister_device(ts_data->input_dev);
+ input_free_device(ts_data->input_dev);
+ }
+ kfree(ts_data);
+ return 0;
+}
+
+static const struct i2c_device_id rockpi_ft5406_id[] = {
+ {"rockpi_ft5406", 0},
+ {},
+};
+
+static struct i2c_driver rockpi_ft5406_driver = {
+ .driver = {
+ .name = "rockpi_ft5406",
+ },
+ .probe = rockpi_ft5406_probe,
+ .remove = rockpi_ft5406_remove,
+ .id_table = rockpi_ft5406_id,
+};
+module_i2c_driver(rockpi_ft5406_driver);
+
+MODULE_DESCRIPTION("ROCKPI BOARD FT5406 Touch driver");
+MODULE_LICENSE("GPL v2");
+
diff --git a/drivers/input/touchscreen/rockpi_ft5406.h b/drivers/input/touchscreen/rockpi_ft5406.h
new file mode 100644
index 000000000000..48f1d47e2623
--- /dev/null
+++ b/drivers/input/touchscreen/rockpi_ft5406.h
@@ -0,0 +1,64 @@
+#ifndef _ROCKPI_FT5406_H_
+#define _ROCKPI_FT5406_H_
+
+#define LOG_DBG(fmt,arg...) pr_debug("rockpi-ft5406: %s: "fmt, __func__, ##arg);
+#define LOG_INFO(fmt,arg...) pr_info("rockpi-ft5406: %s: "fmt, __func__, ##arg);
+#define LOG_ERR(fmt,arg...) pr_err("rockpi-ft5406: %s: "fmt, __func__, ##arg);
+
+#define XY_REVERSE 1
+
+#define SCREEN_WIDTH 800
+#define SCREEN_HEIGHT 480
+
+#define FT_ONE_TCH_LEN 6
+
+#define FT_REG_FW_VER 0xA6
+#define FT_REG_FW_MIN_VER 0xB2
+#define FT_REG_FW_SUB_MIN_VER 0xB3
+
+#define VALID_TD_STATUS_VAL 10
+#define MAX_TOUCH_POINTS 1
+
+#define FT_PRESS 0x7F
+#define FT_MAX_ID 0x0F
+
+#define FT_TOUCH_X_H 0
+#define FT_TOUCH_X_L 1
+#define FT_TOUCH_Y_H 2
+#define FT_TOUCH_Y_L 3
+#define FT_TOUCH_EVENT 0
+#define FT_TOUCH_ID 2
+
+#define FT_TOUCH_X_H_REG 3
+#define FT_TOUCH_X_L_REG 4
+#define FT_TOUCH_Y_H_REG 5
+#define FT_TOUCH_Y_L_REG 6
+#define FT_TD_STATUS_REG 2
+#define FT_TOUCH_EVENT_REG 3
+#define FT_TOUCH_ID_REG 5
+
+#define FT_TOUCH_DOWN 0
+#define FT_TOUCH_CONTACT 2
+
+struct ts_event {
+ u16 au16_x[MAX_TOUCH_POINTS]; /*x coordinate */
+ u16 au16_y[MAX_TOUCH_POINTS]; /*y coordinate */
+ u8 au8_touch_event[MAX_TOUCH_POINTS]; /*touch event: 0:down; 1:up; 2:contact */
+ u8 au8_finger_id[MAX_TOUCH_POINTS]; /*touch ID */
+ u16 pressure;
+ u8 touch_point;
+ u8 point_num;
+};
+
+struct rockpi_ft5406_data {
+ struct device *dev;
+ struct i2c_client *client;
+ struct input_dev *input_dev;
+ struct ts_event event;
+ struct work_struct ft5406_work;
+
+ int known_ids;
+};
+
+#endif
+
--
2.25.1

View File

@ -1,64 +0,0 @@
From f1a5efacbc00f49c378234f77029c0c60f46e51f Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Mon, 19 Nov 2018 17:27:05 +0800
Subject: [PATCH 11/97] add imx219 power down gpio control
Change-Id: I7f2cabaf82a4b936ac6da3fd5ffbecf95930d093
---
drivers/media/i2c/imx219.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/drivers/media/i2c/imx219.c b/drivers/media/i2c/imx219.c
index a05d5e9fabc2..b9434d1909a5 100644
--- a/drivers/media/i2c/imx219.c
+++ b/drivers/media/i2c/imx219.c
@@ -16,6 +16,7 @@
#include <linux/of_graph.h>
#include <linux/slab.h>
#include <linux/videodev2.h>
+#include <linux/gpio/consumer.h>
#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-fwnode.h>
@@ -215,6 +216,7 @@ struct imx219 {
struct media_pad pad;
struct v4l2_ctrl_handler ctrl_handler;
struct clk *clk;
+ struct gpio_desc *pwdn_gpio;
struct v4l2_rect crop_rect;
int hflip;
int vflip;
@@ -411,7 +413,17 @@ static int imx219_s_power(struct v4l2_subdev *sd, int on)
if (on) {
dev_dbg(&client->dev, "imx219 power on\n");
clk_prepare_enable(priv->clk);
+
+ if(!IS_ERR(priv->pwdn_gpio)) {
+ gpiod_set_value_cansleep(priv->pwdn_gpio, 1);
+ msleep(10);
+ }
} else if (!on) {
+
+ if(!IS_ERR(priv->pwdn_gpio)) {
+ gpiod_set_value_cansleep(priv->pwdn_gpio, 0);
+ }
+
dev_dbg(&client->dev, "imx219 power off\n");
clk_disable_unprepare(priv->clk);
}
@@ -893,6 +905,12 @@ static int imx219_probe(struct i2c_client *client,
return -EPROBE_DEFER;
}
+ priv->pwdn_gpio = devm_gpiod_get(&client->dev, "pwdn", GPIOD_OUT_LOW);
+ if (IS_ERR(priv->pwdn_gpio))
+ dev_info(&client->dev, "Failed to get pwdn-gpios\n");
+
+ gpiod_set_value_cansleep(priv->pwdn_gpio, 1);
+ msleep(5);
/* 1920 * 1080 by default */
priv->cur_mode = &supported_modes[0];
--
2.25.1

View File

@ -1,60 +0,0 @@
From 5d1bb45f66c3d5bd67f18a069eadc152022a2228 Mon Sep 17 00:00:00 2001
From: stephen <stephen@radxa.com>
Date: Tue, 11 Dec 2018 19:24:18 +0800
Subject: [PATCH 23/97] add support for the TP-Link UE300 ethernet adapter
Signed-off-by: stephen <stephen@radxa.com>
---
drivers/net/usb/cdc_ether.c | 8 ++++++++
drivers/net/usb/r8152.c | 2 ++
2 files changed, 10 insertions(+)
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c
index f71abe50ea6f..ad69d4535f1c 100644
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c
@@ -464,6 +464,7 @@ static const struct driver_info wwan_info = {
#define LINKSYS_VENDOR_ID 0x13b1
#define NVIDIA_VENDOR_ID 0x0955
#define HP_VENDOR_ID 0x03f0
+#define TPLINK_VENDOR_ID 0x2357
static const struct usb_device_id products[] = {
/* BLACKLIST !!
@@ -674,6 +675,13 @@ static const struct usb_device_id products[] = {
.driver_info = 0,
},
+/* TP-LINK UE300 USB 3.0 Ethernet Adapters (based on Realtek RTL8153) */
+{
+ USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, 0x0601, USB_CLASS_COMM,
+ USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
+ .driver_info = 0,
+},
+
/* WHITELIST!!!
*
* CDC Ether uses two interfaces, not necessarily consecutive.
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 2bb336cb13ee..6b24bf7ec38b 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -508,6 +508,7 @@ enum rtl8152_flags {
#define VENDOR_ID_LENOVO 0x17ef
#define VENDOR_ID_LINKSYS 0x13b1
#define VENDOR_ID_NVIDIA 0x0955
+#define VENDOR_ID_TPLINK 0x2357
#define MCU_TYPE_PLA 0x0100
#define MCU_TYPE_USB 0x0000
@@ -4380,6 +4381,7 @@ static struct usb_device_id rtl8152_table[] = {
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)},
{REALTEK_USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041)},
{REALTEK_USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff)},
+ {REALTEK_USB_DEVICE(VENDOR_ID_TPLINK, 0x0601)},
{}
};
--
2.25.1

View File

@ -1,117 +0,0 @@
From 8319cfe761a6b045e142d8a2052220d16aff5379 Mon Sep 17 00:00:00 2001
From: stephen <stephen@vamrs.com>
Date: Fri, 22 Feb 2019 19:07:26 +0800
Subject: [PATCH 34/97] add device tree overlay for rockpi
Here uses the at24c02 module as a test sample.
Signed-off-by: stephen <stephen@vamrs.com>
---
arch/arm64/boot/dts/.gitignore | 1 +
arch/arm64/boot/dts/rockchip/Makefile | 13 +++++++++++-
.../arm64/boot/dts/rockchip/overlays/Makefile | 10 +++++++++
.../dts/rockchip/overlays/at24c02-overlay.dts | 21 +++++++++++++++++++
arch/arm64/configs/rockchip_linux_defconfig | 1 +
scripts/Makefile.lib | 11 ++++++++++
6 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/Makefile
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/at24c02-overlay.dts
diff --git a/arch/arm64/boot/dts/.gitignore b/arch/arm64/boot/dts/.gitignore
index b60ed208c779..77ed402cbbc8 100644
--- a/arch/arm64/boot/dts/.gitignore
+++ b/arch/arm64/boot/dts/.gitignore
@@ -1 +1,2 @@
*.dtb
+*.dtbo
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index cb02dda8e20e..9aa944b743e2 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -84,6 +84,17 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rock960-model-ab-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rock960-model-c-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rockpi-4b-linux.dtb
+targets += dtbs dtbs_instal
+targets += $(dtb-y)
+dtstree := $(srctree)/$(src)
+dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
+
always := $(dtb-y)
-subdir-y := $(dts-dirs)
+subdir-y := $(dts-dirs) overlays
clean-files := *.dtb
+
+# Enable fixups to support overlays on ROCK Pi platforms
+ifeq ($(CONFIG_ARCH_ROCKCHIP),y)
+ DTC_FLAGS ?= -@ -H epapr
+ dts-dirs += overlays
+endif
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays/Makefile
new file mode 100644
index 000000000000..b4ded11e7a8f
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/Makefile
@@ -0,0 +1,10 @@
+# Overlays for the ROCK Pi platform
+
+dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
+ at24c02.dtbo
+
+targets += dtbs dtbs_install
+targets += $(dtbo-y)
+
+always := $(dtbo-y)
+clean-files := *.dtbo
diff --git a/arch/arm64/boot/dts/rockchip/overlays/at24c02-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/at24c02-overlay.dts
new file mode 100644
index 000000000000..535753163ff0
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/at24c02-overlay.dts
@@ -0,0 +1,21 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&i2c2>;
+
+ __overlay__ {
+
+ at24c02@50 {
+ status = "okay";
+ compatible = "atmel,24c02";
+ reg = <0x50>;
+ pagesize = <8>;
+ };
+ };
+ };
+};
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 3fb2aaa00411..75aa16f7baa9 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -319,6 +319,17 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
$(obj)/%.dtb: $(src)/%.dts FORCE
$(call if_changed_dep,dtc)
+quiet_cmd_dtco = DTCO $@
+cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \
+ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
+ $(DTC) -@ -H epapr -O dtb -o $@ -b 0 \
+ -i $(dir $<) $(DTC_FLAGS) \
+ -d $(depfile).dtc.tmp $(dtc-tmp) ; \
+ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
+
+$(obj)/%.dtbo: $(src)/%-overlay.dts FORCE
+ $(call if_changed_dep,dtco)
+
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
# cat
--
2.25.1

View File

@ -1,62 +0,0 @@
From 5c3d3c50f91cc44bf6a95b86d0fb78ae5e078a47 Mon Sep 17 00:00:00 2001
From: stephen <stephen@vamrs.com>
Date: Fri, 22 Feb 2019 19:12:00 +0800
Subject: [PATCH 35/97] overlays: add two color led module for rockpi
Signed-off-by: stephen <stephen@vamrs.com>
---
.../arm64/boot/dts/rockchip/overlays/Makefile | 1 +
.../overlays/two-color-led-overlay.dts | 29 +++++++++++++++++++
2 files changed, 30 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/two-color-led-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays/Makefile
index b4ded11e7a8f..106f4412612d 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays/Makefile
@@ -1,6 +1,7 @@
# Overlays for the ROCK Pi platform
dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
+ two-color-led.dtbo \
at24c02.dtbo
targets += dtbs dtbs_install
diff --git a/arch/arm64/boot/dts/rockchip/overlays/two-color-led-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/two-color-led-overlay.dts
new file mode 100644
index 000000000000..fff3c0d96588
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/two-color-led-overlay.dts
@@ -0,0 +1,29 @@
+// Definitions for two-color-led module
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target-path = "/";
+
+ __overlay__ {
+
+ two-color-led {
+ compatible = "gpio-leds";
+ status = "okay";
+ two-color-led-red {
+ gpios = <&gpio4 5 0>; //0: GPIO_ACTIVE_HIGH
+ default-state = "off";
+ };
+
+ two-color-led-yellow {
+ gpios = <&gpio4 4 0>; //0: GPIO_ACTIVE_HIGH
+ default-state = "on";
+ };
+ };
+ };
+ };
+};
--
2.25.1

View File

@ -1,141 +0,0 @@
From f3a5dd7a1a00473e9fff98ab8176c2b96b5b0d38 Mon Sep 17 00:00:00 2001
From: stephen <stephen@vamrs.com>
Date: Tue, 26 Feb 2019 20:32:24 +0800
Subject: [PATCH 37/97] overlays: add README
Signed-off-by: stephen <stephen@vamrs.com>
---
arch/arm64/boot/dts/rockchip/overlays/README | 121 +++++++++++++++++++
1 file changed, 121 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/README
diff --git a/arch/arm64/boot/dts/rockchip/overlays/README b/arch/arm64/boot/dts/rockchip/overlays/README
new file mode 100644
index 000000000000..93c4c42029a8
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/README
@@ -0,0 +1,121 @@
+Introduction
+=============
+
+This directory contains Device Tree overlays. Device Tree makes it possible
+to support many hardware configurations with a single kernel and without the
+need to explicitly load or blacklisr kernel modules.
+
+On Rock Pi, you will find a .dtb for each base platform in /boot. This
+describes the hardware that is part of the Rock Pi board. The loader selects
+the .dtb file appropriate for the platform by name and pass it to the kernel.
+
+Device Tree Overlays usage is controlled from /boot/hw_intfc.conf. You can do
+the settings for Rock Pi in your hw_intfc.conf, which should cause your
+Rock Pi to do your wanted things after a reboot.
+
+In /boot/overlays you will find many .dtbo files. The loader will merge the
+selected .dtbo files by reading file /boot/hw_intfc.conf.
+
+
+Using Overlays
+===============
+
+Overlays are loaded using "intfc:" directive. As an example, consider the
+at24c02 module. Add one line in hw_intfc.conf:
+
+ intfc:dtoverlay=at24c02
+
+This causes the file /boot/overlays/at24c02.dtbo to be loaded.
+
+
+The Overlay and Parameter Reference
+=====================================
+
+N.B. When editing this file, please preserve the indentation levels to make it
+simple to parse programmatically. NO HARD TABS.
+
+Name: pwm0
+Info: Overlay for BUS PWM0
+Load: intfc:pwm0=<value>
+Value:
+ on Set to "on" to enable the pwm0 interface (default "off")
+ off Set to "off" to disable the pwm0 interface
+
+
+Name: pwm1
+Info: Overlay for BUS PWM1
+Load: intfc:pwm1=<value>
+Value:
+ on Set to "on" to enable the pwm1 interface (default "off")
+ off Set to "off" to disable the pwm2 interface
+
+
+Name: uart2
+Info: Overlay for BUS UART2
+Load: intfc:uart2=<value>
+Value:
+ on Set to "on" to enable the uart2 interface (default "off")
+ off Set to "off" to disable the uart2 interface
+
+
+Name: uart4
+Info: Overlay for BUS UART4
+Load: intfc:uart4=<value>
+Value:
+ on Set to "on" to enable the uart4 interface (default "off")
+ off Set to "off" to disable the uart4 interface
+
+
+Name: spi1
+Info: Overlay for BUS SPI1
+Load: intfc:spi1=<value>
+Value:
+ on Set to "on" to enable the spi1 interface (default "off")
+ off Set to "off" to disable the spi1 interface
+
+
+Name: spi2
+Info: Overlay for BUS SPI2
+Load: intfc:spi2=<value>
+Value:
+ on Set to "on" to enable the spi2 interface (default "off")
+ off Set to "off" to disable the spi2 interface
+
+
+Name: i2c2
+Info: Overlay for BUS I2C2
+Load: intfc:i2c2=<value>
+Value:
+ on Set to "on" to enable the i2c2 interface (default "off")
+ off Set to "off" to disable the i2c2 interface
+
+
+Name: i2c6
+Info: Overlay for BUS I2C6
+Load: intfc:i2c6=<value>
+Value:
+ on Set to "on" to enable the i2c6 interface (default "off")
+ off Set to "off" to disable the i2c6 interface
+
+
+Name: i2c7
+Info: Overlay for BUS I2C7
+Load: intfc:i2c7=<value>
+Value:
+ on Set to "on" to enable the i2c7 interface (default "off")
+ off Set to "off" to disable the i2c7 interface
+
+
+N.B. It is recommended to only ebable those bus interfaces that are needed.
+Leaving all interfaces enabled can lead to unwanted behaviour.
+
+
+Name: at24c02
+Info: Overlay for activation of Atmel AT24C02 over I2C
+Load: intfc:dtoverlay=at24c02
+
+
+Name: two-color-led
+Info: Overlay for activation of two color led module.
+Load: intfc:dtoverlay=two-color-led
+
--
2.25.1

View File

@ -1,117 +0,0 @@
From 155a65a72b20b477663218ce47fd9130579ab375 Mon Sep 17 00:00:00 2001
From: stephen <stephen@vamrs.com>
Date: Thu, 28 Feb 2019 17:08:38 +0800
Subject: [PATCH 38/97] arm64: overlays: add console choices for rockpi
Signed-off-by: stephen <stephen@vamrs.com>
---
.../arm64/boot/dts/rockchip/overlays/Makefile | 2 ++
arch/arm64/boot/dts/rockchip/overlays/README | 18 +++++++++++
.../overlays/console-disabled-overlay.dts | 16 ++++++++++
.../overlays/console-on-uart4-overlay.dts | 32 +++++++++++++++++++
4 files changed, 68 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/console-disabled-overlay.dts
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/console-on-uart4-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays/Makefile
index 106f4412612d..0e06b7e1748f 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays/Makefile
@@ -1,6 +1,8 @@
# Overlays for the ROCK Pi platform
dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
+ console-on-uart4.dtbo \
+ console-disabled.dtbo \
two-color-led.dtbo \
at24c02.dtbo
diff --git a/arch/arm64/boot/dts/rockchip/overlays/README b/arch/arm64/boot/dts/rockchip/overlays/README
index 93c4c42029a8..5f9ee4ed12e4 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/README
+++ b/arch/arm64/boot/dts/rockchip/overlays/README
@@ -119,3 +119,21 @@ Name: two-color-led
Info: Overlay for activation of two color led module.
Load: intfc:dtoverlay=two-color-led
+
+Name: console-disabled
+Info: Overlay for disabling fiq debugger console.
+ When this dtbo file is not loaded, Rock Pi enables fiq debugger console
+ by default. And UART2DBG Pins will output console information.
+ When this dtbo is loaded, Rock Pi disables fiq debugger console and
+ UART2DBG pins do not output console information. What's more,
+ UART2DBG pins can be used for serial communication if UART2 is enabled.
+Load: intfc:dtoverlay=console-disabled
+
+
+Name: console-on-uart4
+Info: Overlay for setting uart4 pins as fiq debugger console pins. With this
+ dtbo loaded, UART4 pins output console information after kernel is
+ booted. Note that at the same time, Rock Pi cannot work with other
+ serial communication devices like UART Serial Bluetooth Module through
+ UART4 (even though set "on" for BUS UART4).
+Load: intfc:dtoverlay=console-on-uart4
diff --git a/arch/arm64/boot/dts/rockchip/overlays/console-disabled-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/console-disabled-overlay.dts
new file mode 100644
index 000000000000..59001bb2ac67
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/console-disabled-overlay.dts
@@ -0,0 +1,16 @@
+// Definitions for disabling ttyFIQ0 console
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&fiq_debugger>;
+
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlays/console-on-uart4-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/console-on-uart4-overlay.dts
new file mode 100644
index 000000000000..2ecafe7aa18b
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/console-on-uart4-overlay.dts
@@ -0,0 +1,32 @@
+// Definitions for setting uart4 pins as ttyFIQ0 console pins
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&uart4>;
+
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@1 {
+ target = <&fiq_debugger>;
+
+ __overlay__ {
+ status = "okay";
+ compatible = "rockchip,fiq-debugger";
+ rockchip,serial-id = <4>;
+ rockchip,signal-irq = <182>;
+ rockchip,wake-irq = <0>;
+ rockchip,irq-mode-enable = <1>; /* If enable uart uses irq instead of fiq */
+ rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart4_xfer>;
+ };
+ };
+};
--
2.25.1

View File

@ -1,59 +0,0 @@
From a4d7117cd49715e3114d30c7d7b303dbd4f45f76 Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Fri, 15 Mar 2019 19:41:30 +0800
Subject: [PATCH 39/97] arm64: overlays: add spi dev for rockpi4
---
.../arm64/boot/dts/rockchip/overlays/Makefile | 3 ++-
.../dts/rockchip/overlays/devspi-overlay.dts | 25 +++++++++++++++++++
2 files changed, 27 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/devspi-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays/Makefile
index 0e06b7e1748f..0c691d2237af 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays/Makefile
@@ -4,7 +4,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
console-on-uart4.dtbo \
console-disabled.dtbo \
two-color-led.dtbo \
- at24c02.dtbo
+ at24c02.dtbo \
+ devspi.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays/devspi-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/devspi-overlay.dts
new file mode 100644
index 000000000000..a3972b856660
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/devspi-overlay.dts
@@ -0,0 +1,25 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&spi1>;
+
+ __overlay__ {
+ max-freq = <50000000>;
+ dmas = <&dmac_peri 10>, <&dmac_peri 11>;
+ dma-names = "tx","rx";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ devspi@0 {
+ status = "okay";
+ reg = <0>;
+ compatible ="rockchip,spidev";
+ spi-max-frequency = <50000000>;
+ };
+ };
+ };
+};
--
2.25.1

View File

@ -1,218 +0,0 @@
From 2e389dcfa50b977f6094ee1c5149bb0d9062781d Mon Sep 17 00:00:00 2001
From: stephen <stephen@vamrs.com>
Date: Tue, 19 Mar 2019 20:39:05 +0800
Subject: [PATCH 40/97] arm64: overlays: modify the method of controlling the
console
By default, disables the fiq debugger console.
Signed-off-by: stephen <stephen@vamrs.com>
---
.../arm64/boot/dts/rockchip/overlays/Makefile | 4 +--
arch/arm64/boot/dts/rockchip/overlays/README | 33 +++++++++----------
.../overlays/console-disabled-overlay.dts | 16 ---------
.../overlays/console-on-ttyS2-overlay.dts | 32 ++++++++++++++++++
.../overlays/console-on-ttyS4-overlay.dts | 32 ++++++++++++++++++
.../overlays/console-on-uart4-overlay.dts | 32 ------------------
.../boot/dts/rockchip/rockpi-4b-linux.dts | 1 +
7 files changed, 83 insertions(+), 67 deletions(-)
delete mode 100644 arch/arm64/boot/dts/rockchip/overlays/console-disabled-overlay.dts
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS2-overlay.dts
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS4-overlay.dts
delete mode 100644 arch/arm64/boot/dts/rockchip/overlays/console-on-uart4-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays/Makefile
index 0c691d2237af..50115840f972 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays/Makefile
@@ -1,8 +1,8 @@
# Overlays for the ROCK Pi platform
dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
- console-on-uart4.dtbo \
- console-disabled.dtbo \
+ console-on-ttyS4.dtbo \
+ console-on-ttyS2.dtbo \
two-color-led.dtbo \
at24c02.dtbo \
devspi.dtbo
diff --git a/arch/arm64/boot/dts/rockchip/overlays/README b/arch/arm64/boot/dts/rockchip/overlays/README
index 5f9ee4ed12e4..1d89601a6846 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/README
+++ b/arch/arm64/boot/dts/rockchip/overlays/README
@@ -120,20 +120,19 @@ Info: Overlay for activation of two color led module.
Load: intfc:dtoverlay=two-color-led
-Name: console-disabled
-Info: Overlay for disabling fiq debugger console.
- When this dtbo file is not loaded, Rock Pi enables fiq debugger console
- by default. And UART2DBG Pins will output console information.
- When this dtbo is loaded, Rock Pi disables fiq debugger console and
- UART2DBG pins do not output console information. What's more,
- UART2DBG pins can be used for serial communication if UART2 is enabled.
-Load: intfc:dtoverlay=console-disabled
-
-
-Name: console-on-uart4
-Info: Overlay for setting uart4 pins as fiq debugger console pins. With this
- dtbo loaded, UART4 pins output console information after kernel is
- booted. Note that at the same time, Rock Pi cannot work with other
- serial communication devices like UART Serial Bluetooth Module through
- UART4 (even though set "on" for BUS UART4).
-Load: intfc:dtoverlay=console-on-uart4
+Name: console-on-ttyS2
+Info: By default, fiq debugger console is disabled.
+ When this dtbo file is loaded, Rock Pi enables fiq debugger console.
+ ttyS2 Pins will output console information.
+ At the same time, it is recommended that you set UART2 to off in
+ file /boot/hw_intfc.conf and do not load console-on-ttyS4.dtbo file.
+Load: intfc:dtoverlay=console-on-ttyS2
+
+
+Name: console-on-ttyS4
+Info: By default, fiq debugger console is disabled.
+ When this dtbo file is loaded, Rock Pi enables fiq debugger console.
+ ttyS4 Pins will output console information.
+ At the same time, it is recommended that you set UART4 to off in
+ file /boot/hw_intfc.conf and do not load console-on-ttyS2.dtbo file.
+Load: intfc:dtoverlay=console-on-ttyS4
diff --git a/arch/arm64/boot/dts/rockchip/overlays/console-disabled-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/console-disabled-overlay.dts
deleted file mode 100644
index 59001bb2ac67..000000000000
--- a/arch/arm64/boot/dts/rockchip/overlays/console-disabled-overlay.dts
+++ /dev/null
@@ -1,16 +0,0 @@
-// Definitions for disabling ttyFIQ0 console
-/dts-v1/;
-/plugin/;
-
-/ {
- model = "ROCK PI 4B";
- compatible = "rockchip,rockpi","rockchip,rk3399";
-
- fragment@0 {
- target = <&fiq_debugger>;
-
- __overlay__ {
- status = "disabled";
- };
- };
-};
diff --git a/arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS2-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS2-overlay.dts
new file mode 100644
index 000000000000..086e2219d6ac
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS2-overlay.dts
@@ -0,0 +1,32 @@
+// Definitions for setting uart4 pins as ttyFIQ0 console pins
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&uart2>;
+
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@1 {
+ target = <&fiq_debugger>;
+
+ __overlay__ {
+ status = "okay";
+ compatible = "rockchip,fiq-debugger";
+ rockchip,serial-id = <2>;
+ rockchip,signal-irq = <182>;
+ rockchip,wake-irq = <0>;
+ rockchip,irq-mode-enable = <1>; /* If enable uart uses irq instead of fiq */
+ rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart2c_xfer>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS4-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS4-overlay.dts
new file mode 100644
index 000000000000..f5549778c9f2
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS4-overlay.dts
@@ -0,0 +1,32 @@
+// Definitions for setting uart4 pins as ttyFIQ0 console pins
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&uart4>;
+
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@1 {
+ target = <&fiq_debugger>;
+
+ __overlay__ {
+ status = "okay";
+ compatible = "rockchip,fiq-debugger";
+ rockchip,serial-id = <4>;
+ rockchip,signal-irq = <182>;
+ rockchip,wake-irq = <0>;
+ rockchip,irq-mode-enable = <1>; /* If enable uart uses irq instead of fiq */
+ rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart4_xfer>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlays/console-on-uart4-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/console-on-uart4-overlay.dts
deleted file mode 100644
index 2ecafe7aa18b..000000000000
--- a/arch/arm64/boot/dts/rockchip/overlays/console-on-uart4-overlay.dts
+++ /dev/null
@@ -1,32 +0,0 @@
-// Definitions for setting uart4 pins as ttyFIQ0 console pins
-/dts-v1/;
-/plugin/;
-
-/ {
- model = "ROCK PI 4B";
- compatible = "rockchip,rockpi","rockchip,rk3399";
-
- fragment@0 {
- target = <&uart4>;
-
- __overlay__ {
- status = "disabled";
- };
- };
-
- fragment@1 {
- target = <&fiq_debugger>;
-
- __overlay__ {
- status = "okay";
- compatible = "rockchip,fiq-debugger";
- rockchip,serial-id = <4>;
- rockchip,signal-irq = <182>;
- rockchip,wake-irq = <0>;
- rockchip,irq-mode-enable = <1>; /* If enable uart uses irq instead of fiq */
- rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
- pinctrl-names = "default";
- pinctrl-0 = <&uart4_xfer>;
- };
- };
-};
--
2.25.1

View File

@ -1,59 +0,0 @@
From 7908251e24a54b6aa35b18e8e0c8302012fb2e38 Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Thu, 21 Mar 2019 09:51:00 +0800
Subject: [PATCH 41/97] arm64: overlays: add spi2 dev for rockpi4
---
.../arm64/boot/dts/rockchip/overlays/Makefile | 3 ++-
.../dts/rockchip/overlays/devspi2-overlay.dts | 25 +++++++++++++++++++
2 files changed, 27 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/devspi2-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays/Makefile
index 50115840f972..24c75f813ebb 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays/Makefile
@@ -5,7 +5,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
console-on-ttyS2.dtbo \
two-color-led.dtbo \
at24c02.dtbo \
- devspi.dtbo
+ devspi.dtbo \
+ devspi2.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays/devspi2-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/devspi2-overlay.dts
new file mode 100644
index 000000000000..29b00b53b5c9
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/devspi2-overlay.dts
@@ -0,0 +1,25 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&spi2>;
+
+ __overlay__ {
+ max-freq = <50000000>;
+ dmas = <&dmac_peri 12>, <&dmac_peri 13>;
+ dma-names = "tx","rx";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ devspi@0 {
+ status = "okay";
+ reg = <0>;
+ compatible ="rockchip,spidev";
+ spi-max-frequency = <50000000>;
+ };
+ };
+ };
+};
--
2.25.1

View File

@ -1,32 +0,0 @@
From 488fb0564d3055dfa14fced7ab6a512f41575bfb Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Thu, 21 Mar 2019 10:57:10 +0800
Subject: [PATCH 42/97] arm64: overlay: renamed:devspi-overlay.dts ->
devspi1-overlay.dts
---
arch/arm64/boot/dts/rockchip/overlays/Makefile | 2 +-
.../overlays/{devspi-overlay.dts => devspi1-overlay.dts} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
rename arch/arm64/boot/dts/rockchip/overlays/{devspi-overlay.dts => devspi1-overlay.dts} (100%)
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays/Makefile
index 24c75f813ebb..f6e8bae445e1 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays/Makefile
@@ -5,7 +5,7 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
console-on-ttyS2.dtbo \
two-color-led.dtbo \
at24c02.dtbo \
- devspi.dtbo \
+ devspi1.dtbo \
devspi2.dtbo
targets += dtbs dtbs_install
diff --git a/arch/arm64/boot/dts/rockchip/overlays/devspi-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/devspi1-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/devspi-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays/devspi1-overlay.dts
--
2.25.1

View File

@ -1,32 +0,0 @@
From 0333c193ba3735b1f25f306d4ee3855a28aa3afc Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Thu, 21 Mar 2019 10:57:56 +0800
Subject: [PATCH 43/97] arm64: overlay: add spi1 and spi2 user guide
---
arch/arm64/boot/dts/rockchip/overlays/README | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/overlays/README b/arch/arm64/boot/dts/rockchip/overlays/README
index 1d89601a6846..237e77569f56 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/README
+++ b/arch/arm64/boot/dts/rockchip/overlays/README
@@ -136,3 +136,15 @@ Info: By default, fiq debugger console is disabled.
At the same time, it is recommended that you set UART4 to off in
file /boot/hw_intfc.conf and do not load console-on-ttyS2.dtbo file.
Load: intfc:dtoverlay=console-on-ttyS4
+
+
+Name: devspi1
+Info: By default, spi1 is disabled.
+ when use spi1, uart4 must be disabled.
+Load: intfc:dtoverlay=devspi1
+
+Name: devspi2
+Info: By default, spi2 is disabled.
+ When use spi2. i2c6 must be disabled.
+Load: intfc:dtoverlay=devspi2
+
--
2.25.1

View File

@ -1,55 +0,0 @@
From c29fea58eb71593602445c7558443d8a6420d08f Mon Sep 17 00:00:00 2001
From: Jack Ma <jack@vamrs.com>
Date: Tue, 26 Mar 2019 20:09:42 +0800
Subject: [PATCH 45/97] arm64: overlays: Add PCIE gen2 mode overlay
Enable it by adding the following line in /boot/hw_intfc.conf:
intfc:dtoverlay=pcie-gen2
Signed-off-by: Jack Ma <jack@vamrs.com>
---
arch/arm64/boot/dts/rockchip/overlays/Makefile | 3 ++-
.../dts/rockchip/overlays/pcie-gen2-overlay.dts | 16 ++++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/pcie-gen2-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays/Makefile
index f6e8bae445e1..bb410648950b 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays/Makefile
@@ -6,7 +6,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
two-color-led.dtbo \
at24c02.dtbo \
devspi1.dtbo \
- devspi2.dtbo
+ devspi2.dtbo \
+ pcie-gen2.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays/pcie-gen2-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/pcie-gen2-overlay.dts
new file mode 100644
index 000000000000..86c7e9e83121
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/pcie-gen2-overlay.dts
@@ -0,0 +1,16 @@
+// Enable pcie gen2 mode
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&pcie0>;
+
+ __overlay__ {
+ max-link-speed = <2>;
+ };
+ };
+};
--
2.25.1

View File

@ -1,472 +0,0 @@
From ae7a309bd4111e55e929db2d6ade09b6c5d2e5b5 Mon Sep 17 00:00:00 2001
From: stephen <stephen@vamrs.com>
Date: Fri, 12 Apr 2019 19:48:52 +0800
Subject: [PATCH 54/97] arm64: overlays: add waveshare35 model b and c
Enable it by adding the followings line in /boot/hw_intfc.conf:
intfc:uart4=off
intfc:spi1=on
intfc:dtoverlay=spi1-waveshare35b-v2
or intfc:dtoverlay=spi1-waveshare35c
Signed-off-by: stephen <stephen@vamrs.com>
---
.../arm64/boot/dts/rockchip/overlays/Makefile | 4 +-
arch/arm64/boot/dts/rockchip/overlays/README | 74 +++++++++++-------
.../boot/dts/rockchip/overlays/hw_intfc.conf | 45 +++++++++++
.../overlays/spi1-waveshare35b-v2-overlay.dts | 76 +++++++++++++++++++
.../overlays/spi1-waveshare35c-overlay.dts | 75 ++++++++++++++++++
arch/arm64/configs/rockchip_linux_defconfig | 34 ++++++++-
drivers/staging/fbtft/fbtft-core.c | 28 ++++++-
7 files changed, 305 insertions(+), 31 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/hw_intfc.conf
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35b-v2-overlay.dts
create mode 100644 arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35c-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays/Makefile
index bb410648950b..d5d8f9daff46 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays/Makefile
@@ -7,7 +7,9 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
at24c02.dtbo \
devspi1.dtbo \
devspi2.dtbo \
- pcie-gen2.dtbo
+ pcie-gen2.dtbo \
+ spi1-waveshare35c.dtbo \
+ spi1-waveshare35b-v2.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays/README b/arch/arm64/boot/dts/rockchip/overlays/README
index 237e77569f56..6dbd301f32fc 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/README
+++ b/arch/arm64/boot/dts/rockchip/overlays/README
@@ -110,41 +110,61 @@ N.B. It is recommended to only ebable those bus interfaces that are needed.
Leaving all interfaces enabled can lead to unwanted behaviour.
-Name: at24c02
-Info: Overlay for activation of Atmel AT24C02 over I2C
-Load: intfc:dtoverlay=at24c02
+Name: at24c02
+Info: Overlay for activation of Atmel AT24C02 over I2C
+Load: intfc:dtoverlay=at24c02
-Name: two-color-led
-Info: Overlay for activation of two color led module.
-Load: intfc:dtoverlay=two-color-led
+Name: two-color-led
+Info: Overlay for activation of two color led module.
+Load: intfc:dtoverlay=two-color-led
-Name: console-on-ttyS2
-Info: By default, fiq debugger console is disabled.
- When this dtbo file is loaded, Rock Pi enables fiq debugger console.
- ttyS2 Pins will output console information.
- At the same time, it is recommended that you set UART2 to off in
- file /boot/hw_intfc.conf and do not load console-on-ttyS4.dtbo file.
-Load: intfc:dtoverlay=console-on-ttyS2
+Name: console-on-ttyS2
+Info: By default, fiq debugger console is disabled.
+ When this dtbo file is loaded, Rock Pi enables fiq debugger console.
+ ttyS2 Pins will output console information.
+ At the same time, it is recommended that you set UART2 to off in
+ file /boot/hw_intfc.conf and do not load console-on-ttyS4.dtbo file.
+Load: intfc:dtoverlay=console-on-ttyS2
-Name: console-on-ttyS4
-Info: By default, fiq debugger console is disabled.
- When this dtbo file is loaded, Rock Pi enables fiq debugger console.
- ttyS4 Pins will output console information.
- At the same time, it is recommended that you set UART4 to off in
- file /boot/hw_intfc.conf and do not load console-on-ttyS2.dtbo file.
-Load: intfc:dtoverlay=console-on-ttyS4
+Name: console-on-ttyS4
+Info: By default, fiq debugger console is disabled.
+ When this dtbo file is loaded, Rock Pi enables fiq debugger console.
+ ttyS4 Pins will output console information.
+ At the same time, it is recommended that you set UART4 to off in
+ file /boot/hw_intfc.conf and do not load console-on-ttyS2.dtbo file.
+Load: intfc:dtoverlay=console-on-ttyS4
-Name: devspi1
-Info: By default, spi1 is disabled.
- when use spi1, uart4 must be disabled.
-Load: intfc:dtoverlay=devspi1
+Name: devspi1
+Info: Overlay for activation of dummy spi device on SPI1 for test.
+ Need set: intfc:spi1=on
+ By default, spi1 is disabled.
+ when use spi1, uart4 must be disabled.
+Load: intfc:dtoverlay=devspi1
+
Name: devspi2
-Info: By default, spi2 is disabled.
- When use spi2. i2c6 must be disabled.
-Load: intfc:dtoverlay=devspi2
+Info: Overlay for activation of dummy spi device on SPI2 for test.
+ Need set: intfc:spi2=on
+ When use spi2. i2c6 must be disabled.
+Load: intfc:dtoverlay=devspi2
+
+
+Name: pcie-gen2
+Info: Overlay for activation of pcie running on GEN2 mode.
+Load: intfc:dtoverlay=pcie-gen2
+
+
+Name: spi1-waveshare35b-v2
+Info: Overlay for activation of waveshare 3.5inch lcd(B v2).
+ Need set: intfc:uart4=off intfc:spi1=on
+Load: intfc:dtoverlay=spi1-0waveshare35b-v2
+
+Name: spi1-waveshare35c
+Info: Overlay for activation of waveshare 3.5inch lcd(C).
+ Need set: intfc:uart4=off intfc:spi1=on
+Load: intfc:dtoverlay=spi1-waveshare35c
diff --git a/arch/arm64/boot/dts/rockchip/overlays/hw_intfc.conf b/arch/arm64/boot/dts/rockchip/overlays/hw_intfc.conf
new file mode 100644
index 000000000000..6c5bbf6088be
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/hw_intfc.conf
@@ -0,0 +1,45 @@
+
+# Hardware Interface Config
+
+# For more details, check https://wiki.radxa.com/Rockpi4/hardware/devtree_overlays.
+
+# Set "on" to enable the optional hardware interfaces while set "off" to disable.
+
+intfc:pwm0=off
+intfc:pwm1=off
+intfc:uart2=off
+intfc:uart4=off
+intfc:spi1=off
+intfc:spi2=off
+intfc:i2c2=off
+intfc:i2c6=off
+intfc:i2c7=off
+
+# Devicetree Overlay Enable, uncomment to enable .dtbo under /boot/overlays/.
+
+# EEPROM on I2C2
+#intfc:dtoverlay=at24c02
+
+# Serial console on UART2
+intfc:dtoverlay=console-on-ttyS2
+
+# Serial console on UART4
+#intfc:dtoverlay=console-on-ttyS4
+
+# Dummy spi device on SPI1 for test. Need set: intfc:spi1=on
+#intfc:dtoverlay=devspi1
+
+# Dummy spi device on SPI2 for test. Need set: intfc:spi2=on
+#intfc:dtoverlay=devspi2
+
+# PCIE running on GEN2 mode
+#intfc:dtoverlay=pcie-gen2
+
+# ALLNET 4duino B10/B11 two-coloe-led module on 40-pin Header Pin#35 and Pin#36
+#intfc:dtoverlay=two-color-led
+
+# waveshare 3.5inch lcd (B v2) on SPI1. Need set: intfc:uart4=off intfc:spi1=on
+#intfc:dtoverlay=spi1-waveshare35b-v2
+
+# waveshare 3.5inch lcd (C) on SPI1. Need set: intfc:uart4=off intfc:spi1=on
+#intfc:dtoverlay=spi1-waveshare35c
diff --git a/arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35b-v2-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35b-v2-overlay.dts
new file mode 100644
index 000000000000..0b3ece11d9e8
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35b-v2-overlay.dts
@@ -0,0 +1,76 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&gpio4>;
+
+ __overlay__ {
+ waveshare35b_v2_pins: waveshare35b_v2_pins {
+ rockchip,pins = <4 18 0 &pcfg_pull_none>,
+ <4 28 0 &pcfg_pull_none>,
+ <4 29 0 &pcfg_pull_none>;
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&spi1>;
+
+ __overlay__ {
+ status = "okay";
+ max-freq = <48000000>;
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ waveshare35b_v2@0 {
+ compatible = "ilitek,ili9486";
+ status = "okay";
+ reg = <0>;
+ id = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&waveshare35b_v2_pins>;
+ spi-max-frequency = <15000000>;
+ txbuflen = <32768>;
+ rotate = <270>;
+ bgr = <0>;
+ fps = <30>;
+ buswidth = <8>;
+ regwidth = <16>;
+ reset-gpios = <&gpio4 29 0>;
+ dc-gpios = <&gpio4 28 0>;
+ debug = <0>;
+ init = <0x10000b0 0x0
+ 0x1000011
+ 0x20000ff
+ 0x1000021
+ 0x100003a 0x55
+ 0x10000c2 0x33
+ 0x10000c5 0x0 0x1e 0x80
+ 0x1000036 0x28
+ 0x10000b1 0xb0
+ 0x10000e0 0x0 0x13 0x18 0x4 0xf 0x6 0x3a 0x56 0x4d 0x3 0xa 0x6 0x30 0x3e 0xf
+ 0x10000e1 0x0 0x13 0x18 0x1 0x11 0x6 0x38 0x34 0x4d 0x6 0xd 0xb 0x31 0x37 0xf
+ 0x1000011
+ 0x20000ff
+ 0x1000029>;
+ };
+ waveshare35b_v2@1 {
+ compatible = "ti,ads7846";
+ status = "okay";
+ reg = <1>;
+ id = <1>;
+ spi-max-frequency = <2000000>;
+ interrupts = <18 2>;
+ interrupt-parent = <&gpio4>;
+ pendown-gpio = <&gpio4 18 0>;
+ ti,x-plate-ohms = /bits/ 16 <60>;/*[00 3c];*/
+ ti,pressure-max = /bits/ 16 <255>;/*[00 ff];*/
+ ti,swap-xy = <0>;
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35c-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35c-overlay.dts
new file mode 100644
index 000000000000..0c71cb966982
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35c-overlay.dts
@@ -0,0 +1,75 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&gpio4>;
+
+ __overlay__ {
+ waveshare35c_pins: waveshare35c_pins {
+ rockchip,pins = <4 18 0 &pcfg_pull_none>,
+ <4 28 0 &pcfg_pull_none>,
+ <4 29 0 &pcfg_pull_none>;
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&spi1>;
+
+ __overlay__ {
+ status = "okay";
+ max-freq = <48000000>;
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ waveshare35c@0 {
+ compatible = "ilitek,ili9486";
+ status = "okay";
+ reg = <0>;
+ id = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&waveshare35c_pins>;
+ spi-max-frequency = <15000000>;
+ txbuflen = <32768>;
+ rotate = <270>;
+ bgr = <0>;
+ fps = <30>;
+ buswidth = <8>;
+ regwidth = <16>;
+ reset-gpios = <&gpio4 29 0>;
+ dc-gpios = <&gpio4 28 0>;
+ debug = <0>;
+ init = <0x10000b0 0x00
+ 0x1000011
+ 0x20000ff
+ 0x100003a 0x55
+ 0x1000036 0x28
+ 0x10000c2 0x44
+ 0x10000c5 0x00 0x00 0x00 0x00
+ 0x10000e0 0x0f 0x1f 0x1c 0x0c 0x0f 0x08 0x48 0x98 0x37 0x0a 0x13 0x04 0x11 0x0d 0x00
+ 0x10000e1 0x0f 0x32 0x2e 0x0b 0x0d 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
+ 0x10000e2 0x0f 0x32 0x2e 0x0b 0x0d 0x05 0x47 0x75 0x37 0x06 0x10 0x03 0x24 0x20 0x00
+ 0x1000036 0x28
+ 0x1000011
+ 0x1000029>;
+ };
+ waveshare35c@1 {
+ compatible = "ti,ads7846";
+ status = "okay";
+ reg = <1>;
+ id = <1>;
+ spi-max-frequency = <2000000>;
+ interrupts = <18 2>;
+ interrupt-parent = <&gpio4>;
+ pendown-gpio = <&gpio4 18 0>;
+ ti,x-plate-ohms = /bits/ 16 <60>;/*[00 3c];*/
+ ti,pressure-max = /bits/ 16 <255>;/*[00 ff];*/
+ ti,swap-xy = <0>;
+ };
+ };
+ };
+};
diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c
index 18c2b6daf588..41351d48bda4 100644
--- a/drivers/staging/fbtft/fbtft-core.c
+++ b/drivers/staging/fbtft/fbtft-core.c
@@ -44,7 +44,7 @@ module_param(debug, ulong, 0);
MODULE_PARM_DESC(debug, "override device debug level");
#ifdef CONFIG_HAS_DMA
-static bool dma = true;
+static bool dma = false;
module_param(dma, bool, 0);
MODULE_PARM_DESC(dma, "Use DMA buffer");
#endif
@@ -666,6 +666,8 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
char *gamma = display->gamma;
unsigned long *gamma_curves = NULL;
+ printk("#fbtft# start fbtft_framebuffer_alloc...\n");
+
/* sanity check */
if (display->gamma_num * display->gamma_len > FBTFT_GAMMA_MAX_VALUES_TOTAL) {
dev_err(dev, "FBTFT_GAMMA_MAX_VALUES_TOTAL=%d is exceeded\n",
@@ -673,6 +675,8 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
return NULL;
}
+ printk("#fbtft# set fps or bpp...\n");
+
/* defaults */
if (!fps)
fps = 20;
@@ -684,6 +688,8 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
return NULL;
}
+ printk("#fbtft# override driver values...\n");
+
/* override driver values? */
if (pdata->fps)
fps = pdata->fps;
@@ -720,23 +726,33 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
height = display->height;
}
+ printk("#fbtft# alloc 1...\n");
+
vmem_size = display->width * display->height * bpp / 8;
vmem = vzalloc(vmem_size);
if (!vmem)
goto alloc_fail;
+ printk("#fbtft# alloc 2...\n");
+
fbops = devm_kzalloc(dev, sizeof(struct fb_ops), GFP_KERNEL);
if (!fbops)
goto alloc_fail;
+ printk("#fbtft# alloc 3...\n");
+
fbdefio = devm_kzalloc(dev, sizeof(struct fb_deferred_io), GFP_KERNEL);
if (!fbdefio)
goto alloc_fail;
+ printk("#fbtft# alloc 4...\n");
+
buf = devm_kzalloc(dev, 128, GFP_KERNEL);
if (!buf)
goto alloc_fail;
+ printk("#fbtft# alloc 5...\n");
+
if (display->gamma_num && display->gamma_len) {
gamma_curves = devm_kzalloc(dev, display->gamma_num * display->gamma_len * sizeof(gamma_curves[0]),
GFP_KERNEL);
@@ -744,6 +760,8 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
goto alloc_fail;
}
+ printk("#fbtft# alloc 6...\n");
+
info = framebuffer_alloc(sizeof(struct fbtft_par), dev);
if (!info)
goto alloc_fail;
@@ -810,6 +828,8 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
mutex_init(&par->gamma.lock);
info->pseudo_palette = par->pseudo_palette;
+ printk("#fbtft# alloc 6...\n");
+
if (par->gamma.curves && gamma) {
if (fbtft_gamma_parse_str(par,
par->gamma.curves, gamma, strlen(gamma)))
@@ -825,14 +845,18 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
txbuflen = PAGE_SIZE; /* need buffer for byteswapping */
#endif
+ printk("#fbtft# alloc 7...\n");
+
if (txbuflen > 0) {
#ifdef CONFIG_HAS_DMA
if (dma) {
+ printk("#fbtft# alloc 8...\n");
dev->coherent_dma_mask = ~0;
txbuf = dmam_alloc_coherent(dev, txbuflen, &par->txbuf.dma, GFP_DMA);
} else
#endif
{
+ printk("#fbtft# alloc 9...\n");
txbuf = devm_kzalloc(par->info->device, txbuflen, GFP_KERNEL);
}
if (!txbuf)
@@ -841,6 +865,8 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
par->txbuf.len = txbuflen;
}
+ printk("#fbtft# alloc 10...\n");
+
/* Initialize gpios to disabled */
par->gpio.reset = -1;
par->gpio.dc = -1;
--
2.25.1

View File

@ -1,112 +0,0 @@
From 316b4c41ad3b18cdeb4708ac5ca2081ae2bb2c85 Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Thu, 30 May 2019 17:20:59 +0800
Subject: [PATCH 56/97] change the position of rockpi4 devicetree overlay files
Signed-off-by: Stephen <stephen@vamrs.com>
---
arch/arm64/boot/dts/rockchip/Makefile | 4 ++--
.../boot/dts/rockchip/{overlays => overlays-rockpi4}/Makefile | 2 +-
.../boot/dts/rockchip/{overlays => overlays-rockpi4}/README | 0
.../{overlays => overlays-rockpi4}/at24c02-overlay.dts | 0
.../console-on-ttyS2-overlay.dts | 0
.../console-on-ttyS4-overlay.dts | 0
.../{overlays => overlays-rockpi4}/devspi1-overlay.dts | 0
.../{overlays => overlays-rockpi4}/devspi2-overlay.dts | 0
.../dts/rockchip/{overlays => overlays-rockpi4}/hw_intfc.conf | 0
.../{overlays => overlays-rockpi4}/pcie-gen2-overlay.dts | 0
.../spi1-waveshare35b-v2-overlay.dts | 0
.../spi1-waveshare35c-overlay.dts | 0
.../{overlays => overlays-rockpi4}/two-color-led-overlay.dts | 0
13 files changed, 3 insertions(+), 3 deletions(-)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/Makefile (89%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/README (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/at24c02-overlay.dts (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/console-on-ttyS2-overlay.dts (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/console-on-ttyS4-overlay.dts (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/devspi1-overlay.dts (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/devspi2-overlay.dts (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/hw_intfc.conf (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/pcie-gen2-overlay.dts (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/spi1-waveshare35b-v2-overlay.dts (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/spi1-waveshare35c-overlay.dts (100%)
rename arch/arm64/boot/dts/rockchip/{overlays => overlays-rockpi4}/two-color-led-overlay.dts (100%)
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 9aa944b743e2..8b6fa16faf51 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -90,11 +90,11 @@ dtstree := $(srctree)/$(src)
dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
always := $(dtb-y)
-subdir-y := $(dts-dirs) overlays
+subdir-y := $(dts-dirs) overlays-rockpi4
clean-files := *.dtb
# Enable fixups to support overlays on ROCK Pi platforms
ifeq ($(CONFIG_ARCH_ROCKCHIP),y)
DTC_FLAGS ?= -@ -H epapr
- dts-dirs += overlays
+ dts-dirs += overlays-rockpi4
endif
diff --git a/arch/arm64/boot/dts/rockchip/overlays/Makefile b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
similarity index 89%
rename from arch/arm64/boot/dts/rockchip/overlays/Makefile
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
index d5d8f9daff46..fa22f1b499ef 100644
--- a/arch/arm64/boot/dts/rockchip/overlays/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
@@ -1,4 +1,4 @@
-# Overlays for the ROCK Pi platform
+# Overlays for the ROCK Pi 4 platform
dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
console-on-ttyS4.dtbo \
diff --git a/arch/arm64/boot/dts/rockchip/overlays/README b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/README
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
diff --git a/arch/arm64/boot/dts/rockchip/overlays/at24c02-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/at24c02-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/at24c02-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/at24c02-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS2-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/console-on-ttyS2-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS2-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/console-on-ttyS2-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS4-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/console-on-ttyS4-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/console-on-ttyS4-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/console-on-ttyS4-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/devspi1-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi1-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/devspi1-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi1-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/devspi2-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi2-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/devspi2-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi2-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/hw_intfc.conf b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/hw_intfc.conf
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
diff --git a/arch/arm64/boot/dts/rockchip/overlays/pcie-gen2-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/pcie-gen2-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/pcie-gen2-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/pcie-gen2-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35b-v2-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-waveshare35b-v2-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35b-v2-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-waveshare35b-v2-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35c-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-waveshare35c-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/spi1-waveshare35c-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-waveshare35c-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays/two-color-led-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/two-color-led-overlay.dts
similarity index 100%
rename from arch/arm64/boot/dts/rockchip/overlays/two-color-led-overlay.dts
rename to arch/arm64/boot/dts/rockchip/overlays-rockpi4/two-color-led-overlay.dts
--
2.25.1

View File

@ -1,73 +0,0 @@
From 0a0b9c2ad766b0f2789c12abc6d78cd97b57bf22 Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Sat, 15 Jun 2019 11:35:35 +0800
Subject: [PATCH 58/97] arm64: overlays-rockpi4: add spi1 flash support
Signed-off-by: Stephen <stephen@vamrs.com>
---
.../dts/rockchip/overlays-rockpi4/Makefile | 3 +-
.../overlays-rockpi4/spi1-flash-overlay.dts | 38 +++++++++++++++++++
2 files changed, 40 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-flash-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
index fa22f1b499ef..aeeb2218930c 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
@@ -9,7 +9,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
devspi2.dtbo \
pcie-gen2.dtbo \
spi1-waveshare35c.dtbo \
- spi1-waveshare35b-v2.dtbo
+ spi1-waveshare35b-v2.dtbo \
+ spi1-flash.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-flash-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-flash-overlay.dts
new file mode 100644
index 000000000000..bca5891a8594
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-flash-overlay.dts
@@ -0,0 +1,38 @@
+//This devicetree overlay is used to boot ROCK Pi 4 from SPI Flash device.
+//Test device: GD25Q127CSIG
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&spi1>;
+
+ __overlay__ {
+ status = "okay";
+ max-freq = <10000000>;
+
+ spiflash: spi-flash@0 {
+ #address-cells = <0x1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <0x0>;
+ spi-max-frequency = <10000000>;
+ status = "okay";
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ loader@0 {
+ label = "loader";
+ reg = <0x0 0x400000>;
+ };
+ };
+ };
+ };
+ };
+};
--
2.25.1

View File

@ -1,39 +0,0 @@
From fcfcea3e46a736c1dcde4062b3488cd2d247fc08 Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Sat, 15 Jun 2019 14:19:31 +0800
Subject: [PATCH 59/97] arm64: overlays-rockpi4: update documents
Signed-off-by: Stephen <stephen@vamrs.com>
---
arch/arm64/boot/dts/rockchip/overlays-rockpi4/README | 6 ++++++
arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf | 3 +++
2 files changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
index 6dbd301f32fc..5cef50b9e0dd 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
@@ -168,3 +168,9 @@ Name: spi1-waveshare35c
Info: Overlay for activation of waveshare 3.5inch lcd(C).
Need set: intfc:uart4=off intfc:spi1=on
Load: intfc:dtoverlay=spi1-waveshare35c
+
+
+Name: spi1-flash
+Info: Overlay for activation of spi flash.
+ Need set: intfc:uart4=off intfc:spi1=on
+Load: intfc:dtoverlay=spi1-flash
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
index 6c5bbf6088be..dff035656205 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
@@ -43,3 +43,6 @@ intfc:dtoverlay=console-on-ttyS2
# waveshare 3.5inch lcd (C) on SPI1. Need set: intfc:uart4=off intfc:spi1=on
#intfc:dtoverlay=spi1-waveshare35c
+
+# spi flash on SPI1. Need set: intfc:uart4=off intfc:spi1=on
+#intfc:dtoverlay=spi1-flash
--
2.25.1

View File

@ -1,27 +0,0 @@
From 8216f17965de7bc7ced7092aab0e2bfe416838a4 Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Sat, 22 Jun 2019 10:41:45 +0800
Subject: [PATCH 60/97] drivers: add xtx spi nor flash xt25f32b
Signed-off-by: Stephen <stephen@vamrs.com>
---
drivers/mtd/spi-nor/spi-nor.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 64d6f053c2a5..287a09052c14 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -845,6 +845,9 @@ static const struct flash_info spi_nor_ids[] = {
{ "cat25c09", CAT25_INFO( 128, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
{ "cat25c17", CAT25_INFO( 256, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
{ "cat25128", CAT25_INFO(2048, 8, 64, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
+
+ /* XTX SPI Nor Flash */
+ { "xt25f32b", INFO(0x0b4016, 0, 64 * 1024, 64, SECT_4K) },
{ },
};
--
2.25.1

View File

@ -1,93 +0,0 @@
From 24a1bbfaf70146ad7aca43e9b30cab0671ae303c Mon Sep 17 00:00:00 2001
From: zhu <a05965575163@163.com>
Date: Mon, 22 Jul 2019 17:07:19 +0800
Subject: [PATCH 62/97] Add switch to enable Raspberry Pi offical LCD or
disable it
---
.../dts/rockchip/overlays-rockpi4/Makefile | 3 +-
.../rockchip/overlays-rockpi4/hw_intfc.conf | 3 ++
.../raspberrypi-7-inch-lcd-overlay.dts | 45 +++++++++++++++++++
.../boot/dts/rockchip/rockpi-4b-linux.dts | 9 ++--
4 files changed, 56 insertions(+), 4 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays-rockpi4/raspberrypi-7-inch-lcd-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
index 98ac32ab75ad..22495d5ce18e 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
@@ -12,7 +12,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
spi1-waveshare35b-v2.dtbo \
spi1-flash.dtbo \
hifiberry-dac.dtbo \
- hifiberry-dacplus.dtbo
+ hifiberry-dacplus.dtbo \
+ raspberrypi-7-inch-lcd.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
index 184e094caa6e..1e2f41d1b605 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
@@ -52,3 +52,6 @@ intfc:dtoverlay=console-on-ttyS2
#hifiberry-dacplus on I2C7. Need set: intfc:i2c7=on
#intfc:dtoverlay=hifiberry-dacplus
+
+#enable raspberry pi official 7 inch LCD support
+#intfc:dtoverlay=raspberrypi-7-inch-lcd
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/raspberrypi-7-inch-lcd-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/raspberrypi-7-inch-lcd-overlay.dts
new file mode 100644
index 000000000000..a0f475bd8e8b
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/raspberrypi-7-inch-lcd-overlay.dts
@@ -0,0 +1,45 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&dsi>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&dsi1>;
+
+ __overlay__ {
+ rockchip,dual-channel = <&dsi>;
+ status = "okay";
+
+ panel: panel@0 {
+ compatible ="rockpi,tc358762";
+ reg = <0>;
+ status = "okay";
+
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&i2c1>;
+
+ __overlay__ {
+ rockpi_mcu: rockpi_mcu@45 {
+ status = "okay";
+ };
+
+ rockpi_ft5406: rockpi_ft5406@38 {
+ status = "okay";
+ };
+ };
+ };
+};
--
2.25.1

View File

@ -1,77 +0,0 @@
From 92d0f966c2cafcae6d81f163d60d4a1386b4e8bf Mon Sep 17 00:00:00 2001
From: zhu <a05965575163@163.com>
Date: Mon, 22 Jul 2019 17:53:45 +0800
Subject: [PATCH 63/97] arm64: overlays-rockpi4: Add rk3399 overclocking
support
---
.../dts/rockchip/overlays-rockpi4/Makefile | 3 +-
.../overlays-rockpi4/cpufreq-overlay.dts | 29 +++++++++++++++++++
.../rockchip/overlays-rockpi4/hw_intfc.conf | 3 ++
3 files changed, 34 insertions(+), 1 deletion(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays-rockpi4/cpufreq-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
index 22495d5ce18e..4b8826779c7c 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
@@ -13,7 +13,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
spi1-flash.dtbo \
hifiberry-dac.dtbo \
hifiberry-dacplus.dtbo \
- raspberrypi-7-inch-lcd.dtbo
+ raspberrypi-7-inch-lcd.dtbo \
+ cpufreq.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/cpufreq-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/cpufreq-overlay.dts
new file mode 100644
index 000000000000..39c0e66d61f9
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/cpufreq-overlay.dts
@@ -0,0 +1,29 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&cluster0_opp>;
+
+ __overlay__ {
+ opp-1512000000 {
+ opp-hz = /bits/ 64 <1512000000>;
+ opp-microvolt = <1150000>;
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&cluster1_opp>;
+
+ __overlay__ {
+ opp-2016000000 {
+ opp-hz = /bits/ 64 <2016000000>;
+ opp-microvolt = <1250000>;
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
index 1e2f41d1b605..8e81b315b073 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
@@ -55,3 +55,6 @@ intfc:dtoverlay=console-on-ttyS2
#enable raspberry pi official 7 inch LCD support
#intfc:dtoverlay=raspberrypi-7-inch-lcd
+
+# setting cpu frequency over-2GHz
+#intfc:dtoverlay=cpufreq
\ No newline at end of file
--
2.25.1

View File

@ -1,41 +0,0 @@
From 5fc53464d9db342b8968c53e15246d11e783523c Mon Sep 17 00:00:00 2001
From: zhu <a05965575163@163.com>
Date: Mon, 22 Jul 2019 18:09:17 +0800
Subject: [PATCH 64/97] arm64: overlays-rockpi4: Fix SPI transfers larger
than 32 bytes error bug.
Signed-off-by: Jubian <a05965575163@163.com>
---
.../boot/dts/rockchip/overlays-rockpi4/devspi1-overlay.dts | 2 +-
.../boot/dts/rockchip/overlays-rockpi4/devspi2-overlay.dts | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi1-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi1-overlay.dts
index a3972b856660..f6145c6b112d 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi1-overlay.dts
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi1-overlay.dts
@@ -10,7 +10,7 @@
__overlay__ {
max-freq = <50000000>;
- dmas = <&dmac_peri 10>, <&dmac_peri 11>;
+ dmas = <&dmac_peri 0xc>, <&dmac_peri 0xd>;
dma-names = "tx","rx";
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi2-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi2-overlay.dts
index 29b00b53b5c9..304c366a55cf 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi2-overlay.dts
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/devspi2-overlay.dts
@@ -10,7 +10,7 @@
__overlay__ {
max-freq = <50000000>;
- dmas = <&dmac_peri 12>, <&dmac_peri 13>;
+ dmas = <&dmac_peri 0xe>, <&dmac_peri 0xf>;
dma-names = "tx","rx";
#address-cells = <1>;
#size-cells = <0>;
--
2.25.1

View File

@ -1,75 +0,0 @@
From b5acf3af521f0f2cd65d308e68ee5f523d6af44a Mon Sep 17 00:00:00 2001
From: zhu <a05965575163@163.com>
Date: Thu, 25 Jul 2019 17:58:38 +0800
Subject: [PATCH 65/97] overlays: Add imx219 camera module support
Signed-off-by: zhu <a05965575163@163.com>
---
.../dts/rockchip/overlays-rockpi4/Makefile | 3 ++-
.../rockchip/overlays-rockpi4/hw_intfc.conf | 5 +++-
.../overlays-rockpi4/imx219-overlay.dts | 23 +++++++++++++++++++
.../boot/dts/rockchip/rockpi-4b-linux.dts | 4 +---
4 files changed, 30 insertions(+), 5 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays-rockpi4/imx219-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
index 4b8826779c7c..8ef4882feb61 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
@@ -14,7 +14,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
hifiberry-dac.dtbo \
hifiberry-dacplus.dtbo \
raspberrypi-7-inch-lcd.dtbo \
- cpufreq.dtbo
+ cpufreq.dtbo \
+ imx219.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
index 8e81b315b073..80b509f309c9 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
@@ -57,4 +57,7 @@ intfc:dtoverlay=console-on-ttyS2
#intfc:dtoverlay=raspberrypi-7-inch-lcd
# setting cpu frequency over-2GHz
-#intfc:dtoverlay=cpufreq
\ No newline at end of file
+#intfc:dtoverlay=cpufreq
+
+# Add imx219 camera module support
+#intfc:dtoverlay=imx219
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/imx219-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/imx219-overlay.dts
new file mode 100644
index 000000000000..514d6a6e9ce3
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/imx219-overlay.dts
@@ -0,0 +1,23 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&i2c4>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&camera1>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
--
2.25.1

View File

@ -1,99 +0,0 @@
From dc32bac71ffc9e630ec53aa45e2a0dc09d8579c7 Mon Sep 17 00:00:00 2001
From: zhu <a05965575163@163.com>
Date: Thu, 25 Jul 2019 20:45:54 +0800
Subject: [PATCH 66/97] overlay: Add ov4657 camera module support
Signed-off-by: zhu <a05965575163@163.com>
---
.../dts/rockchip/overlays-rockpi4/Makefile | 3 +-
.../rockchip/overlays-rockpi4/hw_intfc.conf | 7 +++--
.../overlays-rockpi4/ov5647-overlay.dts | 31 +++++++++++++++++++
.../boot/dts/rockchip/rockpi-4b-linux.dts | 20 +++++++++++-
drivers/media/i2c/ov5647.c | 2 +-
5 files changed, 58 insertions(+), 5 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays-rockpi4/ov5647-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
index 8ef4882feb61..85d76b2e59db 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
@@ -15,7 +15,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
hifiberry-dacplus.dtbo \
raspberrypi-7-inch-lcd.dtbo \
cpufreq.dtbo \
- imx219.dtbo
+ imx219.dtbo \
+ ov5647.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
index 80b509f309c9..024fe765fef4 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
@@ -59,5 +59,8 @@ intfc:dtoverlay=console-on-ttyS2
# setting cpu frequency over-2GHz
#intfc:dtoverlay=cpufreq
-# Add imx219 camera module support
-#intfc:dtoverlay=imx219
\ No newline at end of file
+# Add imx219 camera module support. Need disabled ov5647 camera module.
+#intfc:dtoverlay=imx219
+
+# Add ov5647 camera module support. Need disabled imx219 camera module.
+#intfc:dtoverlay=ov5647
\ No newline at end of file
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/ov5647-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/ov5647-overlay.dts
new file mode 100644
index 000000000000..b988b3b66583
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/ov5647-overlay.dts
@@ -0,0 +1,31 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&i2c4>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&camera2>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@2 {
+ target = <&mipi_in_ucam0>;
+
+ __overlay__ {
+ remote-endpoint = <&ucam_out1>;
+ };
+ };
+};
diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c
index b8b011ece42f..6835d3e83bef 100644
--- a/drivers/media/i2c/ov5647.c
+++ b/drivers/media/i2c/ov5647.c
@@ -857,7 +857,7 @@ static int ov5647_probe(struct i2c_client *client,
}
xclk_freq = clk_get_rate(sensor->xclk);
- if (xclk_freq != 25000000) {
+ if (xclk_freq != 6000000) {
dev_err(dev, "Unsupported clock frequency: %u\n", xclk_freq);
return -EINVAL;
}
--
2.25.1

View File

@ -1,25 +0,0 @@
From a14f6502e0454a51626e3906f59637ab264bf53e Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Tue, 30 Jul 2019 17:43:25 +0800
Subject: [PATCH 67/97] drivers: add xtx spi nor flash xt25f128b
Signed-off-by: Stephen <stephen@vamrs.com>
---
drivers/mtd/spi-nor/spi-nor.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 287a09052c14..a6576cdaa841 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -848,6 +848,7 @@ static const struct flash_info spi_nor_ids[] = {
/* XTX SPI Nor Flash */
{ "xt25f32b", INFO(0x0b4016, 0, 64 * 1024, 64, SECT_4K) },
+ { "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256, SECT_4K) },
{ },
};
--
2.25.1

View File

@ -1,66 +0,0 @@
From 34b7a516892fda12c61196a1bb7af01e8126d091 Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Fri, 6 Sep 2019 15:41:02 +0800
Subject: [PATCH 69/97] overlays-rockpi4: set reg property format
When building, it complains that reg property has invalid length (4 bytes)
(#address-cells == 2, #size-cells == 1).
Signed-off-by: Stephen <stephen@vamrs.com>
---
.../dts/rockchip/overlays-rockpi4/at24c02-overlay.dts | 2 ++
.../overlays-rockpi4/raspberrypi-7-inch-lcd-overlay.dts | 9 +++++----
.../dts/rockchip/overlays-rockpi4/spi1-flash-overlay.dts | 2 ++
3 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/at24c02-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/at24c02-overlay.dts
index 535753163ff0..852cfda11605 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/at24c02-overlay.dts
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/at24c02-overlay.dts
@@ -9,6 +9,8 @@
target = <&i2c2>;
__overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
at24c02@50 {
status = "okay";
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/raspberrypi-7-inch-lcd-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/raspberrypi-7-inch-lcd-overlay.dts
index a0f475bd8e8b..f64c75782cc8 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/raspberrypi-7-inch-lcd-overlay.dts
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/raspberrypi-7-inch-lcd-overlay.dts
@@ -19,12 +19,13 @@
__overlay__ {
rockchip,dual-channel = <&dsi>;
status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
panel: panel@0 {
- compatible ="rockpi,tc358762";
- reg = <0>;
- status = "okay";
-
+ compatible ="rockpi,tc358762";
+ reg = <0>;
+ status = "okay";
};
};
};
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-flash-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-flash-overlay.dts
index bca5891a8594..5166de70eaec 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-flash-overlay.dts
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/spi1-flash-overlay.dts
@@ -13,6 +13,8 @@
__overlay__ {
status = "okay";
max-freq = <10000000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
spiflash: spi-flash@0 {
#address-cells = <0x1>;
--
2.25.1

View File

@ -1,22 +0,0 @@
From 093ab01ca7271efc166b9721259174ae0d0e4310 Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Fri, 6 Sep 2019 16:01:58 +0800
Subject: [PATCH 70/97] overlays-rockpi4: cancel file execution permission
Signed-off-by: Stephen <stephen@vamrs.com>
---
.../boot/dts/rockchip/overlays-rockpi4/hifiberry-dac-overlay.dts | 0
.../dts/rockchip/overlays-rockpi4/hifiberry-dacplus-overlay.dts | 0
2 files changed, 0 insertions(+), 0 deletions(-)
mode change 100755 => 100644 arch/arm64/boot/dts/rockchip/overlays-rockpi4/hifiberry-dac-overlay.dts
mode change 100755 => 100644 arch/arm64/boot/dts/rockchip/overlays-rockpi4/hifiberry-dacplus-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hifiberry-dac-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hifiberry-dac-overlay.dts
old mode 100755
new mode 100644
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hifiberry-dacplus-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hifiberry-dacplus-overlay.dts
old mode 100755
new mode 100644
--
2.25.1

View File

@ -1,124 +0,0 @@
From 58d4b8d2fd3bf3edbc5f42dc1d6c5a80dfeb4c20 Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Fri, 6 Sep 2019 17:39:02 +0800
Subject: [PATCH 71/97] fbtft driver: delete debug comments
Signed-off-by: Stephen <stephen@vamrs.com>
---
drivers/staging/fbtft/fbtft-core.c | 26 --------------------------
1 file changed, 26 deletions(-)
diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c
index 41351d48bda4..8541ea1ac529 100644
--- a/drivers/staging/fbtft/fbtft-core.c
+++ b/drivers/staging/fbtft/fbtft-core.c
@@ -666,8 +666,6 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
char *gamma = display->gamma;
unsigned long *gamma_curves = NULL;
- printk("#fbtft# start fbtft_framebuffer_alloc...\n");
-
/* sanity check */
if (display->gamma_num * display->gamma_len > FBTFT_GAMMA_MAX_VALUES_TOTAL) {
dev_err(dev, "FBTFT_GAMMA_MAX_VALUES_TOTAL=%d is exceeded\n",
@@ -675,8 +673,6 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
return NULL;
}
- printk("#fbtft# set fps or bpp...\n");
-
/* defaults */
if (!fps)
fps = 20;
@@ -688,8 +684,6 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
return NULL;
}
- printk("#fbtft# override driver values...\n");
-
/* override driver values? */
if (pdata->fps)
fps = pdata->fps;
@@ -726,33 +720,23 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
height = display->height;
}
- printk("#fbtft# alloc 1...\n");
-
vmem_size = display->width * display->height * bpp / 8;
vmem = vzalloc(vmem_size);
if (!vmem)
goto alloc_fail;
- printk("#fbtft# alloc 2...\n");
-
fbops = devm_kzalloc(dev, sizeof(struct fb_ops), GFP_KERNEL);
if (!fbops)
goto alloc_fail;
- printk("#fbtft# alloc 3...\n");
-
fbdefio = devm_kzalloc(dev, sizeof(struct fb_deferred_io), GFP_KERNEL);
if (!fbdefio)
goto alloc_fail;
- printk("#fbtft# alloc 4...\n");
-
buf = devm_kzalloc(dev, 128, GFP_KERNEL);
if (!buf)
goto alloc_fail;
- printk("#fbtft# alloc 5...\n");
-
if (display->gamma_num && display->gamma_len) {
gamma_curves = devm_kzalloc(dev, display->gamma_num * display->gamma_len * sizeof(gamma_curves[0]),
GFP_KERNEL);
@@ -760,8 +744,6 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
goto alloc_fail;
}
- printk("#fbtft# alloc 6...\n");
-
info = framebuffer_alloc(sizeof(struct fbtft_par), dev);
if (!info)
goto alloc_fail;
@@ -828,8 +810,6 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
mutex_init(&par->gamma.lock);
info->pseudo_palette = par->pseudo_palette;
- printk("#fbtft# alloc 6...\n");
-
if (par->gamma.curves && gamma) {
if (fbtft_gamma_parse_str(par,
par->gamma.curves, gamma, strlen(gamma)))
@@ -845,18 +825,14 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
txbuflen = PAGE_SIZE; /* need buffer for byteswapping */
#endif
- printk("#fbtft# alloc 7...\n");
-
if (txbuflen > 0) {
#ifdef CONFIG_HAS_DMA
if (dma) {
- printk("#fbtft# alloc 8...\n");
dev->coherent_dma_mask = ~0;
txbuf = dmam_alloc_coherent(dev, txbuflen, &par->txbuf.dma, GFP_DMA);
} else
#endif
{
- printk("#fbtft# alloc 9...\n");
txbuf = devm_kzalloc(par->info->device, txbuflen, GFP_KERNEL);
}
if (!txbuf)
@@ -865,8 +841,6 @@ struct fb_info *fbtft_framebuffer_alloc(struct fbtft_display *display,
par->txbuf.len = txbuflen;
}
- printk("#fbtft# alloc 10...\n");
-
/* Initialize gpios to disabled */
par->gpio.reset = -1;
par->gpio.dc = -1;
--
2.25.1

View File

@ -1,624 +0,0 @@
From 8fe0b5c916843ba4067bc65e25d7af013a055b32 Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Mon, 23 Sep 2019 15:22:22 +0800
Subject: [PATCH 75/97] add dp function for rock pi 4c
Signed-off-by: Stephen <stephen@vamrs.com>
---
.../boot/dts/rockchip/rockpi-4c-linux.dts | 81 +++
arch/arm64/configs/rockchip_linux_defconfig | 1 +
drivers/extcon/Kconfig | 5 +
drivers/extcon/Makefile | 1 +
drivers/extcon/extcon-pd-virtual.c | 577 ++++++++++++++++++
5 files changed, 665 insertions(+)
create mode 100644 drivers/extcon/extcon-pd-virtual.c
diff --git a/drivers/extcon/Kconfig b/drivers/extcon/Kconfig
index 0cebbf668886..6a65c02888f1 100644
--- a/drivers/extcon/Kconfig
+++ b/drivers/extcon/Kconfig
@@ -117,4 +117,9 @@ config EXTCON_USB_GPIO
Say Y here to enable GPIO based USB cable detection extcon support.
Used typically if GPIO is used for USB ID pin detection.
+config EXTCON_PD_VIRTUAL
+ tristate "PD Virtual extcon support"
+ help
+ Say Y here to enable PD Virtual extcon support.
+
endif
diff --git a/drivers/extcon/Makefile b/drivers/extcon/Makefile
index 65c51afe5ec4..802dffde58de 100644
--- a/drivers/extcon/Makefile
+++ b/drivers/extcon/Makefile
@@ -16,3 +16,4 @@ obj-$(CONFIG_EXTCON_PALMAS) += extcon-palmas.o
obj-$(CONFIG_EXTCON_RT8973A) += extcon-rt8973a.o
obj-$(CONFIG_EXTCON_SM5502) += extcon-sm5502.o
obj-$(CONFIG_EXTCON_USB_GPIO) += extcon-usb-gpio.o
+obj-$(CONFIG_EXTCON_PD_VIRTUAL) += extcon-pd-virtual.o
diff --git a/drivers/extcon/extcon-pd-virtual.c b/drivers/extcon/extcon-pd-virtual.c
new file mode 100644
index 000000000000..2814f4ae083e
--- /dev/null
+++ b/drivers/extcon/extcon-pd-virtual.c
@@ -0,0 +1,577 @@
+/*
+ * Copyright (c) 2016, Fuzhou Rockchip Electronics Co., Ltd
+ *
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ */
+
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/slab.h>
+#include <linux/extcon.h>
+#include <linux/gpio.h>
+#include <linux/of_gpio.h>
+#include <linux/irq.h>
+#include <linux/interrupt.h>
+#include <linux/delay.h>
+
+struct virtual_pd {
+ struct extcon_dev *extcon;
+ struct gpio_desc *gpio_vbus_5v;
+ struct gpio_desc *gpio_hdmi_5v;
+ struct gpio_desc *gpio_irq;
+ struct device *dev;
+ bool flip;
+ bool usb_ss;
+ bool enable;
+ u8 mode;
+ int irq;
+ int enable_irq;
+ u8 plug_state;
+ struct work_struct work;
+ struct workqueue_struct *virtual_pd_wq;
+ spinlock_t irq_lock;
+ struct delayed_work irq_work;
+ int shake_lev;
+};
+
+static const unsigned int vpd_cable[] = {
+ EXTCON_USB,
+ EXTCON_USB_HOST,
+ EXTCON_USB_VBUS_EN,
+ EXTCON_CHG_USB_SDP,
+ EXTCON_CHG_USB_CDP,
+ EXTCON_CHG_USB_DCP,
+/*
+ FIXME: There's no real pd phy, control the charging is very
+ dangerous, just rely on the BC detection. We don't use slow
+ and fast.
+*/
+ EXTCON_CHG_USB_SLOW,
+ EXTCON_CHG_USB_FAST,
+ EXTCON_DISP_DP,
+ EXTCON_NONE,
+};
+
+enum vpd_mode {
+ VPD_DFP = 0,
+ VPD_UFP,
+ VPD_DP,
+ VPD_DP_UFP,
+};
+
+static void vpd_set_vbus_enable(struct virtual_pd *vpd, bool enable)
+{
+ extcon_set_state(vpd->extcon, EXTCON_USB_VBUS_EN, enable);
+ extcon_sync(vpd->extcon, EXTCON_USB_VBUS_EN);
+ if (vpd->gpio_vbus_5v)
+ gpiod_set_raw_value(vpd->gpio_vbus_5v, enable);
+}
+
+static void vpd_extcon_notify(struct virtual_pd *vpd, bool flip, bool usb_ss,
+ bool dfp, bool ufp, bool dp)
+{
+ union extcon_property_value property;
+
+ property.intval = flip;
+ extcon_set_property(vpd->extcon, EXTCON_USB,
+ EXTCON_PROP_USB_TYPEC_POLARITY, property);
+ extcon_set_property(vpd->extcon, EXTCON_USB_HOST,
+ EXTCON_PROP_USB_TYPEC_POLARITY, property);
+ extcon_set_property(vpd->extcon, EXTCON_DISP_DP,
+ EXTCON_PROP_USB_TYPEC_POLARITY, property);
+
+ property.intval = usb_ss;
+ extcon_set_property(vpd->extcon, EXTCON_USB,
+ EXTCON_PROP_USB_SS, property);
+ extcon_set_property(vpd->extcon, EXTCON_USB_HOST,
+ EXTCON_PROP_USB_SS, property);
+ extcon_set_property(vpd->extcon, EXTCON_DISP_DP,
+ EXTCON_PROP_USB_SS, property);
+ extcon_set_state(vpd->extcon, EXTCON_USB, ufp);
+ extcon_set_state(vpd->extcon, EXTCON_USB_HOST, dfp);
+ extcon_set_state(vpd->extcon, EXTCON_DISP_DP, dp);
+ extcon_sync(vpd->extcon, EXTCON_USB);
+ extcon_sync(vpd->extcon, EXTCON_USB_HOST);
+ extcon_sync(vpd->extcon, EXTCON_DISP_DP);
+}
+
+static void vpd_extcon_notify_set(struct virtual_pd *vpd)
+{
+ bool flip = vpd->flip, usb_ss = vpd->usb_ss;
+ bool dfp = 0, ufp = 0, dp = 0;
+
+ switch (vpd->mode) {
+ case VPD_DFP:
+ dfp = 1;
+ break;
+ case VPD_DP:
+ dp = 1;
+ dfp = 1;
+ break;
+ case VPD_DP_UFP:
+ dp = 1;
+ ufp = 1;
+ break;
+ case VPD_UFP:
+ /* fall through */
+ default:
+ ufp = 1;
+ break;
+ }
+
+ vpd_set_vbus_enable(vpd, !ufp);
+ vpd_extcon_notify(vpd, flip, usb_ss, dfp, ufp, dp);
+}
+
+static void vpd_extcon_notify_clr(struct virtual_pd *vpd)
+{
+ vpd_set_vbus_enable(vpd, 0);
+ vpd_extcon_notify(vpd, vpd->flip, vpd->usb_ss, 0, 0, 0);
+}
+
+static ssize_t vpd_flip_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+
+ return sprintf(buf, "%d\n", vpd->flip);
+}
+
+static ssize_t vpd_flip_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+
+ if (vpd->enable)
+ goto out;
+
+ if (strncmp(buf, "1", 1) == 0)
+ vpd->flip = true;
+ else
+ vpd->flip = false;
+out:
+ return count;
+}
+static DEVICE_ATTR(flip, S_IWUSR | S_IRUSR, vpd_flip_show, vpd_flip_store);
+
+static ssize_t vpd_ss_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+
+ return sprintf(buf, "%d\n", vpd->usb_ss);
+}
+
+static ssize_t vpd_ss_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+
+ if (vpd->enable)
+ goto out;
+
+ if (strncmp(buf, "1", 1) == 0)
+ vpd->usb_ss = true;
+ else
+ vpd->usb_ss = false;
+out:
+ return count;
+}
+static DEVICE_ATTR(ss, S_IWUSR | S_IRUSR, vpd_ss_show, vpd_ss_store);
+
+static ssize_t vpd_mode_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+
+ return sprintf(buf, "%d\n", vpd->mode);
+}
+
+static ssize_t vpd_mode_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+
+ if (vpd->enable)
+ goto out;
+
+ if (strncmp(buf, "0", 1) == 0)
+ vpd->mode = VPD_DFP;
+ else if (strncmp(buf, "2", 1) == 0)
+ vpd->mode = VPD_DP;
+ else if (strncmp(buf, "3", 1) == 0)
+ vpd->mode = VPD_DP_UFP;
+ else
+ vpd->mode = VPD_UFP;
+out:
+ return count;
+}
+static DEVICE_ATTR(mode, S_IWUSR | S_IRUSR, vpd_mode_show, vpd_mode_store);
+
+static ssize_t vpd_enable_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+
+ return sprintf(buf, "%d\n", vpd->enable);
+}
+
+static ssize_t vpd_enable_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+
+ if (strncmp(buf, "1", 1) == 0) {
+ if (vpd->enable)
+ goto out;
+ vpd->enable = true;
+ vpd_extcon_notify_set(vpd);
+ } else {
+ if (!vpd->enable)
+ goto out;
+ vpd->enable = false;
+ vpd_extcon_notify_clr(vpd);
+ }
+out:
+ return count;
+}
+static DEVICE_ATTR(enable, S_IWUSR | S_IRUSR, vpd_enable_show, vpd_enable_store);
+
+static struct attribute *vpd_attributes[] = {
+ &dev_attr_flip.attr,
+ &dev_attr_ss.attr,
+ &dev_attr_mode.attr,
+ &dev_attr_enable.attr,
+ NULL
+};
+
+static const struct attribute_group vpd_attr_group = {
+ .attrs = vpd_attributes,
+};
+
+void vpd_irq_disable(struct virtual_pd *vpd)
+{
+ unsigned long irqflags = 0;
+
+ spin_lock_irqsave(&vpd->irq_lock, irqflags);
+ if (!vpd->enable_irq) {
+ disable_irq_nosync(vpd->irq);
+ vpd->enable_irq = 1;
+ } else {
+ dev_warn(vpd->dev, "irq have already disabled\n");
+ }
+ spin_unlock_irqrestore(&vpd->irq_lock, irqflags);
+}
+
+void vpd_irq_enable(struct virtual_pd *vpd)
+{
+ unsigned long irqflags = 0;
+
+ spin_lock_irqsave(&vpd->irq_lock, irqflags);
+ if (vpd->enable_irq) {
+ enable_irq(vpd->irq);
+ vpd->enable_irq = 0;
+ }
+ spin_unlock_irqrestore(&vpd->irq_lock, irqflags);
+}
+
+static void virtual_pd_work_func(struct work_struct *work)
+{
+ struct virtual_pd *vpd;
+ printk("%s %d =====>\n",__FUNCTION__,__LINE__);
+ vpd = container_of(work, struct virtual_pd, work);
+}
+
+static void extcon_pd_delay_irq_work(struct work_struct *work)
+{
+ struct virtual_pd *vpd =
+ container_of(work, struct virtual_pd, irq_work.work);
+ int lev;
+ lev = gpiod_get_raw_value(vpd->gpio_irq);
+
+ if(vpd->shake_lev != lev) {
+ vpd_irq_enable(vpd);
+ return;
+ }
+
+ switch(vpd->plug_state) {
+ case 1:
+ if(lev==0) {
+ vpd->enable = false;
+ vpd_extcon_notify_clr(vpd);
+ vpd->plug_state=0;
+ }
+ break;
+ case 0:
+ if(lev==1) {
+ vpd->enable = true;
+ vpd_extcon_notify_set(vpd);
+ vpd->plug_state=1;
+ }
+ break;
+ default:
+ break;
+ }
+ vpd_irq_enable(vpd);
+}
+
+static irqreturn_t dp_det_irq_handler(int irq, void *dev_id)
+{
+ struct virtual_pd *vpd = dev_id;
+ int lev;
+ lev=gpiod_get_raw_value(vpd->gpio_irq);
+ vpd->shake_lev = lev;
+ schedule_delayed_work(&vpd->irq_work, msecs_to_jiffies(10));
+ vpd_irq_disable(vpd);
+ return IRQ_HANDLED;
+}
+
+static void vpd_extcon_init(struct virtual_pd *vpd)
+{
+ struct device *dev = vpd->dev;
+ u32 tmp = 0;
+ int ret = 0;
+
+ ret = device_property_read_u32(dev, "vpd,init-flip", &tmp);
+ if (ret < 0)
+ vpd->flip = 0;
+ else
+ vpd->flip = tmp;
+ dev_dbg(dev, "init-flip = %d\n", vpd->flip);
+
+ ret = device_property_read_u32(dev, "vpd,init-ss", &tmp);
+ if (ret < 0)
+ vpd->usb_ss = 0;
+ else
+ vpd->usb_ss = tmp;
+ dev_dbg(dev, "init-ss = %d\n", vpd->usb_ss);
+
+ ret = device_property_read_u32(dev, "vpd,init-mode", &tmp);
+ if (ret < 0)
+ vpd->mode = 0;
+ else
+ vpd->mode = tmp;
+ dev_dbg(dev, "init-mode = %d\n", vpd->mode);
+ if(gpiod_get_raw_value(vpd->gpio_irq)) {
+ vpd_extcon_notify_set(vpd);
+ vpd->plug_state=1;
+ }
+}
+
+static int vpd_extcon_probe(struct platform_device *pdev)
+{
+ struct virtual_pd *vpd;
+ struct device *dev = &pdev->dev;
+ int ret = 0;
+
+ dev_info(dev, "%s: %d start\n", __func__, __LINE__);
+
+ vpd = devm_kzalloc(dev, sizeof(*vpd), GFP_KERNEL);
+ if (!vpd)
+ return -ENOMEM;
+
+ vpd->dev = dev;
+ dev_set_drvdata(dev, vpd);
+ vpd->enable = 1;
+
+ vpd->extcon = devm_extcon_dev_allocate(dev, vpd_cable);
+ if (IS_ERR(vpd->extcon)) {
+ dev_err(dev, "allocat extcon failed\n");
+ return PTR_ERR(vpd->extcon);
+ }
+
+ ret = devm_extcon_dev_register(dev, vpd->extcon);
+ if (ret) {
+ dev_err(dev, "register extcon failed: %d\n", ret);
+ return ret;
+ }
+
+ vpd->gpio_vbus_5v = devm_gpiod_get_optional(dev,"vbus-5v",
+ GPIOD_OUT_LOW);
+ if (IS_ERR(vpd->gpio_vbus_5v)) {
+ dev_warn(dev, "maybe miss named GPIO for vbus-5v\n");
+ vpd->gpio_vbus_5v = NULL;
+ } else
+ gpiod_set_raw_value(vpd->gpio_vbus_5v, 0);
+
+ vpd->gpio_hdmi_5v = devm_gpiod_get_optional(dev,"hdmi-5v",
+ GPIOD_OUT_LOW);
+ if (IS_ERR(vpd->gpio_hdmi_5v)) {
+ dev_warn(dev, "maybe miss named GPIO for gpio_hdmi_5v\n");
+ vpd->gpio_hdmi_5v = NULL;
+ }
+
+ vpd->gpio_irq = devm_gpiod_get_optional(dev,"dp-det",
+ GPIOD_OUT_LOW);
+
+ if (IS_ERR(vpd->gpio_irq)) {
+ dev_warn(dev, "maybe miss named GPIO for dp-det\n");
+ vpd->gpio_irq = NULL;
+ }
+
+ ret = extcon_set_property_capability(vpd->extcon, EXTCON_USB,
+ EXTCON_PROP_USB_TYPEC_POLARITY);
+ if (ret) {
+ dev_err(dev,
+ "set USB property capability failed: %d\n", ret);
+ return ret;
+ }
+
+ ret = extcon_set_property_capability(vpd->extcon, EXTCON_USB_HOST,
+ EXTCON_PROP_USB_TYPEC_POLARITY);
+ if (ret) {
+ dev_err(dev,
+ "set USB_HOST property capability failed: %d\n",
+ ret);
+ return ret;
+ }
+
+ ret = extcon_set_property_capability(vpd->extcon, EXTCON_DISP_DP,
+ EXTCON_PROP_USB_TYPEC_POLARITY);
+ if (ret) {
+ dev_err(dev,
+ "set DISP_DP property capability failed: %d\n",
+ ret);
+ return ret;
+ }
+
+ ret = extcon_set_property_capability(vpd->extcon, EXTCON_USB,
+ EXTCON_PROP_USB_SS);
+ if (ret) {
+ dev_err(dev,
+ "set USB USB_SS property capability failed: %d\n",
+ ret);
+ return ret;
+ }
+
+ ret = extcon_set_property_capability(vpd->extcon, EXTCON_USB_HOST,
+ EXTCON_PROP_USB_SS);
+ if (ret) {
+ dev_err(dev,
+ "set USB_HOST USB_SS property capability failed: %d\n",
+ ret);
+ return ret;
+ }
+
+ ret = extcon_set_property_capability(vpd->extcon, EXTCON_DISP_DP,
+ EXTCON_PROP_USB_SS);
+ if (ret) {
+ dev_err(dev,
+ "set DISP_DP USB_SS property capability failed: %d\n",
+ ret);
+ return ret;
+ }
+
+ ret = extcon_set_property_capability(vpd->extcon, EXTCON_CHG_USB_FAST,
+ EXTCON_PROP_USB_TYPEC_POLARITY);
+ if (ret) {
+ dev_err(dev,
+ "set USB_PD property capability failed: %d\n", ret);
+ return ret;
+ }
+
+ vpd_extcon_init(vpd);
+ INIT_DELAYED_WORK(&vpd->irq_work, extcon_pd_delay_irq_work);
+
+ vpd->irq=gpiod_to_irq(vpd->gpio_irq);
+ printk("%s %d =====>%d\n",__FUNCTION__,__LINE__,vpd->irq);
+ if (vpd->irq){
+ ret = devm_request_threaded_irq(dev,
+ vpd->irq,
+ NULL,
+ dp_det_irq_handler,
+ //IRQF_TRIGGER_HIGH | IRQF_ONESHOT ,
+ IRQF_TRIGGER_FALLING |IRQF_TRIGGER_RISING | IRQF_ONESHOT ,
+ NULL,
+ vpd);
+ }
+ else
+ dev_err(dev,"gpio can not be irq !\n");
+
+ vpd->virtual_pd_wq = create_workqueue("virtual_pd_wq");
+ INIT_WORK(&vpd->work, virtual_pd_work_func);
+
+ ret = sysfs_create_group(&dev->kobj, &vpd_attr_group);
+ if (ret < 0)
+ dev_warn(dev, "attr group create failed\n");
+
+ dev_info(dev, "%s: %d success\n", __func__, __LINE__);
+
+ return 0;
+}
+
+static int vpd_extcon_remove(struct platform_device *pdev)
+{
+ return 0;
+}
+
+#ifdef CONFIG_PM_SLEEP
+static int vpd_extcon_suspend(struct device *dev)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+
+ int lev=0;
+ lev = gpiod_get_raw_value(vpd->gpio_irq);
+ cancel_delayed_work_sync(&vpd->irq_work);
+ vpd_irq_disable(vpd);
+ if (vpd->gpio_hdmi_5v)
+ gpiod_set_raw_value(vpd->gpio_hdmi_5v, 0);
+ return 0;
+}
+
+static int vpd_extcon_resume(struct device *dev)
+{
+ struct virtual_pd *vpd = dev_get_drvdata(dev);
+ if (vpd->gpio_hdmi_5v) {
+ gpiod_set_raw_value(vpd->gpio_hdmi_5v, 1);
+ msleep(800);
+ }
+ vpd_irq_enable(vpd);
+ return 0;
+}
+#endif
+
+static SIMPLE_DEV_PM_OPS(vpd_extcon_pm_ops,
+ vpd_extcon_suspend, vpd_extcon_resume);
+
+static const struct of_device_id vpd_extcon_dt_match[] = {
+ { .compatible = "linux,extcon-pd-virtual", },
+ { /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, usb_extcon_dt_match);
+
+static struct platform_driver vpd_extcon_driver = {
+ .probe = vpd_extcon_probe,
+ .remove = vpd_extcon_remove,
+ .driver = {
+ .name = "extcon-pd-virtual",
+ .pm = &vpd_extcon_pm_ops,
+ .of_match_table = vpd_extcon_dt_match,
+ },
+};
+
+static int __init __vpd_extcon_init(void)
+{
+ return platform_driver_register(&vpd_extcon_driver);
+}
+
+static void __exit __vpd_extcon_exit(void)
+{
+ platform_driver_unregister(&vpd_extcon_driver);
+}
+
+module_init(__vpd_extcon_init);
+module_exit(__vpd_extcon_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("rockchip");
+MODULE_DESCRIPTION("Virtual Typec-pd extcon driver");
--
2.25.1

View File

@ -1,98 +0,0 @@
From d2ab1f26e1b33970a6ccda18633a681a7730665e Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Mon, 21 Oct 2019 12:54:51 +0800
Subject: [PATCH 76/97] overlays-rockpi4: add w1-gpio4-30
Support devices such as DS18B20.
Signed-off-by: Stephen <stephen@vamrs.com>
---
.../dts/rockchip/overlays-rockpi4/Makefile | 3 +-
.../boot/dts/rockchip/overlays-rockpi4/README | 6 ++++
.../rockchip/overlays-rockpi4/hw_intfc.conf | 5 ++-
.../overlays-rockpi4/w1-gpio4-30-overlay.dts | 31 +++++++++++++++++++
4 files changed, 43 insertions(+), 2 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays-rockpi4/w1-gpio4-30-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
index 85d76b2e59db..7f063a5258b1 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
@@ -16,7 +16,8 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
raspberrypi-7-inch-lcd.dtbo \
cpufreq.dtbo \
imx219.dtbo \
- ov5647.dtbo
+ ov5647.dtbo \
+ w1-gpio4-30.dtbo
targets += dtbs dtbs_install
targets += $(dtbo-y)
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
index 5cef50b9e0dd..24b01d82a341 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
@@ -174,3 +174,9 @@ Name: spi1-flash
Info: Overlay for activation of spi flash.
Need set: intfc:uart4=off intfc:spi1=on
Load: intfc:dtoverlay=spi1-flash
+
+
+Name: w1-gpio4-30
+Info: Overlay for activation of 1-wire on GPIO4_D6 for devices such as
+ DS18B20.
+Load: intfc:dtoverlay=w1-gpio4-30
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
index 024fe765fef4..15661550675d 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
@@ -63,4 +63,7 @@ intfc:dtoverlay=console-on-ttyS2
#intfc:dtoverlay=imx219
# Add ov5647 camera module support. Need disabled imx219 camera module.
-#intfc:dtoverlay=ov5647
\ No newline at end of file
+#intfc:dtoverlay=ov5647
+
+# Add w1 on GPIO4_D6 to support devices such as DS18B20.
+#intfc:dtoverlay=w1-gpio4-30
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/w1-gpio4-30-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/w1-gpio4-30-overlay.dts
new file mode 100644
index 000000000000..ad21c50dd5fc
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/w1-gpio4-30-overlay.dts
@@ -0,0 +1,31 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target-path = "/";
+
+ __overlay__ {
+
+ w1: onewire@0 {
+ compatible = "w1-gpio";
+ pinctrl-names = "default";
+ pinctrl-0 = <&w1_pins>;
+ gpios = <&gpio4 30 0>;
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&gpio4>;
+
+ __overlay__ {
+ w1_pins: w1_pins {
+ rockchip,pins = <4 30 0 &pcfg_pull_none>;
+ };
+ };
+ };
+};
--
2.25.1

View File

@ -1,37 +0,0 @@
From b08aaba46e041eb087fdb515a32de3245cfec25e Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Fri, 25 Oct 2019 17:16:58 +0800
Subject: [PATCH 77/97] sound: codecs: es8316: enabled gpio2 clock output
Signed-off-by: brian <brian@vamrs.com>
---
sound/soc/codecs/es8316.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.c
index e2a14976d8d2..5ff35a9b427d 100644
--- a/sound/soc/codecs/es8316.c
+++ b/sound/soc/codecs/es8316.c
@@ -702,6 +702,9 @@ static int es8316_pcm_startup(struct snd_pcm_substream *substream,
ES8316_CLKMGR_DAC_ANALOG_EN);
msleep(50);
} else {
+ snd_soc_update_bits(codec,
+ ES8316_GPIO_SEL_REG4D,0x02,0x2);
+
snd_soc_update_bits(codec,
ES8316_ADC_PDN_LINSEL_REG22, 0xC0, 0x20);
snd_soc_update_bits(codec, ES8316_CLKMGR_CLKSW_REG01,
@@ -738,6 +741,9 @@ static void es8316_pcm_shutdown(struct snd_pcm_substream *substream,
ES8316_CLKMGR_DAC_ANALOG_MASK,
ES8316_CLKMGR_DAC_ANALOG_DIS);
} else {
+ snd_soc_update_bits(codec,
+ ES8316_GPIO_SEL_REG4D,0x02,0x0);
+
snd_soc_write(codec, ES8316_ADC_PDN_LINSEL_REG22, 0xc0);
snd_soc_update_bits(codec, ES8316_CLKMGR_CLKSW_REG01,
ES8316_CLKMGR_ADC_MCLK_MASK |
--
2.25.1

View File

@ -1,73 +0,0 @@
From 31f2311e724bdfef1c8dcb36bcf16b686a2c8c94 Mon Sep 17 00:00:00 2001
From: Shawn Lin <shawn.lin@rock-chips.com>
Date: Sat, 20 Aug 2016 11:38:55 +0800
Subject: [PATCH 78/97] mmc: dw_mmc: return -EILSEQ for EBE and SBE error
The following log we found indicate the fact that dw_mmc
didn't treat EBE or SBE as a similar problem as CRC error.
-EIO is quite not informative as it may indicate that the device
is broken rather than that of tuning stuff.
...
[ 89.057226] bcmsdh_sdmmc: Failed to Read byte F1:@0x1001f=ff, Err: -5
[ 89.058811] bcmsdh_sdmmc: Failed to Read byte F1:@0x1001f=ff, Err: -5
[ 89.059415] bcmsdh_sdmmc: Failed to Read byte F1:@0x1000e=ff, Err: -84
[ 89.254248] dwmmc_rockchip fe310000.dwmmc: Successfully tuned phase to 199
[ 89.273912] dhd_set_suspend: Remove extra suspend setting
[ 89.274478] dhd_enable_packet_filter: enter, value = 0
64 bytes from 112.90.83.112: icmp_seq=24 ttl=53 time=1321 ms
64 bytes from 112.90.83.112: icmp_seq=25 ttl=53 time=319 ms
64 bytes from 112.90.83.112: icmp_seq=26 ttl=53 time=69.8 ms
64 bytes from 112.90.83.112: icmp_seq=27 ttl=53 time=37.5 ms
...
For the host, when failing to sample cmd's response due to
tuning stuff, we still return -EIO as it's quite vague to figure
out whether it related to signal or just the broken devices, especially
for the card type detection when booting kernel as all things go well
but the cmd set used.
But for the data phase, if receiving the cmd's response which
carrys data transfer, we should have more confidence that it
is very probably related to the tuning stuff.
Just as the log shown above, we sometimes suffer too much
this kind of pain as the dw_mmc return -EIO for the case, so
mmc-core will not do retune and caller drivers like bcm's wifi
driver, still retry the failure more and more untile dw_mmc
finally generate CRC.
Adrian suggested that drivers who care the specific cases should
call mmc_retune_needed rather than doing it in mmc core. It makes
sense but I'm considering that -EILSEQ actually means illegal sequence
, so we use it for CRC cases. Meanwhile, SBE/EBE indicate the illegal
sequence of start bit or end bit for data0~7. So I realize that we should
use -EILSEQ for them both as well CRC cases.
Suggested-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
---
drivers/mmc/host/dw_mmc.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
index 0ed1854dec1c..80fa36a2276f 100644
--- a/drivers/mmc/host/dw_mmc.c
+++ b/drivers/mmc/host/dw_mmc.c
@@ -1748,11 +1748,11 @@ static int dw_mci_data_complete(struct dw_mci *host, struct mmc_data *data)
data->error = -ETIMEDOUT;
} else if (host->dir_status ==
DW_MCI_RECV_STATUS) {
- data->error = -EIO;
+ data->error = -EILSEQ;
}
} else {
/* SDMMC_INT_SBE is included */
- data->error = -EIO;
+ data->error = -EILSEQ;
}
dev_dbg(host->dev, "data error, status 0x%08x\n", status);
--
2.25.1

View File

@ -1,50 +0,0 @@
From e9c44d56904f321427d93e30314790e561cf7b6e Mon Sep 17 00:00:00 2001
From: Ziyuan Xu <xzy.xu@rock-chips.com>
Date: Thu, 21 Mar 2019 11:32:02 +0800
Subject: [PATCH 92/97] arm64: dts: rockchip: replace cpuinfo device node to
rk3399.dtsi
Change-Id: I5776fb36be90bd67b2f2efee17d06f037b7a1665
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
---
arch/arm64/boot/dts/rockchip/rk3399-android.dtsi | 6 ------
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 6 ++++++
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi
index b9f5ad1857b6..9618ca1d0a93 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-android.dtsi
@@ -51,12 +51,6 @@
bootargs = "earlycon=uart8250,mmio32,0xff1a0000 swiotlb=1";
};
- cpuinfo {
- compatible = "rockchip,cpuinfo";
- nvmem-cells = <&cpu_id>;
- nvmem-cell-names = "id";
- };
-
ramoops_mem: ramoops_mem {
reg = <0x0 0x110000 0x0 0xf0000>;
reg-names = "ramoops_mem";
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 815a8c131239..83450560913d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -195,6 +195,12 @@
};
};
+ cpuinfo {
+ compatible = "rockchip,cpuinfo";
+ nvmem-cells = <&cpu_id>;
+ nvmem-cell-names = "id";
+ };
+
pmu_a53 {
compatible = "arm,cortex-a53-pmu";
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
--
2.25.1

View File

@ -1,29 +0,0 @@
From 30bda5feca562b08250bf40dd6c3c078bc3c5f8b Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Thu, 16 Apr 2020 18:30:13 +0800
Subject: [PATCH 93/97] net: wireless: rockchip_wlan: rtl8723du: change the
value of TopDIR
Fix the issue of failing to build kernel out of tree.
Signed-off-by: Stephen <stephen@vamrs.com>
---
drivers/net/wireless/rockchip_wlan/rtl8723du/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/rockchip_wlan/rtl8723du/Makefile b/drivers/net/wireless/rockchip_wlan/rtl8723du/Makefile
index 25b276dec975..868df6d2ba18 100644
--- a/drivers/net/wireless/rockchip_wlan/rtl8723du/Makefile
+++ b/drivers/net/wireless/rockchip_wlan/rtl8723du/Makefile
@@ -154,7 +154,7 @@ CONFIG_PLATFORM_RTL8197D = n
CONFIG_DRVEXT_MODULE = n
-export TopDIR ?= $(shell pwd)/drivers/net/wireless/rockchip_wlan/rtl8723du
+export TopDIR ?= $(src)
########### COMMON #################################
ifeq ($(CONFIG_GSPI_HCI), y)
--
2.25.1

View File

@ -1,288 +0,0 @@
From 17d1d601051059a6dc8c608ab9e8324af7bca57d Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Wed, 29 Apr 2020 09:48:40 +0800
Subject: [PATCH 94/97] drivers: gt9xx: modify driver for especial hardware
1.the board has not reset,irq and power gpio
2.the board has not regulator
3.add x2y property for change of X direction and Y direction
Sign ed-off-by: brian <brian@vamrs.com>
---
drivers/input/touchscreen/gt9xx/gt9xx.c | 125 ++++++++++++++----------
1 file changed, 71 insertions(+), 54 deletions(-)
diff --git a/drivers/input/touchscreen/gt9xx/gt9xx.c b/drivers/input/touchscreen/gt9xx/gt9xx.c
index 6db7e395f82b..9804fd11ae4e 100644
--- a/drivers/input/touchscreen/gt9xx/gt9xx.c
+++ b/drivers/input/touchscreen/gt9xx/gt9xx.c
@@ -1124,7 +1124,8 @@ void gtp_reset_guitar(struct i2c_client *client, s32 ms)
}
#endif
- gtp_int_sync(50, ts);
+ if(ts->irq_pin > 0)
+ gtp_int_sync(50, ts);
#if GTP_ESD_PROTECT
gtp_init_ext_watchdog(client);
#endif
@@ -1213,8 +1214,8 @@ static s8 gtp_enter_sleep(struct goodix_ts_data * ts)
}
}
#endif
-
- GTP_GPIO_OUTPUT(ts->irq_pin, 0);
+ if(ts->irq_pin > 0)
+ GTP_GPIO_OUTPUT(ts->irq_pin, 0);
msleep(5);
while(retry++ < 5)
@@ -1253,7 +1254,8 @@ static s8 gtp_wakeup_sleep(struct goodix_ts_data * ts)
{
u8 opr_buf[3] = {0x41, 0x80};
- GTP_GPIO_OUTPUT(ts->irq_pin, 1);
+ if(ts->irq_pin > 0)
+ GTP_GPIO_OUTPUT(ts->irq_pin, 1);
msleep(5);
for (retry = 0; retry < 10; ++retry)
@@ -1327,7 +1329,8 @@ static s8 gtp_wakeup_sleep(struct goodix_ts_data * ts)
gtp_irq_enable(ts);
#else
- GTP_GPIO_OUTPUT(ts->irq_pin, 1);
+ if(ts->irq_pin > 0)
+ GTP_GPIO_OUTPUT(ts->irq_pin, 1);
msleep(5);
#endif
@@ -1338,7 +1341,8 @@ static s8 gtp_wakeup_sleep(struct goodix_ts_data * ts)
#if (!GTP_GESTURE_WAKEUP)
{
- gtp_int_sync(25, ts);
+ if(ts->irq_pin > 0)
+ gtp_int_sync(25, ts);
#if GTP_ESD_PROTECT
gtp_init_ext_watchdog(ts->client);
#endif
@@ -1819,36 +1823,41 @@ static s8 gtp_request_io_port(struct goodix_ts_data *ts)
gpio_direction_input(ts->tp_select_pin);
}
*/
- ret = GTP_GPIO_REQUEST(ts->rst_pin, "GTP_RST_PORT");
- if (ret < 0)
- {
- GTP_ERROR("2Failed to request GPIO:%d, ERRNO:%d",(s32)ts->rst_pin, ret);
- GTP_GPIO_FREE(ts->rst_pin);
- return -ENODEV;
+ if(ts->rst_pin > 0) {
+ ret = GTP_GPIO_REQUEST(ts->rst_pin, "GTP_RST_PORT");
+ if (ret < 0)
+ {
+ GTP_ERROR("2Failed to request GPIO:%d, ERRNO:%d",(s32)ts->rst_pin, ret);
+ GTP_GPIO_FREE(ts->rst_pin);
+ return -ENODEV;
+ }
}
- ret = GTP_GPIO_REQUEST(ts->irq_pin, "GTP_INT_IRQ");
- if (ret < 0)
- {
- GTP_ERROR("3Failed to request GPIO:%d, ERRNO:%d", (s32)ts->irq_pin, ret);
- GTP_GPIO_FREE(ts->irq_pin);
- return -ENODEV;
- }
- else
- {
- //GTP_GPIO_AS_INT(GTP_INT_PORT);
- gpio_direction_input(ts->irq_pin);
- //s3c_gpio_setpull(pin, S3C_GPIO_PULL_NONE);
- //s3c_gpio_cfgpin(pin, GTP_INT_CFG);
-
- //ts->client->irq = ts->irq_pin;
+ if(ts->irq_pin > 0) {
+ ret = GTP_GPIO_REQUEST(ts->irq_pin, "GTP_INT_IRQ");
+ if (ret < 0)
+ {
+ GTP_ERROR("3Failed to request GPIO:%d, ERRNO:%d", (s32)ts->irq_pin, ret);
+ GTP_GPIO_FREE(ts->irq_pin);
+ return -ENODEV;
+ }
+ else
+ {
+ //GTP_GPIO_AS_INT(GTP_INT_PORT);
+ gpio_direction_input(ts->irq_pin);
+ //s3c_gpio_setpull(pin, S3C_GPIO_PULL_NONE);
+ //s3c_gpio_cfgpin(pin, GTP_INT_CFG);
+
+ //ts->client->irq = ts->irq_pin;
+ }
}
//GTP_GPIO_AS_INPUT(ts->rst_pin);
- gpio_direction_input(ts->rst_pin);
+ if(ts->rst_pin > 0)
+ gpio_direction_input(ts->rst_pin);
//s3c_gpio_setpull(pin, S3C_GPIO_PULL_NONE);
-
- gtp_reset_guitar(ts->client, 20);
+ if((ts->rst_pin > 0) && (ts->irq_pin))
+ gtp_reset_guitar(ts->client, 20);
return ret;
}
@@ -1866,9 +1875,13 @@ static s8 gtp_request_irq(struct goodix_ts_data *ts)
{
s32 ret = -1;
+ if(ts->irq_pin < 0) {
+ ret = 1;
+ goto test_pit;
+ }
GTP_DEBUG_FUNC();
GTP_DEBUG("INT trigger type:%x", ts->int_trigger_type);
-
+
ts->irq=gpio_to_irq(ts->irq_pin); //If not defined in client
if (ts->irq)
{
@@ -1899,11 +1912,12 @@ test_pit:
{
GTP_ERROR("Request IRQ failed!ERRNO:%d.", ret);
//GTP_GPIO_AS_INPUT(GTP_INT_PORT);
- gpio_direction_input(ts->irq_pin);
- //s3c_gpio_setpull(pin, S3C_GPIO_PULL_NONE);
-
- GTP_GPIO_FREE(ts->irq_pin);
+ if(ts->irq_pin > 0) {
+ gpio_direction_input(ts->irq_pin);
+ //s3c_gpio_setpull(pin, S3C_GPIO_PULL_NONE);
+ GTP_GPIO_FREE(ts->irq_pin);
+ }
hrtimer_init(&ts->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
ts->timer.function = goodix_ts_timer_handler;
hrtimer_start(&ts->timer, ktime_set(1, 0), HRTIMER_MODE_REL);
@@ -2139,7 +2153,8 @@ s32 gtp_fw_startup(struct i2c_client *client)
return FAIL;
}
//int sync
- gtp_int_sync(25, ts);
+ if(ts->irq_pin > 0)
+ gtp_int_sync(25, ts);
//check fw run status
ret = i2c_read_bytes(client, 0x8041, opr_buf, 1);
@@ -2626,27 +2641,25 @@ static int goodix_ts_probe(struct i2c_client *client, const struct i2c_device_id
return -EINVAL;
}
+ gtp_change_x2y = (u8)of_property_read_bool(np, "x2y");
+
if (val == 89) {
m89or101 = TRUE;
- gtp_change_x2y = TRUE;
gtp_x_reverse = FALSE;
gtp_y_reverse = TRUE;
} else if (val == 101) {
m89or101 = FALSE;
- gtp_change_x2y = TRUE;
gtp_x_reverse = TRUE;
gtp_y_reverse = FALSE;
} else if (val == 911) {
m89or101 = FALSE;
bgt911 = TRUE;
- gtp_change_x2y = TRUE;
gtp_x_reverse = FALSE;
gtp_y_reverse = TRUE;
} else if (val == 970) {
m89or101 = FALSE;
bgt911 = FALSE;
bgt970 = TRUE;
- gtp_change_x2y = FALSE;
gtp_x_reverse = FALSE;
gtp_y_reverse = TRUE;
} else if (val == 910) {
@@ -2654,21 +2667,22 @@ static int goodix_ts_probe(struct i2c_client *client, const struct i2c_device_id
bgt911 = FALSE;
bgt970 = FALSE;
bgt910 = TRUE;
- gtp_change_x2y = TRUE;
gtp_x_reverse = FALSE;
gtp_y_reverse = TRUE;
}
-
ts->tp_regulator = devm_regulator_get(&client->dev, "tp");
if (IS_ERR(ts->tp_regulator)) {
dev_err(&client->dev, "failed to get regulator, %ld\n",
PTR_ERR(ts->tp_regulator));
- return PTR_ERR(ts->tp_regulator);
+// return PTR_ERR(ts->tp_regulator);
}
- ret = regulator_enable(ts->tp_regulator);
- if (ret < 0)
- GTP_ERROR("failed to enable tp regulator\n");
+ if (IS_ERR(ts->tp_regulator)) {
+ ret = regulator_enable(ts->tp_regulator);
+ if (ret < 0)
+ GTP_ERROR("failed to enable tp regulator\n");
+ }
+
msleep(20);
ts->irq_pin = of_get_named_gpio_flags(np, "touch-gpio", 0, (enum of_gpio_flags *)(&ts->irq_flags));
@@ -2732,7 +2746,7 @@ static int goodix_ts_probe(struct i2c_client *client, const struct i2c_device_id
*/
#if GTP_COMPATIBLE_MODE
gtp_get_chip_type(ts);
-
+
if (CHIP_TYPE_GT9F == ts->chip_type)
{
ret = gtp_gt9xxf_init(ts->client);
@@ -2798,7 +2812,7 @@ static int goodix_ts_probe(struct i2c_client *client, const struct i2c_device_id
{
GTP_INFO("GTP works in interrupt mode.");
}
-
+ printk("gt9xx use_irq=%d\n",ts->use_irq);
if (ts->use_irq)
{
gtp_irq_enable(ts);
@@ -2816,8 +2830,10 @@ static int goodix_ts_probe(struct i2c_client *client, const struct i2c_device_id
probe_init_error:
printk(" <%s>_%d prob error !!!!!!!!!!!!!!!\n", __func__, __LINE__);
tp_unregister_fb(&ts->tp);
- GTP_GPIO_FREE(ts->rst_pin);
- GTP_GPIO_FREE(ts->irq_pin);
+ if(ts->rst_pin > 0)
+ GTP_GPIO_FREE(ts->rst_pin);
+ if(ts->irq_pin > 0)
+ GTP_GPIO_FREE(ts->irq_pin);
probe_init_error_requireio:
tp_unregister_fb(&ts->tp);
kfree(ts);
@@ -2854,12 +2870,13 @@ static int goodix_ts_remove(struct i2c_client *client)
if (ts->use_irq)
{
//GTP_GPIO_AS_INPUT(GTP_INT_PORT);
-
- gpio_direction_input(ts->irq_pin);
+ if(ts->irq_pin > 0) {
+ gpio_direction_input(ts->irq_pin);
//s3c_gpio_setpull(pin, S3C_GPIO_PULL_NONE);
- GTP_GPIO_FREE(ts->irq_pin);
- free_irq(client->irq, ts);
+ GTP_GPIO_FREE(ts->irq_pin);
+ free_irq(client->irq, ts);
+ }
}
else
{
--
2.25.1

View File

@ -1,80 +0,0 @@
From e9277b7e857a4868136bc0b19c61a3b802acdd7d Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Wed, 29 Apr 2020 09:55:07 +0800
Subject: [PATCH 95/97] arch: arm64: dts: add gt9xx support
Signed-off-by: brian <brian@vamrs.com>
---
.../dts/rockchip/overlays-rockpi4/Makefile | 1 +
.../boot/dts/rockchip/overlays-rockpi4/README | 4 ++++
.../overlays-rockpi4/gt9xx-overlay.dts | 18 ++++++++++++++++++
.../rockchip/overlays-rockpi4/hw_intfc.conf | 3 +++
.../boot/dts/rockchip/rockpi-4-linux.dtsi | 10 ++++++++++
5 files changed, 36 insertions(+)
create mode 100644 arch/arm64/boot/dts/rockchip/overlays-rockpi4/gt9xx-overlay.dts
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
index 7f063a5258b1..a37ba5a6f4c9 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/Makefile
@@ -14,6 +14,7 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
hifiberry-dac.dtbo \
hifiberry-dacplus.dtbo \
raspberrypi-7-inch-lcd.dtbo \
+ gt9xx.dtbo \
cpufreq.dtbo \
imx219.dtbo \
ov5647.dtbo \
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
index 24b01d82a341..87b80b27c73d 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/README
@@ -180,3 +180,7 @@ Name: w1-gpio4-30
Info: Overlay for activation of 1-wire on GPIO4_D6 for devices such as
DS18B20.
Load: intfc:dtoverlay=w1-gpio4-30
+
+Name: gt9xx
+Info: Overlay for activation of gt9xx touchpanel.
+Load: intfc:dtoverlay=gt9xx
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/gt9xx-overlay.dts b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/gt9xx-overlay.dts
new file mode 100644
index 000000000000..d0583ecd0b1e
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/gt9xx-overlay.dts
@@ -0,0 +1,18 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ model = "ROCK PI 4B";
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&i2c1>;
+
+ __overlay__ {
+ gt9xx: gt9xx@14 {
+ x2y;
+ status = "okay";
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
index 15661550675d..1f16a4454e46 100644
--- a/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
+++ b/arch/arm64/boot/dts/rockchip/overlays-rockpi4/hw_intfc.conf
@@ -56,6 +56,9 @@ intfc:dtoverlay=console-on-ttyS2
#enable raspberry pi official 7 inch LCD support
#intfc:dtoverlay=raspberrypi-7-inch-lcd
+#enable gt9xx touchpanel
+#intfc:dtoverlay=gt9xx
+
# setting cpu frequency over-2GHz
#intfc:dtoverlay=cpufreq
--
2.25.1

View File

@ -1,29 +0,0 @@
From b04eccb4588e333bdaf3ba7e6e4186d2ebe53770 Mon Sep 17 00:00:00 2001
From: Stephen <stephen@vamrs.com>
Date: Mon, 18 May 2020 16:54:06 +0800
Subject: [PATCH 96/97] arm64: dts: rockchip: increase the drive-strength of
PCIe power io for ROCK Pi 4
Signed-off-by: Stephen <stephen@vamrs.com>
---
arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
index 11c6805ab110..aad12b64a12d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
@@ -954,8 +954,8 @@
pcie {
pcie_drv: pcie-drv {
rockchip,pins =
- <2 26 RK_FUNC_GPIO &pcfg_pull_none>;
- };
+ <2 26 RK_FUNC_GPIO &pcfg_pull_up_20ma>;
+ };
};
pmic {
--
2.25.1

View File

@ -1,29 +0,0 @@
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 4906fd0a..48731f52 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -92,6 +92,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-mid-818-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro-v1.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock960-ab.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpi4b.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpro64.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rv1-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-box-android-6.0.dtb
@@ -102,7 +104,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-edp-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sapphire-excavator-linux-for-rk1808-cascade.dtb
-dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpi4b.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-tve1030g.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-tve1030g-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-tve1205g.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts
new file mode 120000
index 00000000..d365c482
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dts
@@ -0,0 +1 @@
+rk3399-rockpi4b.dts
\ No newline at end of file

View File

@ -1,64 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Thu, 7 Feb 2019 15:24:06 +0100
Subject: [ARCHEOLOGY] [ general ] Attach Realtek 8811, 8812, 8814 and 8821
drivers source, remove our old patches, adjust configs, tested on all
combinations
> X-Git-Archeology: - Revision 9758711ed42e345453eddc4b3314f8eaf81d01b5: https://github.com/armbian/build/commit/9758711ed42e345453eddc4b3314f8eaf81d01b5
> X-Git-Archeology: Date: Thu, 07 Feb 2019 15:24:06 +0100
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: [ general ] Attach Realtek 8811, 8812, 8814 and 8821 drivers source, remove our old patches, adjust configs, tested on all combinations
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
Makefile | 14 +++++++---
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index 4fb61874d20f..1583e6108225 100644
--- a/Makefile
+++ b/Makefile
@@ -377,9 +377,17 @@ CHECK = sparse
# Use the wrapper for the compiler. This wrapper scans for new
# warnings and causes the build to stop upon encountering them.
+ifeq ("$(origin GCC_WRAPPER)", "command line")
+ KGCC_WRAPPER = $(GCC_WRAPPER)
+endif
+ifndef KGCC_WRAPPER
+ KGCC_WRAPPER = 0
+endif
+ifeq ($(KGCC_WRAPPER),1)
ifneq ($(wildcard $(srctree)/scripts/gcc-wrapper.py),)
CC = $(srctree)/scripts/gcc-wrapper.py $(CROSS_COMPILE)gcc
endif
+endif
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
-Wbitwise -Wno-return-void $(CF)
@@ -437,10 +445,8 @@ export MAKE AWK GENKSYMS INSTALLKERNEL PERL PYTHON UTS_MACHINE
export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
-export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV
-export CFLAGS_KASAN CFLAGS_KASAN_NOSANITIZE
-export CFLAGS_KCOV
-export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
+export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV CFLAGS_KCOV CFLAGS_KASAN
+export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE CFLAGS_KASAN_NOSANITIZE
export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
export KBUILD_ARFLAGS
--
Armbian

View File

@ -1,50 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: ThomasKaiser <github@kaiser-edv.de>
Date: Thu, 5 Jul 2018 05:32:09 -0700
Subject: [ARCHEOLOGY] Enable 1392 MHz cpufreq OPP on all RK3328 devices
> X-Git-Archeology: - Revision a79d5932cf21c1c7221bfa6cd036a3f47e506318: https://github.com/armbian/build/commit/a79d5932cf21c1c7221bfa6cd036a3f47e506318
> X-Git-Archeology: Date: Thu, 05 Jul 2018 05:32:09 -0700
> X-Git-Archeology: From: ThomasKaiser <github@kaiser-edv.de>
> X-Git-Archeology: Subject: Enable 1392 MHz cpufreq OPP on all RK3328 devices
> X-Git-Archeology:
> X-Git-Archeology: - Revision 41b589372f2c1a8450033db78f3d8ed9db1b2196: https://github.com/armbian/build/commit/41b589372f2c1a8450033db78f3d8ed9db1b2196
> X-Git-Archeology: Date: Sun, 26 Aug 2018 14:14:14 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Creating new family rockchip64. 3288 and 3399 was merged in, except Nanopi which stays in RK3399 family with sources attached to FA repository until we manage to join that in. Enabled Nanopc T4, Nanopi M4, Renegade. Tested on Rock64 and Nanopc T4.
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index e4debf4d6363..3ab51435101e 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -165,6 +165,13 @@
opp-microvolt-L1 = <1300000 1300000 1350000>;
clock-latency-ns = <40000>;
};
+ opp-1392000000 {
+ opp-hz = /bits/ 64 <1392000000>;
+ opp-microvolt = <1350000 1350000 1350000>;
+ opp-microvolt-L0 = <1350000 1350000 1350000>;
+ opp-microvolt-L1 = <1325000 1325000 1325000>;
+ clock-latency-ns = <40000>;
+ };
};
arm-pmu {
--
Armbian

View File

@ -1,74 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Sun, 26 Aug 2018 14:14:14 +0200
Subject: [ARCHEOLOGY] Creating new family rockchip64. 3288 and 3399 was merged
in, except Nanopi which stays in RK3399 family with sources attached to FA
repository until we manage to join that in. Enabled Nanopc T4, Nanopi M4,
Renegade. Tested on Rock64 and Nanopc T4.
> X-Git-Archeology: > recovered message: > Some clenaup, removed dragonboard820c, adjusted board descriptions, added another OPP for 3288 family,
> X-Git-Archeology: - Revision 41b589372f2c1a8450033db78f3d8ed9db1b2196: https://github.com/armbian/build/commit/41b589372f2c1a8450033db78f3d8ed9db1b2196
> X-Git-Archeology: Date: Sun, 26 Aug 2018 14:14:14 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Creating new family rockchip64. 3288 and 3399 was merged in, except Nanopi which stays in RK3399 family with sources attached to FA repository until we manage to join that in. Enabled Nanopc T4, Nanopi M4, Renegade. Tested on Rock64 and Nanopc T4.
> X-Git-Archeology:
> X-Git-Archeology: - Revision 08614f398205625151ea5fa1d995734110b45fe1: https://github.com/armbian/build/commit/08614f398205625151ea5fa1d995734110b45fe1
> X-Git-Archeology: Date: Fri, 11 Jan 2019 11:43:35 +0100
> X-Git-Archeology: From: JMCC <JMCC@localhost>
> X-Git-Archeology: Subject: Fix 1512MHz OPP for Renegade
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts | 7 +++----
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 7 +++++++
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
index dee5a395fb55..bfacc080d5de 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
@@ -360,11 +360,10 @@
clock-latency-ns = <40000>;
};
opp-1512000000 {
- status = "disabled";
opp-hz = /bits/ 64 <1512000000>;
- opp-microvolt = <1350000>;
- opp-microvolt-L0 = <1350000>;
- opp-microvolt-L1 = <1325000>;
+ opp-microvolt = <1450000>;
+ opp-microvolt-L0 = <1450000>;
+ opp-microvolt-L1 = <1425000>;
clock-latency-ns = <40000>;
};
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 3ab51435101e..ac71ce493833 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -172,6 +172,13 @@
opp-microvolt-L1 = <1325000 1325000 1325000>;
clock-latency-ns = <40000>;
};
+ opp-1512000000 {
+ opp-hz = /bits/ 64 <1512000000>;
+ opp-microvolt = <1450000 1450000 1450000>;
+ opp-microvolt-L0 = <1450000 1450000 1450000>;
+ opp-microvolt-L1 = <1425000 1425000 1425000>;
+ clock-latency-ns = <40000>;
+ };
};
arm-pmu {
--
Armbian

View File

@ -1,438 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
Date: Sat, 11 Feb 2017 20:32:53 +0300
Subject: [ARCHEOLOGY] Rename, split and improve H3 DT overlays
> X-Git-Archeology: > recovered message: > Fix OPi Zero DT
> X-Git-Archeology: > recovered message: > Improve DT loading reliability
> X-Git-Archeology: - Revision bacf56710491e3307e0fb2bc1c828dad828c9f23: https://github.com/armbian/build/commit/bacf56710491e3307e0fb2bc1c828dad828c9f23
> X-Git-Archeology: Date: Sat, 11 Feb 2017 20:32:53 +0300
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
> X-Git-Archeology: Subject: Rename, split and improve H3 DT overlays
> X-Git-Archeology:
> X-Git-Archeology: - Revision c7bbc3257e8dcbf75398301602150fe9f1666c86: https://github.com/armbian/build/commit/c7bbc3257e8dcbf75398301602150fe9f1666c86
> X-Git-Archeology: Date: Sun, 26 Feb 2017 19:46:15 +0300
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
> X-Git-Archeology: Subject: Initial A20 overlays support for sunxi-next kernel
> X-Git-Archeology:
> X-Git-Archeology: - Revision caf4b1b037e7510cae7edd1b5f75482eed41b547: https://github.com/armbian/build/commit/caf4b1b037e7510cae7edd1b5f75482eed41b547
> X-Git-Archeology: Date: Mon, 13 Mar 2017 20:32:37 +0300
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
> X-Git-Archeology: Subject: Add new A20 overlays
> X-Git-Archeology:
> X-Git-Archeology: - Revision b30fcea3f95804175199bc1865a7e39cdf07cf73: https://github.com/armbian/build/commit/b30fcea3f95804175199bc1865a7e39cdf07cf73
> X-Git-Archeology: Date: Sun, 14 May 2017 17:59:35 +0300
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
> X-Git-Archeology: Subject: Update sunxi-next branch to 4.11
> X-Git-Archeology:
> X-Git-Archeology: - Revision 20240e9669055030076e69452cf6a1ccb368cc2e: https://github.com/armbian/build/commit/20240e9669055030076e69452cf6a1ccb368cc2e
> X-Git-Archeology: Date: Tue, 30 May 2017 21:30:38 -0400
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: add overlays to sunxi-dev
> X-Git-Archeology:
> X-Git-Archeology: - Revision b0fcb64aaca589359338a500e7bc07eb7ca1cb71: https://github.com/armbian/build/commit/b0fcb64aaca589359338a500e7bc07eb7ca1cb71
> X-Git-Archeology: Date: Thu, 07 Dec 2017 07:09:10 +0100
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Temporally disabling broken patches on sunxi DEV branch
> X-Git-Archeology:
> X-Git-Archeology: - Revision 2123e539ed288e3355ef3d3adc79788a187f62df: https://github.com/armbian/build/commit/2123e539ed288e3355ef3d3adc79788a187f62df
> X-Git-Archeology: Date: Thu, 15 Feb 2018 11:21:51 +0200
> X-Git-Archeology: From: Stefan Mavrodiev <stefan@olimex.com>
> X-Git-Archeology: Subject: Add overlays support for upstream kernel
> X-Git-Archeology:
> X-Git-Archeology: - Revision 2c08ec8f5a210de35f9482f482ac01ea15381792: https://github.com/armbian/build/commit/2c08ec8f5a210de35f9482f482ac01ea15381792
> X-Git-Archeology: Date: Thu, 24 May 2018 13:32:29 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Merge sunxi family into stable
> X-Git-Archeology:
> X-Git-Archeology: - Revision 1a12994e79b6ef173dc58efe4df8919cb6cc7781: https://github.com/armbian/build/commit/1a12994e79b6ef173dc58efe4df8919cb6cc7781
> X-Git-Archeology: Date: Tue, 17 Jul 2018 15:53:30 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Moving sunxi-next to 4.17.y (#1049)
> X-Git-Archeology:
> X-Git-Archeology: - Revision a57ce78b37f8dd2eb94a3836f4a7f6969f2ffd72: https://github.com/armbian/build/commit/a57ce78b37f8dd2eb94a3836f4a7f6969f2ffd72
> X-Git-Archeology: Date: Tue, 21 Aug 2018 10:41:10 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Reverting sunxi/sunxi64 NEXT to 4.14. (#1087)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 871bed1a24e21952f7aeb1981c26ad5fc573be9d: https://github.com/armbian/build/commit/871bed1a24e21952f7aeb1981c26ad5fc573be9d
> X-Git-Archeology: Date: Tue, 04 Dec 2018 16:25:53 -0500
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: add overlay-compilation-support to meson64-dev
> X-Git-Archeology:
> X-Git-Archeology: - Revision 7c5fb27d79d1c737fc2ca92a1069226e9aae2154: https://github.com/armbian/build/commit/7c5fb27d79d1c737fc2ca92a1069226e9aae2154
> X-Git-Archeology: Date: Wed, 09 Jan 2019 23:33:47 -0500
> X-Git-Archeology: From: Thomas McKahan <tonymckahan@gmail.com>
> X-Git-Archeology: Subject: [ meson64-next ] Shift Next to 4.19
> X-Git-Archeology:
> X-Git-Archeology: - Revision 2fa7c680c29a144214706dda35c2a6afdd708858: https://github.com/armbian/build/commit/2fa7c680c29a144214706dda35c2a6afdd708858
> X-Git-Archeology: Date: Thu, 21 Mar 2019 14:57:07 -0400
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: fix overlay patch
> X-Git-Archeology:
> X-Git-Archeology: - Revision a040785d4299e10255d87fdfcfa70b56e0b6779f: https://github.com/armbian/build/commit/a040785d4299e10255d87fdfcfa70b56e0b6779f
> X-Git-Archeology: Date: Sun, 04 Aug 2019 18:05:50 -0400
> X-Git-Archeology: From: chwe17 <weberc18@gmail.com>
> X-Git-Archeology: Subject: Tinkerboard camera support (#1482)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 23604e8a0dcdf81ec6c28ccd4b2a64b90816d8e7: https://github.com/armbian/build/commit/23604e8a0dcdf81ec6c28ccd4b2a64b90816d8e7
> X-Git-Archeology: Date: Fri, 19 Jun 2020 17:27:27 +0200
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: Introducing Rockchip RK322X SoC support (#2032)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 99afbdfe7e08334bb5dde05c4f3dab536e87224e: https://github.com/armbian/build/commit/99afbdfe7e08334bb5dde05c4f3dab536e87224e
> X-Git-Archeology: Date: Fri, 26 Jun 2020 15:53:20 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump meson64 current to 5.7.y (#2069)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 812245def37a695bce9e7ece148b2920d82c8b37: https://github.com/armbian/build/commit/812245def37a695bce9e7ece148b2920d82c8b37
> X-Git-Archeology: Date: Sat, 18 Jul 2020 23:07:01 +0200
> X-Git-Archeology: From: Werner <EvilOlaf@users.noreply.github.com>
> X-Git-Archeology: Subject: Move rockchip/64 current to 5.7.y (#2099)
> X-Git-Archeology:
> X-Git-Archeology: - Revision caa47bad650f82cb8045d19c384595b1760bd9e1: https://github.com/armbian/build/commit/caa47bad650f82cb8045d19c384595b1760bd9e1
> X-Git-Archeology: Date: Sat, 18 Jul 2020 23:08:52 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Move sunxi/64 current to 5.7, legacy to 5.4 (#2098)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 804a6b60d4c2724ada9eb975e3caf2d9753beba9: https://github.com/armbian/build/commit/804a6b60d4c2724ada9eb975e3caf2d9753beba9
> X-Git-Archeology: Date: Fri, 28 Aug 2020 18:48:55 +0200
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: Moved rk322x-dev to rk322x-current (current now is 5.7.y) (#2153)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 661371868def63655e46e8c513d8ba0f42cf4066: https://github.com/armbian/build/commit/661371868def63655e46e8c513d8ba0f42cf4066
> X-Git-Archeology: Date: Fri, 28 Aug 2020 19:26:08 +0200
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Enable overlays for rk3399-legacy (#2144)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 4cdf3c3d0e31fb9fa05d9b818915d54c465dffa0: https://github.com/armbian/build/commit/4cdf3c3d0e31fb9fa05d9b818915d54c465dffa0
> X-Git-Archeology: Date: Sun, 18 Oct 2020 14:43:30 -0400
> X-Git-Archeology: From: tonymac32 <tonymckahan@gmail.com>
> X-Git-Archeology: Subject: [ rockchip ] add overlay compilation support
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 3b3d85e25c2ecde30df7b5274fc6f1b9c0299ea2: https://github.com/armbian/build/commit/3b3d85e25c2ecde30df7b5274fc6f1b9c0299ea2
> X-Git-Archeology: Date: Sat, 22 May 2021 17:08:44 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Upgrade EDGE to 5.12.y (#2825)
> X-Git-Archeology:
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
> X-Git-Archeology:
> X-Git-Archeology: - Revision f15bc37276f8a06c024628b41905a7255934e93b: https://github.com/armbian/build/commit/f15bc37276f8a06c024628b41905a7255934e93b
> X-Git-Archeology: Date: Sat, 11 Sep 2021 12:51:28 +0000
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rk322x: add back edge kernel patches lost in the process, hardware cursor dedicated plane
> X-Git-Archeology:
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 4c3dcbf4fcd3616999cb91a1dddfa74668eb6de9: https://github.com/armbian/build/commit/4c3dcbf4fcd3616999cb91a1dddfa74668eb6de9
> X-Git-Archeology: Date: Tue, 09 Nov 2021 21:58:35 +0100
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: Rockchip 5.15 (#3242)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 6b490e16944b30ff69bf9c13678905187df0d9d4: https://github.com/armbian/build/commit/6b490e16944b30ff69bf9c13678905187df0d9d4
> X-Git-Archeology: Date: Tue, 11 Jan 2022 15:26:11 +0100
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: move kernel edge to 5.16 (#3387)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 1e37959e5381a0a1d1eaf0629cdc19658f30df9a: https://github.com/armbian/build/commit/1e37959e5381a0a1d1eaf0629cdc19658f30df9a
> X-Git-Archeology: Date: Thu, 10 Feb 2022 20:32:58 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bumping sunxi/64, xu4, rockchip and mvebu64 to 5.16.y (#3453)
> X-Git-Archeology:
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
> X-Git-Archeology:
> X-Git-Archeology: - Revision f52a4193d02ef88333ba117c68d49486dfd7ff41: https://github.com/armbian/build/commit/f52a4193d02ef88333ba117c68d49486dfd7ff41
> X-Git-Archeology: Date: Sun, 20 Mar 2022 22:58:21 +0100
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: Adding Pine64 Quartz64a as WIP target (#3539)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 2fe1ddfe451d3a3dba01e4ba1204d2b9fe7eb44e: https://github.com/armbian/build/commit/2fe1ddfe451d3a3dba01e4ba1204d2b9fe7eb44e
> X-Git-Archeology: Date: Sat, 26 Mar 2022 17:59:23 +0000
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip: add tinkerboard overlays for current 5.15 kernel
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0777be9e754c8bd24cff0297226b5158564bbc96: https://github.com/armbian/build/commit/0777be9e754c8bd24cff0297226b5158564bbc96
> X-Git-Archeology: Date: Sun, 10 Apr 2022 16:45:06 +0200
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rk322x: move edge flavour to kernel 5.17, adapt patches were necessary
> X-Git-Archeology:
> X-Git-Archeology: - Revision 49b2aba89124b15a0f6b81ccf44b3792b6b35497: https://github.com/armbian/build/commit/49b2aba89124b15a0f6b81ccf44b3792b6b35497
> X-Git-Archeology: Date: Mon, 11 Apr 2022 22:05:28 +0200
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip: copy patch archive from 5.16 to 5.17
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0afe24c95729044910e0b3f84dc5500bcdc6524c: https://github.com/armbian/build/commit/0afe24c95729044910e0b3f84dc5500bcdc6524c
> X-Git-Archeology: Date: Sun, 24 Apr 2022 22:33:47 +0200
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: move kernel media edge to 5.17 (#3704)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 3c4189e311ca60427d47dae796620a9fc98dc1f3: https://github.com/armbian/build/commit/3c4189e311ca60427d47dae796620a9fc98dc1f3
> X-Git-Archeology: Date: Sun, 29 May 2022 17:15:36 +0200
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip: upgrade edge kernel to v5.18 (#3842)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 809ce98a75163e3d37cffae811e1d19fd0758ef4: https://github.com/armbian/build/commit/809ce98a75163e3d37cffae811e1d19fd0758ef4
> X-Git-Archeology: Date: Sun, 29 May 2022 17:26:16 +0200
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rk322x: move edge kernel to v5.18 (#3844)
> X-Git-Archeology:
> X-Git-Archeology: - Revision d064b2dce2a58299bff98e8ccb275fec861777e9: https://github.com/armbian/build/commit/d064b2dce2a58299bff98e8ccb275fec861777e9
> X-Git-Archeology: Date: Wed, 03 Aug 2022 19:10:25 +0200
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rk322x: advance edge kernel to 5.19
> X-Git-Archeology:
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
> X-Git-Archeology:
> X-Git-Archeology: - Revision c87542aba26b01703746d3db94ac0820575b23b2: https://github.com/armbian/build/commit/c87542aba26b01703746d3db94ac0820575b23b2
> X-Git-Archeology: Date: Thu, 04 Aug 2022 11:20:06 +0200
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip: switch edge kernel to v5.19 (#4045)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 73691a9e24440e0a8104b2c25d168ba8947a10ad: https://github.com/armbian/build/commit/73691a9e24440e0a8104b2c25d168ba8947a10ad
> X-Git-Archeology: Date: Thu, 04 Aug 2022 21:50:40 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: meson64: edge: rework to kernel 5.19 (#3941)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 1b12209ded2c356df514e3dd99bd945c0afd7a32: https://github.com/armbian/build/commit/1b12209ded2c356df514e3dd99bd945c0afd7a32
> X-Git-Archeology: Date: Tue, 25 Oct 2022 20:38:31 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump meson64 edge to 6.0.y (#4341)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 35db7a3995d0d6e92638a0ed173e7252a927e339: https://github.com/armbian/build/commit/35db7a3995d0d6e92638a0ed173e7252a927e339
> X-Git-Archeology: Date: Tue, 15 Nov 2022 20:19:17 +0100
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rk322x: bump kernel to 6.0 (#4443)
> X-Git-Archeology:
> X-Git-Archeology: - Revision ed2c6d3c6764e9da4f54cb3b210e5106864dfa0f: https://github.com/armbian/build/commit/ed2c6d3c6764e9da4f54cb3b210e5106864dfa0f
> X-Git-Archeology: Date: Tue, 15 Nov 2022 20:22:47 +0100
> X-Git-Archeology: From: Paolo <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip: advance edge kernel to v6.0 (#4445)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 5b46bd7273909a2a9688efe85c4d45d00d407865: https://github.com/armbian/build/commit/5b46bd7273909a2a9688efe85c4d45d00d407865
> X-Git-Archeology: Date: Mon, 12 Dec 2022 08:02:25 +0100
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `meson64-6.0` kernel patches: mbox formatting, archeology to find lost authors/descriptions; rebase against 6.0.12; no actual changes (#4546)
> X-Git-Archeology:
> X-Git-Archeology: - Revision eb7d4a0bd20e56118f9c8c9089c063154c58a239: https://github.com/armbian/build/commit/eb7d4a0bd20e56118f9c8c9089c063154c58a239
> X-Git-Archeology: Date: Mon, 12 Dec 2022 08:02:49 +0100
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `meson64`: bump `edge` to `6.1-rc8` (#4554)
> X-Git-Archeology:
> X-Git-Archeology: - Revision c0001d566b3770dae722c47180dcb942bed7006a: https://github.com/armbian/build/commit/c0001d566b3770dae722c47180dcb942bed7006a
> X-Git-Archeology: Date: Wed, 14 Dec 2022 01:43:31 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump bcm, imx, mvebu64 and xu4 EDGE to 6.1.y (#4560)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 80dffbc7611bd76d675fcf74d352e1c55ce51f29: https://github.com/armbian/build/commit/80dffbc7611bd76d675fcf74d352e1c55ce51f29
> X-Git-Archeology: Date: Tue, 10 Jan 2023 00:31:35 +0100
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `meson64`: `edge`: bump to `6.2` - copy patches as-is from 6.1
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0ea5a3547b393059da92da9925a76bccef93631a: https://github.com/armbian/build/commit/0ea5a3547b393059da92da9925a76bccef93631a
> X-Git-Archeology: Date: Tue, 10 Jan 2023 00:31:41 +0100
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `meson64`: `edge`: bump to `6.2` - rebased patches against tag `v6.2-rc3`
> X-Git-Archeology:
> X-Git-Archeology: - Revision 8652bf3d37c9d9f7d87588dc1f97e82626dac489: https://github.com/armbian/build/commit/8652bf3d37c9d9f7d87588dc1f97e82626dac489
> X-Git-Archeology: Date: Sun, 12 Feb 2023 21:20:35 +0100
> X-Git-Archeology: From: Joao Assuncao <joao@joaoassuncao.com>
> X-Git-Archeology: Subject: Adds SPI, I2C, and PWM DTS overlays for odroid-m1 (#4825)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 3f704692a7933a67b5e8cc6ff690d92ef3a5e735: https://github.com/armbian/build/commit/3f704692a7933a67b5e8cc6ff690d92ef3a5e735
> X-Git-Archeology: Date: Fri, 24 Mar 2023 23:12:56 +0100
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip: bump edge kernel to 6.2
> X-Git-Archeology:
> X-Git-Archeology: - Revision 5930e5e536d6b2f1a1446b8910648d7b0183919e: https://github.com/armbian/build/commit/5930e5e536d6b2f1a1446b8910648d7b0183919e
> X-Git-Archeology: Date: Fri, 24 Mar 2023 23:14:09 +0100
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rk322x: move edge kernel to 6.2
> X-Git-Archeology:
> X-Git-Archeology: - Revision 98b6aec55439c5aa8cee13898451e0969f7df9ce: https://github.com/armbian/build/commit/98b6aec55439c5aa8cee13898451e0969f7df9ce
> X-Git-Archeology: Date: Thu, 27 Apr 2023 21:30:02 +0200
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rk322x: bump edge kernel to 6.3
> X-Git-Archeology:
> X-Git-Archeology: - Revision da0ab48b7939235608c8fc042c61ae997681e865: https://github.com/armbian/build/commit/da0ab48b7939235608c8fc042c61ae997681e865
> X-Git-Archeology: Date: Thu, 27 Apr 2023 21:31:27 +0200
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip: bump edge kernel to 6.3
> X-Git-Archeology:
> X-Git-Archeology: - Revision 7a5cd0b246d3f0ae5949b6afa5a59081bd2376e9: https://github.com/armbian/build/commit/7a5cd0b246d3f0ae5949b6afa5a59081bd2376e9
> X-Git-Archeology: Date: Sat, 29 Apr 2023 07:46:18 +0200
> X-Git-Archeology: From: Paolo Sabatino <paolo.sabatino@gmail.com>
> X-Git-Archeology: Subject: rockchip: fix dtbs_install step for overlays
> X-Git-Archeology:
> X-Git-Archeology: - Revision 85bab47bba73e0ef0e4ea5fde60e0aab56f82906: https://github.com/armbian/build/commit/85bab47bba73e0ef0e4ea5fde60e0aab56f82906
> X-Git-Archeology: Date: Sat, 06 May 2023 12:55:10 +0200
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
> X-Git-Archeology:
> X-Git-Archeology: - Revision 906ca66430329ab774f5b9d0f62eef1ce5e398fe: https://github.com/armbian/build/commit/906ca66430329ab774f5b9d0f62eef1ce5e398fe
> X-Git-Archeology: Date: Tue, 16 May 2023 08:55:33 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `rockchip64`/`edge`/`6.3`: rebase/rewrite patches against `v6.3.1`; do archeology for mbox-less patches; materialize overwrites
> X-Git-Archeology:
> X-Git-Archeology: - Revision eb4320f4243fb11380078623d67880bf7c9d4951: https://github.com/armbian/build/commit/eb4320f4243fb11380078623d67880bf7c9d4951
> X-Git-Archeology: Date: Sun, 21 May 2023 13:58:31 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `odroidm1` / `rk3568-odroid`: recover overlays from 6.1; update .config; fix patch dir name
> X-Git-Archeology:
> X-Git-Archeology: - Revision 30ea65b68ec5b51cf274b92df584626b77eeb61f: https://github.com/armbian/build/commit/30ea65b68ec5b51cf274b92df584626b77eeb61f
> X-Git-Archeology: Date: Tue, 13 Jun 2023 12:33:47 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `meson64` `edge` 6.4: rebase to 6.4-rc5; 7 are failing to apply
> X-Git-Archeology:
> X-Git-Archeology: - Revision 38d34e52698eb651866f6586ed4b9e838b76413c: https://github.com/armbian/build/commit/38d34e52698eb651866f6586ed4b9e838b76413c
> X-Git-Archeology: Date: Tue, 13 Jun 2023 12:33:47 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `meson64` `edge` 6.4: initial copy (as-is) of 6.2 patches
> X-Git-Archeology:
---
arch/arm/boot/.gitignore | 5 ++-
scripts/Makefile.dtbinst | 20 ++++++++--
scripts/Makefile.lib | 20 ++++++++++
3 files changed, 39 insertions(+), 6 deletions(-)
diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore
index ad7a0253ea96..e064e5f27927 100644
--- a/arch/arm/boot/.gitignore
+++ b/arch/arm/boot/.gitignore
@@ -3,5 +3,6 @@ zImage
xipImage
bootpImage
uImage
-*.dtb
-zImage-dtb
\ No newline at end of file
+*.dtb*
+*.scr
+zImage-dtb
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
index 1c15717e0d56..839b2bf46e30 100644
--- a/scripts/Makefile.dtbinst
+++ b/scripts/Makefile.dtbinst
@@ -28,8 +28,11 @@ ifeq ("$(dtbinst-root)", "$(obj)")
$(Q)mkdir -p $(INSTALL_DTBS_PATH)
endif
-dtbinst-files := $(dtb-y)
-dtbinst-dirs := $(dts-dirs)
+dtbinst-files := $(sort $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS), $(dtb-)))
+dtboinst-files := $(dtbo-y)
+script-files := $(scr-y)
+readme-files := $(dtbotxt-y)
+dtbinst-dirs := $(subdir-y) $(subdir-m)
# Helper targets for Installing DTBs into the boot directory
quiet_cmd_dtb_install = INSTALL $<
@@ -42,10 +45,19 @@ $(dtbinst-files) $(dtbinst-dirs): | __dtbs_install_prep
$(dtbinst-files): %.dtb: $(obj)/%.dtb
$(call cmd,dtb_install,$(install-dir))
+$(dtboinst-files): %.dtbo: $(obj)/%.dtbo
+ $(call cmd,dtb_install,$(install-dir))
+
+$(script-files): %.scr: $(obj)/%.scr
+ $(call cmd,dtb_install,$(install-dir))
+
+$(readme-files): %: $(src)/%
+ $(call cmd,dtb_install,$(install-dir))
+
$(dtbinst-dirs):
$(Q)$(MAKE) $(dtbinst)=$(obj)/$@
-PHONY += $(dtbinst-files) $(dtbinst-dirs)
-__dtbs_install: $(dtbinst-files) $(dtbinst-dirs)
+PHONY += $(dtbinst-files) $(dtboinst-files) $(script-files) $(readme-files) $(dtbinst-dirs)
+__dtbs_install: $(dtbinst-files) $(dtboinst-files) $(script-files) $(readme-files) $(dtbinst-dirs)
.PHONY: $(PHONY)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 3fb2aaa00411..8d72db5cdc5d 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -275,6 +275,9 @@ ifeq ($(CONFIG_ANDROID),y)
DTC_FLAGS += -@
endif
+# Overlay support
+DTC_FLAGS += -@ -Wno-unit_address_format -Wno-simple_bus_reg
+
# Disable noisy checks by default
ifeq ($(KBUILD_ENABLE_EXTRA_GCC_CHECKS),)
DTC_FLAGS += -Wno-unit_address_vs_reg \
@@ -319,6 +322,23 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
$(obj)/%.dtb: $(src)/%.dts FORCE
$(call if_changed_dep,dtc)
+quiet_cmd_dtco = DTCO $@
+cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \
+ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
+ $(DTC) -O dtb -o $@ -b 0 \
+ -i $(dir $<) $(DTC_FLAGS) \
+ -d $(depfile).dtc.tmp $(dtc-tmp) ; \
+ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
+
+$(obj)/%.dtbo: $(src)/%.dts FORCE
+ $(call if_changed_dep,dtco)
+
+quiet_cmd_scr = MKIMAGE $@
+cmd_scr = mkimage -C none -A $(ARCH) -T script -d $< $@
+
+$(obj)/%.scr: $(src)/%.scr-cmd FORCE
+ $(call if_changed,scr)
+
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
# cat
--
Armbian

View File

@ -1,33 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Piotr Szczepanik <piter75@gmail.com>
Date: Tue, 11 Aug 2020 09:33:30 +0200
Subject: Added xt25f32b and xt25f128b SPI NOR flashes from XTX
These flash chips are used by Radxa in ROCK Pi 4.
Based on:
https://github.com/radxa/kernel/commit/8216f17965de7bc7ced7092aab0e2bfe416838a4
https://github.com/radxa/kernel/commit/a14f6502e0454a51626e3906f59637ab264bf53e
Signed-off-by: Piotr Szczepanik <piter75@gmail.com>
---
drivers/mtd/spi-nor/spi-nor.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index 276998ea0267..cbef5b7f5088 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -851,6 +851,10 @@ static const struct flash_info spi_nor_ids[] = {
{ "cat25c09", CAT25_INFO( 128, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
{ "cat25c17", CAT25_INFO( 256, 8, 32, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
{ "cat25128", CAT25_INFO(2048, 8, 64, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
+
+ /* XTX SPI Nor Flash */
+ { "xt25f32b", INFO(0x0b4016, 0, 64 * 1024, 64, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
+ { "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
{ },
};
--
Armbian

View File

@ -1,701 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martin Ayotte <martinayotte@yahoo.ca>
Date: Wed, 5 Dec 2018 15:00:44 -0500
Subject: [ARCHEOLOGY] add overlays framework for rockchip
> X-Git-Archeology: - Revision 677cf44f4620e11ff573257551c8231eceee1d4b: https://github.com/armbian/build/commit/677cf44f4620e11ff573257551c8231eceee1d4b
> X-Git-Archeology: Date: Wed, 05 Dec 2018 15:00:44 -0500
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: add overlays framework for rockchip
> X-Git-Archeology:
> X-Git-Archeology: - Revision 40ab5ee22b0055e2a67a73bdcda94217d23fe2a0: https://github.com/armbian/build/commit/40ab5ee22b0055e2a67a73bdcda94217d23fe2a0
> X-Git-Archeology: Date: Fri, 07 Dec 2018 16:23:35 -0500
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: add W1-GPIO overlay to rockchip64
> X-Git-Archeology:
> X-Git-Archeology: - Revision 5a7e35d59d385c4adb5c4bfd605211e59e72939e: https://github.com/armbian/build/commit/5a7e35d59d385c4adb5c4bfd605211e59e72939e
> X-Git-Archeology: Date: Tue, 05 Mar 2019 20:19:58 -0500
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: add rockchip-spi-spidev overlay
> X-Git-Archeology:
> X-Git-Archeology: - Revision 4722859bc1da10dc59f38615ef1683f9334412ac: https://github.com/armbian/build/commit/4722859bc1da10dc59f38615ef1683f9334412ac
> X-Git-Archeology: Date: Tue, 05 Mar 2019 20:28:25 -0500
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: fix spi-spidev pins in README
> X-Git-Archeology:
> X-Git-Archeology: - Revision e4e34c7f15b33a3a186033a0c40555c208f035ee: https://github.com/armbian/build/commit/e4e34c7f15b33a3a186033a0c40555c208f035ee
> X-Git-Archeology: Date: Wed, 06 Mar 2019 17:34:59 -0500
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: add param_w1_pin management to rockchip-fixup.scr
> X-Git-Archeology:
> X-Git-Archeology: - Revision 85285a492e203c26cf0704ac8c08dbf7e59127df: https://github.com/armbian/build/commit/85285a492e203c26cf0704ac8c08dbf7e59127df
> X-Git-Archeology: Date: Sun, 10 Mar 2019 09:27:53 -0400
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: add I2C7 overlay
> X-Git-Archeology:
> X-Git-Archeology: - Revision eda653ae254c43b548889157171ce0873c918426: https://github.com/armbian/build/commit/eda653ae254c43b548889157171ce0873c918426
> X-Git-Archeology: Date: Sun, 10 Mar 2019 11:38:07 -0400
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: fix typo in README overlays
> X-Git-Archeology:
> X-Git-Archeology: - Revision 2e3a338d481b1637b7ff55d52e43612791e6d23a: https://github.com/armbian/build/commit/2e3a338d481b1637b7ff55d52e43612791e6d23a
> X-Git-Archeology: Date: Thu, 20 Jun 2019 10:11:25 -0400
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: fix SPIs registers in overlays
> X-Git-Archeology:
> X-Git-Archeology: - Revision 5ae502fa0af30f1edc089c76ecc698887acc8c5e: https://github.com/armbian/build/commit/5ae502fa0af30f1edc089c76ecc698887acc8c5e
> X-Git-Archeology: Date: Sun, 21 Jul 2019 13:24:42 +0200
> X-Git-Archeology: From: Piotr Szczepanik <piotr.szczepanik@allegro.pl>
> X-Git-Archeology: Subject: [rockchip64-dev] UART4 activating overlay
> X-Git-Archeology:
> X-Git-Archeology: - Revision 6dceae89ce35a4f7145003ddbcc9a53ed8999ff8: https://github.com/armbian/build/commit/6dceae89ce35a4f7145003ddbcc9a53ed8999ff8
> X-Git-Archeology: Date: Mon, 22 Jul 2019 10:08:41 -0400
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: swap fragments order in UART4 overlay
> X-Git-Archeology:
> X-Git-Archeology: - Revision f0d3670ff9a2bc148ee4f7762c3ea7a6da04860d: https://github.com/armbian/build/commit/f0d3670ff9a2bc148ee4f7762c3ea7a6da04860d
> X-Git-Archeology: Date: Tue, 23 Jul 2019 12:31:18 -0400
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: fix typo in UART4 overlay
> X-Git-Archeology:
> X-Git-Archeology: - Revision fadde96f2b0a0221b9e7abe7efe7f94377f3e651: https://github.com/armbian/build/commit/fadde96f2b0a0221b9e7abe7efe7f94377f3e651
> X-Git-Archeology: Date: Wed, 24 Jul 2019 17:41:52 -0400
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: fix SPIDEV overlay and add SPI-JEDEC-NOR overlay
> X-Git-Archeology:
> X-Git-Archeology: - Revision 776a5e7eb265d0fb62f2dec2ae99b684a11db5ea: https://github.com/armbian/build/commit/776a5e7eb265d0fb62f2dec2ae99b684a11db5ea
> X-Git-Archeology: Date: Wed, 24 Jul 2019 17:43:52 -0400
> X-Git-Archeology: From: Martin Ayotte <martinayotte@yahoo.ca>
> X-Git-Archeology: Subject: fix SPI default spi-max-frequency
> X-Git-Archeology:
> X-Git-Archeology: - Revision b3bb9345439250d8247f0e24a8e1ef6290b2c279: https://github.com/armbian/build/commit/b3bb9345439250d8247f0e24a8e1ef6290b2c279
> X-Git-Archeology: Date: Mon, 18 Nov 2019 18:23:10 +0100
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Rock Pi 4 enable PCIe in device tree for "dev" target (#1624)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 812245def37a695bce9e7ece148b2920d82c8b37: https://github.com/armbian/build/commit/812245def37a695bce9e7ece148b2920d82c8b37
> X-Git-Archeology: Date: Sat, 18 Jul 2020 23:07:01 +0200
> X-Git-Archeology: From: Werner <EvilOlaf@users.noreply.github.com>
> X-Git-Archeology: Subject: Move rockchip/64 current to 5.7.y (#2099)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 661371868def63655e46e8c513d8ba0f42cf4066: https://github.com/armbian/build/commit/661371868def63655e46e8c513d8ba0f42cf4066
> X-Git-Archeology: Date: Fri, 28 Aug 2020 19:26:08 +0200
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Enable overlays for rk3399-legacy (#2144)
> X-Git-Archeology:
> X-Git-Archeology: - Revision e36ce875b025e112127cf8cc2d34825ebfe36569: https://github.com/armbian/build/commit/e36ce875b025e112127cf8cc2d34825ebfe36569
> X-Git-Archeology: Date: Tue, 10 Nov 2020 21:43:13 +0100
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Switched rockchip64-current to linux 5.9.y (#2309)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
> X-Git-Archeology: - Revision e7377248b3cae186e24e2be781cd3365b43246f0: https://github.com/armbian/build/commit/e7377248b3cae186e24e2be781cd3365b43246f0
> X-Git-Archeology: Date: Thu, 22 Jul 2021 00:15:54 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Second part of EDGE bumping to 5.13.y (#3045)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 744ea89a589d62cb6f409baab60fc6664520bc39: https://github.com/armbian/build/commit/744ea89a589d62cb6f409baab60fc6664520bc39
> X-Git-Archeology: Date: Wed, 08 Sep 2021 17:51:34 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bumping EDGE kernel to 5.14.y (#3125)
> X-Git-Archeology:
> X-Git-Archeology: - Revision dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e: https://github.com/armbian/build/commit/dd51f9f2afcbc83a3e10b32eb6a5061d91d1558e
> X-Git-Archeology: Date: Tue, 09 Nov 2021 18:06:34 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump imx6, xu4, rockchip64 and jetson-nano to 5.15 (#3238)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 6b490e16944b30ff69bf9c13678905187df0d9d4: https://github.com/armbian/build/commit/6b490e16944b30ff69bf9c13678905187df0d9d4
> X-Git-Archeology: Date: Tue, 11 Jan 2022 15:26:11 +0100
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: move kernel edge to 5.16 (#3387)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 27771d0e8a7f512dbcf10cbca8e88eedd47d1b55: https://github.com/armbian/build/commit/27771d0e8a7f512dbcf10cbca8e88eedd47d1b55
> X-Git-Archeology: Date: Thu, 17 Feb 2022 22:06:54 +0100
> X-Git-Archeology: From: Leif <akhepcat@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove incorrectly duplicated GPIO pins from I2C7, name I2C7/I2C8 bus, from README.rockchip-overlays (#3495)
> X-Git-Archeology:
> X-Git-Archeology: - Revision ac8fc4385594d59257ee9dffd9efa85e3497fa7d: https://github.com/armbian/build/commit/ac8fc4385594d59257ee9dffd9efa85e3497fa7d
> X-Git-Archeology: Date: Sat, 26 Feb 2022 07:46:44 +0100
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Switch rockchip64 current to linux 5.15.y (#3489)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 897674aa74bce0326ed7fe06f5336bf4709a8a1f: https://github.com/armbian/build/commit/897674aa74bce0326ed7fe06f5336bf4709a8a1f
> X-Git-Archeology: Date: Tue, 03 May 2022 08:27:32 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump and freeze kernel at last known working versions (#3736)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 597d2dac11f00d9070a4e49d6bad1b2244e36cb3: https://github.com/armbian/build/commit/597d2dac11f00d9070a4e49d6bad1b2244e36cb3
> X-Git-Archeology: Date: Sat, 28 May 2022 07:56:22 +0200
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: update rockchip64-edge to 5.18 (#3814)
> X-Git-Archeology:
> X-Git-Archeology: - Revision e7bd9b8f13af9ee054f44a422b2aca19746b9244: https://github.com/armbian/build/commit/e7bd9b8f13af9ee054f44a422b2aca19746b9244
> X-Git-Archeology: Date: Sat, 28 May 2022 08:56:19 +0200
> X-Git-Archeology: From: Tony <tonymckahan@gmail.com>
> X-Git-Archeology: Subject: Add Spidev workarounds and clean patches (WIP) (#3812)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 8c6641e7b79f0d50acdc306d140e586a4e923cf0: https://github.com/armbian/build/commit/8c6641e7b79f0d50acdc306d140e586a4e923cf0
> X-Git-Archeology: Date: Wed, 03 Aug 2022 22:22:55 +0200
> X-Git-Archeology: From: Jianfeng Liu <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: update rockchip64 edge to 5.19 (#4039)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 6765f734cc4a22aeaa9f99a3ad28c8c322de26f6: https://github.com/armbian/build/commit/6765f734cc4a22aeaa9f99a3ad28c8c322de26f6
> X-Git-Archeology: Date: Tue, 25 Oct 2022 11:26:51 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Bump rockchip64 edge to 6.0.y (#4337)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 834fab09d0ca6fd6aa353b294011b8ca9dc00c1c: https://github.com/armbian/build/commit/834fab09d0ca6fd6aa353b294011b8ca9dc00c1c
> X-Git-Archeology: Date: Wed, 16 Nov 2022 18:39:47 +0100
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `armbian,spi-dev` hacks also for rockchip64-5.18, .19, and 6.0.y (#4450)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 92f1a22d76b987afa7ba555d5b509adc51d689e7: https://github.com/armbian/build/commit/92f1a22d76b987afa7ba555d5b509adc51d689e7
> X-Git-Archeology: Date: Fri, 16 Dec 2022 13:38:13 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Re-add rockchip64 6.0 patches (#4575)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 85bab47bba73e0ef0e4ea5fde60e0aab56f82906: https://github.com/armbian/build/commit/85bab47bba73e0ef0e4ea5fde60e0aab56f82906
> X-Git-Archeology: Date: Sat, 06 May 2023 12:55:10 +0200
> X-Git-Archeology: From: amazingfate <liujianfeng1994@gmail.com>
> X-Git-Archeology: Subject: bump rockchip64 edge to v6.3
> X-Git-Archeology:
> X-Git-Archeology: - Revision 906ca66430329ab774f5b9d0f62eef1ce5e398fe: https://github.com/armbian/build/commit/906ca66430329ab774f5b9d0f62eef1ce5e398fe
> X-Git-Archeology: Date: Tue, 16 May 2023 08:55:33 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `rockchip64`/`edge`/`6.3`: rebase/rewrite patches against `v6.3.1`; do archeology for mbox-less patches; materialize overwrites
> X-Git-Archeology:
> X-Git-Archeology: - Revision 1cdab8b1cfbf98c853c7bbf760d5aff280baf794: https://github.com/armbian/build/commit/1cdab8b1cfbf98c853c7bbf760d5aff280baf794
> X-Git-Archeology: Date: Wed, 24 May 2023 19:21:31 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `rockchip64`/`edge` 6.3.y: rebase against `v6.3.3`, do archeology for missing mbox'es
> X-Git-Archeology:
> X-Git-Archeology: - Revision 716d3ae221824e87b6a2abb8dcf9f6e6aa3c63c9: https://github.com/armbian/build/commit/716d3ae221824e87b6a2abb8dcf9f6e6aa3c63c9
> X-Git-Archeology: Date: Tue, 13 Jun 2023 12:33:59 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `rockchip64` `edge` 6.3: drop overlay patches in favor of bare overlays in specific folder
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0646a15647489f8c188cf5e15dce7d2bc0456120: https://github.com/armbian/build/commit/0646a15647489f8c188cf5e15dce7d2bc0456120
> X-Git-Archeology: Date: Tue, 13 Jun 2023 12:33:59 +0200
> X-Git-Archeology: From: Ricardo Pardini <ricardo@pardini.net>
> X-Git-Archeology: Subject: `rockchip64` `edge` 6.3: rebase v6.3.6 + drop DT Makefile patches
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/Makefile | 2 +-
arch/arm64/boot/dts/rockchip/overlay/Makefile | 22 ++
arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays | 106 ++++++++++
arch/arm64/boot/dts/rockchip/overlay/rockchip-fixup.scr-cmd | 62 ++++++
arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c7.dts | 11 +
arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c8.dts | 11 +
arch/arm64/boot/dts/rockchip/overlay/rockchip-pcie-gen2.dts | 12 ++
arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-jedec-nor.dts | 72 +++++++
arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-spidev.dts | 72 +++++++
arch/arm64/boot/dts/rockchip/overlay/rockchip-uart4.dts | 20 ++
arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts | 20 ++
scripts/Makefile.lib | 3 +
12 files changed, 412 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 014b8c2701b7..f899bbbe4575 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -120,5 +120,5 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-evb-v11-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399pro-npu-evb-v10.dtb
always := $(dtb-y)
-subdir-y := $(dts-dirs)
+subdir-y := $(dts-dirs) overlay
clean-files := *.dtb
diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
new file mode 100644
index 000000000000..c5f52da3ab08
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: GPL-2.0
+dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
+ rockchip-i2c7.dtbo \
+ rockchip-i2c8.dtbo \
+ rockchip-pcie-gen2.dtbo \
+ rockchip-spi-jedec-nor.dtbo \
+ rockchip-spi-spidev.dtbo \
+ rockchip-uart4.dtbo \
+ rockchip-w1-gpio.dtbo
+
+scr-$(CONFIG_ARCH_ROCKCHIP) += \
+ rockchip-fixup.scr
+
+dtbotxt-$(CONFIG_ARCH_ROCKCHIP) += \
+ README.rockchip-overlays
+
+targets += $(dtbo-y) $(scr-y) $(dtbotxt-y)
+
+always := $(dtbo-y) $(scr-y) $(dtbotxt-y)
+clean-files := *.dtbo *.scr
+
+
diff --git a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
new file mode 100644
index 000000000000..3da852a20d27
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
@@ -0,0 +1,106 @@
+This document describes overlays provided in the kernel packages
+For generic Armbian overlays documentation please see
+https://docs.armbian.com/User-Guide_Allwinner_overlays/
+
+### Platform:
+
+rockchip (Rockchip)
+
+### Provided overlays:
+
+- i2c7, i2c8, pcie-gen2, spi-spidev, uart4, w1-gpio
+
+### Overlay details:
+
+### i2c7
+
+Activates TWI/I2C bus 7
+
+I2C7 pins (DVP) (SCL, SDA): GPIO2-B0, GPIO2-A7
+
+### i2c8
+
+Activates TWI/I2C bus 8
+
+I2C8 pins (pi-conn) (pi-conn) (SCL, SDA): GPIO1-C5, GPIO1-C4
+
+### pcie-gen2
+
+Enables PCIe Gen2 link speed on RK3399.
+WARNING! Not officially supported by Rockchip!!!
+
+### spi-jedec-nor
+
+Activates MTD support for JEDEC compatible SPI NOR flash chips on SPI bus
+supported by the kernel SPI NOR driver
+
+SPI 0 pins (MOSI, MISO, SCK, CS): GPIO3_A5, GPIO3_A4, GPIO3_A6, GPIO3_A7
+SPI 1 pins (MOSI, MISO, SCK, CS): GPIO1_A7, GPIO1_B0, GPIO1_B1, GPIO1_B2
+SPI 2 pins (MOSI, MISO, SCK, CS): GPIO1_C0, GPIO1_B7, GPIO1_C1, GPIO1_C2
+SPI 3 pins (MOSI, MISO, SCK, CS): GPIO2_B2, GPIO2_B1, GPIO2_B3, GPIO2_B4
+
+Parameters:
+
+param_spinor_spi_bus (int)
+ SPI bus to activate SPI NOR flash support on
+ Required
+ Supported values: 0, 1, 2
+
+param_spinor_max_freq (int)
+ Maximum SPI frequency
+ Optional
+ Default: 1000000
+ Range: 3000 - 100000000
+
+### spi-spidev
+
+Activates SPIdev device node (/dev/spidevX.Y) for userspace SPI access,
+where X is the bus number and Y is the CS number
+
+SPI 0 pins (MOSI, MISO, SCK, CS): GPIO3_A5, GPIO3_A4, GPIO3_A6, GPIO3_A7
+SPI 1 pins (MOSI, MISO, SCK, CS): GPIO1_A7, GPIO1_B0, GPIO1_B1, GPIO1_B2
+SPI 2 pins (MOSI, MISO, SCK, CS): GPIO1_C0, GPIO1_B7, GPIO1_C1, GPIO1_C2
+SPI 3 pins (MOSI, MISO, SCK, CS): GPIO2_B2, GPIO2_B1, GPIO2_B3, GPIO2_B4
+
+Parameters:
+
+param_spidev_spi_bus (int)
+ SPI bus to activate SPIdev support on
+ Required
+ Supported values: 0, 1
+
+param_spidev_spi_cs (int)
+ SPI chip select number
+ Optional
+ Default: 0
+ Supported values: 0, 1
+ Using chip select 1 requires using "spi-add-cs1" overlay
+
+param_spidev_max_freq (int)
+ Maximum SPIdev frequency
+ Optional
+ Default: 1000000
+ Range: 3000 - 100000000
+
+### uart4
+
+Activates UART4
+
+UART4 pins (RX, TX): GPIO1_A7, GPIO1_B0
+
+Notice: UART4 cannot be activated together with SPI1 - they share the sam pins.
+Enabling this overlay disables SPI1.
+
+### w1-gpio
+
+Activates 1-Wire GPIO master
+Requires an external pull-up resistor on the data pin
+or enabling the internal pull-up
+
+Parameters:
+
+param_w1_pin (pin)
+ Data pin for 1-Wire master
+ Optional
+ Default: PD14
+
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-fixup.scr-cmd b/arch/arm64/boot/dts/rockchip/overlay/rockchip-fixup.scr-cmd
new file mode 100644
index 000000000000..8e3d468f4d4b
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-fixup.scr-cmd
@@ -0,0 +1,62 @@
+# overlays fixup script
+# implements (or rather substitutes) overlay arguments functionality
+# using u-boot scripting, environment variables and "fdt" command
+
+setenv decompose_pin 'setexpr tmp_pinctrl sub "GPIO(0|1|2|3|4)_\\S\\d+" "\\1";
+setexpr tmp_bank sub "GPIO\\d_(\\S)\\d+" "\\1";
+test "${tmp_bank}" = "A" && setenv tmp_bank 0;
+test "${tmp_bank}" = "B" && setenv tmp_bank 1;
+test "${tmp_bank}" = "C" && setenv tmp_bank 2;
+test "${tmp_bank}" = "D" && setenv tmp_bank 3;
+setexpr tmp_pin sub "GPIO\\d_\\S(\\d+)" "\\1";
+setexpr tmp_bank ${tmp_bank} * 8;
+setexpr tmp_pin ${tmp_bank} + ${tmp_pin}'
+
+
+if test -n "${param_spinor_spi_bus}"; then
+ test "${param_spinor_spi_bus}" = "0" && setenv tmp_spi_path "spi@ff1c0000"
+ test "${param_spinor_spi_bus}" = "1" && setenv tmp_spi_path "spi@ff1d0000"
+ test "${param_spinor_spi_bus}" = "2" && setenv tmp_spi_path "spi@ff1e0000"
+ test "${param_spinor_spi_bus}" = "3" && setenv tmp_spi_path "spi@ff1f0000"
+ fdt set /${tmp_spi_path} status "okay"
+ fdt set /${tmp_spi_path}/spiflash@0 status "okay"
+ if test -n "${param_spinor_max_freq}"; then
+ fdt set /${tmp_spi_path}/spiflash@0 spi-max-frequency "<${param_spinor_max_freq}>"
+ fi
+ if test "${param_spinor_spi_cs}" = "1"; then
+ fdt set /${tmp_spi_path}/spiflash@0 reg "<1>"
+ fi
+ env delete tmp_spi_path
+fi
+
+if test -n "${param_spidev_spi_bus}"; then
+ test "${param_spidev_spi_bus}" = "0" && setenv tmp_spi_path "spi@ff1c0000"
+ test "${param_spidev_spi_bus}" = "1" && setenv tmp_spi_path "spi@ff1d0000"
+ test "${param_spidev_spi_bus}" = "2" && setenv tmp_spi_path "spi@ff1e0000"
+ test "${param_spidev_spi_bus}" = "3" && setenv tmp_spi_path "spi@ff1f0000"
+ fdt set /${tmp_spi_path} status "okay"
+ fdt set /${tmp_spi_path}/spidev status "okay"
+ if test -n "${param_spidev_max_freq}"; then
+ fdt set /${tmp_spi_path}/spidev spi-max-frequency "<${param_spidev_max_freq}>"
+ fi
+ if test "${param_spidev_spi_cs}" = "1"; then
+ fdt set /${tmp_spi_path}/spidev reg "<1>";
+ fi
+fi
+
+if test -n "${param_w1_pin}"; then
+ setenv tmp_pinctrl "${param_w1_pin}"
+ setenv tmp_bank "${param_w1_pin}"
+ setenv tmp_pin "${param_w1_pin}"
+ run decompose_pin
+ #echo "${param_w1_pin} ---> pinctrl = ${tmp_pinctrl}"
+ #echo "${param_w1_pin} ---> bank = ${tmp_bank}"
+ #echo "${param_w1_pin} ---> pin = ${tmp_pin}"
+ fdt get value tmp_pinctrl /__symbols__ gpio${tmp_pinctrl}
+ #echo "${param_w1_pin} ---> tmp_pinctrl = ${tmp_pinctrl}"
+ fdt get value tmp_phandle ${tmp_pinctrl} phandle
+ #echo "${param_w1_pin} ---> tmp_phandle = ${tmp_phandle}"
+ fdt set /onewire@0 gpios "<${tmp_phandle} 0x000000${tmp_pin} 0 0>"
+ env delete tmp_pinctrl tmp_bank tmp_pin tmp_phandle
+fi
+
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c7.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c7.dts
new file mode 100644
index 000000000000..f8c601550588
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c7.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+/ {
+ compatible = "rockchip,rk3399";
+ fragment@0 {
+ target-path = "/i2c@ff160000";
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c8.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c8.dts
new file mode 100644
index 000000000000..54bc8449eafd
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-i2c8.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+/ {
+ compatible = "rockchip,rk3399";
+ fragment@0 {
+ target-path = "/i2c@ff3e0000";
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-pcie-gen2.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-pcie-gen2.dts
new file mode 100644
index 000000000000..e8a51dca8f67
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-pcie-gen2.dts
@@ -0,0 +1,12 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rk3399";
+ fragment@0 {
+ target = <&pcie0>;
+ __overlay__ {
+ max-link-speed = <2>;
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-jedec-nor.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-jedec-nor.dts
new file mode 100644
index 000000000000..c4b1f36f9b09
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-jedec-nor.dts
@@ -0,0 +1,72 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rk3399";
+
+ fragment@0 {
+ target-path = "/aliases";
+ __overlay__ {
+ spi0 = "/spi@ff1c0000";
+ spi1 = "/spi@ff1d0000";
+ spi2 = "/spi@ff1e0000";
+ spi3 = "/spi@ff1f0000";
+ };
+ };
+
+ fragment@1 {
+ target = <&spi0>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ spiflash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ status = "disabled";
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&spi1>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ spiflash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ status = "disabled";
+ };
+ };
+ };
+
+ fragment@3 {
+ target = <&spi2>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ spiflash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ status = "disabled";
+ };
+ };
+ };
+
+ fragment@4 {
+ target = <&spi3>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ spiflash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ status = "disabled";
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-spidev.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-spidev.dts
new file mode 100644
index 000000000000..18e1423637cd
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-spi-spidev.dts
@@ -0,0 +1,72 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rk3399";
+
+ fragment@0 {
+ target-path = "/aliases";
+ __overlay__ {
+ spi0 = "/spi@ff1c0000";
+ spi1 = "/spi@ff1d0000";
+ spi2 = "/spi@ff1e0000";
+ spi3 = "/spi@ff1f0000";
+ };
+ };
+
+ fragment@1 {
+ target = <&spi0>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ spidev {
+ compatible = "spidev";
+ status = "disabled";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&spi1>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ spidev {
+ compatible = "spidev";
+ status = "disabled";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ };
+ };
+ };
+
+ fragment@3 {
+ target = <&spi2>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ spidev {
+ compatible = "spidev";
+ status = "disabled";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ };
+ };
+ };
+
+ fragment@4 {
+ target = <&spi3>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ spidev {
+ compatible = "spidev";
+ status = "disabled";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-uart4.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-uart4.dts
new file mode 100644
index 000000000000..305304ebcbf1
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-uart4.dts
@@ -0,0 +1,20 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rk3399";
+
+ fragment@0 {
+ target = <&spi1>;
+ __overlay__ {
+ status = "disabled";
+ };
+ };
+
+ fragment@1 {
+ target = <&uart4>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts
new file mode 100644
index 000000000000..bfbc16adcc9d
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-w1-gpio.dts
@@ -0,0 +1,20 @@
+// Definitions for w1-gpio module (without external pullup)
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rk3399";
+
+ fragment@0 {
+ target-path = "/";
+ __overlay__ {
+
+ w1: onewire@0 {
+ compatible = "w1-gpio";
+ pinctrl-names = "default";
+ gpios = <&gpio1 4 0 0xae>; // GPIO1_A4
+ status = "okay";
+ };
+ };
+ };
+};
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 8d72db5cdc5d..c775c207c770 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -69,6 +69,9 @@ obj-dirs := $(dir $(multi-objs) $(obj-y))
real-objs-y := $(foreach m, $(filter-out $(subdir-obj-y), $(obj-y)), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) $(extra-y)
real-objs-m := $(foreach m, $(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m)))
+# Overlay targets
+extra-y += $(dtbo-y) $(scr-y) $(dtbotxt-y)
+
# Add subdir path
extra-y := $(addprefix $(obj)/,$(extra-y))
--
Armbian

View File

@ -1,40 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas McKahan <tonymckahan@gmail.com>
Date: Sun, 17 Feb 2019 16:02:14 -0500
Subject: [ARCHEOLOGY] [ Rockchip64 ] patch r8152 driver to recognize 0x6010
devices
> X-Git-Archeology: - Revision 70f931c4b3bc57c43845f3e3f910da343ed61162: https://github.com/armbian/build/commit/70f931c4b3bc57c43845f3e3f910da343ed61162
> X-Git-Archeology: Date: Sun, 17 Feb 2019 16:02:14 -0500
> X-Git-Archeology: From: Thomas McKahan <tonymckahan@gmail.com>
> X-Git-Archeology: Subject: [ Rockchip64 ] patch r8152 driver to recognize 0x6010 devices
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
drivers/net/usb/r8152.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 10dd307593e8..db8b0510809b 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -4160,6 +4160,7 @@ static void r8152b_get_version(struct r8152 *tp)
tp->mii.supports_gmii = 1;
break;
case 0x5c30:
+ case 0x6010:
tp->version = RTL_VER_06;
tp->mii.supports_gmii = 1;
break;
--
Armbian

View File

@ -1,369 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Wrong-Code <47647430+Wrong-Code@users.noreply.github.com>
Date: Sun, 13 Oct 2019 12:41:28 +0200
Subject: [ARCHEOLOGY] Restored the inclusion of the DVB-USB dib0700 driver for
linux-rockchip64-default (#1593)
> X-Git-Archeology: > recovered message: > * UPSTREAM: media: rc: rename RC_TYPE_* to RC_PROTO_* and RC_BIT_* to RC_PROTO_BIT_*
> X-Git-Archeology: > recovered message: > Realigned the source code to the RC_TYPE* / RC_BIT_* refactoring
> X-Git-Archeology: > recovered message: > * Restored the inclusion of the DVB-USB dib0700 driver
> X-Git-Archeology: - Revision 7d0ad244ab0cb153b438cc62bcf981ecd4b105ad: https://github.com/armbian/build/commit/7d0ad244ab0cb153b438cc62bcf981ecd4b105ad
> X-Git-Archeology: Date: Sun, 13 Oct 2019 12:41:28 +0200
> X-Git-Archeology: From: Wrong-Code <47647430+Wrong-Code@users.noreply.github.com>
> X-Git-Archeology: Subject: Restored the inclusion of the DVB-USB dib0700 driver for linux-rockchip64-default (#1593)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
drivers/media/usb/dvb-usb/dib0700_devices.c | 146 +++++-----
1 file changed, 73 insertions(+), 73 deletions(-)
diff --git a/drivers/media/usb/dvb-usb/dib0700_devices.c b/drivers/media/usb/dvb-usb/dib0700_devices.c
index e1316c7b7c2e..980bfcdebed9 100644
--- a/drivers/media/usb/dvb-usb/dib0700_devices.c
+++ b/drivers/media/usb/dvb-usb/dib0700_devices.c
@@ -519,7 +519,7 @@ static u8 rc_request[] = { REQUEST_POLL_RC, 0 };
static int dib0700_rc_query_old_firmware(struct dvb_usb_device *d)
{
u8 key[4];
- enum rc_type protocol;
+ enum rc_proto protocol;
u32 scancode;
u8 toggle;
int i;
@@ -548,7 +548,7 @@ static int dib0700_rc_query_old_firmware(struct dvb_usb_device *d)
dib0700_rc_setup(d, NULL); /* reset ir sensor data to prevent false events */
switch (d->props.rc.core.protocol) {
- case RC_BIT_NEC:
+ case RC_PROTO_BIT_NEC:
/* NEC protocol sends repeat code as 0 0 0 FF */
if ((key[3-2] == 0x00) && (key[3-3] == 0x00) &&
(key[3] == 0xff)) {
@@ -556,14 +556,14 @@ static int dib0700_rc_query_old_firmware(struct dvb_usb_device *d)
return 0;
}
- protocol = RC_TYPE_NEC;
+ protocol = RC_PROTO_NEC;
scancode = RC_SCANCODE_NEC(key[3-2], key[3-3]);
toggle = 0;
break;
default:
/* RC-5 protocol changes toggle bit on new keypress */
- protocol = RC_TYPE_RC5;
+ protocol = RC_PROTO_RC5;
scancode = RC_SCANCODE_RC5(key[3-2], key[3-3]);
toggle = key[3-1];
break;
@@ -3895,9 +3895,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_interval = DEFAULT_RC_INTERVAL,
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -3935,9 +3935,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_interval = DEFAULT_RC_INTERVAL,
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4000,9 +4000,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_interval = DEFAULT_RC_INTERVAL,
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4045,9 +4045,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4126,9 +4126,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4171,9 +4171,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4228,9 +4228,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4294,9 +4294,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4343,9 +4343,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_NEC_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4412,9 +4412,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4448,9 +4448,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4524,9 +4524,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4568,9 +4568,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_NEC_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4617,9 +4617,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4654,9 +4654,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4691,9 +4691,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4728,9 +4728,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4765,9 +4765,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4802,9 +4802,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4853,9 +4853,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4888,9 +4888,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4925,9 +4925,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
}, { DIB0700_DEFAULT_DEVICE_PROPERTIES,
@@ -4963,9 +4963,9 @@ struct dvb_usb_device_properties dib0700_devices[] = {
.rc_codes = RC_MAP_DIB0700_RC5_TABLE,
.module_name = "dib0700",
.rc_query = dib0700_rc_query_old_firmware,
- .allowed_protos = RC_BIT_RC5 |
- RC_BIT_RC6_MCE |
- RC_BIT_NEC,
+ .allowed_protos = RC_PROTO_BIT_RC5 |
+ RC_PROTO_BIT_RC6_MCE |
+ RC_PROTO_BIT_NEC,
.change_protocol = dib0700_change_protocol,
},
},
--
Armbian

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,66 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Fri, 3 Jan 2020 11:37:00 +0100
Subject: [ARCHEOLOGY] Move rockchip64 legacy to most recent kernel. Tested
with standard https://github.com/armbian/autotests stress test on RockPro64
and Rock64.
> X-Git-Archeology: - Revision 42ecf1582f83241e18ce329193c5eac66fd244de: https://github.com/armbian/build/commit/42ecf1582f83241e18ce329193c5eac66fd244de
> X-Git-Archeology: Date: Fri, 03 Jan 2020 11:37:00 +0100
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Move rockchip64 legacy to most recent kernel. Tested with standard https://github.com/armbian/autotests stress test on RockPro64 and Rock64.
> X-Git-Archeology:
> X-Git-Archeology: - Revision 5597ecfe073a70e11a3d832ca210471217706a0f: https://github.com/armbian/build/commit/5597ecfe073a70e11a3d832ca210471217706a0f
> X-Git-Archeology: Date: Fri, 03 Jan 2020 11:42:56 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Move rockchip64 legacy to most recent kernel. Tested with standard https://github.com/armbian/autotests stress test on RockPro64 and Rock64. (#1714)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 17bb3b5075613e344faedc4093eee5ea145f1b2e: https://github.com/armbian/build/commit/17bb3b5075613e344faedc4093eee5ea145f1b2e
> X-Git-Archeology: Date: Sat, 04 Jan 2020 21:07:25 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Update RK3399 legacy to latest upstream kernel version (#1718)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
Makefile | 2 +-
net/core/sock.c | 6 ++----
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile
index 1843aa8b69e9..526311d417a7 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
VERSION = 4
PATCHLEVEL = 4
-SUBLEVEL = 204
+SUBLEVEL = 205
EXTRAVERSION =
NAME = Blurry Fish Butt
diff --git a/net/core/sock.c b/net/core/sock.c
index 72f54ca95ccd..8f2f5d497dc7 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -951,12 +951,10 @@ set_rcvbuf:
clear_bit(SOCK_PASSSEC, &sock->flags);
break;
case SO_MARK:
- if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)) {
+ if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN))
ret = -EPERM;
- } else if (val != sk->sk_mark) {
+ else
sk->sk_mark = val;
- sk_dst_reset(sk);
- }
break;
case SO_RXQ_OVFL:
--
Armbian

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,865 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Thu, 16 Jan 2020 13:26:38 +0100
Subject: [ARCHEOLOGY] Add upstream patches, need proper testing.
> X-Git-Archeology: - Revision 1e0e901ea0ebb3522b8f33e55f78731da45b6b7d: https://github.com/armbian/build/commit/1e0e901ea0ebb3522b8f33e55f78731da45b6b7d
> X-Git-Archeology: Date: Thu, 16 Jan 2020 13:26:38 +0100
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Add upstream patches, need proper testing.
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
Makefile | 2 +-
drivers/gpu/drm/drm_dp_mst_topology.c | 2 +-
drivers/gpu/drm/i915/intel_lrc.c | 14 ++++
drivers/hid/hid-core.c | 6 ++
drivers/hid/hid-input.c | 16 +++--
drivers/hid/uhid.c | 3 +-
drivers/input/input.c | 26 ++++---
drivers/net/can/mscan/mscan.c | 21 +++---
drivers/net/can/usb/gs_usb.c | 4 +-
drivers/net/wireless/mwifiex/pcie.c | 4 +-
drivers/net/wireless/mwifiex/sta_ioctl.c | 11 ++-
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c | 1 +
drivers/scsi/bfa/bfad_attr.c | 4 +-
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 1 +
drivers/staging/vt6656/device.h | 1 +
drivers/staging/vt6656/main_usb.c | 1 +
drivers/staging/vt6656/wcmd.c | 1 +
drivers/tty/serial/serial_core.c | 1 +
drivers/usb/chipidea/host.c | 4 +-
drivers/usb/core/config.c | 12 ++--
drivers/usb/musb/musb_core.c | 3 +
drivers/usb/musb/musbhsdma.c | 2 +-
drivers/usb/serial/option.c | 8 +++
drivers/usb/serial/usb-wwan.h | 1 +
drivers/usb/serial/usb_wwan.c | 4 ++
fs/char_dev.c | 2 +-
include/linux/can/dev.h | 34 ++++++++++
include/linux/kobject.h | 2 +
kernel/trace/trace_sched_wakeup.c | 4 +-
kernel/trace/trace_stack.c | 5 ++
lib/kobject.c | 5 +-
net/ipv4/netfilter/arp_tables.c | 27 +++++---
net/netfilter/ipset/ip_set_core.c | 3 +-
sound/usb/quirks.c | 1 +
34 files changed, 182 insertions(+), 54 deletions(-)
diff --git a/Makefile b/Makefile
index 09323c61a743..5bebd4aab804 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
VERSION = 4
PATCHLEVEL = 4
-SUBLEVEL = 209
+SUBLEVEL = 210
EXTRAVERSION =
NAME = Blurry Fish Butt
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index cd707b401b10..2cb924ffd5a3 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -272,7 +272,7 @@ static void drm_dp_encode_sideband_req(struct drm_dp_sideband_msg_req_body *req,
memcpy(&buf[idx], req->u.i2c_read.transactions[i].bytes, req->u.i2c_read.transactions[i].num_bytes);
idx += req->u.i2c_read.transactions[i].num_bytes;
- buf[idx] = (req->u.i2c_read.transactions[i].no_stop_bit & 0x1) << 5;
+ buf[idx] = (req->u.i2c_read.transactions[i].no_stop_bit & 0x1) << 4;
buf[idx] |= (req->u.i2c_read.transactions[i].i2c_transaction_delay & 0xf);
idx++;
}
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 7058f75c7b42..58b6d85c440a 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -1312,6 +1312,7 @@ static int gen9_init_indirectctx_bb(struct intel_engine_cs *ring,
int ret;
struct drm_device *dev = ring->dev;
uint32_t index = wa_ctx_start(wa_ctx, *offset, CACHELINE_DWORDS);
+ uint32_t scratch_addr;
/* WaDisableCtxRestoreArbitration:skl,bxt */
if ((IS_SKYLAKE(dev) && (INTEL_REVID(dev) <= SKL_REVID_D0)) ||
@@ -1324,6 +1325,19 @@ static int gen9_init_indirectctx_bb(struct intel_engine_cs *ring,
return ret;
index = ret;
+ /* WaClearSlmSpaceAtContextSwitch:skl,bxt,kbl,glk,cfl */
+ /* Actual scratch location is at 128 bytes offset */
+ scratch_addr = ring->scratch.gtt_offset + 2 * CACHELINE_BYTES;
+ wa_ctx_emit(batch, index, GFX_OP_PIPE_CONTROL(6));
+ wa_ctx_emit(batch, index, (PIPE_CONTROL_FLUSH_L3 |
+ PIPE_CONTROL_GLOBAL_GTT_IVB |
+ PIPE_CONTROL_CS_STALL |
+ PIPE_CONTROL_QW_WRITE));
+ wa_ctx_emit(batch, index, scratch_addr);
+ wa_ctx_emit(batch, index, 0);
+ wa_ctx_emit(batch, index, 0);
+ wa_ctx_emit(batch, index, 0);
+
/* Pad to end of cacheline */
while (index % CACHELINE_DWORDS)
wa_ctx_emit(batch, index, MI_NOOP);
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index bb7489621182..5c1f1c915efb 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -269,6 +269,12 @@ static int hid_add_field(struct hid_parser *parser, unsigned report_type, unsign
offset = report->size;
report->size += parser->global.report_size * parser->global.report_count;
+ /* Total size check: Allow for possible report index byte */
+ if (report->size > (HID_MAX_BUFFER_SIZE - 1) << 3) {
+ hid_err(parser->device, "report is too long\n");
+ return -1;
+ }
+
if (!parser->local.usage_index) /* Ignore padding fields */
return 0;
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index ee3c66c02043..3331bf8ad85e 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -994,9 +994,15 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
}
mapped:
- if (device->driver->input_mapped && device->driver->input_mapped(device,
- hidinput, field, usage, &bit, &max) < 0)
- goto ignore;
+ if (device->driver->input_mapped &&
+ device->driver->input_mapped(device, hidinput, field, usage,
+ &bit, &max) < 0) {
+ /*
+ * The driver indicated that no further generic handling
+ * of the usage is desired.
+ */
+ return;
+ }
set_bit(usage->type, input->evbit);
@@ -1055,9 +1061,11 @@ mapped:
set_bit(MSC_SCAN, input->mscbit);
}
-ignore:
return;
+ignore:
+ usage->type = 0;
+ usage->code = 0;
}
void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value)
diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c
index 4ee61e0ebd7e..5b738ca01a2f 100644
--- a/drivers/hid/uhid.c
+++ b/drivers/hid/uhid.c
@@ -26,6 +26,7 @@
#include <linux/uhid.h>
#include <linux/wait.h>
#include <linux/uaccess.h>
+#include <linux/eventpoll.h>
#define UHID_NAME "uhid"
#define UHID_BUFSIZE 32
@@ -787,7 +788,7 @@ static unsigned int uhid_char_poll(struct file *file, poll_table *wait)
if (uhid->head != uhid->tail)
return POLLIN | POLLRDNORM;
- return 0;
+ return EPOLLOUT | EPOLLWRNORM;
}
static const struct file_operations uhid_fops = {
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 880605959aa6..6d9f58a446fa 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -851,16 +851,18 @@ static int input_default_setkeycode(struct input_dev *dev,
}
}
- __clear_bit(*old_keycode, dev->keybit);
- __set_bit(ke->keycode, dev->keybit);
-
- for (i = 0; i < dev->keycodemax; i++) {
- if (input_fetch_keycode(dev, i) == *old_keycode) {
- __set_bit(*old_keycode, dev->keybit);
- break; /* Setting the bit twice is useless, so break */
+ if (*old_keycode <= KEY_MAX) {
+ __clear_bit(*old_keycode, dev->keybit);
+ for (i = 0; i < dev->keycodemax; i++) {
+ if (input_fetch_keycode(dev, i) == *old_keycode) {
+ __set_bit(*old_keycode, dev->keybit);
+ /* Setting the bit twice is useless, so break */
+ break;
+ }
}
}
+ __set_bit(ke->keycode, dev->keybit);
return 0;
}
@@ -916,9 +918,13 @@ int input_set_keycode(struct input_dev *dev,
* Simulate keyup event if keycode is not present
* in the keymap anymore
*/
- if (test_bit(EV_KEY, dev->evbit) &&
- !is_event_supported(old_keycode, dev->keybit, KEY_MAX) &&
- __test_and_clear_bit(old_keycode, dev->key)) {
+ if (old_keycode > KEY_MAX) {
+ dev_warn(dev->dev.parent ?: &dev->dev,
+ "%s: got too big old keycode %#x\n",
+ __func__, old_keycode);
+ } else if (test_bit(EV_KEY, dev->evbit) &&
+ !is_event_supported(old_keycode, dev->keybit, KEY_MAX) &&
+ __test_and_clear_bit(old_keycode, dev->key)) {
struct input_value vals[] = {
{ EV_KEY, old_keycode, 0 },
input_value_sync
diff --git a/drivers/net/can/mscan/mscan.c b/drivers/net/can/mscan/mscan.c
index e36b7400d5cc..d57af6a13baf 100644
--- a/drivers/net/can/mscan/mscan.c
+++ b/drivers/net/can/mscan/mscan.c
@@ -392,13 +392,12 @@ static int mscan_rx_poll(struct napi_struct *napi, int quota)
struct net_device *dev = napi->dev;
struct mscan_regs __iomem *regs = priv->reg_base;
struct net_device_stats *stats = &dev->stats;
- int npackets = 0;
- int ret = 1;
+ int work_done = 0;
struct sk_buff *skb;
struct can_frame *frame;
u8 canrflg;
- while (npackets < quota) {
+ while (work_done < quota) {
canrflg = in_8(&regs->canrflg);
if (!(canrflg & (MSCAN_RXF | MSCAN_ERR_IF)))
break;
@@ -419,18 +418,18 @@ static int mscan_rx_poll(struct napi_struct *napi, int quota)
stats->rx_packets++;
stats->rx_bytes += frame->can_dlc;
- npackets++;
+ work_done++;
netif_receive_skb(skb);
}
- if (!(in_8(&regs->canrflg) & (MSCAN_RXF | MSCAN_ERR_IF))) {
- napi_complete(&priv->napi);
- clear_bit(F_RX_PROGRESS, &priv->flags);
- if (priv->can.state < CAN_STATE_BUS_OFF)
- out_8(&regs->canrier, priv->shadow_canrier);
- ret = 0;
+ if (work_done < quota) {
+ if (likely(napi_complete_done(&priv->napi, work_done))) {
+ clear_bit(F_RX_PROGRESS, &priv->flags);
+ if (priv->can.state < CAN_STATE_BUS_OFF)
+ out_8(&regs->canrier, priv->shadow_canrier);
+ }
}
- return ret;
+ return work_done;
}
static irqreturn_t mscan_isr(int irq, void *dev_id)
diff --git a/drivers/net/can/usb/gs_usb.c b/drivers/net/can/usb/gs_usb.c
index 6982ab8777b7..3e965b00bc09 100644
--- a/drivers/net/can/usb/gs_usb.c
+++ b/drivers/net/can/usb/gs_usb.c
@@ -847,7 +847,7 @@ static int gs_usb_probe(struct usb_interface *intf, const struct usb_device_id *
GS_USB_BREQ_HOST_FORMAT,
USB_DIR_OUT|USB_TYPE_VENDOR|USB_RECIP_INTERFACE,
1,
- intf->altsetting[0].desc.bInterfaceNumber,
+ intf->cur_altsetting->desc.bInterfaceNumber,
hconf,
sizeof(*hconf),
1000);
@@ -870,7 +870,7 @@ static int gs_usb_probe(struct usb_interface *intf, const struct usb_device_id *
GS_USB_BREQ_DEVICE_CONFIG,
USB_DIR_IN|USB_TYPE_VENDOR|USB_RECIP_INTERFACE,
1,
- intf->altsetting[0].desc.bInterfaceNumber,
+ intf->cur_altsetting->desc.bInterfaceNumber,
dconf,
sizeof(*dconf),
1000);
diff --git a/drivers/net/wireless/mwifiex/pcie.c b/drivers/net/wireless/mwifiex/pcie.c
index 4c0a65692899..c410ef92b084 100644
--- a/drivers/net/wireless/mwifiex/pcie.c
+++ b/drivers/net/wireless/mwifiex/pcie.c
@@ -921,8 +921,10 @@ static int mwifiex_pcie_alloc_cmdrsp_buf(struct mwifiex_adapter *adapter)
}
skb_put(skb, MWIFIEX_UPLD_SIZE);
if (mwifiex_map_pci_memory(adapter, skb, MWIFIEX_UPLD_SIZE,
- PCI_DMA_FROMDEVICE))
+ PCI_DMA_FROMDEVICE)) {
+ kfree_skb(skb);
return -1;
+ }
card->cmdrsp_buf = skb;
diff --git a/drivers/net/wireless/mwifiex/sta_ioctl.c b/drivers/net/wireless/mwifiex/sta_ioctl.c
index 992f9feaea92..a13c6f1712b3 100644
--- a/drivers/net/wireless/mwifiex/sta_ioctl.c
+++ b/drivers/net/wireless/mwifiex/sta_ioctl.c
@@ -229,6 +229,14 @@ static int mwifiex_process_country_ie(struct mwifiex_private *priv,
"11D: skip setting domain info in FW\n");
return 0;
}
+
+ if (country_ie_len >
+ (IEEE80211_COUNTRY_STRING_LEN + MWIFIEX_MAX_TRIPLET_802_11D)) {
+ mwifiex_dbg(priv->adapter, ERROR,
+ "11D: country_ie_len overflow!, deauth AP\n");
+ return -EINVAL;
+ }
+
memcpy(priv->adapter->country_code, &country_ie[2], 2);
domain_info->country_code[0] = country_ie[2];
@@ -272,7 +280,8 @@ int mwifiex_bss_start(struct mwifiex_private *priv, struct cfg80211_bss *bss,
priv->scan_block = false;
if (bss) {
- mwifiex_process_country_ie(priv, bss);
+ if (mwifiex_process_country_ie(priv, bss))
+ return -EINVAL;
/* Allocate and fill new bss descriptor */
bss_desc = kzalloc(sizeof(struct mwifiex_bssdescriptor),
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
index 52def14d55d3..4d94bb4e95f8 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c
@@ -5135,6 +5135,7 @@ static int rtl8xxxu_submit_int_urb(struct ieee80211_hw *hw)
ret = usb_submit_urb(urb, GFP_KERNEL);
if (ret) {
usb_unanchor_urb(urb);
+ usb_free_urb(urb);
goto error;
}
diff --git a/drivers/scsi/bfa/bfad_attr.c b/drivers/scsi/bfa/bfad_attr.c
index 6d21bc6a7713..e37ab2425e1a 100644
--- a/drivers/scsi/bfa/bfad_attr.c
+++ b/drivers/scsi/bfa/bfad_attr.c
@@ -282,8 +282,10 @@ bfad_im_get_stats(struct Scsi_Host *shost)
rc = bfa_port_get_stats(BFA_FCPORT(&bfad->bfa),
fcstats, bfad_hcb_comp, &fcomp);
spin_unlock_irqrestore(&bfad->bfad_lock, flags);
- if (rc != BFA_STATUS_OK)
+ if (rc != BFA_STATUS_OK) {
+ kfree(fcstats);
return NULL;
+ }
wait_for_completion(&fcomp.comp);
diff --git a/drivers/staging/rtl8188eu/os_dep/usb_intf.c b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
index 5c802c2cb984..f7ed06a1a22e 100644
--- a/drivers/staging/rtl8188eu/os_dep/usb_intf.c
+++ b/drivers/staging/rtl8188eu/os_dep/usb_intf.c
@@ -49,6 +49,7 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
{USB_DEVICE(0x2001, 0x3311)}, /* DLink GO-USB-N150 REV B1 */
{USB_DEVICE(0x2001, 0x331B)}, /* D-Link DWA-121 rev B1 */
{USB_DEVICE(0x2357, 0x010c)}, /* TP-Link TL-WN722N v2 */
+ {USB_DEVICE(0x2357, 0x0111)}, /* TP-Link TL-WN727N v5.21 */
{USB_DEVICE(0x0df6, 0x0076)}, /* Sitecom N150 v2 */
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0xffef)}, /* Rosewill RNX-N150NUB */
{} /* Terminating entry */
diff --git a/drivers/staging/vt6656/device.h b/drivers/staging/vt6656/device.h
index dec36f296f3d..ba362a883016 100644
--- a/drivers/staging/vt6656/device.h
+++ b/drivers/staging/vt6656/device.h
@@ -272,6 +272,7 @@ struct vnt_private {
u8 mac_hw;
/* netdev */
struct usb_device *usb;
+ struct usb_interface *intf;
u64 tsf_time;
u8 rx_rate;
diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
index f35ee85f61b5..668fcd3a0bfe 100644
--- a/drivers/staging/vt6656/main_usb.c
+++ b/drivers/staging/vt6656/main_usb.c
@@ -979,6 +979,7 @@ vt6656_probe(struct usb_interface *intf, const struct usb_device_id *id)
priv = hw->priv;
priv->hw = hw;
priv->usb = udev;
+ priv->intf = intf;
vnt_set_options(priv);
diff --git a/drivers/staging/vt6656/wcmd.c b/drivers/staging/vt6656/wcmd.c
index 3cbf4791bac1..de541b85f8a5 100644
--- a/drivers/staging/vt6656/wcmd.c
+++ b/drivers/staging/vt6656/wcmd.c
@@ -113,6 +113,7 @@ void vnt_run_command(struct work_struct *work)
if (vnt_init(priv)) {
/* If fail all ends TODO retry */
dev_err(&priv->usb->dev, "failed to start\n");
+ usb_set_intfdata(priv->intf, NULL);
ieee80211_free_hw(priv->hw);
return;
}
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index aab71ad77a17..b05c830956c1 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -2676,6 +2676,7 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *uport)
if (uport->cons && uport->dev)
of_console_check(uport->dev->of_node, uport->cons->name, uport->line);
+ tty_port_link_device(port, drv->tty_driver, uport->line);
uart_configure_port(drv, state, uport);
num_groups = 2;
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c
index 3d24304405b3..496788584034 100644
--- a/drivers/usb/chipidea/host.c
+++ b/drivers/usb/chipidea/host.c
@@ -37,6 +37,7 @@ static int (*orig_bus_suspend)(struct usb_hcd *hcd);
struct ehci_ci_priv {
struct regulator *reg_vbus;
+ bool enabled;
};
static int ehci_ci_portpower(struct usb_hcd *hcd, int portnum, bool enable)
@@ -48,7 +49,7 @@ static int ehci_ci_portpower(struct usb_hcd *hcd, int portnum, bool enable)
int ret = 0;
int port = HCS_N_PORTS(ehci->hcs_params);
- if (priv->reg_vbus) {
+ if (priv->reg_vbus && enable != priv->enabled) {
if (port > 1) {
dev_warn(dev,
"Not support multi-port regulator control\n");
@@ -64,6 +65,7 @@ static int ehci_ci_portpower(struct usb_hcd *hcd, int portnum, bool enable)
enable ? "enable" : "disable", ret);
return ret;
}
+ priv->enabled = enable;
}
if (enable && (ci->platdata->phy_mode == USBPHY_INTERFACE_MODE_HSIC)) {
diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c
index d650ce3bc556..570a76d91250 100644
--- a/drivers/usb/core/config.c
+++ b/drivers/usb/core/config.c
@@ -358,12 +358,16 @@ static int usb_parse_endpoint(struct device *ddev, int cfgno,
endpoint->desc.wMaxPacketSize = cpu_to_le16(8);
}
- /* Validate the wMaxPacketSize field */
+ /*
+ * Validate the wMaxPacketSize field.
+ * Some devices have isochronous endpoints in altsetting 0;
+ * the USB-2 spec requires such endpoints to have wMaxPacketSize = 0
+ * (see the end of section 5.6.3), so don't warn about them.
+ */
maxp = usb_endpoint_maxp(&endpoint->desc);
- if (maxp == 0) {
- dev_warn(ddev, "config %d interface %d altsetting %d endpoint 0x%X has wMaxPacketSize 0, skipping\n",
+ if (maxp == 0 && !(usb_endpoint_xfer_isoc(d) && asnum == 0)) {
+ dev_warn(ddev, "config %d interface %d altsetting %d endpoint 0x%X has invalid wMaxPacketSize 0\n",
cfgno, inum, asnum, d->bEndpointAddress);
- goto skip_to_next_endpoint_or_interface_descriptor;
}
/* Find the highest legal maxpacket size for this endpoint */
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index 3a81b4c4d0dd..c4e26f9f4ec5 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -2132,6 +2132,9 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
musb_platform_disable(musb);
musb_generic_disable(musb);
+ /* MUSB_POWER_SOFTCONN might be already set, JZ4740 does this. */
+ musb_writeb(musb->mregs, MUSB_POWER, 0);
+
/* Init IRQ workqueue before request_irq */
INIT_WORK(&musb->irq_work, musb_irq_work);
INIT_DELAYED_WORK(&musb->deassert_reset_work, musb_deassert_reset);
diff --git a/drivers/usb/musb/musbhsdma.c b/drivers/usb/musb/musbhsdma.c
index 7539c3188ffc..ffcc704165f7 100644
--- a/drivers/usb/musb/musbhsdma.c
+++ b/drivers/usb/musb/musbhsdma.c
@@ -398,7 +398,7 @@ struct dma_controller *musbhs_dma_controller_create(struct musb *musb,
controller->controller.channel_abort = dma_channel_abort;
if (request_irq(irq, dma_controller_irq, 0,
- dev_name(musb->controller), &controller->controller)) {
+ dev_name(musb->controller), controller)) {
dev_err(dev, "request_irq %d failed!\n", irq);
musb_dma_controller_destroy(&controller->controller);
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 2d302ff62cc1..5ea4cd10abc7 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -566,6 +566,9 @@ static void option_instat_callback(struct urb *urb);
/* Interface is reserved */
#define RSVD(ifnum) ((BIT(ifnum) & 0xff) << 0)
+/* Device needs ZLP */
+#define ZLP BIT(17)
+
static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
@@ -1193,6 +1196,8 @@ static const struct usb_device_id option_ids[] = {
.driver_info = NCTRL(0) | RSVD(1) },
{ USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1901, 0xff), /* Telit LN940 (MBIM) */
.driver_info = NCTRL(0) },
+ { USB_DEVICE(TELIT_VENDOR_ID, 0x9010), /* Telit SBL FN980 flashing device */
+ .driver_info = NCTRL(0) | ZLP },
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */
{ USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x0002, 0xff, 0xff, 0xff),
.driver_info = RSVD(1) },
@@ -2097,6 +2102,9 @@ static int option_attach(struct usb_serial *serial)
if (!(device_flags & NCTRL(iface_desc->bInterfaceNumber)))
data->use_send_setup = 1;
+ if (device_flags & ZLP)
+ data->use_zlp = 1;
+
spin_lock_init(&data->susp_lock);
usb_set_serial_data(serial, data);
diff --git a/drivers/usb/serial/usb-wwan.h b/drivers/usb/serial/usb-wwan.h
index 44b25c08c68a..1d0e28538346 100644
--- a/drivers/usb/serial/usb-wwan.h
+++ b/drivers/usb/serial/usb-wwan.h
@@ -35,6 +35,7 @@ struct usb_wwan_intf_private {
spinlock_t susp_lock;
unsigned int suspended:1;
unsigned int use_send_setup:1;
+ unsigned int use_zlp:1;
int in_flight;
unsigned int open_ports;
void *private;
diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c
index be9cb61b4d19..485bad73b6ed 100644
--- a/drivers/usb/serial/usb_wwan.c
+++ b/drivers/usb/serial/usb_wwan.c
@@ -495,6 +495,7 @@ static struct urb *usb_wwan_setup_urb(struct usb_serial_port *port,
void (*callback) (struct urb *))
{
struct usb_serial *serial = port->serial;
+ struct usb_wwan_intf_private *intfdata = usb_get_serial_data(serial);
struct urb *urb;
urb = usb_alloc_urb(0, GFP_KERNEL); /* No ISO */
@@ -505,6 +506,9 @@ static struct urb *usb_wwan_setup_urb(struct usb_serial_port *port,
usb_sndbulkpipe(serial->dev, endpoint) | dir,
buf, len, callback, ctx);
+ if (intfdata->use_zlp && dir == USB_DIR_OUT)
+ urb->transfer_flags |= URB_ZERO_PACKET;
+
return urb;
}
diff --git a/fs/char_dev.c b/fs/char_dev.c
index 73b4625f5dd2..9154a2d7b195 100644
--- a/fs/char_dev.c
+++ b/fs/char_dev.c
@@ -332,7 +332,7 @@ static struct kobject *cdev_get(struct cdev *p)
if (owner && !try_module_get(owner))
return NULL;
- kobj = kobject_get(&p->kobj);
+ kobj = kobject_get_unless_zero(&p->kobj);
if (!kobj)
module_put(owner);
return kobj;
diff --git a/include/linux/can/dev.h b/include/linux/can/dev.h
index f7178f44825b..d2a497950639 100644
--- a/include/linux/can/dev.h
+++ b/include/linux/can/dev.h
@@ -17,6 +17,7 @@
#include <linux/can/error.h>
#include <linux/can/led.h>
#include <linux/can/netlink.h>
+#include <linux/can/skb.h>
#include <linux/netdevice.h>
/*
@@ -81,6 +82,36 @@ struct can_priv {
#define get_can_dlc(i) (min_t(__u8, (i), CAN_MAX_DLC))
#define get_canfd_dlc(i) (min_t(__u8, (i), CANFD_MAX_DLC))
+/* Check for outgoing skbs that have not been created by the CAN subsystem */
+static inline bool can_skb_headroom_valid(struct net_device *dev,
+ struct sk_buff *skb)
+{
+ /* af_packet creates a headroom of HH_DATA_MOD bytes which is fine */
+ if (WARN_ON_ONCE(skb_headroom(skb) < sizeof(struct can_skb_priv)))
+ return false;
+
+ /* af_packet does not apply CAN skb specific settings */
+ if (skb->ip_summed == CHECKSUM_NONE) {
+ /* init headroom */
+ can_skb_prv(skb)->ifindex = dev->ifindex;
+ can_skb_prv(skb)->skbcnt = 0;
+
+ skb->ip_summed = CHECKSUM_UNNECESSARY;
+
+ /* preform proper loopback on capable devices */
+ if (dev->flags & IFF_ECHO)
+ skb->pkt_type = PACKET_LOOPBACK;
+ else
+ skb->pkt_type = PACKET_HOST;
+
+ skb_reset_mac_header(skb);
+ skb_reset_network_header(skb);
+ skb_reset_transport_header(skb);
+ }
+
+ return true;
+}
+
/* Drop a given socketbuffer if it does not contain a valid CAN frame. */
static inline bool can_dropped_invalid_skb(struct net_device *dev,
struct sk_buff *skb)
@@ -98,6 +129,9 @@ static inline bool can_dropped_invalid_skb(struct net_device *dev,
} else
goto inval_skb;
+ if (!can_skb_headroom_valid(dev, skb))
+ goto inval_skb;
+
return false;
inval_skb:
diff --git a/include/linux/kobject.h b/include/linux/kobject.h
index 5957c6a3fd7f..d9d4485ebad2 100644
--- a/include/linux/kobject.h
+++ b/include/linux/kobject.h
@@ -108,6 +108,8 @@ extern int __must_check kobject_rename(struct kobject *, const char *new_name);
extern int __must_check kobject_move(struct kobject *, struct kobject *);
extern struct kobject *kobject_get(struct kobject *kobj);
+extern struct kobject * __must_check kobject_get_unless_zero(
+ struct kobject *kobj);
extern void kobject_put(struct kobject *kobj);
extern const void *kobject_namespace(struct kobject *kobj);
diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c
index 9d4399b553a3..6403f45da9d5 100644
--- a/kernel/trace/trace_sched_wakeup.c
+++ b/kernel/trace/trace_sched_wakeup.c
@@ -625,7 +625,7 @@ static void start_wakeup_tracer(struct trace_array *tr)
if (ret) {
pr_info("wakeup trace: Couldn't activate tracepoint"
" probe to kernel_sched_migrate_task\n");
- return;
+ goto fail_deprobe_sched_switch;
}
wakeup_reset(tr);
@@ -643,6 +643,8 @@ static void start_wakeup_tracer(struct trace_array *tr)
printk(KERN_ERR "failed to start wakeup tracer\n");
return;
+fail_deprobe_sched_switch:
+ unregister_trace_sched_switch(probe_wakeup_sched_switch, NULL);
fail_deprobe_wake_new:
unregister_trace_sched_wakeup_new(probe_wakeup, NULL);
fail_deprobe:
diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
index 202df6cffcca..f08ec7c6f9e0 100644
--- a/kernel/trace/trace_stack.c
+++ b/kernel/trace/trace_stack.c
@@ -197,6 +197,11 @@ check_stack(unsigned long ip, unsigned long *stack)
local_irq_restore(flags);
}
+/* Some archs may not define MCOUNT_INSN_SIZE */
+#ifndef MCOUNT_INSN_SIZE
+# define MCOUNT_INSN_SIZE 0
+#endif
+
static void
stack_trace_call(unsigned long ip, unsigned long parent_ip,
struct ftrace_ops *op, struct pt_regs *pt_regs)
diff --git a/lib/kobject.c b/lib/kobject.c
index 35d490b02cdd..cebbe79d2c65 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -599,12 +599,15 @@ struct kobject *kobject_get(struct kobject *kobj)
}
EXPORT_SYMBOL(kobject_get);
-static struct kobject * __must_check kobject_get_unless_zero(struct kobject *kobj)
+struct kobject * __must_check kobject_get_unless_zero(struct kobject *kobj)
{
+ if (!kobj)
+ return NULL;
if (!kref_get_unless_zero(&kobj->kref))
kobj = NULL;
return kobj;
}
+EXPORT_SYMBOL(kobject_get_unless_zero);
/*
* kobject_cleanup - free kobject resources.
diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c
index cbe630aab44a..574697326ebc 100644
--- a/net/ipv4/netfilter/arp_tables.c
+++ b/net/ipv4/netfilter/arp_tables.c
@@ -488,11 +488,12 @@ next:
return 1;
}
-static inline int check_target(struct arpt_entry *e, const char *name)
+static int check_target(struct arpt_entry *e, struct net *net, const char *name)
{
struct xt_entry_target *t = arpt_get_target(e);
int ret;
struct xt_tgchk_param par = {
+ .net = net,
.table = name,
.entryinfo = e,
.target = t->u.kernel.target,
@@ -510,8 +511,9 @@ static inline int check_target(struct arpt_entry *e, const char *name)
return 0;
}
-static inline int
-find_check_entry(struct arpt_entry *e, const char *name, unsigned int size,
+static int
+find_check_entry(struct arpt_entry *e, struct net *net, const char *name,
+ unsigned int size,
struct xt_percpu_counter_alloc_state *alloc_state)
{
struct xt_entry_target *t;
@@ -531,7 +533,7 @@ find_check_entry(struct arpt_entry *e, const char *name, unsigned int size,
}
t->u.kernel.target = target;
- ret = check_target(e, name);
+ ret = check_target(e, net, name);
if (ret)
goto err;
return 0;
@@ -632,7 +634,9 @@ static inline void cleanup_entry(struct arpt_entry *e)
/* Checks and translates the user-supplied table segment (held in
* newinfo).
*/
-static int translate_table(struct xt_table_info *newinfo, void *entry0,
+static int translate_table(struct net *net,
+ struct xt_table_info *newinfo,
+ void *entry0,
const struct arpt_replace *repl)
{
struct xt_percpu_counter_alloc_state alloc_state = { 0 };
@@ -709,7 +713,7 @@ static int translate_table(struct xt_table_info *newinfo, void *entry0,
/* Finally, each sanity check must pass */
i = 0;
xt_entry_foreach(iter, entry0, newinfo->size) {
- ret = find_check_entry(iter, repl->name, repl->size,
+ ret = find_check_entry(iter, net, repl->name, repl->size,
&alloc_state);
if (ret != 0)
break;
@@ -1114,7 +1118,7 @@ static int do_replace(struct net *net, const void __user *user,
goto free_newinfo;
}
- ret = translate_table(newinfo, loc_cpu_entry, &tmp);
+ ret = translate_table(net, newinfo, loc_cpu_entry, &tmp);
if (ret != 0)
goto free_newinfo;
@@ -1301,7 +1305,8 @@ compat_copy_entry_from_user(struct compat_arpt_entry *e, void **dstptr,
}
}
-static int translate_compat_table(struct xt_table_info **pinfo,
+static int translate_compat_table(struct net *net,
+ struct xt_table_info **pinfo,
void **pentry0,
const struct compat_arpt_replace *compatr)
{
@@ -1371,7 +1376,7 @@ static int translate_compat_table(struct xt_table_info **pinfo,
repl.num_counters = 0;
repl.counters = NULL;
repl.size = newinfo->size;
- ret = translate_table(newinfo, entry1, &repl);
+ ret = translate_table(net, newinfo, entry1, &repl);
if (ret)
goto free_newinfo;
@@ -1426,7 +1431,7 @@ static int compat_do_replace(struct net *net, void __user *user,
goto free_newinfo;
}
- ret = translate_compat_table(&newinfo, &loc_cpu_entry, &tmp);
+ ret = translate_compat_table(net, &newinfo, &loc_cpu_entry, &tmp);
if (ret != 0)
goto free_newinfo;
@@ -1696,7 +1701,7 @@ struct xt_table *arpt_register_table(struct net *net,
loc_cpu_entry = newinfo->entries;
memcpy(loc_cpu_entry, repl->entries, repl->size);
- ret = translate_table(newinfo, loc_cpu_entry, repl);
+ ret = translate_table(net, newinfo, loc_cpu_entry, repl);
duprintf("arpt_register_table: translate table gives %d\n", ret);
if (ret != 0)
goto out_free;
diff --git a/net/netfilter/ipset/ip_set_core.c b/net/netfilter/ipset/ip_set_core.c
index caa26184f7e3..0583e2491770 100644
--- a/net/netfilter/ipset/ip_set_core.c
+++ b/net/netfilter/ipset/ip_set_core.c
@@ -1619,6 +1619,7 @@ ip_set_utest(struct sock *ctnl, struct sk_buff *skb,
struct ip_set *set;
struct nlattr *tb[IPSET_ATTR_ADT_MAX + 1] = {};
int ret = 0;
+ u32 lineno;
if (unlikely(protocol_failed(attr) ||
!attr[IPSET_ATTR_SETNAME] ||
@@ -1635,7 +1636,7 @@ ip_set_utest(struct sock *ctnl, struct sk_buff *skb,
return -IPSET_ERR_PROTOCOL;
rcu_read_lock_bh();
- ret = set->variant->uadt(set, tb, IPSET_TEST, NULL, 0, 0);
+ ret = set->variant->uadt(set, tb, IPSET_TEST, &lineno, 0, 0);
rcu_read_unlock_bh();
/* Userspace can't trigger element to be re-added */
if (ret == -EAGAIN)
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index a810dd94ec98..5fb0b02135a7 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1142,6 +1142,7 @@ bool snd_usb_get_sample_rate_quirk(struct snd_usb_audio *chip)
case USB_ID(0x04D8, 0xFEEA): /* Benchmark DAC1 Pre */
case USB_ID(0x0556, 0x0014): /* Phoenix Audio TMX320VC */
case USB_ID(0x05A3, 0x9420): /* ELP HD USB Camera */
+ case USB_ID(0x05a7, 0x1020): /* Bose Companion 5 */
#ifdef CONFIG_HID_RKVR
case USB_ID(0x071B, 0x3205): /* RockChip NanoC VR */
#endif
--
Armbian

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,47 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Gauthier Provost <gauthier@kobol.io>
Date: Tue, 23 Mar 2021 08:00:10 +0100
Subject: [ARCHEOLOGY] Re-enable network checksum TX offload on rockchip64
family (#2623)
> X-Git-Archeology: > recovered message: > * Re-enable network checksum TX offload on rockchip64 family
> X-Git-Archeology: > recovered message: > * Adjust gmac PBL setting for rk3399 legacy to fix network issues with MTU 1500
> X-Git-Archeology: > recovered message: > * Adjust gmac PBL setting for rk3328 in rockchip64-legacy to fix network issues with MTU 1500
> X-Git-Archeology: > recovered message: > Co-authored-by: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: - Revision 5e69351b3dc05829133e893f6efe575ef58c7866: https://github.com/armbian/build/commit/5e69351b3dc05829133e893f6efe575ef58c7866
> X-Git-Archeology: Date: Tue, 23 Mar 2021 08:00:10 +0100
> X-Git-Archeology: From: Gauthier Provost <gauthier@kobol.io>
> X-Git-Archeology: Subject: Re-enable network checksum TX offload on rockchip64 family (#2623)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index ac71ce493833..3ebdc6bd2c0c 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -1301,6 +1301,7 @@
"pclk_mac";
resets = <&cru SRST_GMAC2IO_A>;
reset-names = "stmmaceth";
+ snps,pbl = <0x4>;
status = "disabled";
};
@@ -1324,6 +1325,7 @@
phy-is-integrated;
pinctrl-names = "default";
pinctrl-0 = <&fephyled_rxm1 &fephyled_linkm1>;
+ snps,pbl = <0x4>;
status = "disabled";
};
--
Armbian

View File

@ -1,39 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Gauthier Provost <gauthier@kobol.io>
Date: Tue, 23 Mar 2021 08:00:10 +0100
Subject: [ARCHEOLOGY] Re-enable network checksum TX offload on rockchip64
family (#2623)
> X-Git-Archeology: > recovered message: > * Re-enable network checksum TX offload on rockchip64 family
> X-Git-Archeology: > recovered message: > * Adjust gmac PBL setting for rk3399 legacy to fix network issues with MTU 1500
> X-Git-Archeology: > recovered message: > * Adjust gmac PBL setting for rk3328 in rockchip64-legacy to fix network issues with MTU 1500
> X-Git-Archeology: > recovered message: > Co-authored-by: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: - Revision 5e69351b3dc05829133e893f6efe575ef58c7866: https://github.com/armbian/build/commit/5e69351b3dc05829133e893f6efe575ef58c7866
> X-Git-Archeology: Date: Tue, 23 Mar 2021 08:00:10 +0100
> X-Git-Archeology: From: Gauthier Provost <gauthier@kobol.io>
> X-Git-Archeology: Subject: Re-enable network checksum TX offload on rockchip64 family (#2623)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
index 0125fc6e2731..e8b26881c506 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi
@@ -286,6 +286,7 @@
resets = <&cru SRST_A_GMAC>;
reset-names = "stmmaceth";
rockchip,grf = <&grf>;
+ snps,pbl = <0x4>;
status = "disabled";
};
--
Armbian

View File

@ -1,59 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
Date: Thu, 17 Aug 2017 20:00:34 +0300
Subject: [ARCHEOLOGY] Set MAC addresses for Rock64 from armbianEnv.txt
> X-Git-Archeology: > recovered message: > Currently rockchip-cpuinfo driver reads SoC serial as all zeroes due to
> X-Git-Archeology: > recovered message: > either a bug, hardware limitation or serial not flashed to eFuses
> X-Git-Archeology: - Revision d5c6bf69db29fd8cd0b929aa15d7fc056cb02441: https://github.com/armbian/build/commit/d5c6bf69db29fd8cd0b929aa15d7fc056cb02441
> X-Git-Archeology: Date: Thu, 17 Aug 2017 20:00:34 +0300
> X-Git-Archeology: From: zador-blood-stained <zador-blood-stained@users.noreply.github.com>
> X-Git-Archeology: Subject: Set MAC addresses for Rock64 from armbianEnv.txt
> X-Git-Archeology:
> X-Git-Archeology: - Revision 62e07d2ccad712e4c3448fbc56a0d417637d7646: https://github.com/armbian/build/commit/62e07d2ccad712e4c3448fbc56a0d417637d7646
> X-Git-Archeology: Date: Sun, 27 Aug 2017 22:52:05 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: RK3328 remove deprecated patches, config update
> X-Git-Archeology:
> X-Git-Archeology: - Revision c63b2129f64a741d71b30bc7bf3bb6ede98de6fb: https://github.com/armbian/build/commit/c63b2129f64a741d71b30bc7bf3bb6ede98de6fb
> X-Git-Archeology: Date: Sun, 01 Jul 2018 13:55:11 +0000
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Lock RK3328 to last known working tag. Thanks for idea/tip to @markh-de
> X-Git-Archeology:
> X-Git-Archeology: - Revision 41b589372f2c1a8450033db78f3d8ed9db1b2196: https://github.com/armbian/build/commit/41b589372f2c1a8450033db78f3d8ed9db1b2196
> X-Git-Archeology: Date: Sun, 26 Aug 2018 14:14:14 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Creating new family rockchip64. 3288 and 3399 was merged in, except Nanopi which stays in RK3399 family with sources attached to FA repository until we manage to join that in. Enabled Nanopc T4, Nanopi M4, Renegade. Tested on Rock64 and Nanopc T4.
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 8f39efce33cc..48a6c74cb4e9 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -49,6 +49,10 @@
model = "Pine64 Rock64";
compatible = "pine64,rock64", "rockchip,rk3328";
+ aliases {
+ ethernet0 = &gmac2io;
+ };
+
chosen {
// disable USB autosuspend as this solves USB stability issues
bootargs = "earlycon=uart8250,mmio32,0xff130000 swiotlb=1 kpti=0 no_console_suspend=1 usbcore.autosuspend=-1";
--
Armbian

View File

@ -1,36 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: brian <brian@vamrs.com>
Date: Wed, 18 Mar 2020 12:10:10 +0800
Subject: arm64: dts: rk3399-rockpi4b: Fixed headphone no audio output
Signed-off-by: brian <brian@vamrs.com>
---
arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts | 12 ++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
index 672a897db849..5cc57e16b86a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
@@ -1099,8 +1099,16 @@
i2s0 {
i2s0_8ch_bus: i2s0-8ch-bus {
rockchip,pins =
- <3 28 0 &pcfg_pull_none>,
- <3 29 0 &pcfg_pull_none>;
+ <3 24 RK_FUNC_1 &pcfg_pull_none>,
+ <3 25 RK_FUNC_1 &pcfg_pull_none>,
+ <3 26 RK_FUNC_1 &pcfg_pull_none>,
+ <3 27 RK_FUNC_1 &pcfg_pull_none>,
+ <3 30 RK_FUNC_1 &pcfg_pull_none>,
+ <3 31 RK_FUNC_1 &pcfg_pull_none>;
+ };
+
+ i2s_8ch_mclk: i2s-8ch-mclk {
+ rockchip,pins = <4 0 RK_FUNC_1 &pcfg_pull_none>;
};
};
};
--
Armbian

View File

@ -1,105 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: JMCC <JMCC@localhost>
Date: Tue, 29 Dec 2020 19:26:31 +0100
Subject: rockpi4b-add-isp-camera
Signed-off-by: JMCC <JMCC@localhost>
---
arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts | 35 +++++++---
1 file changed, 25 insertions(+), 10 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts b/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
index 5cc57e16b86a..09ac9eb89b65 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-rockpi4b.dts
@@ -633,10 +633,8 @@
};
&i2c4 {
- status = "okay";
-
camera1: camera-module@10 {
- status = "okay";
+ status = "disabled";
compatible = "sony,imx219";
reg = <0x10>;
@@ -644,7 +642,7 @@
clock-names = "clk_cif_out";
pinctrl-names = "rockchip,camera_default";
pwdn-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
-
+
port {
ucam_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
@@ -652,6 +650,23 @@
};
};
};
+
+ camera2: camera-module@36 {
+ status = "disabled";
+ compatible = "ovti,ov5647";
+ reg = <0x36>;
+
+ clocks = <&cru SCLK_CIF_OUT>;
+ clock-names = "clk_cif_out";
+ pinctrl-names = "rockchip,camera_default";
+
+ port {
+ ucam_out1: endpoint {
+ remote-endpoint = <&mipi_in_ucam0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
};
&i2c2 {
@@ -1089,11 +1104,12 @@
};
};
- i2c4 {
+ i2c4 {
i2c4_xfer: i2c4-xfer {
rockchip,pins =
<1 12 RK_FUNC_1 &pcfg_pull_up>,
- <1 11 RK_FUNC_1 &pcfg_pull_up>;
+ <1 11 RK_FUNC_1 &pcfg_pull_up>,
+ <1 13 RK_FUNC_GPIO &pcfg_pull_up>; //camera module enable pin
};
};
i2s0 {
@@ -1172,8 +1188,7 @@
};
&rkisp1_0 {
- // TODO: this crashes kernel
- status = "disabled";
+ status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
@@ -1186,8 +1201,7 @@
};
&mipi_dphy_rx0 {
- // TODO: this crashes kernel
- status = "disabled";
+ status = "okay";
ports {
#address-cells = <1>;
@@ -1218,6 +1232,7 @@
};
};
+
&isp0_mmu {
status = "okay";
};
--
Armbian

View File

@ -1,47 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Sun, 12 Aug 2018 22:21:47 +0200
Subject: [ARCHEOLOGY] Adjust wireless firmware path to usual location
> X-Git-Archeology: - Revision d1a553e189da7aaab17faad5b96b31bb84a02d69: https://github.com/armbian/build/commit/d1a553e189da7aaab17faad5b96b31bb84a02d69
> X-Git-Archeology: Date: Sun, 12 Aug 2018 22:21:47 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Adjust wireless firmware path to usual location
> X-Git-Archeology:
> X-Git-Archeology: - Revision 08031ae67a2083815f81d30e15ba44742403722e: https://github.com/armbian/build/commit/08031ae67a2083815f81d30e15ba44742403722e
> X-Git-Archeology: Date: Mon, 04 Mar 2019 20:06:00 +0100
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: [ rockpro64 ] adjust wireless firmware path
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c b/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c
index fa07a94c27c1..2377a34e0deb 100644
--- a/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c
+++ b/drivers/net/wireless/rockchip_wlan/rkwifi/rk_wifi_config.c
@@ -17,8 +17,8 @@
* Set Firmware Path
*/
-#define VENDOR_ETC_FIRMWARE "/vendor/etc/firmware/"
-#define SYSTEM_ETC_FIRMWARE "/system/etc/firmware/"
+#define VENDOR_ETC_FIRMWARE "/lib/firmware/"
+#define SYSTEM_ETC_FIRMWARE "/lib/firmware/"
char ANDROID_FW_PATH[64] = {0};
extern int get_wifi_chip_type(void);
--
Armbian

View File

@ -1,953 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Thu, 5 Jul 2018 00:14:14 +0200
Subject: Revert "drm/drm-prime: cache dma_buf import context"
This reverts commit 5a90381e5acc2cf32be03099a14d05d4362b3348.
---
drivers/gpu/drm/drm_prime.c | 46 +---------
drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 1 +
2 files changed, 3 insertions(+), 44 deletions(-)
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 6f207d5946dc..6b7417a194a3 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -71,11 +71,6 @@ struct drm_prime_attachment {
enum dma_data_direction dir;
};
-struct drm_prime_callback_data {
- struct drm_gem_object *obj;
- struct sg_table *sgt;
-};
-
static int drm_prime_add_buf_handle(struct drm_prime_file_private *prime_fpriv,
struct dma_buf *dma_buf, uint32_t handle)
{
@@ -524,23 +519,6 @@ out_unlock:
}
EXPORT_SYMBOL(drm_gem_prime_handle_to_fd);
-static void drm_gem_prime_dmabuf_release_callback(void *data)
-{
- struct drm_prime_callback_data *cb_data = data;
-
- if (cb_data && cb_data->obj && cb_data->obj->import_attach) {
- struct dma_buf_attachment *attach = cb_data->obj->import_attach;
- struct sg_table *sgt = cb_data->sgt;
-
- if (sgt)
- dma_buf_unmap_attachment(attach, sgt,
- DMA_BIDIRECTIONAL);
- dma_buf_detach(attach->dmabuf, attach);
- drm_gem_object_unreference_unlocked(cb_data->obj);
- kfree(cb_data);
- }
-}
-
/**
* drm_gem_prime_import - helper library implementation of the import callback
* @dev: drm_device to import into
@@ -555,7 +533,6 @@ struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev,
struct dma_buf_attachment *attach;
struct sg_table *sgt;
struct drm_gem_object *obj;
- struct drm_prime_callback_data *cb_data;
int ret;
if (dma_buf->ops == &drm_gem_prime_dmabuf_ops) {
@@ -570,13 +547,6 @@ struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev,
}
}
- cb_data = dma_buf_get_release_callback_data(dma_buf,
- drm_gem_prime_dmabuf_release_callback);
- if (cb_data && cb_data->obj && cb_data->obj->dev == dev) {
- drm_gem_object_reference(cb_data->obj);
- return cb_data->obj;
- }
-
if (!dev->driver->gem_prime_import_sg_table)
return ERR_PTR(-EINVAL);
@@ -585,16 +555,11 @@ struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev,
return ERR_CAST(attach);
get_dma_buf(dma_buf);
- cb_data = kmalloc(sizeof(*cb_data), GFP_KERNEL);
- if (!cb_data) {
- ret = -ENOMEM;
- goto fail_detach;
- }
sgt = dma_buf_map_attachment(attach, DMA_BIDIRECTIONAL);
if (IS_ERR(sgt)) {
ret = PTR_ERR(sgt);
- goto fail_free;
+ goto fail_detach;
}
obj = dev->driver->gem_prime_import_sg_table(dev, attach, sgt);
@@ -602,20 +567,13 @@ struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev,
ret = PTR_ERR(obj);
goto fail_unmap;
}
+
obj->import_attach = attach;
- cb_data->obj = obj;
- cb_data->sgt = sgt;
- dma_buf_set_release_callback(dma_buf,
- drm_gem_prime_dmabuf_release_callback, cb_data);
- dma_buf_put(dma_buf);
- drm_gem_object_reference(obj);
return obj;
fail_unmap:
dma_buf_unmap_attachment(attach, sgt, DMA_BIDIRECTIONAL);
-fail_free:
- kfree(cb_data);
fail_detach:
dma_buf_detach(dma_buf, attach);
dma_buf_put(dma_buf);
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
index 273a52b5eb66..85bbd19c87b0 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c
@@ -649,6 +649,7 @@ void rockchip_gem_free_object(struct drm_gem_object *obj)
dma_unmap_sg(drm->dev, rk_obj->sgt->sgl,
rk_obj->sgt->nents, DMA_BIDIRECTIONAL);
}
+ drm_prime_gem_destroy(obj, rk_obj->sgt);
} else {
rockchip_gem_free_buf(rk_obj);
}
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Rob Clark <robdclark@gmail.com>
Date: Thu, 9 Jun 2016 15:29:19 -0400
Subject: UPSTREAM: drm/prime: fix error path deadlock fail
There were a couple messed up things about this fail path.
(1) it would drop object_name_lock twice
(2) drm_gem_handle_delete() (in drm_gem_remove_prime_handles())
needs to grab prime_lock
Reported-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1465500559-17873-1-git-send-email-robdclark@gmail.com
(cherry picked from commit bd6e2732f0e2894ce792f344c41fc32591436fe3)
---
drivers/gpu/drm/drm_prime.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 6b7417a194a3..d8d85286764d 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -628,7 +628,7 @@ int drm_gem_prime_fd_to_handle(struct drm_device *dev,
get_dma_buf(dma_buf);
}
- /* drm_gem_handle_create_tail unlocks dev->object_name_lock. */
+ /* _handle_create_tail unconditionally unlocks dev->object_name_lock. */
ret = drm_gem_handle_create_tail(file_priv, obj, handle);
drm_gem_object_unreference_unlocked(obj);
if (ret)
@@ -636,11 +636,10 @@ int drm_gem_prime_fd_to_handle(struct drm_device *dev,
ret = drm_prime_add_buf_handle(&file_priv->prime,
dma_buf, *handle);
+ mutex_unlock(&file_priv->prime.lock);
if (ret)
goto fail;
- mutex_unlock(&file_priv->prime.lock);
-
dma_buf_put(dma_buf);
return 0;
@@ -650,11 +649,14 @@ fail:
* to detach.. which seems ok..
*/
drm_gem_handle_delete(file_priv, *handle);
+ dma_buf_put(dma_buf);
+ return ret;
+
out_unlock:
mutex_unlock(&dev->object_name_lock);
out_put:
- dma_buf_put(dma_buf);
mutex_unlock(&file_priv->prime.lock);
+ dma_buf_put(dma_buf);
return ret;
}
EXPORT_SYMBOL(drm_gem_prime_fd_to_handle);
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Mon, 26 Sep 2016 21:44:14 +0100
Subject: UPSTREAM: drm: Convert prime dma-buf <-> handle to rbtree
Currently we use a linear walk to lookup a handle and return a dma-buf,
and vice versa. A long overdue TODO task is to convert that to a
hashtable. Since the initial implementation of dma-buf/prime, we now
have resizeable hashtables we can use (and now a future task is to RCU
enable the lookup!). However, this patch opts to use an rbtree instead
to provide O(lgN) lookups (and insertion, deletion). rbtrees were chosen
over using the RCU backed resizable hashtable to firstly avoid the
reallocations (rbtrees can be embedded entirely within the parent
struct) and to favour simpler code with predictable worst case
behaviour. In simple testing, the difference between using the constant
lookup and insertion of the rhashtable and the rbtree was less than 10%
of the wall time (igt/benchmarks/prime_lookup) - both are dramatic
improvements over the existing linear lists.
v2: Favour rbtree over rhashtable
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94631
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20160926204414.23222-1-chris@chris-wilson.co.uk
(cherry picked from commit 077675c1e8a193a6355d4a7c8c7bf63be310b472)
---
drivers/gpu/drm/drm_prime.c | 85 ++++++++--
include/drm/drmP.h | 5 +-
2 files changed, 77 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index d8d85286764d..4c49e736bc9c 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -28,6 +28,7 @@
#include <linux/export.h>
#include <linux/dma-buf.h>
+#include <linux/rbtree.h>
#include <drm/drmP.h>
#include <drm/drm_gem.h>
@@ -61,9 +62,11 @@
*/
struct drm_prime_member {
- struct list_head entry;
struct dma_buf *dma_buf;
uint32_t handle;
+
+ struct rb_node dmabuf_rb;
+ struct rb_node handle_rb;
};
struct drm_prime_attachment {
@@ -75,6 +78,7 @@ static int drm_prime_add_buf_handle(struct drm_prime_file_private *prime_fpriv,
struct dma_buf *dma_buf, uint32_t handle)
{
struct drm_prime_member *member;
+ struct rb_node **p, *rb;
member = kmalloc(sizeof(*member), GFP_KERNEL);
if (!member)
@@ -83,18 +87,56 @@ static int drm_prime_add_buf_handle(struct drm_prime_file_private *prime_fpriv,
get_dma_buf(dma_buf);
member->dma_buf = dma_buf;
member->handle = handle;
- list_add(&member->entry, &prime_fpriv->head);
+
+ rb = NULL;
+ p = &prime_fpriv->dmabufs.rb_node;
+ while (*p) {
+ struct drm_prime_member *pos;
+
+ rb = *p;
+ pos = rb_entry(rb, struct drm_prime_member, dmabuf_rb);
+ if (dma_buf > pos->dma_buf)
+ p = &rb->rb_right;
+ else
+ p = &rb->rb_left;
+ }
+ rb_link_node(&member->dmabuf_rb, rb, p);
+ rb_insert_color(&member->dmabuf_rb, &prime_fpriv->dmabufs);
+
+ rb = NULL;
+ p = &prime_fpriv->handles.rb_node;
+ while (*p) {
+ struct drm_prime_member *pos;
+
+ rb = *p;
+ pos = rb_entry(rb, struct drm_prime_member, handle_rb);
+ if (handle > pos->handle)
+ p = &rb->rb_right;
+ else
+ p = &rb->rb_left;
+ }
+ rb_link_node(&member->handle_rb, rb, p);
+ rb_insert_color(&member->handle_rb, &prime_fpriv->handles);
+
return 0;
}
static struct dma_buf *drm_prime_lookup_buf_by_handle(struct drm_prime_file_private *prime_fpriv,
uint32_t handle)
{
- struct drm_prime_member *member;
+ struct rb_node *rb;
+
+ rb = prime_fpriv->handles.rb_node;
+ while (rb) {
+ struct drm_prime_member *member;
- list_for_each_entry(member, &prime_fpriv->head, entry) {
+ member = rb_entry(rb, struct drm_prime_member, handle_rb);
if (member->handle == handle)
return member->dma_buf;
+ else if (member->handle < handle)
+ rb = rb->rb_right;
+ else
+ rb = rb->rb_left;
}
return NULL;
@@ -104,14 +146,23 @@ static int drm_prime_lookup_buf_handle(struct drm_prime_file_private *prime_fpri
struct dma_buf *dma_buf,
uint32_t *handle)
{
- struct drm_prime_member *member;
+ struct rb_node *rb;
+
+ rb = prime_fpriv->dmabufs.rb_node;
+ while (rb) {
+ struct drm_prime_member *member;
- list_for_each_entry(member, &prime_fpriv->head, entry) {
+ member = rb_entry(rb, struct drm_prime_member, dmabuf_rb);
if (member->dma_buf == dma_buf) {
*handle = member->handle;
return 0;
+ } else if (member->dma_buf < dma_buf) {
+ rb = rb->rb_right;
+ } else {
+ rb = rb->rb_left;
}
}
+
return -ENOENT;
}
@@ -166,13 +217,24 @@ static void drm_gem_map_detach(struct dma_buf *dma_buf,
void drm_prime_remove_buf_handle_locked(struct drm_prime_file_private *prime_fpriv,
struct dma_buf *dma_buf)
{
- struct drm_prime_member *member, *safe;
+ struct rb_node *rb;
- list_for_each_entry_safe(member, safe, &prime_fpriv->head, entry) {
+ rb = prime_fpriv->dmabufs.rb_node;
+ while (rb) {
+ struct drm_prime_member *member;
+
+ member = rb_entry(rb, struct drm_prime_member, dmabuf_rb);
if (member->dma_buf == dma_buf) {
+ rb_erase(&member->handle_rb, &prime_fpriv->handles);
+ rb_erase(&member->dmabuf_rb, &prime_fpriv->dmabufs);
+
dma_buf_put(dma_buf);
- list_del(&member->entry);
kfree(member);
+ return;
+ } else if (member->dma_buf < dma_buf) {
+ rb = rb->rb_right;
+ } else {
+ rb = rb->rb_left;
}
}
}
@@ -794,12 +856,13 @@ EXPORT_SYMBOL(drm_prime_gem_destroy);
void drm_prime_init_file_private(struct drm_prime_file_private *prime_fpriv)
{
- INIT_LIST_HEAD(&prime_fpriv->head);
mutex_init(&prime_fpriv->lock);
+ prime_fpriv->dmabufs = RB_ROOT;
+ prime_fpriv->handles = RB_ROOT;
}
void drm_prime_destroy_file_private(struct drm_prime_file_private *prime_fpriv)
{
/* by now drm_gem_release should've made sure the list is empty */
- WARN_ON(!list_empty(&prime_fpriv->head));
+ WARN_ON(!RB_EMPTY_ROOT(&prime_fpriv->dmabufs));
}
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 04edcd32b409..93da65df2e7e 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -51,6 +51,7 @@
#include <linux/platform_device.h>
#include <linux/poll.h>
#include <linux/ratelimit.h>
+#include <linux/rbtree.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/types.h>
@@ -365,10 +366,10 @@ struct drm_pending_event {
void (*destroy)(struct drm_pending_event *event);
};
-/* initial implementaton using a linked list - todo hashtab */
struct drm_prime_file_private {
- struct list_head head;
struct mutex lock;
+ struct rb_root dmabufs;
+ struct rb_root handles;
};
/** File private data */
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed, 5 Oct 2016 13:21:44 +0100
Subject: UPSTREAM: drm/prime: Take a ref on the drm_dev when exporting a
dma_buf
dma_buf may live a long time, longer than the last direct user of the
driver. We already hold a reference to the owner module (that prevents
the object code from disappearing), but there is no reference to the
drm_dev - so the pointers to the driver backend themselves may vanish.
v2: Resist temptation to fix the bug in armada_gem.c not setting the
correct flags on the exported dma-buf (it should pass the flags through
and not be arbitrarily setting O_RDWR).
Use a common wrapper for exporting the dmabuf and acquiring the
reference to the drm_device.
Testcase: igt/vgem_basic/unload
Suggested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: stable@vger.kernel.org
Tested-by: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Christian Konig <christian.koenig@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161005122145.1507-2-chris@chris-wilson.co.uk
(cherry picked from commit a4fce9cb782ad340ee5576a38e934e5e75832dc6)
---
drivers/gpu/drm/armada/armada_gem.c | 2 +-
drivers/gpu/drm/drm_prime.c | 30 +++++++++-
drivers/gpu/drm/i915/i915_gem_dmabuf.c | 2 +-
drivers/gpu/drm/tegra/gem.c | 2 +-
drivers/gpu/drm/udl/udl_dmabuf.c | 2 +-
include/drm/drmP.h | 4 ++
6 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/armada/armada_gem.c b/drivers/gpu/drm/armada/armada_gem.c
index 60a688ef81c7..cd5bb991f49a 100644
--- a/drivers/gpu/drm/armada/armada_gem.c
+++ b/drivers/gpu/drm/armada/armada_gem.c
@@ -546,7 +546,7 @@ armada_gem_prime_export(struct drm_device *dev, struct drm_gem_object *obj,
exp_info.flags = O_RDWR;
exp_info.priv = obj;
- return dma_buf_export(&exp_info);
+ return drm_gem_dmabuf_export(dev, &exp_info);
}
struct drm_gem_object *
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 4c49e736bc9c..94b4872255c8 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -283,19 +283,47 @@ static void drm_gem_unmap_dma_buf(struct dma_buf_attachment *attach,
/* nothing to be done here */
}
+/**
+ * drm_gem_dmabuf_export - dma_buf export implementation for GEM
+ * @dma_buf: buffer to be exported
+ *
+ * This wraps dma_buf_export() for use by generic GEM drivers that are using
+ * drm_gem_dmabuf_release(). In addition to calling dma_buf_export(), we take
+ * a reference to the drm_device which is released by drm_gem_dmabuf_release().
+ *
+ * Returns the new dmabuf.
+ */
+struct dma_buf *drm_gem_dmabuf_export(struct drm_device *dev,
+ struct dma_buf_export_info *exp_info)
+{
+ struct dma_buf *dma_buf;
+
+ dma_buf = dma_buf_export(exp_info);
+ if (!IS_ERR(dma_buf))
+ drm_dev_ref(dev);
+
+ return dma_buf;
+}
+EXPORT_SYMBOL(drm_gem_dmabuf_export);
+
/**
* drm_gem_dmabuf_release - dma_buf release implementation for GEM
* @dma_buf: buffer to be released
*
* Generic release function for dma_bufs exported as PRIME buffers. GEM drivers
* must use this in their dma_buf ops structure as the release callback.
+ * drm_gem_dmabuf_release() should be used in conjunction with
+ * drm_gem_dmabuf_export().
*/
void drm_gem_dmabuf_release(struct dma_buf *dma_buf)
{
struct drm_gem_object *obj = dma_buf->priv;
+ struct drm_device *dev = obj->dev;
/* drop the reference on the export fd holds */
drm_gem_object_unreference_unlocked(obj);
+
+ drm_dev_unref(dev);
}
EXPORT_SYMBOL(drm_gem_dmabuf_release);
@@ -444,7 +472,7 @@ struct dma_buf *drm_gem_prime_export(struct drm_device *dev,
if (dev->driver->gem_prime_res_obj)
exp_info.resv = dev->driver->gem_prime_res_obj(obj);
- return dma_buf_export(&exp_info);
+ return drm_gem_dmabuf_export(dev, &exp_info);
}
EXPORT_SYMBOL(drm_gem_prime_export);
diff --git a/drivers/gpu/drm/i915/i915_gem_dmabuf.c b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
index e9c2bfd85b52..d4a021629bd6 100644
--- a/drivers/gpu/drm/i915/i915_gem_dmabuf.c
+++ b/drivers/gpu/drm/i915/i915_gem_dmabuf.c
@@ -244,7 +244,7 @@ struct dma_buf *i915_gem_prime_export(struct drm_device *dev,
return ERR_PTR(ret);
}
- return dma_buf_export(&exp_info);
+ return drm_gem_dmabuf_export(dev, &exp_info);
}
static int i915_gem_object_get_pages_dmabuf(struct drm_i915_gem_object *obj)
diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c
index 01e16e146bfe..da06f1c1ee0f 100644
--- a/drivers/gpu/drm/tegra/gem.c
+++ b/drivers/gpu/drm/tegra/gem.c
@@ -625,7 +625,7 @@ struct dma_buf *tegra_gem_prime_export(struct drm_device *drm,
exp_info.flags = flags;
exp_info.priv = gem;
- return dma_buf_export(&exp_info);
+ return drm_gem_dmabuf_export(drm, &exp_info);
}
struct drm_gem_object *tegra_gem_prime_import(struct drm_device *drm,
diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c b/drivers/gpu/drm/udl/udl_dmabuf.c
index e2243edd1ce3..ac90ffdb5912 100644
--- a/drivers/gpu/drm/udl/udl_dmabuf.c
+++ b/drivers/gpu/drm/udl/udl_dmabuf.c
@@ -209,7 +209,7 @@ struct dma_buf *udl_gem_prime_export(struct drm_device *dev,
exp_info.flags = flags;
exp_info.priv = obj;
- return dma_buf_export(&exp_info);
+ return drm_gem_dmabuf_export(dev, &exp_info);
}
static int udl_prime_create(struct drm_device *dev,
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index 93da65df2e7e..4aba6478d718 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -1124,6 +1124,8 @@ static inline int drm_debugfs_remove_files(const struct drm_info_list *files,
}
#endif
+struct dma_buf_export_info;
+
extern struct dma_buf *drm_gem_prime_export(struct drm_device *dev,
struct drm_gem_object *obj,
int flags);
@@ -1134,6 +1136,8 @@ extern struct drm_gem_object *drm_gem_prime_import(struct drm_device *dev,
struct dma_buf *dma_buf);
extern int drm_gem_prime_fd_to_handle(struct drm_device *dev,
struct drm_file *file_priv, int prime_fd, uint32_t *handle);
+struct dma_buf *drm_gem_dmabuf_export(struct drm_device *dev,
+ struct dma_buf_export_info *exp_info);
extern void drm_gem_dmabuf_release(struct dma_buf *dma_buf);
extern int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages,
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed, 7 Dec 2016 21:45:27 +0000
Subject: UPSTREAM: drm: Take ownership of the dmabuf->obj when exporting
Currently the reference for the dmabuf->obj is incremented for the
dmabuf in drm_gem_prime_handle_to_fd() (at the high level userspace
interface), but is released in drm_gem_dmabuf_release() (the lowlevel
handler). Improve the symmetry of the dmabuf->obj ownership by acquiring
the reference in drm_gem_dmabuf_export(). This makes it easier to use
the prime functions directly.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
[danvet: Update kerneldoc.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20161207214527.22533-1-chris@chris-wilson.co.uk
(cherry picked from commit 72a93e8dd52c9feea42f1258d555e6070680a347)
---
drivers/gpu/drm/drm_prime.c | 12 ++++++----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 94b4872255c8..dbd34fa7f71c 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -289,7 +289,8 @@ static void drm_gem_unmap_dma_buf(struct dma_buf_attachment *attach,
*
* This wraps dma_buf_export() for use by generic GEM drivers that are using
* drm_gem_dmabuf_release(). In addition to calling dma_buf_export(), we take
- * a reference to the drm_device which is released by drm_gem_dmabuf_release().
+ * a reference to the &drm_device and the exported &drm_gem_object (stored in
+ * exp_info->priv) which is released by drm_gem_dmabuf_release().
*
* Returns the new dmabuf.
*/
@@ -299,8 +300,11 @@ struct dma_buf *drm_gem_dmabuf_export(struct drm_device *dev,
struct dma_buf *dma_buf;
dma_buf = dma_buf_export(exp_info);
- if (!IS_ERR(dma_buf))
- drm_dev_ref(dev);
+ if (IS_ERR(dma_buf))
+ return dma_buf;
+
+ drm_dev_ref(dev);
+ drm_gem_object_reference(exp_info->priv);
return dma_buf;
}
@@ -503,8 +507,6 @@ static struct dma_buf *export_and_register_object(struct drm_device *dev,
*/
obj->dma_buf = dmabuf;
get_dma_buf(obj->dma_buf);
- /* Grab a new ref since the callers is now used by the dma-buf */
- drm_gem_object_reference(obj);
return dmabuf;
}
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Lucas Stach <l.stach@pengutronix.de>
Date: Thu, 30 Nov 2017 18:34:28 +0100
Subject: UPSTREAM: drm/prime: skip CPU sync in map/unmap dma_buf
Dma-bufs should already be device coherent, as they are only pulled in the
CPU domain via the begin/end cpu_access calls. As we cache the mapping set
up by dma_map_sg a CPU sync at this point will not actually guarantee proper
coherency on non-coherent architectures, so we can as well stop pretending.
This is an important performance fix for architectures which need explicit
cache synchronization and userspace doing lots of dma-buf imports.
Improves Weston on Etnaviv performance 5x, where before this patch > 90%
of Weston CPU time was spent synchronizing caches for buffers which are
already device coherent.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20171130173428.8666-1-l.stach@pengutronix.de
(cherry picked from commit ca0e68e21aae10220eff71a297e7d794425add77)
---
drivers/gpu/drm/drm_prime.c | 11 +++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index dbd34fa7f71c..133362279591 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -203,9 +203,12 @@ static void drm_gem_map_detach(struct dma_buf *dma_buf,
sgt = prime_attach->sgt;
if (sgt) {
+ DEFINE_DMA_ATTRS(attrs);
+ dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
if (prime_attach->dir != DMA_NONE)
- dma_unmap_sg(attach->dev, sgt->sgl, sgt->nents,
- prime_attach->dir);
+ dma_unmap_sg_attrs(attach->dev, sgt->sgl, sgt->nents,
+ prime_attach->dir,
+ &attrs);
sg_free_table(sgt);
}
@@ -263,7 +266,9 @@ static struct sg_table *drm_gem_map_dma_buf(struct dma_buf_attachment *attach,
sgt = obj->dev->driver->gem_prime_get_sg_table(obj);
if (!IS_ERR(sgt)) {
- if (!dma_map_sg(attach->dev, sgt->sgl, sgt->nents, dir)) {
+ DEFINE_DMA_ATTRS(attrs);
+ dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
+ if (!dma_map_sg_attrs(attach->dev, sgt->sgl, sgt->nents, dir, &attrs)) {
sg_free_table(sgt);
kfree(sgt);
sgt = ERR_PTR(-ENOMEM);
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <ckoenig.leichtzumerken@gmail.com>
Date: Tue, 27 Feb 2018 12:49:56 +0100
Subject: UPSTREAM: drm/prime: fix potential race in drm_gem_map_detach
Unpin the GEM object only after freeing the sg table.
Signed-off-by: Christian Konig <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Roger He <Hongbo.He@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180227115000.4105-1-christian.koenig@amd.com
(cherry picked from commit 681066ec1d41e4b299146bada52cef846b323c04)
---
drivers/gpu/drm/drm_prime.c | 36 +++++-----
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 133362279591..95ecc69d03a0 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -193,28 +193,28 @@ static void drm_gem_map_detach(struct dma_buf *dma_buf,
struct drm_prime_attachment *prime_attach = attach->priv;
struct drm_gem_object *obj = dma_buf->priv;
struct drm_device *dev = obj->dev;
- struct sg_table *sgt;
-
- if (dev->driver->gem_prime_unpin)
- dev->driver->gem_prime_unpin(obj);
- if (!prime_attach)
- return;
+ if (prime_attach) {
+ struct sg_table *sgt = prime_attach->sgt;
+
+ if (sgt) {
+ DEFINE_DMA_ATTRS(attrs);
+ dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
+ if (prime_attach->dir != DMA_NONE)
+ dma_unmap_sg_attrs(attach->dev, sgt->sgl,
+ sgt->nents,
+ prime_attach->dir,
+ &attrs);
+ sg_free_table(sgt);
+ }
- sgt = prime_attach->sgt;
- if (sgt) {
- DEFINE_DMA_ATTRS(attrs);
- dma_set_attr(DMA_ATTR_SKIP_CPU_SYNC, &attrs);
- if (prime_attach->dir != DMA_NONE)
- dma_unmap_sg_attrs(attach->dev, sgt->sgl, sgt->nents,
- prime_attach->dir,
- &attrs);
- sg_free_table(sgt);
+ kfree(sgt);
+ kfree(prime_attach);
+ attach->priv = NULL;
}
- kfree(sgt);
- kfree(prime_attach);
- attach->priv = NULL;
+ if (dev->driver->gem_prime_unpin)
+ dev->driver->gem_prime_unpin(obj);
}
void drm_prime_remove_buf_handle_locked(struct drm_prime_file_private *prime_fpriv,
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <ckoenig.leichtzumerken@gmail.com>
Date: Tue, 27 Feb 2018 12:49:57 +0100
Subject: UPSTREAM: drm/prime: make the pages array optional for
drm_prime_sg_to_page_addr_arrays
Most of the time we only need the dma addresses.
Signed-off-by: Christian Konig <christian.koenig@amd.com>
Reviewed-by: Roger He <Hongbo.He@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180227115000.4105-2-christian.koenig@amd.com
Link: https://patchwork.freedesktop.org/patch/msgid/20180227115000.4105-3-christian.koenig@amd.com
Link: https://patchwork.freedesktop.org/patch/msgid/20180227115000.4105-4-christian.koenig@amd.com
Link: https://patchwork.freedesktop.org/patch/msgid/20180227115000.4105-5-christian.koenig@amd.com
Link: https://patchwork.freedesktop.org/patch/msgid/BN6PR12MB18262C0DE9B5F07B9A42EAE7F2C60@BN6PR12MB1826.namprd12.prod.outlook.com
(cherry picked from commit 186ca446aea19e49d2e1433dd170c6e1c211a52a)
---
drivers/gpu/drm/drm_prime.c | 20 +++++-----
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 95ecc69d03a0..7ea65c4105c1 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -827,40 +827,40 @@ EXPORT_SYMBOL(drm_prime_pages_to_sg);
/**
* drm_prime_sg_to_page_addr_arrays - convert an sg table into a page array
* @sgt: scatter-gather table to convert
- * @pages: array of page pointers to store the page array in
+ * @pages: optional array of page pointers to store the page array in
* @addrs: optional array to store the dma bus address of each page
- * @max_pages: size of both the passed-in arrays
+ * @max_entries: size of both the passed-in arrays
*
* Exports an sg table into an array of pages and addresses. This is currently
* required by the TTM driver in order to do correct fault handling.
*/
int drm_prime_sg_to_page_addr_arrays(struct sg_table *sgt, struct page **pages,
- dma_addr_t *addrs, int max_pages)
+ dma_addr_t *addrs, int max_entries)
{
unsigned count;
struct scatterlist *sg;
struct page *page;
- u32 len;
- int pg_index;
+ u32 len, index;
dma_addr_t addr;
- pg_index = 0;
+ index = 0;
for_each_sg(sgt->sgl, sg, sgt->nents, count) {
len = sg->length;
page = sg_page(sg);
addr = sg_dma_address(sg);
while (len > 0) {
- if (WARN_ON(pg_index >= max_pages))
+ if (WARN_ON(index >= max_entries))
return -1;
- pages[pg_index] = page;
+ if (pages)
+ pages[index] = page;
if (addrs)
- addrs[pg_index] = addr;
+ addrs[index] = addr;
page++;
addr += PAGE_SIZE;
len -= PAGE_SIZE;
- pg_index++;
+ index++;
}
}
return 0;
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sat, 19 Aug 2017 13:05:58 +0100
Subject: UPSTREAM: drm: Release driver tracking before making the object
available again
This is the same bug as we fixed in commit f6cd7daecff5 ("drm: Release
driver references to handle before making it available again"), but now
the exposure is via the PRIME lookup tables. If we remove the
object/handle from the PRIME lut, then a new request for the same
object/fd will generate a new handle, thus for a short window that
object is known to userspace by two different handles. Fix this by
releasing the driver tracking before PRIME.
Fixes: 0ff926c7d4f0 ("drm/prime: add exported buffers to current fprivs
imported buffer list (v2)")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Thierry Reding <treding@nvidia.com>
Cc: stable@vger.kernel.org
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170819120558.6465-1-chris@chris-wilson.co.uk
(cherry picked from commit d0a133f7f5bc3583e460ba6bb54474a50ada5201)
---
drivers/gpu/drm/drm_gem.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index d7f39a03c2c9..966ea63581b1 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -255,13 +255,13 @@ drm_gem_object_release_handle(int id, void *ptr, void *data)
struct drm_gem_object *obj = ptr;
struct drm_device *dev = obj->dev;
+ if (dev->driver->gem_close_object)
+ dev->driver->gem_close_object(obj, file_priv);
+
if (drm_core_check_feature(dev, DRIVER_PRIME))
drm_gem_remove_prime_handles(obj, file_priv);
drm_vma_node_revoke(&obj->vma_node, file_priv->filp);
- if (dev->driver->gem_close_object)
- dev->driver->gem_close_object(obj, file_priv);
-
drm_gem_object_handle_unreference_unlocked(obj);
return 0;
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 17 Feb 2018 05:30:36 +0100
Subject: vcodec: skip reduce freq
---
drivers/video/rockchip/vcodec/vcodec_service.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/video/rockchip/vcodec/vcodec_service.c b/drivers/video/rockchip/vcodec/vcodec_service.c
index fcf7a043f7b9..059c81be0bb5 100644
--- a/drivers/video/rockchip/vcodec/vcodec_service.c
+++ b/drivers/video/rockchip/vcodec/vcodec_service.c
@@ -1645,9 +1645,6 @@ static void try_set_reg(struct vpu_subdev_data *data)
reg_from_wait_to_run(pservice, reg);
reg_copy_to_hw(reg->data, reg);
}
- } else {
- if (pservice->hw_ops->reduce_freq)
- pservice->hw_ops->reduce_freq(pservice);
}
mutex_unlock(&pservice->shutdown_lock);
@@ -2400,6 +2397,7 @@ static void vcodec_set_freq_rk3328(struct vpu_service_info *pservice,
if (curr == reg->freq)
return;
+ atomic_set(&pservice->freq_status, reg->freq);
if (pservice->dev_id == VCODEC_DEVICE_ID_RKVDEC) {
if (reg->reg[1] & 0x00800000) {
if (rkv_dec_get_fmt(reg->reg) == FMT_H264D)
--
Armbian

View File

@ -1,874 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 28 May 2017 09:08:50 +0200
Subject: gpu/arm/mali400: default to performance gpu governor
---
drivers/gpu/arm/mali400/mali/linux/mali_devfreq.c | 2 +-
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 8 +++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/arm/mali400/mali/linux/mali_devfreq.c b/drivers/gpu/arm/mali400/mali/linux/mali_devfreq.c
index c9b8652f100d..6c97c530a2ae 100644
--- a/drivers/gpu/arm/mali400/mali/linux/mali_devfreq.c
+++ b/drivers/gpu/arm/mali400/mali/linux/mali_devfreq.c
@@ -259,7 +259,7 @@ int mali_devfreq_init(struct mali_device *mdev)
return -EFAULT;
mdev->devfreq = devfreq_add_device(mdev->dev, dp,
- "simple_ondemand", NULL);
+ "performance", NULL);
if (IS_ERR(mdev->devfreq)) {
mali_devfreq_term_freq_table(mdev);
return PTR_ERR(mdev->devfreq);
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
index b650f7125406..ac7ab2c28f6e 100644
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
@@ -511,9 +511,15 @@ dw_hdmi_rockchip_mode_valid(struct drm_connector *connector,
return MODE_BAD;
hdmi = to_rockchip_hdmi(encoder);
- if (hdmi->dev_type == RK3368_HDMI && mode->clock > 340000 &&
+ if ((hdmi->dev_type == RK3368_HDMI || hdmi->dev_type == RK3328_HDMI) &&
+ mode->clock > 340000 &&
!drm_mode_is_420(&connector->display_info, mode))
return MODE_BAD;
+
+ /* Skip bad clocks for RK3288 */
+ if (hdmi->dev_type == RK3288_HDMI && (mode->clock < 27500 || mode->clock > 340000))
+ return MODE_CLOCK_RANGE;
+
/*
* ensure all drm display mode can work, if someone want support more
* resolutions, please limit the possible_crtc, only connect to
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: xuhuicong <xhc@rock-chips.com>
Date: Fri, 23 Jun 2017 18:56:17 +0800
Subject: drm/rockchip: hdmi: fix no sound some time
Change-Id: Ic9f931d9a5b7bca954363293a20ca242eb0bfa6f
Signed-off-by: xuhuicong <xhc@rock-chips.com>
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 6157cb00663f..3419cf714799 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -1988,10 +1988,6 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
HDMI_FC_INVIDCONF_IN_I_P_INTERLACED :
HDMI_FC_INVIDCONF_IN_I_P_PROGRESSIVE;
- inv_val |= hdmi->sink_is_hdmi ?
- HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE :
- HDMI_FC_INVIDCONF_DVI_MODEZ_DVI_MODE;
-
hdmi_writeb(hdmi, inv_val, HDMI_FC_INVIDCONF);
hdisplay = mode->hdisplay;
@@ -2302,6 +2298,9 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
/* not for DVI mode */
if (hdmi->sink_is_hdmi) {
dev_dbg(hdmi->dev, "%s HDMI mode\n", __func__);
+ hdmi_modb(hdmi, HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE,
+ HDMI_FC_INVIDCONF_DVI_MODEZ_HDMI_MODE,
+ HDMI_FC_INVIDCONF);
/* HDMI Initialization Step F - Configure AVI InfoFrame */
hdmi_config_AVI(hdmi, mode);
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 18 Nov 2017 11:09:39 +0100
Subject: rockchip: vop: force skip lines if image too big
---
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 13 +++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 9c2e2379512c..1b762765c736 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -1653,6 +1653,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
int ymirror, xmirror;
uint32_t val;
bool rb_swap, global_alpha_en;
+ int skip_lines = 0;
#if defined(CONFIG_ROCKCHIP_DRM_DEBUG)
bool AFBC_flag = false;
@@ -1689,8 +1690,14 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
}
mode = &crtc->state->adjusted_mode;
+
+ /*
+ * force skip lines if image too big.
+ */
actual_w = drm_rect_width(src) >> 16;
- actual_h = drm_rect_height(src) >> 16;
+ if (actual_w == 3840 && is_yuv_support(fb->pixel_format))
+ skip_lines = 1;
+ actual_h = drm_rect_height(src) >> (16 + skip_lines);
act_info = (actual_h - 1) << 16 | ((actual_w - 1) & 0xffff);
dsp_info = (drm_rect_height(dest) - 1) << 16;
@@ -1728,12 +1735,12 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
VOP_WIN_SET(vop, win, xmirror, xmirror);
VOP_WIN_SET(vop, win, ymirror, ymirror);
VOP_WIN_SET(vop, win, format, vop_plane_state->format);
- VOP_WIN_SET(vop, win, yrgb_vir, fb->pitches[0] >> 2);
+ VOP_WIN_SET(vop, win, yrgb_vir, fb->pitches[0] >> (2 - skip_lines));
VOP_WIN_SET(vop, win, yrgb_mst, vop_plane_state->yrgb_mst);
VOP_WIN_SET(vop, win, yrgb_mst1, vop_plane_state->yrgb_mst);
if (is_yuv_support(fb->pixel_format)) {
- VOP_WIN_SET(vop, win, uv_vir, fb->pitches[1] >> 2);
+ VOP_WIN_SET(vop, win, uv_vir, fb->pitches[1] >> (2 - skip_lines));
VOP_WIN_SET(vop, win, uv_mst, vop_plane_state->uv_mst);
}
VOP_WIN_SET(vop, win, fmt_10, is_yuv_10bit(fb->pixel_format));
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 18 Nov 2017 23:17:24 +0100
Subject: gpu/arm/midgard: default to performance gpu governor
---
drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c | 5 ++---
drivers/gpu/arm/midgard/mali_kbase_config_defaults.h | 3 +--
2 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c b/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c
index 1495f06cd9b9..a6d2e0121015 100644
--- a/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c
+++ b/drivers/gpu/arm/midgard/backend/gpu/mali_kbase_devfreq.c
@@ -348,8 +348,7 @@ int kbase_devfreq_init(struct kbase_device *kbdev)
dp = &kbdev->devfreq_profile;
dp->initial_freq = kbdev->current_freq;
- /* .KP : set devfreq_dvfs_interval_in_ms */
- dp->polling_ms = 20;
+ dp->polling_ms = 100;
dp->target = kbase_devfreq_target;
dp->get_dev_status = kbase_devfreq_status;
dp->get_cur_freq = kbase_devfreq_cur_freq;
@@ -363,7 +362,7 @@ int kbase_devfreq_init(struct kbase_device *kbdev)
return err;
kbdev->devfreq = devfreq_add_device(kbdev->dev, dp,
- "simple_ondemand", NULL);
+ "performance", NULL);
if (IS_ERR(kbdev->devfreq)) {
kbase_devfreq_term_freq_table(kbdev);
return PTR_ERR(kbdev->devfreq);
diff --git a/drivers/gpu/arm/midgard/mali_kbase_config_defaults.h b/drivers/gpu/arm/midgard/mali_kbase_config_defaults.h
index 1cf44b3500cf..a6a1a52f0463 100644
--- a/drivers/gpu/arm/midgard/mali_kbase_config_defaults.h
+++ b/drivers/gpu/arm/midgard/mali_kbase_config_defaults.h
@@ -109,8 +109,7 @@ enum {
/*
* Default period for DVFS sampling
*/
-// #define DEFAULT_PM_DVFS_PERIOD 100 /* 100ms */
-#define DEFAULT_PM_DVFS_PERIOD 20 /* 20 ms */
+#define DEFAULT_PM_DVFS_PERIOD 100 /* 100ms */
/*
* Power Management poweroff tick granuality. This is in nanoseconds to
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 10 Dec 2017 14:16:09 +0100
Subject: uapi: install rockchip_drm header
---
include/uapi/drm/Kbuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/uapi/drm/Kbuild b/include/uapi/drm/Kbuild
index 38d437096c35..b7ae9969d41e 100644
--- a/include/uapi/drm/Kbuild
+++ b/include/uapi/drm/Kbuild
@@ -11,6 +11,7 @@ header-y += nouveau_drm.h
header-y += qxl_drm.h
header-y += r128_drm.h
header-y += radeon_drm.h
+header-y += rockchip_drm.h
header-y += savage_drm.h
header-y += sis_drm.h
header-y += tegra_drm.h
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Tue, 12 Dec 2017 00:37:27 +0100
Subject: clk: rockchip: fix round rate
---
drivers/clk/rockchip/clk-pll.c | 11 ++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/clk/rockchip/clk-pll.c b/drivers/clk/rockchip/clk-pll.c
index 0a9f31f2dd27..183114d824a7 100644
--- a/drivers/clk/rockchip/clk-pll.c
+++ b/drivers/clk/rockchip/clk-pll.c
@@ -364,6 +364,17 @@ static const struct rockchip_pll_rate_table *rockchip_get_pll_settings(
static long rockchip_pll_round_rate(struct clk_hw *hw,
unsigned long drate, unsigned long *prate)
{
+ struct rockchip_clk_pll *pll = to_rockchip_clk_pll(hw);
+ const struct rockchip_pll_rate_table *rate;
+
+ /* Get required rate settings from table */
+ rate = rockchip_get_pll_settings(pll, drate);
+ if (!rate) {
+ pr_debug("%s: Invalid rate : %lu for pll clk %s\n", __func__,
+ drate, __clk_get_name(hw->clk));
+ return -EINVAL;
+ }
+
return drate;
}
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 21 Jan 2018 17:20:00 +0100
Subject: drm: fix HDR metadata infoframe length
HDR metadata infoframe length is 26 bytes (not 30) according to [1]
(CTA-861-G: 6.9 Dynamic Range and Mastering InfoFrame)
Fixes activation of HDR mode on my LG OLED
[1] https://standards.cta.tech/kwspub/published_docs/CTA-861-G_FINAL_revised_2017.pdf
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +-
drivers/gpu/drm/drm_edid.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 3419cf714799..81d8ac736255 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -1857,7 +1857,7 @@ static void hdmi_config_hdr_infoframe(struct dw_hdmi *hdmi)
return;
}
- hdmi_writeb(hdmi, 1, HDMI_FC_DRM_HB0);
+ hdmi_writeb(hdmi, frame.version, HDMI_FC_DRM_HB0);
hdmi_writeb(hdmi, frame.length, HDMI_FC_DRM_HB1);
hdmi_writeb(hdmi, frame.eotf, HDMI_FC_DRM_PB0);
hdmi_writeb(hdmi, frame.metadata_type, HDMI_FC_DRM_PB1);
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index e1b515287d26..0c165dff362a 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -4740,10 +4740,10 @@ drm_hdmi_infoframe_set_hdr_metadata(struct hdmi_drm_infoframe *frame,
hdr_source_metadata = (struct hdr_static_metadata *)hdr_metadata;
- frame->length = sizeof(struct hdr_static_metadata);
+ frame->length = 26;
frame->eotf = hdr_source_metadata->eotf;
- frame->type = hdr_source_metadata->type;
+ frame->metadata_type = hdr_source_metadata->type;
for (i = 0; i < 3; i++) {
frame->display_primaries_x[i] =
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 11 Feb 2018 19:21:41 +0100
Subject: drm: bridge: dw-hdmi: default to underscan mode
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 81d8ac736255..56a992aead27 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -1691,7 +1691,7 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
break;
}
- frame.scan_mode = HDMI_SCAN_MODE_NONE;
+ frame.scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
/*
* The Designware IP uses a different byte format from standard
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 1 Jul 2018 23:17:47 +0200
Subject: drm/rockchip: clip yuv
---
drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 ++
drivers/gpu/drm/rockchip/rockchip_drm_vop.h | 2 ++
drivers/gpu/drm/rockchip/rockchip_vop_reg.c | 3 +++
3 files changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
index 1b762765c736..efff7cae524e 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c
@@ -1732,6 +1732,7 @@ static void vop_plane_atomic_update(struct drm_plane *plane,
s = to_rockchip_crtc_state(crtc->state);
spin_lock(&vop->reg_lock);
+ VOP_WIN_SET(vop, win, yuv_clip, 0);
VOP_WIN_SET(vop, win, xmirror, xmirror);
VOP_WIN_SET(vop, win, ymirror, ymirror);
VOP_WIN_SET(vop, win, format, vop_plane_state->format);
@@ -2548,6 +2549,7 @@ static void vop_update_csc(struct drm_crtc *crtc)
VOP_CTRL_SET(vop, dsp_data_swap, 0);
VOP_CTRL_SET(vop, out_mode, s->output_mode);
+ VOP_CTRL_SET(vop, yuv_clip, 0);
switch (s->bus_format) {
case MEDIA_BUS_FMT_RGB565_1X16:
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
index 618de17e608a..391998c7aa50 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.h
@@ -178,6 +178,7 @@ struct vop_ctrl {
struct vop_reg dsp_lut_en;
struct vop_reg out_mode;
+ struct vop_reg yuv_clip;
struct vop_reg xmirror;
struct vop_reg ymirror;
@@ -409,6 +410,7 @@ struct vop_win_phy {
struct vop_reg format;
struct vop_reg fmt_10;
struct vop_reg csc_mode;
+ struct vop_reg yuv_clip;
struct vop_reg xmirror;
struct vop_reg ymirror;
struct vop_reg rb_swap;
diff --git a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
index b2667e7411b8..a818b3db21ce 100644
--- a/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
+++ b/drivers/gpu/drm/rockchip/rockchip_vop_reg.c
@@ -119,6 +119,7 @@ static const struct vop_win_phy rk3288_win01_data = {
.fmt_10 = VOP_REG(RK3288_WIN0_CTRL0, 0x7, 4),
.csc_mode = VOP_REG_VER(RK3288_WIN0_CTRL0, 0x3, 10, 3, 2, -1),
.rb_swap = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 12),
+ .yuv_clip = VOP_REG(RK3288_WIN0_CTRL0, 0x1, 20),
.xmirror = VOP_REG_VER(RK3368_WIN0_CTRL0, 0x1, 21, 3, 2, -1),
.ymirror = VOP_REG_VER(RK3368_WIN0_CTRL0, 0x1, 22, 3, 2, -1),
.act_info = VOP_REG(RK3288_WIN0_ACT_INFO, 0x1fff1fff, 0),
@@ -286,6 +287,7 @@ static const struct vop_ctrl rk3288_ctrl_data = {
.bcsh_color_bar = VOP_REG(RK3288_BCSH_COLOR_BAR, 0xffffff, 8),
.bcsh_en = VOP_REG(RK3288_BCSH_COLOR_BAR, 0x1, 0),
+ .yuv_clip = VOP_REG(RK3288_DSP_CTRL0, 0x1, 21),
.xmirror = VOP_REG(RK3288_DSP_CTRL0, 0x1, 22),
.ymirror = VOP_REG(RK3288_DSP_CTRL0, 0x1, 23),
@@ -964,6 +966,7 @@ static const struct vop_ctrl rk3328_ctrl_data = {
.dsp_lut_en = VOP_REG(RK3328_DSP_CTRL1, 0x1, 0),
.out_mode = VOP_REG(RK3328_DSP_CTRL0, 0xf, 0),
+ .yuv_clip = VOP_REG(RK3328_DSP_CTRL0, 0x1, 21),
.xmirror = VOP_REG(RK3328_DSP_CTRL0, 0x1, 22),
.ymirror = VOP_REG(RK3328_DSP_CTRL0, 0x1, 23),
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 8 Jul 2018 12:38:00 +0200
Subject: drm/atomic: use active_only flag for connector atomic begin/flush
---
drivers/gpu/drm/drm_atomic_helper.c | 20 +++++-----
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index a30621abfee1..6ef0b74514f4 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1563,15 +1563,15 @@ void drm_atomic_helper_commit_planes(struct drm_device *dev,
for_each_connector_in_state(old_state, connector, old_conn_state, i) {
const struct drm_connector_helper_funcs *funcs;
- if (!connector->state->crtc)
- continue;
+ funcs = connector->helper_private;
- if (!connector->state->crtc->state->active)
+ if (!funcs || !funcs->atomic_begin)
continue;
- funcs = connector->helper_private;
+ if (!connector->state->crtc)
+ continue;
- if (!funcs || !funcs->atomic_begin)
+ if (active_only && !connector->state->crtc->state->active)
continue;
DRM_DEBUG_ATOMIC("flush beginning [CONNECTOR:%d:%s]\n",
@@ -1645,15 +1645,15 @@ void drm_atomic_helper_commit_planes(struct drm_device *dev,
for_each_connector_in_state(old_state, connector, old_conn_state, i) {
const struct drm_connector_helper_funcs *funcs;
- if (!connector->state->crtc)
- continue;
+ funcs = connector->helper_private;
- if (!connector->state->crtc->state->active)
+ if (!funcs || !funcs->atomic_flush)
continue;
- funcs = connector->helper_private;
+ if (!connector->state->crtc)
+ continue;
- if (!funcs || !funcs->atomic_flush)
+ if (active_only && !connector->state->crtc->state->active)
continue;
DRM_DEBUG_ATOMIC("flushing [CONNECTOR:%d:%s]\n",
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 22 Jul 2018 14:51:58 +0200
Subject: drm: rockchip: dw-hdmi: only force YCbCr422 when max tmds is up to
340Mhz
---
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
index ac7ab2c28f6e..8459737791e9 100644
--- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
+++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
@@ -731,7 +731,9 @@ dw_hdmi_rockchip_select_output(struct drm_connector_state *conn_state,
/* BT2020 require color depth at lest 10bit */
*color_depth = 10;
/* We prefer use YCbCr422 to send 10bit */
- if (info->color_formats & DRM_COLOR_FORMAT_YCRCB422)
+ if (info->color_formats & DRM_COLOR_FORMAT_YCRCB422 &&
+ info->max_tmds_clock <= 340000 &&
+ hdmi->dev_type != RK3288_HDMI)
*color_format = DRM_HDMI_OUTPUT_YCBCR422;
}
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sun, 22 Jul 2018 15:09:16 +0200
Subject: drm: bridge: dw-hdmi: signal full range for rgb output
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index 56a992aead27..a3a5e8cb1c5c 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -1693,6 +1693,14 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
frame.scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
+ if (hdmi_bus_fmt_is_rgb(hdmi->hdmi_data.enc_out_bus_format)) {
+ frame.quantization_range = HDMI_QUANTIZATION_RANGE_FULL;
+ frame.ycc_quantization_range = HDMI_YCC_QUANTIZATION_RANGE_FULL;
+ } else {
+ frame.quantization_range = HDMI_QUANTIZATION_RANGE_LIMITED;
+ frame.ycc_quantization_range = HDMI_YCC_QUANTIZATION_RANGE_LIMITED;
+ }
+
/*
* The Designware IP uses a different byte format from standard
* AVI info frames, though generally the bits are in the correct
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 4 Aug 2018 15:19:39 +0200
Subject: drm: add picture_aspect_ratio to hdmi 1.4 4k modes
---
drivers/gpu/drm/drm_edid.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 0c165dff362a..927dc7f469f1 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1236,25 +1236,25 @@ static const struct drm_display_mode edid_4k_modes[] = {
3840, 4016, 4104, 4400, 0,
2160, 2168, 2178, 2250, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
- .vrefresh = 30, },
+ .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
/* 2 - 3840x2160@25Hz */
{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000,
3840, 4896, 4984, 5280, 0,
2160, 2168, 2178, 2250, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
- .vrefresh = 25, },
+ .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
/* 3 - 3840x2160@24Hz */
{ DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000,
3840, 5116, 5204, 5500, 0,
2160, 2168, 2178, 2250, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
- .vrefresh = 24, },
+ .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
/* 4 - 4096x2160@24Hz (SMPTE) */
{ DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000,
4096, 5116, 5204, 5500, 0,
2160, 2168, 2178, 2250, 0,
DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
- .vrefresh = 24, },
+ .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135, },
};
/*** DDC fetch and block validation ***/
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 4 Aug 2018 16:26:47 +0200
Subject: drm: bridge: dw-hdmi: signal none colorimetry for rgb output
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index a3a5e8cb1c5c..c8c13c05ad9a 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -1694,6 +1694,8 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
frame.scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
if (hdmi_bus_fmt_is_rgb(hdmi->hdmi_data.enc_out_bus_format)) {
+ frame.colorimetry = HDMI_COLORIMETRY_NONE;
+ frame.extended_colorimetry = 0;
frame.quantization_range = HDMI_QUANTIZATION_RANGE_FULL;
frame.ycc_quantization_range = HDMI_YCC_QUANTIZATION_RANGE_FULL;
} else {
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonas Karlman <jonas@kwiboo.se>
Date: Sat, 4 Aug 2018 16:27:08 +0200
Subject: drm: bridge: dw-hdmi: signal it content and content type
---
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
index c8c13c05ad9a..3c5e554015f9 100644
--- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
@@ -1692,6 +1692,8 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
}
frame.scan_mode = HDMI_SCAN_MODE_UNDERSCAN;
+ frame.content_type = HDMI_CONTENT_TYPE_GRAPHICS;
+ frame.itc = true;
if (hdmi_bus_fmt_is_rgb(hdmi->hdmi_data.enc_out_bus_format)) {
frame.colorimetry = HDMI_COLORIMETRY_NONE;
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Randy Li <randy.li@rock-chips.com>
Date: Thu, 20 Sep 2018 10:59:11 +0800
Subject: Mali: midgard: fix the memory translation for aarch32
When the clients are 32 bits while the kernel is 64 bits,
we need to translate the memory address before accessing.
Change-Id: I7f47ab94da258e9d170613252aae9b396623cf48
Signed-off-by: Randy Li <randy.li@rock-chips.com>
---
drivers/gpu/arm/midgard/mali_kbase_core_linux.c | 88 ++++++++--
1 file changed, 69 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/arm/midgard/mali_kbase_core_linux.c b/drivers/gpu/arm/midgard/mali_kbase_core_linux.c
index 24bafe2bf32c..65bc5ad2a7c2 100644
--- a/drivers/gpu/arm/midgard/mali_kbase_core_linux.c
+++ b/drivers/gpu/arm/midgard/mali_kbase_core_linux.c
@@ -515,14 +515,20 @@ copy_failed:
case KBASE_FUNC_JOB_SUBMIT:
{
struct kbase_uk_job_submit *job = args;
+ void __user *user_addr = NULL;
if (sizeof(*job) != args_size)
goto bad_size;
- if (kbase_jd_submit(kctx, job->addr.value,
- job->nr_atoms,
- job->stride,
- false) != 0)
+#ifdef CONFIG_COMPAT
+ if (kbase_ctx_flag(kctx, KCTX_COMPAT))
+ user_addr = compat_ptr(job->addr.compat_value);
+ else
+#endif
+ user_addr = job->addr.value;
+
+ if (kbase_jd_submit(kctx, user_addr, job->nr_atoms,
+ job->stride, false) != 0)
ukh->ret = MALI_ERROR_FUNCTION_FAILED;
break;
}
@@ -531,14 +537,20 @@ copy_failed:
case KBASE_FUNC_JOB_SUBMIT_UK6:
{
struct kbase_uk_job_submit *job = args;
+ void __user *user_addr = NULL;
if (sizeof(*job) != args_size)
goto bad_size;
- if (kbase_jd_submit(kctx, job->addr.value,
- job->nr_atoms,
- job->stride,
- true) != 0)
+#ifdef CONFIG_COMPAT
+ if (kbase_ctx_flag(kctx, KCTX_COMPAT))
+ user_addr = compat_ptr(job->addr.compat_value);
+ else
+#endif
+ user_addr = job->addr.value;
+
+ if (kbase_jd_submit(kctx, user_addr, job->nr_atoms,
+ job->stride, true) != 0)
ukh->ret = MALI_ERROR_FUNCTION_FAILED;
break;
}
@@ -646,7 +658,8 @@ copy_failed:
goto bad_size;
if (find->gpu_addr & ~PAGE_MASK) {
- dev_warn(kbdev->dev, "kbase_legacy_dispatch case KBASE_FUNC_FIND_CPU_OFFSET: find->gpu_addr: passed parameter is invalid");
+ dev_warn(kbdev->dev,
+ "kbase_legacy_dispatch case KBASE_FUNC_FIND_CPU_OFFSET: find->gpu_addr: passed parameter is invalid");
goto out_bad;
}
@@ -674,8 +687,11 @@ copy_failed:
goto bad_size;
/* version buffer size check is made in compile time assert */
- memcpy(get_version->version_buffer, KERNEL_SIDE_DDK_VERSION_STRING, sizeof(KERNEL_SIDE_DDK_VERSION_STRING));
- get_version->version_string_size = sizeof(KERNEL_SIDE_DDK_VERSION_STRING);
+ memcpy(get_version->version_buffer,
+ KERNEL_SIDE_DDK_VERSION_STRING,
+ sizeof(KERNEL_SIDE_DDK_VERSION_STRING));
+ get_version->version_string_size =
+ sizeof(KERNEL_SIDE_DDK_VERSION_STRING);
get_version->rk_version = ROCKCHIP_VERSION;
break;
}
@@ -828,7 +844,8 @@ copy_failed:
#ifdef CONFIG_COMPAT
if (kbase_ctx_flag(kctx, KCTX_COMPAT))
- user_buf = compat_ptr(add_data->buf.compat_value);
+ user_buf =
+ compat_ptr(add_data->buf.compat_value);
else
#endif
user_buf = add_data->buf.value;
@@ -977,9 +994,9 @@ copy_failed:
return ret;
- bad_size:
+bad_size:
dev_err(kbdev->dev, "Wrong syscall size (%d) for %08x\n", args_size, id);
- out_bad:
+out_bad:
return -EINVAL;
}
@@ -1317,7 +1334,16 @@ static int kbase_api_set_flags(struct kbase_context *kctx,
static int kbase_api_job_submit(struct kbase_context *kctx,
struct kbase_ioctl_job_submit *submit)
{
- return kbase_jd_submit(kctx, submit->addr.value, submit->nr_atoms,
+ void __user *user_addr = NULL;
+
+#ifdef CONFIG_COMPAT
+ if (kbase_ctx_flag(kctx, KCTX_COMPAT))
+ user_addr = compat_ptr(submit->addr.compat_value);
+ else
+#endif
+ user_addr = submit->addr.value;
+
+ return kbase_jd_submit(kctx, user_addr, submit->nr_atoms,
submit->stride, false);
}
@@ -1548,6 +1574,7 @@ static int kbase_api_mem_alias(struct kbase_context *kctx,
union kbase_ioctl_mem_alias *alias)
{
struct base_mem_aliasing_info *ai;
+ void __user *user_addr = NULL;
u64 flags;
int err;
@@ -1558,8 +1585,15 @@ static int kbase_api_mem_alias(struct kbase_context *kctx,
if (!ai)
return -ENOMEM;
- err = copy_from_user(ai, alias->in.aliasing_info.value,
- sizeof(*ai) * alias->in.nents);
+#ifdef CONFIG_COMPAT
+ if (kbase_ctx_flag(kctx, KCTX_COMPAT))
+ user_addr =
+ compat_ptr(alias->in.aliasing_info.compat_value);
+ else
+#endif
+ user_addr = alias->in.aliasing_info.value;
+
+ err = copy_from_user(ai, user_addr, sizeof(*ai) * alias->in.nents);
if (err) {
vfree(ai);
return err;
@@ -1586,10 +1620,18 @@ static int kbase_api_mem_import(struct kbase_context *kctx,
{
int ret;
u64 flags = import->in.flags;
+ void __user *phandle;
+
+#ifdef CONFIG_COMPAT
+ if (kbase_ctx_flag(kctx, KCTX_COMPAT))
+ phandle = compat_ptr(import->in.phandle.compat_value);
+ else
+#endif
+ phandle = import->in.phandle.value;
ret = kbase_mem_import(kctx,
import->in.type,
- import->in.phandle.value,
+ phandle,
import->in.padding,
&import->out.gpu_va,
&import->out.va_pages,
@@ -1654,6 +1696,7 @@ static int kbase_api_get_profiling_controls(struct kbase_context *kctx,
static int kbase_api_mem_profile_add(struct kbase_context *kctx,
struct kbase_ioctl_mem_profile_add *data)
{
+ char __user *user_buf;
char *buf;
int err;
@@ -1666,7 +1709,14 @@ static int kbase_api_mem_profile_add(struct kbase_context *kctx,
if (ZERO_OR_NULL_PTR(buf))
return -ENOMEM;
- err = copy_from_user(buf, data->buffer.value, data->len);
+#ifdef CONFIG_COMPAT
+ if (kbase_ctx_flag(kctx, KCTX_COMPAT))
+ user_buf = compat_ptr(data->buffer.compat_value);
+ else
+#endif
+ user_buf = data->buffer.value;
+
+ err = copy_from_user(buf, user_buf, data->len);
if (err) {
kfree(buf);
return err;
--
Armbian
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nick <nick@khadas.com>
Date: Wed, 19 Sep 2018 22:14:58 +0800
Subject: bump PD voltage & current for board without charge IC
---
drivers/mfd/fusb302.c | 28 +++++++++-
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/drivers/mfd/fusb302.c b/drivers/mfd/fusb302.c
index a627252d6710..5fb172acd0c3 100644
--- a/drivers/mfd/fusb302.c
+++ b/drivers/mfd/fusb302.c
@@ -217,8 +217,32 @@ static int fusb302_set_pos_power_by_charge_ic(struct fusb30x_chip *chip)
max_vol = 0;
max_cur = 0;
psy = power_supply_get_by_phandle(chip->dev->of_node, "charge-dev");
- if (!psy || IS_ERR(psy))
- return -1;
+ if (!psy || IS_ERR(psy)) {
+ int ret;
+ u32 value;
+
+ ret = of_property_read_u32(chip->dev->of_node, "max-input-voltage", &value);
+ if (ret) {
+ dev_err(chip->dev, "'max-input-voltage' not found!\n");
+ return -1;
+ }
+
+ max_vol = value / 1000;
+
+ ret = of_property_read_u32(chip->dev->of_node, "max-input-current", &value);
+
+ if (ret) {
+ dev_err(chip->dev, "'max-input-current' not found!\n");
+ return -1;
+ }
+
+ max_cur = value / 1000;
+
+ if (max_vol > 0 && max_cur > 0)
+ fusb_set_pos_power(chip, max_vol, max_cur);
+
+ return 0;
+ }
psp = POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX;
if (power_supply_get_property(psy, psp, &val) == 0)
--
Armbian

View File

@ -1,500 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Sat, 8 Aug 2020 20:03:26 +0200
Subject: Add Rockpi E
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts | 468 ++++++++++
2 files changed, 469 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index f899bbbe4575..3f12c5dd2edd 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -40,6 +40,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-w7-icn6211-rk618-rgb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-863-lp3-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-863-lp3-v10-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-86v-v10.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock-pi-e.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-box-liantong.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-box-liantong-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
new file mode 100644
index 000000000000..8bda9c3a4b6d
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
@@ -0,0 +1,468 @@
+/*
+ * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., 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 library 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 library 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 "rk3328.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Radxa ROCK Pi E";
+ compatible = "radxa,rockpie", "rockchip,rk3328";
+
+ fiq-debugger {
+ compatible = "rockchip,fiq-debugger";
+ rockchip,serial-id = <2>;
+ rockchip,signal-irq = <159>;
+ rockchip,wake-irq = <0>;
+ /* If enable uart uses irq instead of fiq */
+ rockchip,irq-mode-enable = <0>;
+ rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
+ interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
+ status = "okay";
+ };
+
+ gmac_clkin: external-gmac-clock {
+ compatible = "fixed-clock";
+ clock-frequency = <125000000>;
+ clock-output-names = "gmac_clkin";
+ #clock-cells = <0>;
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,name = "rockchip,rk3328";
+ simple-audio-card,cpu {
+ sound-dai = <&i2s1>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&codec>;
+ };
+ };
+
+ hdmi-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <128>;
+ simple-audio-card,name = "rockchip,hdmi";
+ simple-audio-card,cpu {
+ sound-dai = <&i2s0>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&hdmi>;
+ };
+ };
+
+ vcc_host_vbus: host-vbus-regulator {
+ compatible = "regulator-fixed";
+ gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&host_vbus_drv>;
+ regulator-name = "vcc_host_vbus";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ enable-active-high;
+ };
+
+ vcc_phy: vcc-phy-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_phy";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vcc_sd: sdmmc-regulator {
+ compatible = "regulator-fixed";
+ gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0m1_gpio>;
+ regulator-name = "vcc_sd";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vcc_io>;
+ };
+
+ xin32k: xin32k {
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ clock-output-names = "xin32k";
+ #clock-cells = <0>;
+ };
+};
+
+&io_domains {
+ status = "okay";
+
+ vccio1-supply = <&vcc_io>;
+ vccio2-supply = <&vcc_18emmc>;
+ vccio3-supply = <&vcc_io>;
+ vccio4-supply = <&vcc_io>;
+ vccio5-supply = <&vcc_io>;
+ vccio6-supply = <&vcc_io>;
+ pmuio-supply = <&vcc_io>;
+};
+
+&cpu0 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&gpu {
+ status = "okay";
+ mali-supply = <&vdd_logic>;
+};
+
+&gmac2phy {
+ phy-supply = <&vcc_phy>;
+ clock_in_out = "output";
+ assigned-clocks = <&cru SCLK_MAC2PHY_SRC>;
+ assigned-clock-rate = <50000000>;
+ assigned-clocks = <&cru SCLK_MAC2PHY>;
+ assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
+ status = "okay";
+};
+
+&gmac2io {
+ phy-supply = <&vcc_io>;
+ phy-mode = "rgmii";
+ clock_in_out = "input";
+ snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+ snps,reset-active-low;
+ snps,reset-delays-us = <0 10000 50000>;
+ assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
+ assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmiim1_pins>;
+ tx_delay = <0x26>;
+ rx_delay = <0x11>;
+ status = "okay";
+};
+
+&display_subsystem {
+ status = "okay";
+};
+
+&hdmi {
+ #sound-dai-cells = <0>;
+ ddc-i2c-scl-high-time-ns = <9625>;
+ ddc-i2c-scl-low-time-ns = <10000>;
+ status = "okay";
+};
+
+&hdmiphy {
+ status = "okay";
+};
+
+&h265e {
+ status = "okay";
+};
+
+&rkvdec {
+ status = "okay";
+};
+
+&vepu {
+ status = "okay";
+};
+
+&vop {
+ status = "okay";
+};
+
+&vop_mmu {
+ status = "okay";
+};
+
+&vpu_service {
+ status = "okay";
+};
+
+&i2s0 {
+ #sound-dai-cells = <0>;
+ rockchip,bclk-fs = <128>;
+ status = "okay";
+};
+
+&i2s1 {
+ #sound-dai-cells = <0>;
+ status = "okay";
+};
+
+&codec {
+ #sound-dai-cells = <0>;
+ status = "okay";
+};
+
+&emmc {
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ mmc-hs200-1_8v;
+ supports-emmc;
+ disable-wp;
+ non-removable;
+ num-slots = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+ status = "okay";
+};
+
+&sdmmc {
+ bus-width = <4>;
+ cap-mmc-highspeed;
+ cap-sd-highspeed;
+ disable-wp;
+ max-frequency = <150000000>;
+ num-slots = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
+ supports-sd;
+ status = "okay";
+ vmmc-supply = <&vcc_sd>;
+};
+
+&i2c1 {
+ status = "okay";
+
+ rk805: rk805@18 {
+ compatible = "rockchip,rk805";
+ status = "okay";
+ reg = <0x18>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_int_l>;
+ rockchip,system-power-controller;
+ wakeup-source;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #clock-cells = <1>;
+ clock-output-names = "rk805-clkout1", "rk805-clkout2";
+
+ rtc {
+ status = "disabled";
+ };
+
+ pwrkey {
+ status = "disabled";
+ };
+
+ gpio {
+ status = "okay";
+ };
+
+ regulators {
+ compatible = "rk805-regulator";
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vdd_logic: RK805_DCDC1 {
+ regulator-compatible = "RK805_DCDC1";
+ regulator-name = "vdd_logic";
+ regulator-min-microvolt = <712500>;
+ regulator-max-microvolt = <1450000>;
+ regulator-initial-mode = <0x1>;
+ regulator-ramp-delay = <12500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1000000>;
+ };
+ };
+
+ vdd_arm: RK805_DCDC2 {
+ regulator-compatible = "RK805_DCDC2";
+ regulator-name = "vdd_arm";
+ regulator-min-microvolt = <712500>;
+ regulator-max-microvolt = <1450000>;
+ regulator-initial-mode = <0x1>;
+ regulator-ramp-delay = <12500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <950000>;
+ };
+ };
+
+ vcc_ddr: RK805_DCDC3 {
+ regulator-compatible = "RK805_DCDC3";
+ regulator-name = "vcc_ddr";
+ regulator-initial-mode = <0x1>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ };
+ };
+
+ vcc_io: RK805_DCDC4 {
+ regulator-compatible = "RK805_DCDC4";
+ regulator-name = "vcc_io";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-initial-mode = <0x1>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <3300000>;
+ };
+ };
+
+ vdd_18: RK805_LDO1 {
+ regulator-compatible = "RK805_LDO1";
+ regulator-name = "vdd_18";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vcc_18emmc: RK805_LDO2 {
+ regulator-compatible = "RK805_LDO2";
+ regulator-name = "vcc_18emmc";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vdd_11: RK805_LDO3 {
+ regulator-compatible = "RK805_LDO3";
+ regulator-name = "vdd_11";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1100000>;
+ };
+ };
+ };
+ };
+};
+
+&pinctrl {
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_enable>;
+
+ wifi {
+ wifi_enable: wifi-enable {
+ rockchip,pins =
+ <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
+ };
+ };
+
+ pmic {
+ pmic_int_l: pmic-int-l {
+ rockchip,pins =
+ <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; /* gpio2_a6 */
+ };
+ };
+
+ usb {
+ host_vbus_drv: host-vbus-drv {
+ rockchip,pins =
+ <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+};
+
+&u2phy {
+ status = "okay";
+
+ u2phy_host: host-port {
+ status = "okay";
+ };
+
+ u2phy_otg: otg-port {
+ status = "okay";
+ };
+};
+
+&u3phy {
+ vbus-supply = <&vcc_host_vbus>;
+ status = "okay";
+};
+
+&u3phy_utmi {
+ status = "okay";
+};
+
+&u3phy_pipe {
+ status = "okay";
+};
+
+&usb20_otg {
+ status = "okay";
+};
+
+&usb_host0_ehci {
+ status = "okay";
+};
+
+&usb_host0_ohci {
+ status = "okay";
+};
+
+&usbdrd3 {
+ status = "okay";
+};
+
+&usbdrd_dwc3 {
+ status = "okay";
+};
--
Armbian

View File

@ -1,840 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igor.pecovnik@gmail.com>
Date: Thu, 24 May 2018 15:44:15 +0200
Subject: [ARCHEOLOGY] Merging Rockchip family
> X-Git-Archeology: - Revision 7d2f3af08f23049c91c88eec5062613bbfbc85d4: https://github.com/armbian/build/commit/7d2f3af08f23049c91c88eec5062613bbfbc85d4
> X-Git-Archeology: Date: Thu, 24 May 2018 15:44:15 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Merging Rockchip family
> X-Git-Archeology:
> X-Git-Archeology: - Revision e7630c5092f51ec10f9aad099f543d5446a07bb6: https://github.com/armbian/build/commit/e7630c5092f51ec10f9aad099f543d5446a07bb6
> X-Git-Archeology: Date: Sat, 07 Jul 2018 11:42:05 +0000
> X-Git-Archeology: From: Staars <baars@gmx.de>
> X-Git-Archeology: Subject: Updated DTS for z28pro
> X-Git-Archeology:
> X-Git-Archeology: - Revision 41b589372f2c1a8450033db78f3d8ed9db1b2196: https://github.com/armbian/build/commit/41b589372f2c1a8450033db78f3d8ed9db1b2196
> X-Git-Archeology: Date: Sun, 26 Aug 2018 14:14:14 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: Creating new family rockchip64. 3288 and 3399 was merged in, except Nanopi which stays in RK3399 family with sources attached to FA repository until we manage to join that in. Enabled Nanopc T4, Nanopi M4, Renegade. Tested on Rock64 and Nanopc T4.
> X-Git-Archeology:
> X-Git-Archeology: - Revision 58725209d970c98489a4ee5cdf085a80347c5d47: https://github.com/armbian/build/commit/58725209d970c98489a4ee5cdf085a80347c5d47
> X-Git-Archeology: Date: Tue, 09 Apr 2019 14:44:44 +0200
> X-Git-Archeology: From: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: Subject: [ rockchip64 default and dev ] Attaching to latest Ayufan branch, patches adjustement, disabled CEC due to issues @darinatoda and briefly tested on both kernels
> X-Git-Archeology:
> X-Git-Archeology: - Revision 150ac0c2afa147d9e3b036c8ecd8238fe5648cf3: https://github.com/armbian/build/commit/150ac0c2afa147d9e3b036c8ecd8238fe5648cf3
> X-Git-Archeology: Date: Tue, 19 Nov 2019 23:25:39 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Remove K<4, change branches, new features (#1586)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
arch/arm64/boot/dts/rockchip/rk3328-z28pro.dts | 779 ++++++++++
2 files changed, 780 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 3f12c5dd2edd..e59cd4d12eba 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -49,6 +49,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb-android-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64-android-avb.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-z28pro.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3366-fpga.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3366-sheep.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-z28pro.dts b/arch/arm64/boot/dts/rockchip/rk3328-z28pro.dts
new file mode 100644
index 000000000000..7b82b7862537
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-z28pro.dts
@@ -0,0 +1,779 @@
+/*
+ * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., 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 library 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 library 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 "rk3328.dtsi"
+#include <dt-bindings/input/input.h>
+
+/ {
+ model = "Z28pro";
+ compatible = "rockchip,rk3328-z28pro", "rockchip,rk3328";
+
+ chosen {
+ bootargs = "earlyprintk=uart8250-32bit,0xff130000";
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ standby-led {
+ linux,default-trigger = "heartbeat";
+ gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ power-led {
+ linux,default-trigger = "mmc0";
+ gpios = <&rk805 1 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ };
+
+ };
+
+ gmac_clkin: external-gmac-clock {
+ compatible = "fixed-clock";
+ clock-frequency = <125000000>;
+ clock-output-names = "gmac_clkin";
+ #clock-cells = <0>;
+ };
+
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_enable_h>;
+
+ reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,name = "rockchip,rk3328";
+ simple-audio-card,cpu {
+ sound-dai = <&i2s1>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&codec>;
+ };
+ };
+
+ hdmi-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <128>;
+ simple-audio-card,name = "rockchip,hdmi";
+ simple-audio-card,cpu {
+ sound-dai = <&i2s0>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&hdmi>;
+ };
+ };
+
+ spdif-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "rockchip,spdif";
+ simple-audio-card,cpu {
+ sound-dai = <&spdif>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&spdif_out>;
+ };
+ };
+
+ spdif_out: spdif-out {
+ compatible = "linux,spdif-dit";
+ #sound-dai-cells = <0>;
+ };
+
+ vcc_phy: vcc-phy-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_phy";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vcc_sys: vcc-sys {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_sys";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+ vcc_host_5v: vcc-host-5v-regulator {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb30_host_drv>;
+ regulator-name = "vcc_host_5v";
+ vin-supply = <&vcc_sys>;
+ };
+
+ vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb20_host_drv>;
+ regulator-name = "vcc_host1_5v";
+ vin-supply = <&vcc_sys>;
+ };
+
+ xin32k: xin32k {
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ clock-output-names = "xin32k";
+ #clock-cells = <0>;
+ };
+
+
+ vcc_sd: sdmmc-ext-regulator {
+ compatible = "regulator-fixed";
+ gpio = <&gpio2 RK_PA7 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0m0_gpio>;
+ regulator-name = "vcc_sd";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vcc_io>;
+ };
+
+ ir-receiver {
+ compatible = "gpio-ir-receiver";
+ gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&ir_int>;
+ pinctrl-names = "default";
+ status = "okay";
+ };
+
+ wireless-bluetooth {
+ compatible = "bluetooth-platdata";
+ uart_rts_gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default", "rts_gpio";
+ pinctrl-0 = <&uart2m1_xfer>;
+ pinctrl-1;
+ BT,wake_gpio;
+ BT,power_gpio = <&gpio1 0x18 GPIO_ACTIVE_HIGH>;
+ BT,wake_host_irq = <&gpio1 0x1a GPIO_ACTIVE_HIGH>;
+ status = "okay";
+ };
+
+ wireless-wlan {
+ compatible = "wlan-platdata";
+ rockchip,grf = <&grf>;
+ wifi_chip_type = "rtl8822bs";
+ WIFI,host_wake_irq = <&gpio1 RK_PA5 GPIO_ACTIVE_HIGH>;
+ /*WIFI,poweren_gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;*/
+ status = "okay";
+ sdio_vref = <1800>;
+ };
+};
+
+&codec {
+ #sound-dai-cells = <0>;
+ status = "okay";
+};
+
+&cpu0 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&cpu1 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&cpu2 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&cpu3 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&display_subsystem {
+ status = "okay";
+};
+
+&dfi {
+ status = "okay";
+};
+
+&dmc {
+ center-supply = <&vdd_logic>;
+ status = "okay";
+};
+
+&emmc {
+ /delete-property/ clock-freq-min-max;
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ non-removable;
+ supports-emmc;
+ clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
+ <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
+ clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ disable-wp;
+ max-frequency = <200000000>;
+ mmc-hs200-1_8v;
+ num-slots = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+ vmmc-supply = <&vcc_io>;
+ vqmmc-supply = <&vcc_18emmc>;
+ status = "okay";
+};
+
+
+&gmac2io {
+ phy-supply = <&vcc_phy>;
+ phy-mode = "rgmii";
+ clock_in_out = "input";
+ snps,reset-gpio = <&gpio2 0x11 GPIO_ACTIVE_LOW>;
+ snps,reset-active-low;
+ snps,reset-delays-us = <0 10000 50000>;
+ assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
+ assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmiim1_pins>;
+ tx_delay = <0x26>;
+ rx_delay = <0x11>;
+ status = "okay";
+};
+
+&gpu {
+ status = "okay";
+ mali-supply = <&vdd_logic>;
+};
+
+&hdmi {
+ #sound-dai-cells = <0>;
+ ddc-i2c-scl-high-time-ns = <9625>;
+ ddc-i2c-scl-low-time-ns = <10000>;
+ status = "okay";
+};
+
+&hdmiphy {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+
+ rk805: rk805@18 {
+ compatible = "rockchip,rk805";
+ status = "okay";
+ reg = <0x18>;
+ interrupt-parent = <&gpio2>;
+ interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_int_l>;
+ rockchip,system-power-controller;
+ wakeup-source;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #clock-cells = <1>;
+ clock-output-names = "rk805-clkout1", "rk805-clkout2";
+
+ vcc1-supply = <&vcc_sys>;
+ vcc2-supply = <&vcc_sys>;
+ vcc3-supply = <&vcc_sys>;
+ vcc4-supply = <&vcc_sys>;
+ vcc5-supply = <&vcc_io>;
+ vcc6-supply = <&vcc_sys>;
+
+
+ rtc {
+ status = "okay";
+ };
+
+ pwrkey {
+ status = "okay";
+ };
+
+ gpio {
+ status = "okay";
+ };
+
+ regulators {
+ compatible = "rk805-regulator";
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vdd_logic: RK805_DCDC1 {
+ regulator-compatible = "RK805_DCDC1";
+ regulator-name = "vdd_logic";
+ regulator-min-microvolt = <712500>;
+ regulator-max-microvolt = <1450000>;
+ regulator-initial-mode = <0x1>;
+ regulator-ramp-delay = <12500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1000000>;
+ };
+ };
+
+ vdd_arm: RK805_DCDC2 {
+ regulator-compatible = "RK805_DCDC2";
+ regulator-name = "vdd_arm";
+ regulator-min-microvolt = <712500>;
+ regulator-max-microvolt = <1450000>;
+ regulator-initial-mode = <0x1>;
+ regulator-ramp-delay = <12500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <950000>;
+ };
+ };
+
+ vcc_ddr: RK805_DCDC3 {
+ regulator-compatible = "RK805_DCDC3";
+ regulator-name = "vcc_ddr";
+ regulator-initial-mode = <0x1>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ };
+ };
+
+ vcc_io: RK805_DCDC4 {
+ regulator-compatible = "RK805_DCDC4";
+ regulator-name = "vcc_io";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-initial-mode = <0x1>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <3300000>;
+ };
+ };
+
+ vdd_18: RK805_LDO1 {
+ regulator-compatible = "RK805_LDO1";
+ regulator-name = "vdd_18";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vcc_18emmc: RK805_LDO2 {
+ regulator-compatible = "RK805_LDO2";
+ regulator-name = "vcc_18emmc";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vdd_11: RK805_LDO3 {
+ regulator-compatible = "RK805_LDO3";
+ regulator-name = "vdd_11";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1100000>;
+ };
+ };
+ };
+ };
+};
+
+&h265e {
+ status = "okay";
+};
+
+&i2s0 {
+ #sound-dai-cells = <0>;
+ rockchip,bclk-fs = <128>;
+ status = "okay";
+};
+
+&i2s1 {
+ #sound-dai-cells = <0>;
+ status = "okay";
+};
+
+
+&io_domains {
+ status = "okay";
+
+ vccio1-supply = <&vcc_io>;
+ vccio2-supply = <&vcc_18emmc>;
+ vccio3-supply = <&vcc_io>;
+ vccio4-supply = <&vdd_18>;
+ vccio5-supply = <&vcc_io>;
+ vccio6-supply = <&vcc_io>;
+ pmuio-supply = <&vcc_io>;
+};
+
+&pinctrl {
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&clk_32k_out>;
+
+ pmic {
+ pmic_int_l: pmic-int-l {
+ rockchip,pins =
+ <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; /* gpio2_a6 */
+ };
+ };
+
+ sdio-pwrseq {
+ wifi_enable_h: wifi-enable-h {
+ rockchip,pins =
+ <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ clk_32k {
+ clk_32k_out: clk-32k-out {
+ rockchip,pins = <1 RK_PD4 RK_FUNC_1 &pcfg_pull_none>;
+ };
+ };
+
+ usb2 {
+ usb20_host_drv: usb20-host-drv {
+ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ usb3 {
+ usb30_host_drv: usb30-host-drv {
+ rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ ir {
+ ir_int: ir-int {
+ rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+};
+
+&rga {
+ status = "okay";
+};
+
+
+&pwm3 {
+ status = "okay";
+ compatible = "rockchip,remotectl-pwm";
+ remote_pwm_id = <3>;
+ handle_cpu_id = <1>;
+ remote_support_psci = <1>;
+
+ ir_key1 {
+ rockchip,usercode = <0x4040>;
+ rockchip,key_table =
+ <0xf2 KEY_REPLY>,
+ <0xba KEY_BACK>,
+ <0xf4 KEY_UP>,
+ <0xf1 KEY_DOWN>,
+ <0xef KEY_LEFT>,
+ <0xee KEY_RIGHT>,
+ <0xbd KEY_HOME>,
+ <0xea KEY_VOLUMEUP>,
+ <0xe3 KEY_VOLUMEDOWN>,
+ <0xe2 KEY_SEARCH>,
+ <0xb2 KEY_POWER>,
+ <0xbc KEY_MUTE>,
+ <0xec KEY_MENU>,
+ <0xbf 0x190>,
+ <0xe0 0x191>,
+ <0xe1 0x192>,
+ <0xe9 183>,
+ <0xe6 248>,
+ <0xe8 185>,
+ <0xe7 186>,
+ <0xf0 388>,
+ <0xbe 0x175>;
+ };
+
+ ir_key2 {
+ rockchip,usercode = <0xff00>;
+ rockchip,key_table =
+ <0x39 KEY_POWER>,
+ <0x73 KEY_MUTE>,
+ <0xa4 KEY_PLAYPAUSE>,
+ <0x75 KEY_VOLUMEDOWN>,
+ <0x77 KEY_VOLUMEUP>,
+ <0x7d KEY_MENU>,
+ <0xf9 KEY_HOME>,
+ <0x5f KEY_BACK>,
+ <0xb9 KEY_UP>,
+ <0xe9 KEY_DOWN>,
+ <0xb8 KEY_LEFT>,
+ <0xea KEY_RIGHT>,
+ <0xaa KEY_REPLY>,
+ <0x55 KEY_1>,
+ <0x5b KEY_2>,
+ <0xf8 KEY_3>,
+ <0x57 KEY_4>,
+ <0xed KEY_5>,
+ <0xee KEY_6>,
+ <0x59 KEY_7>,
+ <0xf1 KEY_8>,
+ <0xf2 KEY_9>,
+ <0xe0 KEY_BACKSPACE>,
+ <0x79 KEY_0>,
+ <0xa4 KEY_SETUP>;
+ };
+
+ ir_key3 {
+ rockchip,usercode = <0x1dcc>;
+ rockchip,key_table =
+ <0xee KEY_REPLY>,
+ <0xf0 KEY_BACK>,
+ <0xf8 KEY_UP>,
+ <0xbb KEY_DOWN>,
+ <0xef KEY_LEFT>,
+ <0xed KEY_RIGHT>,
+ <0xfc KEY_HOME>,
+ <0xf1 KEY_VOLUMEUP>,
+ <0xfd KEY_VOLUMEDOWN>,
+ <0xb7 KEY_SEARCH>,
+ <0xff KEY_POWER>,
+ <0xf3 KEY_MUTE>,
+ <0xbf KEY_MENU>,
+ <0xf9 0x191>,
+ <0xf5 0x192>,
+ <0xb3 388>,
+ <0xbe KEY_1>,
+ <0xba KEY_2>,
+ <0xb2 KEY_3>,
+ <0xbd KEY_4>,
+ <0xf9 KEY_5>,
+ <0xb1 KEY_6>,
+ <0xfc KEY_7>,
+ <0xf8 KEY_8>,
+ <0xb0 KEY_9>,
+ <0xb6 KEY_0>,
+ <0xb5 KEY_BACKSPACE>;
+ };
+};
+
+&rkvdec {
+ status = "okay";
+};
+
+&rkvdec_mmu {
+ status = "okay";
+};
+
+&sdmmc {
+ /delete-property/ clock-freq-min-max;
+ max-frequency = <150000000>;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ ignore-pm-notify;
+ keep-power-in-suspend;
+ power-inverted;
+ supports-UHS_SDR104;
+ supports-sdio;
+ cap-sdio-irq;
+ non-removable;
+ bus-width = <4>;
+ num-slots = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_cmd &sdmmc0_clk>;
+ /*vmmc-supply = <&vcc_sdio>;
+ vqmmc-supply = <&vdd_18>;*/
+ status = "okay";
+};
+
+
+
+&sdmmc_ext {
+ /delete-property/ clock-freq-min-max;
+ reg = <0x0 0xff5f0000 0x0 0x4000>;
+ clocks = <&cru HCLK_SDMMC_EXT>, <&cru SCLK_SDMMC_EXT>, <&cru SCLK_SDMMC_EXT_DRV>, <&cru SCLK_SDMMC_EXT_SAMPLE>;
+ clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ fifo-depth = <0x100>;
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
+ status = "okay";
+ cd-gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
+ bus-width = <0x4>;
+ cap-sd-highspeed;
+ disable-wp;
+ max-frequency = <150000000>;
+ num-slots = <0x1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0ext_clk &sdmmc0ext_cmd &sdmmc0ext_dectn &sdmmc0ext_bus4>;
+ supports-sd;
+ card-detect-delay = <0x320>;
+ vmmc-supply = <&vcc_sd>;
+ vqmmc-supply = <&vcc_sd>;
+ ignore-pm-notify;
+ keep-power-in-suspend;
+ power-inverted;
+ };
+
+&spdif {
+ #sound-dai-cells = <0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&spdifm0_tx>;
+ status = "okay";
+};
+
+&threshold {
+ temperature = <90000>; /* millicelsius */
+};
+
+&target {
+ temperature = <105000>; /* millicelsius */
+};
+
+&soc_crit {
+ temperature = <110000>; /* millicelsius */
+};
+
+&tsadc {
+ rockchip,hw-tshut-mode = <0>;
+ rockchip,hw-tshut-polarity = <0>;
+ rockchip,hw-tshut-temp = <120000>;
+ status = "okay";
+};
+
+
+&uart2 {
+ status = "okay";
+ dma-names = "tx", "rx";
+};
+
+&u2phy {
+ status = "okay";
+};
+
+&u2phy_host {
+ phy-supply = <&vcc_host1_5v>;
+ status = "okay";
+};
+
+&u2phy_otg {
+ phy-supply = <&vcc_otg_5v>;
+ status = "okay";
+};
+
+&u3phy {
+ status = "okay";
+};
+
+&u3phy_utmi {
+ phy-supply = <&vcc_host_5v>;
+ status = "okay";
+};
+
+&u3phy_pipe {
+ phy-supply = <&vcc_host_5v>;
+ status = "okay";
+};
+
+&usb20_otg {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_host0_ehci {
+ status = "okay";
+};
+
+&usb_host0_ohci {
+ status = "okay";
+};
+
+&usbdrd3 {
+ status = "okay";
+};
+
+&usbdrd_dwc3 {
+ status = "okay";
+};
+
+&vepu {
+ status = "okay";
+};
+
+&vepu_mmu {
+ status = "okay";
+};
+
+&venc_srv {
+ status = "okay";
+};
+
+&vop {
+ status = "okay";
+};
+
+&vop_mmu {
+ status = "okay";
+};
+
+&vpu_service {
+ status = "okay";
+};
--
Armbian

View File

@ -1,164 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: JMCC <JMCC@localhost>
Date: Sun, 27 Dec 2020 02:58:41 +0100
Subject: add-oc-opp-rk3399
Signed-off-by: JMCC <JMCC@localhost>
---
arch/arm64/boot/dts/rockchip/overlay/Makefile | 4 +-
arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays | 11 ++
arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts | 38 ++++++
arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts | 58 ++++++++++
4 files changed, 110 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
index c5f52da3ab08..9d39fce0031f 100644
--- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
@@ -3,10 +3,12 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
rockchip-i2c7.dtbo \
rockchip-i2c8.dtbo \
rockchip-pcie-gen2.dtbo \
+ rockchip-rk3399-oc-20.dtbo \
+ rockchip-rk3399-oc-22.dtbo \
rockchip-spi-jedec-nor.dtbo \
rockchip-spi-spidev.dtbo \
rockchip-uart4.dtbo \
- rockchip-w1-gpio.dtbo
+ rockchip-w1-gpio.dtbo
scr-$(CONFIG_ARCH_ROCKCHIP) += \
rockchip-fixup.scr
diff --git a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
index 3da852a20d27..efb8d23fde7b 100644
--- a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
+++ b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
@@ -29,6 +29,17 @@ I2C8 pins (pi-conn) (pi-conn) (SCL, SDA): GPIO1-C5, GPIO1-C4
Enables PCIe Gen2 link speed on RK3399.
WARNING! Not officially supported by Rockchip!!!
+### rk3399-oc-20
+
+Enables Overclocking frequencies 2.0/1.5 Ghz.
+This one should be stable in almost any individual chip
+
+### rk3399-oc-22
+
+Enables Overclocking frequencies 2.2/1.7 Ghz.
+This one should also be stable in most cases, but make
+sure you have very good cooling
+
### spi-jedec-nor
Activates MTD support for JEDEC compatible SPI NOR flash chips on SPI bus
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts
new file mode 100644
index 000000000000..32f70cfe8a14
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-20.dts
@@ -0,0 +1,38 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&cluster0_opp>;
+
+ __overlay__ {
+ rockchip,bin-scaling-sel = <
+ 0 12
+ 1 12
+ >;
+ opp-1512000000 {
+ opp-hz = /bits/ 64 <1512000000>;
+ opp-microvolt = <1150000>;
+ clock-latency-ns = <40000>;
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&cluster1_opp>;
+
+ __overlay__ {
+ rockchip,bin-scaling-sel = <
+ 0 1
+ 1 1
+ >;
+ opp-1992000000 {
+ opp-hz = /bits/ 64 <1992000000>;
+ opp-microvolt = <1250000>;
+ clock-latency-ns = <40000>;
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts
new file mode 100644
index 000000000000..04b23b578eeb
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rk3399-oc-22.dts
@@ -0,0 +1,58 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&cluster0_opp>;
+
+ __overlay__ {
+ rockchip,bin-scaling-sel = <
+ 0 12
+ 1 12
+ >;
+ opp-1512000000 {
+ opp-hz = /bits/ 64 <1512000000>;
+ opp-microvolt = <1150000 1150000 1200000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-1608000000 {
+ opp-hz = /bits/ 64 <1608000000>;
+ opp-microvolt = <1175000 1175000 1200000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-1704000000 {
+ opp-hz = /bits/ 64 <1704000000>;
+ opp-microvolt = <1300000 1300000 1300000>;
+ clock-latency-ns = <40000>;
+ };
+ };
+ };
+
+ fragment@1 {
+ target = <&cluster1_opp>;
+
+ __overlay__ {
+ rockchip,bin-scaling-sel = <
+ 0 1
+ 1 1
+ >;
+ opp-1992000000 {
+ opp-hz = /bits/ 64 <1992000000>;
+ opp-microvolt = <1250000 1250000 1250000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-2088000000 {
+ opp-hz = /bits/ 64 <2088000000>;
+ opp-microvolt = <1300000 1300000 1300000>;
+ cloc-latency-ns = <40000>;
+ };
+ opp-2184000000 {
+ opp-hz = /bits/ 64 <2184000000>;
+ opp-microvolt = <1350000 1350000 1350000>;
+ clock-latency-ns = <40000>;
+ };
+ };
+ };
+};
--
Armbian

View File

@ -1,173 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: JMCC <JMCC@localhost>
Date: Sun, 27 Dec 2020 01:44:20 +0100
Subject: zz-53-add-rpi-camera-and-screen
Signed-off-by: JMCC <JMCC@localhost>
---
arch/arm64/boot/dts/rockchip/overlay/Makefile | 3 +
arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays | 16 ++++
arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts | 45 ++++++++++
arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts | 22 +++++
arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts | 30 +++++++
5 files changed, 116 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/overlay/Makefile b/arch/arm64/boot/dts/rockchip/overlay/Makefile
index 9d39fce0031f..6443999d0f31 100644
--- a/arch/arm64/boot/dts/rockchip/overlay/Makefile
+++ b/arch/arm64/boot/dts/rockchip/overlay/Makefile
@@ -5,6 +5,9 @@ dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
rockchip-pcie-gen2.dtbo \
rockchip-rk3399-oc-20.dtbo \
rockchip-rk3399-oc-22.dtbo \
+ rockchip-rpi-7inch-lcd.dtbo \
+ rockchip-rpi-cam-imx219.dtbo \
+ rockchip-rpi-cam-ov5647.dtbo \
rockchip-spi-jedec-nor.dtbo \
rockchip-spi-spidev.dtbo \
rockchip-uart4.dtbo \
diff --git a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
index efb8d23fde7b..6ae79d9422ad 100644
--- a/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
+++ b/arch/arm64/boot/dts/rockchip/overlay/README.rockchip-overlays
@@ -40,6 +40,22 @@ Enables Overclocking frequencies 2.2/1.7 Ghz.
This one should also be stable in most cases, but make
sure you have very good cooling
+### rpi-7inch-lcd
+
+Enables the Raspberry Pi MIPI-DSI 7-inch LCD touch screen,
+and compatible hardware.
+
+### rpi-cam-imx219
+
+Enables the Raspberry Pi CSI camera v2 (IMX219),
+and compatible hardware
+
+### rpi-cam-ov5647
+
+Enables the Raspberry Pi CSI camera v1 (OV5647),
+and compatible hardware
+
+
### spi-jedec-nor
Activates MTD support for JEDEC compatible SPI NOR flash chips on SPI bus
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts
new file mode 100644
index 000000000000..77fe14383a93
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-7inch-lcd.dts
@@ -0,0 +1,45 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&dsi>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&dsi1>;
+
+ __overlay__ {
+ rockchip,dual-channel = <&dsi>;
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel: panel@0 {
+ compatible ="rockpi,tc358762";
+ reg = <0>;
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&i2c1>;
+
+ __overlay__ {
+ rockpi_mcu: rockpi_mcu@45 {
+ status = "okay";
+ };
+
+ rockpi_ft5406: rockpi_ft5406@38 {
+ status = "okay";
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts
new file mode 100644
index 000000000000..2cd419b6d414
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-imx219.dts
@@ -0,0 +1,22 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&i2c4>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&camera1>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts
new file mode 100644
index 000000000000..61c8b88b7ed6
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/overlay/rockchip-rpi-cam-ov5647.dts
@@ -0,0 +1,30 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rockpi","rockchip,rk3399";
+
+ fragment@0 {
+ target = <&i2c4>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target = <&camera2>;
+
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@2 {
+ target = <&mipi_in_ucam0>;
+
+ __overlay__ {
+ remote-endpoint = <&ucam_out1>;
+ };
+ };
+};
--
Armbian

View File

@ -1,517 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
Date: Sat, 20 Jun 2020 22:39:57 +0200
Subject: [ARCHEOLOGY] Initial ROCK Pi E support (as WIP) (#2042)
> X-Git-Archeology: > recovered message: > * WIP: Adding RockpiE config
> X-Git-Archeology: > recovered message: > Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: > recovered message: > * Mainline u-boot for ROCK Pi E
> X-Git-Archeology: > recovered message: > * Initial ROCK Pi E device tree in kernel
> X-Git-Archeology: > recovered message: > * Fixed supplies for ROCK Pi E device tree
> X-Git-Archeology: > recovered message: > * Adjusted u-boot load address for rockchip64 boards with 256MB eg. ROCK Pi E
> X-Git-Archeology: > recovered message: > * Blacklisted lima on ROCK Pi E
> X-Git-Archeology: > recovered message: > * Fixed ROCK Pi E patch after merge from master
> X-Git-Archeology: > recovered message: > * Removed mode settings from rk805 regulators
> X-Git-Archeology: > recovered message: > * Fixed issues with offloading for gigabit interface of RockPi E
> X-Git-Archeology: > recovered message: > * Adjusted ROCK Pi E board config
> X-Git-Archeology: > recovered message: > * Added dev branch for ROCK Pi E
> X-Git-Archeology: > recovered message: > * Add build targets
> X-Git-Archeology: > recovered message: > Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
> X-Git-Archeology: > recovered message: > * Exchange legacy to current in ROCK Pi E build targets
> X-Git-Archeology: > recovered message: > Co-authored-by: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: - Revision e1ecb098330dc372740371dc2386f911833a0529: https://github.com/armbian/build/commit/e1ecb098330dc372740371dc2386f911833a0529
> X-Git-Archeology: Date: Sat, 20 Jun 2020 22:39:57 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Initial ROCK Pi E support (as WIP) (#2042)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 72257bd0648c28fca32962126bb885a4a2c188cc: https://github.com/armbian/build/commit/72257bd0648c28fca32962126bb885a4a2c188cc
> X-Git-Archeology: Date: Tue, 23 Jun 2020 16:37:54 +0200
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Make USB3 support of ROCK Pi E on par with other rk3328 boards (#2050)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 36405e3397b68600bdd2c34d5a7bcfa0a09b1226: https://github.com/armbian/build/commit/36405e3397b68600bdd2c34d5a7bcfa0a09b1226
> X-Git-Archeology: Date: Sat, 29 Aug 2020 00:16:28 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Add Rockpi 4C (#2129)
> X-Git-Archeology:
> X-Git-Archeology: - Revision a1e96e68d864ddc2fef169f3f503a9493311313b: https://github.com/armbian/build/commit/a1e96e68d864ddc2fef169f3f503a9493311313b
> X-Git-Archeology: Date: Mon, 04 Jan 2021 11:51:43 +0100
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: add station legacy (#2521)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 438563b6656ccdd5d1176974ecf064d0a80736c5: https://github.com/armbian/build/commit/438563b6656ccdd5d1176974ecf064d0a80736c5
> X-Git-Archeology: Date: Fri, 22 Jan 2021 20:34:45 +0100
> X-Git-Archeology: From: JMCC <jmcc1@gmx.com>
> X-Git-Archeology: Subject: Station M1 Legacy: Enable 1.51Ghz OPP
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3328-firefly-core.dtsi | 453 ++++++++++
1 file changed, 453 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-firefly-core.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-firefly-core.dtsi
new file mode 100644
index 000000000000..db60b8597d51
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-firefly-core.dtsi
@@ -0,0 +1,453 @@
+/*
+ * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., 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 library 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 library 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 "rk3328.dtsi"
+#include "rk3328-linux.dtsi"
+#include <dt-bindings/input/input.h>
+#include "rk3328-box-plus-dram-timing.dtsi"
+
+/ {
+ compatible = "firefly,rk3328-firefly-core", "rockchip,rk3328";
+
+ chosen {
+ bootargs = "rockchip_jtag earlyprintk=uart8250-32bit,0xff130000 swiotlb=1 kpti=0 console=ttyFIQ0 ro root=PARTLABEL=rootfs rootfstype=ext4 rootwait overlayroot=device:dev=PARTLABEL=userdata,fstype=ext4,mkfs=1 systemd.gpt_auto=0 cgroup_enable=memory swapaccount=1";
+ stdout-path = "serial2:1500000n8";
+ };
+
+ fiq-debugger {
+ compatible = "rockchip,fiq-debugger";
+ rockchip,serial-id = <2>;
+ rockchip,signal-irq = <159>;
+ rockchip,wake-irq = <0>;
+ /* If enable uart uses irq instead of fiq */
+ rockchip,irq-mode-enable = <0>;
+ rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
+ interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_LOW>;
+ status = "okay";
+ };
+
+ vcc_phy: vcc-phy-regulator {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_phy";
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vcc_sd: sdmmc-regulator {
+ compatible = "regulator-fixed";
+ gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0m1_gpio>;
+ regulator-name = "vcc_sd";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ vin-supply = <&vcc_io>;
+ };
+
+ vccio_sd: sdmmcio-regulator {
+ compatible = "regulator-gpio";
+ gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
+ states = <1800000 0x1
+ 3300000 0x0>;
+ //pinctrl-names = "default";
+ //pinctrl-0 = <&sd_pwr_1800_sel>;
+ regulator-name = "vccio_sd";
+ regulator-type = "voltage";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <3300000>;
+ status="okay";
+ };
+
+ vcc_sys: vcc-sys {
+ compatible = "regulator-fixed";
+ regulator-name = "vcc_sys";
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+ };
+
+};
+
+&cpu0 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&cpu1 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&cpu2 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&cpu3 {
+ cpu-supply = <&vdd_arm>;
+};
+
+&dfi {
+ status = "okay";
+};
+
+&dmc {
+ status = "okay";
+ center-supply = <&vdd_logic>;
+};
+
+&dmc_opp_table {
+ status = "okay";
+};
+
+&cpu0_opp_table {
+
+ rockchip,leakage-voltage-sel = <
+ 1 8 0
+ 9 254 1
+ >;
+ nvmem-cells = <&cpu_leakage>;
+ nvmem-cell-names = "cpu_leakage";
+
+ opp-408000000 {
+ opp-hz = /bits/ 64 <408000000>;
+ opp-microvolt = <975000>;
+ opp-microvolt-L0 = <975000>;
+ opp-microvolt-L1 = <950000>;
+ clock-latency-ns = <40000>;
+ opp-suspend;
+ };
+ opp-600000000 {
+ opp-hz = /bits/ 64 <600000000>;
+ opp-microvolt = <975000>;
+ opp-microvolt-L0 = <975000>;
+ opp-microvolt-L1 = <950000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-816000000 {
+ opp-hz = /bits/ 64 <816000000>;
+ opp-microvolt = <1025000>;
+ opp-microvolt-L0 = <1025000>;
+ opp-microvolt-L1 = <1000000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-1008000000 {
+ opp-hz = /bits/ 64 <1008000000>;
+ opp-microvolt = <1125000>;
+ opp-microvolt-L0 = <1125000>;
+ opp-microvolt-L1 = <1100000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-1200000000 {
+ opp-hz = /bits/ 64 <1200000000>;
+ opp-microvolt = <1250000>;
+ opp-microvolt-L0 = <1250000>;
+ opp-microvolt-L1 = <1225000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-1296000000 {
+ opp-hz = /bits/ 64 <1296000000>;
+ opp-microvolt = <1325000>;
+ opp-microvolt-L0 = <1325000>;
+ opp-microvolt-L1 = <1300000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-1392000000 {
+ opp-hz = /bits/ 64 <1392000000>;
+ opp-microvolt = <1350000>;
+ opp-microvolt-L0 = <1350000>;
+ opp-microvolt-L1 = <1325000>;
+ clock-latency-ns = <40000>;
+ };
+ opp-1512000000 {
+ status = "okay";
+ opp-hz = /bits/ 64 <1512000000>;
+ opp-microvolt = <1425000>;
+ opp-microvolt-L0 = <1425000>;
+ opp-microvolt-L1 = <1425000>;
+ clock-latency-ns = <40000>;
+ };
+};
+
+&emmc {
+ bus-width = <8>;
+ cap-mmc-highspeed;
+ mmc-hs200-1_8v;
+ supports-emmc;
+ disable-wp;
+ non-removable;
+ num-slots = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+ vmmc-supply = <&vcc_io>;
+ vqmmc-supply = <&vcc_18emmc>;
+ status = "okay";
+};
+
+&gpu {
+ status = "okay";
+ mali-supply = <&vdd_logic>;
+};
+
+&gpu_opp_table {
+
+ rockchip,leakage-voltage-sel = <
+ 1 8 0
+ 9 254 1
+ >;
+ nvmem-cells = <&logic_leakage>;
+ nvmem-cell-names = "gpu_leakage";
+
+ opp-200000000 {
+ opp-hz = /bits/ 64 <200000000>;
+ opp-microvolt = <1050000>;
+ opp-microvolt-L0 = <1050000>;
+ opp-microvolt-L1 = <1025000>;
+ };
+ opp-300000000 {
+ opp-hz = /bits/ 64 <300000000>;
+ opp-microvolt = <1050000>;
+ opp-microvolt-L0 = <1050000>;
+ opp-microvolt-L1 = <1025000>;
+ };
+ opp-400000000 {
+ opp-hz = /bits/ 64 <400000000>;
+ opp-microvolt = <1050000>;
+ opp-microvolt-L0 = <1050000>;
+ opp-microvolt-L1 = <1025000>;
+ };
+ opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>;
+ opp-microvolt = <1125000>;
+ opp-microvolt-L0 = <1125000>;
+ opp-microvolt-L1 = <1100000>;
+ };
+};
+
+&i2c1 {
+ status = "okay";
+
+ rk805: rk805@18 {
+ compatible = "rockchip,rk805";
+ status = "okay";
+ reg = <0x18>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pmic_int_l>;
+ rockchip,system-power-controller;
+ wakeup-source;
+ gpio-controller;
+ #gpio-cells = <2>;
+ #clock-cells = <1>;
+ clock-output-names = "xin32k", "rk805-clkout2";
+
+ rtc {
+ status = "okay";
+ };
+
+ pwrkey {
+ status = "disabled";
+ };
+
+ gpio {
+ status = "okay";
+ };
+
+ regulators {
+ compatible = "rk805-regulator";
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vdd_logic: RK805_DCDC1@0 {
+ regulator-compatible = "RK805_DCDC1";
+ regulator-name = "vdd_logic";
+ regulator-min-microvolt = <712500>;
+ regulator-max-microvolt = <1450000>;
+ regulator-initial-mode = <0x1>;
+ regulator-ramp-delay = <12500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1000000>;
+ };
+ };
+
+ vdd_arm: RK805_DCDC2@1 {
+ regulator-compatible = "RK805_DCDC2";
+ regulator-name = "vdd_arm";
+ regulator-min-microvolt = <712500>;
+ regulator-max-microvolt = <1450000>;
+ regulator-initial-mode = <0x1>;
+ regulator-ramp-delay = <12500>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <950000>;
+ };
+ };
+
+ vcc_ddr: RK805_DCDC3@2 {
+ regulator-compatible = "RK805_DCDC3";
+ regulator-name = "vcc_ddr";
+ regulator-initial-mode = <0x1>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ };
+ };
+
+ vcc_io: RK805_DCDC4@3 {
+ regulator-compatible = "RK805_DCDC4";
+ regulator-name = "vcc_io";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-initial-mode = <0x1>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-mode = <0x2>;
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <3300000>;
+ };
+ };
+
+ vdd_18: RK805_LDO1@4 {
+ regulator-compatible = "RK805_LDO1";
+ regulator-name = "vdd_18";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vcc_18emmc: RK805_LDO2@5 {
+ regulator-compatible = "RK805_LDO2";
+ regulator-name = "vcc_18emmc";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1800000>;
+ };
+ };
+
+ vdd_11: RK805_LDO3@6 {
+ regulator-compatible = "RK805_LDO3";
+ regulator-name = "vdd_11";
+ regulator-min-microvolt = <1100000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-boot-on;
+ regulator-always-on;
+ regulator-state-mem {
+ regulator-on-in-suspend;
+ regulator-suspend-microvolt = <1100000>;
+ };
+ };
+ };
+ };
+};
+
+&h265e {
+ status = "okay";
+};
+&io_domains {
+ status = "okay";
+
+ vccio1-supply = <&vcc_io>;
+ vccio2-supply = <&vcc_18emmc>;
+ vccio3-supply = <&vccio_sd>;
+ vccio4-supply = <&vdd_18>;
+ vccio5-supply = <&vcc_io>;
+ vccio6-supply = <&vcc_io>;
+ pmuio-supply = <&vcc_io>;
+};
+
+&pinctrl {
+ pmic {
+ pmic_int_l: pmic-int-l {
+ rockchip,pins =
+ <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; /* gpio1_d0 */
+ };
+ };
+
+};
+
+&rkvdec {
+ status = "okay";
+};
+
+&sdmmc {
+ bus-width = <4>;
+ cap-mmc-highspeed;
+ cap-sd-highspeed;
+ disable-wp;
+ sd-uhs-sdr104;
+ clock-freq-min-max = <400000 80000000>;
+ clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
+ <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
+ clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
+ num-slots = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
+ supports-sd;
+ status = "okay";
+ vmmc-supply = <&vcc_sd>;
+ vqmmc-supply = <&vccio_sd>;
+};
+
+&tsadc {
+ status = "okay";
+};
+
--
Armbian

View File

@ -1,405 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Oleg <balbes-150@yandex.ru>
Date: Mon, 4 Jan 2021 11:51:43 +0100
Subject: [ARCHEOLOGY] add station legacy (#2521)
> X-Git-Archeology: - Revision a1e96e68d864ddc2fef169f3f503a9493311313b: https://github.com/armbian/build/commit/a1e96e68d864ddc2fef169f3f503a9493311313b
> X-Git-Archeology: Date: Mon, 04 Jan 2021 11:51:43 +0100
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: add station legacy (#2521)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3328-firefly-port.dtsi | 377 ++++++++++
1 file changed, 377 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-firefly-port.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-firefly-port.dtsi
new file mode 100644
index 000000000000..9d6c8bf751d1
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-firefly-port.dtsi
@@ -0,0 +1,377 @@
+
+#include "rk3328-firefly-core.dtsi"
+
+/ {
+ compatible = "firefly,rk3328-firefly-port", "rockchip,rk3328";
+
+ gmac_clkin: external-gmac-clock {
+ compatible = "fixed-clock";
+ clock-frequency = <125000000>;
+ clock-output-names = "gmac_clkin";
+ #clock-cells = <0>;
+ };
+
+ sdio_pwrseq: sdio-pwrseq {
+ compatible = "mmc-pwrseq-simple";
+ pinctrl-names = "default";
+ pinctrl-0 = <&wifi_enable_h>;
+
+ /*
+ * On the module itself this is one of these (depending
+ * on the actual card populated):
+ * - SDIO_RESET_L_WL_REG_ON
+ * - PDN (power down when low)
+ */
+ reset-gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
+ };
+
+ sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <256>;
+ simple-audio-card,name = "rockchip,rk3328";
+ simple-audio-card,cpu {
+ sound-dai = <&i2s1>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&codec>;
+ };
+ };
+
+ hdmi-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,mclk-fs = <128>;
+ simple-audio-card,name = "rockchip,hdmi";
+ simple-audio-card,cpu {
+ sound-dai = <&i2s0>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&hdmi>;
+ };
+ };
+
+ spdif-sound {
+ status = "disabled";
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "rockchip,spdif";
+ simple-audio-card,cpu {
+ sound-dai = <&spdif>;
+ };
+ simple-audio-card,codec {
+ sound-dai = <&spdif_out>;
+ };
+ };
+
+ spdif_out: spdif-out {
+ status = "disabled";
+ compatible = "linux,spdif-dit";
+ #sound-dai-cells = <0>;
+ };
+
+ vcc_host_5v: vcc-host-5v-regulator {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&gpio0 0 GPIO_ACTIVE_HIGH>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb_host_drv>;
+ regulator-name = "vcc_host_5v";
+ regulator-always-on;
+ vin-supply = <&vcc_sys>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power {
+ label = "firefly:blue:power";
+ linux,default-trigger = "ir-power-click";
+ gpios = <&rk805 1 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ mode = <0x23>;
+ };
+
+ user {
+ label = "firefly:yellow:user";
+ linux,default-trigger = "ir-user-click";
+ gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
+ default-state = "on";
+ mode = <0x05>;
+ };
+
+ ir {
+ status = "disabled";
+ /* gpios = <&gpio2 GPIO_C2 GPIO_ACTIVE_HIGH>; */
+ linux,default-trigger = "ir";
+ default-state = "off";
+ mode = <0x00>;
+ };
+ };
+
+ adc-keys {
+ u-boot,dm-pre-reloc;
+ compatible = "adc-keys";
+ io-channels = <&saradc 0>;
+ };
+};
+
+&saradc {
+ vref-supply = <&vdd_18>;
+ status = "okay";
+};
+
+&codec {
+ #sound-dai-cells = <0>;
+ status = "okay";
+};
+
+&display_subsystem {
+ status = "okay";
+};
+
+&route_hdmi {
+ status = "okay";
+};
+
+&gmac2io {
+ phy-supply = <&vcc_phy>;
+ phy-mode = "rgmii";
+ clock_in_out = "input";
+ snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+ snps,reset-active-low;
+ snps,force_thresh_dma_mode;
+ snps,reset-delays-us = <0 10000 50000>;
+ assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
+ assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&rgmiim1_pins>;
+ tx_delay = <0x28>;
+ rx_delay = <0x16>;
+ status = "okay";
+};
+
+&gmac2phy {
+ phy-supply = <&vcc_phy>;
+ clock_in_out = "output";
+ assigned-clocks = <&cru SCLK_MAC2PHY_SRC>;
+ assigned-clock-rate = <50000000>;
+ assigned-clocks = <&cru SCLK_MAC2PHY>;
+ assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
+ status = "disabled";
+};
+
+&hdmi {
+ #sound-dai-cells = <0>;
+ ddc-i2c-scl-high-time-ns = <9625>;
+ ddc-i2c-scl-low-time-ns = <10000>;
+ status = "okay";
+};
+
+&hdmiphy {
+ status = "okay";
+};
+
+&i2s0 {
+ #sound-dai-cells = <0>;
+ rockchip,bclk-fs = <128>;
+ status = "okay";
+};
+
+&i2s1 {
+ #sound-dai-cells = <0>;
+ status = "okay";
+};
+
+&pinctrl {
+
+ sdio-pwrseq {
+ wifi_enable_h: wifi-enable-h {
+ rockchip,pins =
+ <1 18 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ usb {
+ usb_host_drv: usb-host-drv {
+ rockchip,pins =
+ <0 0 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+};
+
+&sdio {
+ bus-width = <4>;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ disable-wp;
+ keep-power-in-suspend;
+ max-frequency = <150000000>;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ non-removable;
+ num-slots = <1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
+ supports-sdio;
+ status = "disabled";
+};
+
+&spdif {
+ #sound-dai-cells = <0>;
+ status = "disabled";
+};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&uart1_xfer>;
+ status = "okay";
+};
+
+&u2phy {
+ status = "okay";
+};
+
+&u2phy_host {
+ phy-supply = <&vcc_host_5v>;
+ status = "okay";
+};
+
+&u2phy_otg {
+ status = "okay";
+};
+
+&u3phy {
+ phy-supply = <&vcc_host_5v>;
+ status = "okay";
+};
+
+&u3phy_utmi {
+ status = "okay";
+};
+
+&u3phy_pipe {
+ status = "okay";
+};
+
+&usb20_otg {
+ dr_mode = "host";
+ status = "okay";
+};
+
+&usb_host0_ehci {
+ status = "okay";
+};
+
+&usb_host0_ohci {
+ status = "okay";
+};
+
+&usbdrd3 {
+ status = "okay";
+};
+
+&usbdrd_dwc3 {
+ status = "okay";
+};
+
+&vepu {
+ status = "okay";
+};
+
+&vop {
+ status = "okay";
+};
+
+&vop_mmu {
+ status = "okay";
+};
+
+&vpu_service {
+ status = "okay";
+};
+
+&pwm3 {
+ status = "okay";
+ compatible = "rockchip,remotectl-pwm";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pwmir_pin>;
+ remote_pwm_id = <3>;
+ handle_cpu_id = <1>;
+ remote_support_psci = <1>;
+
+ ir_key1 {
+ rockchip,usercode = <0x4040>;
+ rockchip,key_table =
+ <0xf2 KEY_REPLY>,
+ <0xba KEY_BACK>,
+ <0xf4 KEY_UP>,
+ <0xf1 KEY_DOWN>,
+ <0xef KEY_LEFT>,
+ <0xee KEY_RIGHT>,
+ <0xbd KEY_HOME>,
+ <0xea KEY_VOLUMEUP>,
+ <0xe3 KEY_VOLUMEDOWN>,
+ <0xe2 KEY_SEARCH>,
+ <0xb2 KEY_POWER>,
+ <0xbc KEY_MUTE>,
+ <0xec KEY_MENU>,
+ <0xbf 0x190>,
+ <0xe0 0x191>,
+ <0xe1 0x192>,
+ <0xe9 183>,
+ <0xe6 248>,
+ <0xe8 185>,
+ <0xe7 186>,
+ <0xf0 388>,
+ <0xbe 0x175>;
+ };
+
+ ir_key2 {
+ rockchip,usercode = <0xff00>;
+ rockchip,key_table =
+ <0xeb KEY_POWER>,
+ <0xec KEY_COMPOSE>,
+ <0xfe KEY_BACK>,
+ <0xb7 KEY_HOME>,
+ <0xa3 KEY_WWW>,
+ <0xf4 KEY_VOLUMEUP>,
+ <0xa7 KEY_VOLUMEDOWN>,
+ <0xf8 KEY_ENTER>,
+ <0xfc KEY_UP>,
+ <0xfd KEY_DOWN>,
+ <0xf1 KEY_LEFT>,
+ <0xe5 KEY_RIGHT>;
+ };
+
+ ir_key3 {
+ rockchip,usercode = <0x1dcc>;
+ rockchip,key_table =
+ <0xee KEY_REPLY>,
+ <0xf0 KEY_BACK>,
+ <0xf8 KEY_UP>,
+ <0xbb KEY_DOWN>,
+ <0xef KEY_LEFT>,
+ <0xed KEY_RIGHT>,
+ <0xfc KEY_HOME>,
+ <0xf1 KEY_VOLUMEUP>,
+ <0xfd KEY_VOLUMEDOWN>,
+ <0xb7 KEY_SEARCH>,
+ <0xff KEY_POWER>,
+ <0xf3 KEY_MUTE>,
+ <0xbf KEY_MENU>,
+ <0xf9 0x191>,
+ <0xf5 0x192>,
+ <0xb3 388>,
+ <0xbe KEY_1>,
+ <0xba KEY_2>,
+ <0xb2 KEY_3>,
+ <0xbd KEY_4>,
+ <0xf9 KEY_5>,
+ <0xb1 KEY_6>,
+ <0xfc KEY_7>,
+ <0xf8 KEY_8>,
+ <0xb0 KEY_9>,
+ <0xb6 KEY_0>,
+ <0xb5 KEY_BACKSPACE>;
+ };
+};
--
Armbian

View File

@ -1,69 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Oleg <balbes-150@yandex.ru>
Date: Mon, 4 Jan 2021 11:51:43 +0100
Subject: [ARCHEOLOGY] add station legacy (#2521)
> X-Git-Archeology: - Revision a1e96e68d864ddc2fef169f3f503a9493311313b: https://github.com/armbian/build/commit/a1e96e68d864ddc2fef169f3f503a9493311313b
> X-Git-Archeology: Date: Mon, 04 Jan 2021 11:51:43 +0100
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: add station legacy (#2521)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3328-linux.dtsi | 41 ++++++++++
1 file changed, 41 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-linux.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-linux.dtsi
new file mode 100644
index 000000000000..77e9dbf874eb
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-linux.dtsi
@@ -0,0 +1,41 @@
+/ {
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ drm_logo: drm-logo@00000000 {
+ compatible = "rockchip,drm-logo";
+ reg = <0x0 0x0 0x0 0x0>;
+ };
+ };
+};
+
+&display_subsystem {
+ logo-memory-region = <&drm_logo>;
+ status = "okay";
+ route {
+ route_hdmi: route-hdmi {
+ status = "disabled";
+ logo,uboot = "logo.bmp";
+ logo,kernel = "logo_kernel.bmp";
+ logo,mode = "center";
+ charge_logo,mode = "center";
+ connect = <&vop_out_hdmi>;
+ };
+
+ route_tve: route-tve {
+ status = "okay";
+ logo,uboot = "logo.bmp";
+ logo,kernel = "logo_kernel.bmp";
+ logo,mode = "fullscreen";
+ charge_logo,mode = "fullscreen";
+ connect = <&vop_out_tve>;
+ };
+ };
+};
+
+&rga {
+ status = "okay";
+};
--
Armbian

View File

@ -1,149 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Oleg <balbes-150@yandex.ru>
Date: Mon, 4 Jan 2021 11:51:43 +0100
Subject: [ARCHEOLOGY] add station legacy (#2521)
> X-Git-Archeology: - Revision a1e96e68d864ddc2fef169f3f503a9493311313b: https://github.com/armbian/build/commit/a1e96e68d864ddc2fef169f3f503a9493311313b
> X-Git-Archeology: Date: Mon, 04 Jan 2021 11:51:43 +0100
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: add station legacy (#2521)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts | 121 ++++++++++
1 file changed, 121 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
new file mode 100644
index 000000000000..8f58ed93117a
--- /dev/null
+++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
@@ -0,0 +1,121 @@
+/dts-v1/;
+#include "rk3328-firefly-port.dtsi"
+
+/ {
+ model = "Firefly ROC-RK3328-PC";
+ compatible = "firefly,roc-rk3328-pc", "rockchip,rk3328";
+
+ fiq-debugger {
+ status = "disabled";
+ };
+
+ wireless-bluetooth {
+ compatible = "bluetooth-platdata";
+ clocks = <&cru SCLK_RTC32K>;
+ clock-names = "ext_clock";
+ BT,power_gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>; //GPIO1_D0
+ BT,wake_host_irq = <&gpio1 26 GPIO_ACTIVE_HIGH>;//GPIO1_D2
+ status = "okay";
+ };
+
+ wireless-wlan {
+ compatible = "wlan-platdata";
+ clocks = <&cru SCLK_RTC32K>;
+ clock-names = "ext_clock";
+ pinctrl-names = "default";
+ pinctrl-0 = <&clock_wifi>;
+ rockchip,grf = <&grf>;
+ wifi_chip_type = "rtl8723ds";
+ sdio_vref = <1800>;
+ WIFI,host_wake_irq = <&gpio3 1 GPIO_ACTIVE_HIGH>;
+ status = "okay";
+ };
+};
+
+&codec {
+ rk3328-codec-hp-gpiomute;
+};
+
+&rk805 {
+
+ interrupt-parent = <&gpio0>;
+ interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
+
+ pwrkey {
+ status = "okay";
+ };
+};
+
+&sdio_pwrseq {
+ reset-gpios = <&gpio3 8 GPIO_ACTIVE_LOW>;
+};
+
+&vccio_sd {
+ gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>;
+};
+
+&pinctrl {
+
+ pmic {
+ pmic_int_l: pmic-int-l {
+ rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_up>;
+ };
+ };
+
+ sdio-pwrseq {
+ wifi_enable_h: wifi-enable-h {
+ rockchip,pins = <3 8 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
+ wireless-wlan {
+ clock_wifi: clock-wifi {
+ rockchip,pins = <1 28 RK_FUNC_1 &pcfg_pull_none>;
+ };
+ };
+};
+
+&uart1 {
+ status = "disabled";
+};
+
+&uart2 {
+ dma-names = "tx", "rx";
+ status = "okay";
+};
+
+&usb20_otg {
+ dr_mode = "device";
+};
+
+&sdmmc_ext {
+ bus-width = <4>;
+ cap-sd-highspeed;
+ cap-sdio-irq;
+ disable-wp;
+ keep-power-in-suspend;
+ max-frequency = <100000000>;
+ mmc-pwrseq = <&sdio_pwrseq>;
+ num-slots = <1>;
+ non-removable;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdmmc0ext_clk &sdmmc0ext_cmd &sdmmc0ext_bus4>;
+ supports-sdio;
+ sd-uhs-sdr104;
+ status = "okay";
+ vmmc-supply = <&vcc_io>;
+};
+
+&dmc {
+ system-status-freq = <
+ /*system status freq(KHz)*/
+ SYS_STATUS_NORMAL 786000
+ SYS_STATUS_REBOOT 786000
+ SYS_STATUS_SUSPEND 786000
+ SYS_STATUS_VIDEO_1080P 786000
+ SYS_STATUS_VIDEO_4K 786000
+ SYS_STATUS_VIDEO_4K_10B 786000
+ SYS_STATUS_PERFORMANCE 786000
+ SYS_STATUS_BOOST 786000
+ >;
+};
--
Armbian

View File

@ -1,34 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Oleg <balbes-150@yandex.ru>
Date: Mon, 4 Jan 2021 11:51:43 +0100
Subject: [ARCHEOLOGY] add station legacy (#2521)
> X-Git-Archeology: - Revision a1e96e68d864ddc2fef169f3f503a9493311313b: https://github.com/armbian/build/commit/a1e96e68d864ddc2fef169f3f503a9493311313b
> X-Git-Archeology: Date: Mon, 04 Jan 2021 11:51:43 +0100
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: add station legacy (#2521)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/Makefile | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index e59cd4d12eba..22aba56284dd 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -46,6 +46,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-box-liantong-avb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb-android-avb.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-pc.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64-android-avb.dtb
--
Armbian

View File

@ -1,46 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Oleg <balbes-150@yandex.ru>
Date: Mon, 4 Jan 2021 11:51:43 +0100
Subject: [ARCHEOLOGY] add station legacy (#2521)
> X-Git-Archeology: - Revision a1e96e68d864ddc2fef169f3f503a9493311313b: https://github.com/armbian/build/commit/a1e96e68d864ddc2fef169f3f503a9493311313b
> X-Git-Archeology: Date: Mon, 04 Jan 2021 11:51:43 +0100
> X-Git-Archeology: From: Oleg <balbes-150@yandex.ru>
> X-Git-Archeology: Subject: add station legacy (#2521)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 804c57dd5925e67383a3d82c85f18868a6173d4b: https://github.com/armbian/build/commit/804c57dd5925e67383a3d82c85f18868a6173d4b
> X-Git-Archeology: Date: Tue, 26 Jan 2021 21:22:37 +0100
> X-Git-Archeology: From: Piotr Szczepanik <piter75@gmail.com>
> X-Git-Archeology: Subject: Enable RTC (hym8563) for Station P1 in mainline (renaming DT in process) (#2577)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 0cdffb29b07305209efb12cf3b5ac6032d3a1153: https://github.com/armbian/build/commit/0cdffb29b07305209efb12cf3b5ac6032d3a1153
> X-Git-Archeology: Date: Wed, 24 Mar 2021 19:01:53 +0100
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: Renaming DEV branch to EDGE (#2704)
> X-Git-Archeology:
> X-Git-Archeology: - Revision 510e348202f8efb838a57a9eec6ccbc910d7e06e: https://github.com/armbian/build/commit/510e348202f8efb838a57a9eec6ccbc910d7e06e
> X-Git-Archeology: Date: Sun, 18 Apr 2021 22:48:56 +0200
> X-Git-Archeology: From: Igor Pecovnik <igorpecovnik@users.noreply.github.com>
> X-Git-Archeology: Subject: 150balbes fix station legacy (#2782)
> X-Git-Archeology:
---
arch/arm64/boot/dts/rockchip/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
index 22aba56284dd..9dcebdaff2ff 100644
--- a/arch/arm64/boot/dts/rockchip/Makefile
+++ b/arch/arm64/boot/dts/rockchip/Makefile
@@ -87,6 +87,9 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb-rev3-android-mipi-edp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb-rev3-cros.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly-android.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-firefly-linux.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-plus.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-fpga.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-gru.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-gru-kevin-r0.dtb
--
Armbian

Some files were not shown because too many files have changed in this diff Show More