* [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux
@ 2021-06-25 13:26 Johan Jonker
2021-06-25 13:26 ` [PATCH v2 2/5] ARM: dts: rockchip: update rk3xxx.dtsi Johan Jonker
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Johan Jonker @ 2021-06-25 13:26 UTC (permalink / raw)
To: kever.yang; +Cc: sjg, philipp.tomsich, heiko, paweljarosz3691, u-boot
In order to update the DT for rk3066 and rk3188
sync the clock dt-binding header.
This is the state as of v5.12 in Linux.
Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
---
include/dt-bindings/clock/rk3188-cru-common.h | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/include/dt-bindings/clock/rk3188-cru-common.h b/include/dt-bindings/clock/rk3188-cru-common.h
index 1e7931da0c..afad90680f 100644
--- a/include/dt-bindings/clock/rk3188-cru-common.h
+++ b/include/dt-bindings/clock/rk3188-cru-common.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (c) 2014 MundoReader S.L.
* Author: Heiko Stuebner <heiko@sntech.de>
@@ -59,12 +59,14 @@
#define ACLK_LCDC1 196
#define ACLK_GPU 197
#define ACLK_SMC 198
-#define ACLK_CIF 199
+#define ACLK_CIF1 199
#define ACLK_IPP 200
#define ACLK_RGA 201
#define ACLK_CIF0 202
#define ACLK_CPU 203
#define ACLK_PERI 204
+#define ACLK_VEPU 205
+#define ACLK_VDPU 206
/* pclk gates */
#define PCLK_GRF 320
@@ -125,8 +127,12 @@
#define HCLK_NANDC0 467
#define HCLK_CPU 468
#define HCLK_PERI 469
+#define HCLK_CIF1 470
+#define HCLK_VEPU 471
+#define HCLK_VDPU 472
+#define HCLK_HDMI 473
-#define CLK_NR_CLKS (HCLK_PERI + 1)
+#define CLK_NR_CLKS (HCLK_HDMI + 1)
/* soft-reset indices */
#define SRST_MCORE 2
--
2.11.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* [PATCH v2 2/5] ARM: dts: rockchip: update rk3xxx.dtsi 2021-06-25 13:26 [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux Johan Jonker @ 2021-06-25 13:26 ` Johan Jonker 2021-08-11 9:50 ` Kever Yang 2021-11-04 11:27 ` Alex Bee 2021-06-25 13:26 ` [PATCH v2 3/5] rockchip: rk3188-power: sync power domain dt-binding header from Linux Johan Jonker ` (3 subsequent siblings) 4 siblings, 2 replies; 11+ messages in thread From: Johan Jonker @ 2021-06-25 13:26 UTC (permalink / raw) To: kever.yang; +Cc: sjg, philipp.tomsich, heiko, paweljarosz3691, u-boot In the Linux DT the file rk3xxx.dtsi is shared between rk3066 and rk3188. This file has recently had some updates. For a future rk3066 support in U-boot this file must also update. Move U-boot specific things in a rk3xxx-u-boot.dtsi file. Signed-off-by: Johan Jonker <jbx6244@gmail.com> --- Changed V2: add vpu node changed u-boot include --- arch/arm/dts/rk3188-radxarock.dts | 4 + arch/arm/dts/rk3188.dtsi | 1 + arch/arm/dts/rk3xxx-u-boot.dtsi | 35 +++++++ arch/arm/dts/rk3xxx.dtsi | 215 +++++++++++++++++++++++++------------- 4 files changed, 181 insertions(+), 74 deletions(-) create mode 100644 arch/arm/dts/rk3xxx-u-boot.dtsi diff --git a/arch/arm/dts/rk3188-radxarock.dts b/arch/arm/dts/rk3188-radxarock.dts index 61367126ba..10527a052d 100644 --- a/arch/arm/dts/rk3188-radxarock.dts +++ b/arch/arm/dts/rk3188-radxarock.dts @@ -12,6 +12,10 @@ model = "Radxa Rock"; compatible = "radxa,rock", "rockchip,rk3188"; + aliases { + mmc0 = &mmc0; + }; + chosen { /* stdout-path = &uart2; */ stdout-path = "serial2:115200n8"; diff --git a/arch/arm/dts/rk3188.dtsi b/arch/arm/dts/rk3188.dtsi index 7bcca6a02d..d872dac174 100644 --- a/arch/arm/dts/rk3188.dtsi +++ b/arch/arm/dts/rk3188.dtsi @@ -8,6 +8,7 @@ #include <dt-bindings/pinctrl/rockchip.h> #include <dt-bindings/clock/rk3188-cru.h> #include "rk3xxx.dtsi" +#include "rk3xxx-u-boot.dtsi" / { compatible = "rockchip,rk3188"; diff --git a/arch/arm/dts/rk3xxx-u-boot.dtsi b/arch/arm/dts/rk3xxx-u-boot.dtsi new file mode 100644 index 0000000000..581594c35d --- /dev/null +++ b/arch/arm/dts/rk3xxx-u-boot.dtsi @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/ { + noc: syscon@10128000 { + compatible = "rockchip,rk3188-noc", "syscon"; + reg = <0x10128000 0x2000>; + u-boot,dm-spl; + }; + + dmc: dmc@20020000 { + /* unreviewed u-boot-specific binding */ + compatible = "rockchip,rk3188-dmc", "syscon"; + reg = <0x20020000 0x3fc + 0x20040000 0x294>; + clocks = <&cru PCLK_DDRUPCTL>, <&cru PCLK_PUBL>; + clock-names = "pclk_ddrupctl", "pclk_publ"; + rockchip,cru = <&cru>; + rockchip,grf = <&grf>; + rockchip,pmu = <&pmu>; + rockchip,noc = <&noc>; + u-boot,dm-spl; + }; +}; + +&grf { + u-boot,dm-spl; +}; + +&pmu { + u-boot,dm-spl; +}; + +&uart2 { + clock-frequency = <24000000>; +}; diff --git a/arch/arm/dts/rk3xxx.dtsi b/arch/arm/dts/rk3xxx.dtsi index 612ed44bd6..616a828e0c 100644 --- a/arch/arm/dts/rk3xxx.dtsi +++ b/arch/arm/dts/rk3xxx.dtsi @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ OR X11 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (c) 2013 MundoReader S.L. * Author: Heiko Stuebner <heiko@sntech.de> @@ -6,9 +6,12 @@ #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/arm-gic.h> -#include "skeleton.dtsi" +#include <dt-bindings/soc/rockchip,boot-mode.h> / { + #address-cells = <1>; + #size-cells = <1>; + interrupt-parent = <&gic>; aliases { @@ -18,9 +21,6 @@ i2c2 = &i2c2; i2c3 = &i2c3; i2c4 = &i2c4; - mshc0 = &emmc; - mshc1 = &mmc0; - mshc2 = &mmc1; serial0 = &uart0; serial1 = &uart1; serial2 = &uart2; @@ -29,47 +29,6 @@ spi1 = &spi1; }; - amba { - compatible = "simple-bus"; - #address-cells = <1>; - #size-cells = <1>; - ranges; - - dmac1_s: dma-controller@20018000 { - compatible = "arm,pl330", "arm,primecell"; - reg = <0x20018000 0x4000>; - interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; - #dma-cells = <1>; - arm,pl330-broken-no-flushp; - clocks = <&cru ACLK_DMA1>; - clock-names = "apb_pclk"; - }; - - dmac1_ns: dma-controller@2001c000 { - compatible = "arm,pl330", "arm,primecell"; - reg = <0x2001c000 0x4000>; - interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; - #dma-cells = <1>; - arm,pl330-broken-no-flushp; - clocks = <&cru ACLK_DMA1>; - clock-names = "apb_pclk"; - status = "disabled"; - }; - - dmac2: dma-controller@20078000 { - compatible = "arm,pl330", "arm,primecell"; - reg = <0x20078000 0x4000>; - interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, - <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; - #dma-cells = <1>; - arm,pl330-broken-no-flushp; - clocks = <&cru ACLK_DMA2>; - clock-names = "apb_pclk"; - }; - }; - xin24m: oscillator { compatible = "fixed-clock"; clock-frequency = <24000000>; @@ -77,7 +36,30 @@ clock-output-names = "xin24m"; }; - L2: l2-cache-controller@10138000 { + gpu: gpu@10090000 { + compatible = "arm,mali-400"; + reg = <0x10090000 0x10000>; + clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; + clock-names = "bus", "core"; + assigned-clocks = <&cru ACLK_GPU>; + assigned-clock-rates = <100000000>; + resets = <&cru SRST_GPU>; + status = "disabled"; + }; + + vpu: video-codec@10104000 { + compatible = "rockchip,rk3066-vpu"; + reg = <0x10104000 0x800>; + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "vepu", "vdpu"; + clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>, + <&cru ACLK_VEPU>, <&cru HCLK_VEPU>; + clock-names = "aclk_vdpu", "hclk_vdpu", + "aclk_vepu", "hclk_vepu"; + }; + + L2: cache-controller@10138000 { compatible = "arm,pl310-cache"; reg = <0x10138000 0x1000>; cache-unified; @@ -92,14 +74,14 @@ global_timer: global-timer@1013c200 { compatible = "arm,cortex-a9-global-timer"; reg = <0x1013c200 0x20>; - interrupts = <GIC_PPI 11 0x304>; + interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; clocks = <&cru CORE_PERI>; }; local_timer: local-timer@1013c600 { compatible = "arm,cortex-a9-twd-timer"; reg = <0x1013c600 0x20>; - interrupts = <GIC_PPI 13 0x304>; + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; clocks = <&cru CORE_PERI>; }; @@ -133,10 +115,44 @@ status = "disabled"; }; - noc: syscon@10128000 { - u-boot,dm-spl; - compatible = "rockchip,rk3188-noc", "syscon"; - reg = <0x10128000 0x2000>; + qos_gpu: qos@1012d000 { + compatible = "rockchip,rk3066-qos", "syscon"; + reg = <0x1012d000 0x20>; + }; + + qos_vpu: qos@1012e000 { + compatible = "rockchip,rk3066-qos", "syscon"; + reg = <0x1012e000 0x20>; + }; + + qos_lcdc0: qos@1012f000 { + compatible = "rockchip,rk3066-qos", "syscon"; + reg = <0x1012f000 0x20>; + }; + + qos_cif0: qos@1012f080 { + compatible = "rockchip,rk3066-qos", "syscon"; + reg = <0x1012f080 0x20>; + }; + + qos_ipp: qos@1012f100 { + compatible = "rockchip,rk3066-qos", "syscon"; + reg = <0x1012f100 0x20>; + }; + + qos_lcdc1: qos@1012f180 { + compatible = "rockchip,rk3066-qos", "syscon"; + reg = <0x1012f180 0x20>; + }; + + qos_cif1: qos@1012f200 { + compatible = "rockchip,rk3066-qos", "syscon"; + reg = <0x1012f200 0x20>; + }; + + qos_rga: qos@1012f280 { + compatible = "rockchip,rk3066-qos", "syscon"; + reg = <0x1012f280 0x20>; }; usb_otg: usb@10180000 { @@ -149,7 +165,6 @@ g-np-tx-fifo-size = <16>; g-rx-fifo-size = <275>; g-tx-fifo-size = <256 128 128 64 64 32>; - g-use-dma; phys = <&usbphy0>; phy-names = "usb2-phy"; status = "disabled"; @@ -184,60 +199,99 @@ status = "disabled"; }; - mmc0: dwmmc@10214000 { + mmc0: mmc@10214000 { compatible = "rockchip,rk2928-dw-mshc"; reg = <0x10214000 0x1000>; interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>; clock-names = "biu", "ciu"; + dmas = <&dmac2 1>; + dma-names = "rx-tx"; fifo-depth = <256>; + resets = <&cru SRST_SDMMC>; + reset-names = "reset"; status = "disabled"; }; - mmc1: dwmmc@10218000 { + mmc1: mmc@10218000 { compatible = "rockchip,rk2928-dw-mshc"; reg = <0x10218000 0x1000>; interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>; clock-names = "biu", "ciu"; + dmas = <&dmac2 3>; + dma-names = "rx-tx"; fifo-depth = <256>; + resets = <&cru SRST_SDIO>; + reset-names = "reset"; status = "disabled"; }; - emmc: dwmmc@1021c000 { + emmc: mmc@1021c000 { compatible = "rockchip,rk2928-dw-mshc"; reg = <0x1021c000 0x1000>; interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>; clock-names = "biu", "ciu"; + dmas = <&dmac2 4>; + dma-names = "rx-tx"; fifo-depth = <256>; + resets = <&cru SRST_EMMC>; + reset-names = "reset"; + status = "disabled"; + }; + + nfc: nand-controller@10500000 { + compatible = "rockchip,rk2928-nfc"; + reg = <0x10500000 0x4000>; + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru HCLK_NANDC0>; + clock-names = "ahb"; status = "disabled"; }; pmu: pmu@20004000 { - compatible = "rockchip,rk3066-pmu", "syscon"; + compatible = "rockchip,rk3066-pmu", "syscon", "simple-mfd"; reg = <0x20004000 0x100>; - u-boot,dm-spl; + + reboot-mode { + compatible = "syscon-reboot-mode"; + offset = <0x40>; + mode-normal = <BOOT_NORMAL>; + mode-recovery = <BOOT_RECOVERY>; + mode-bootloader = <BOOT_FASTBOOT>; + mode-loader = <BOOT_BL_DOWNLOAD>; + }; }; grf: grf@20008000 { - compatible = "syscon"; + compatible = "syscon", "simple-mfd"; reg = <0x20008000 0x200>; - u-boot,dm-spl; }; - dmc: dmc@20020000 { - /* unreviewed u-boot-specific binding */ - compatible = "rockchip,rk3188-dmc", "syscon"; - rockchip,cru = <&cru>; - rockchip,grf = <&grf>; - rockchip,pmu = <&pmu>; - rockchip,noc = <&noc>; - reg = <0x20020000 0x3fc - 0x20040000 0x294>; - clocks = <&cru PCLK_DDRUPCTL>, <&cru PCLK_PUBL>; - clock-names = "pclk_ddrupctl", "pclk_publ"; - u-boot,dm-spl; + dmac1_s: dma-controller@20018000 { + compatible = "arm,pl330", "arm,primecell"; + reg = <0x20018000 0x4000>; + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; + #dma-cells = <1>; + arm,pl330-broken-no-flushp; + arm,pl330-periph-burst; + clocks = <&cru ACLK_DMA1>; + clock-names = "apb_pclk"; + }; + + dmac1_ns: dma-controller@2001c000 { + compatible = "arm,pl330", "arm,primecell"; + reg = <0x2001c000 0x4000>; + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; + #dma-cells = <1>; + arm,pl330-broken-no-flushp; + arm,pl330-periph-burst; + clocks = <&cru ACLK_DMA1>; + clock-names = "apb_pclk"; + status = "disabled"; }; i2c0: i2c@2002d000 { @@ -361,7 +415,6 @@ interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; reg-shift = <2>; reg-io-width = <1>; - clock-frequency = <24000000>; clock-names = "baudclk", "apb_pclk"; clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; status = "disabled"; @@ -385,6 +438,8 @@ #io-channel-cells = <1>; clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; clock-names = "saradc", "apb_pclk"; + resets = <&cru SRST_SARADC>; + reset-names = "saradc-apb"; status = "disabled"; }; @@ -413,4 +468,16 @@ dma-names = "tx", "rx"; status = "disabled"; }; + + dmac2: dma-controller@20078000 { + compatible = "arm,pl330", "arm,primecell"; + reg = <0x20078000 0x4000>; + interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; + #dma-cells = <1>; + arm,pl330-broken-no-flushp; + arm,pl330-periph-burst; + clocks = <&cru ACLK_DMA2>; + clock-names = "apb_pclk"; + }; }; -- 2.11.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 2/5] ARM: dts: rockchip: update rk3xxx.dtsi 2021-06-25 13:26 ` [PATCH v2 2/5] ARM: dts: rockchip: update rk3xxx.dtsi Johan Jonker @ 2021-08-11 9:50 ` Kever Yang 2021-11-04 11:27 ` Alex Bee 1 sibling, 0 replies; 11+ messages in thread From: Kever Yang @ 2021-08-11 9:50 UTC (permalink / raw) To: Johan Jonker Cc: Kever Yang, Simon Glass, philipp.tomsich, Heiko Stuebner, Paweł Jarosz, U-Boot-Denx Johan Jonker <jbx6244@gmail.com> 于2021年6月25日周五 下午9:31写道: > > In the Linux DT the file rk3xxx.dtsi is shared between > rk3066 and rk3188. This file has recently had some updates. > For a future rk3066 support in U-boot this file must also update. > Move U-boot specific things in a rk3xxx-u-boot.dtsi file. > > Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > > Changed V2: > add vpu node > changed u-boot include > --- > arch/arm/dts/rk3188-radxarock.dts | 4 + > arch/arm/dts/rk3188.dtsi | 1 + > arch/arm/dts/rk3xxx-u-boot.dtsi | 35 +++++++ > arch/arm/dts/rk3xxx.dtsi | 215 +++++++++++++++++++++++++------------- > 4 files changed, 181 insertions(+), 74 deletions(-) > create mode 100644 arch/arm/dts/rk3xxx-u-boot.dtsi > > diff --git a/arch/arm/dts/rk3188-radxarock.dts b/arch/arm/dts/rk3188-radxarock.dts > index 61367126ba..10527a052d 100644 > --- a/arch/arm/dts/rk3188-radxarock.dts > +++ b/arch/arm/dts/rk3188-radxarock.dts > @@ -12,6 +12,10 @@ > model = "Radxa Rock"; > compatible = "radxa,rock", "rockchip,rk3188"; > > + aliases { > + mmc0 = &mmc0; > + }; > + > chosen { > /* stdout-path = &uart2; */ > stdout-path = "serial2:115200n8"; > diff --git a/arch/arm/dts/rk3188.dtsi b/arch/arm/dts/rk3188.dtsi > index 7bcca6a02d..d872dac174 100644 > --- a/arch/arm/dts/rk3188.dtsi > +++ b/arch/arm/dts/rk3188.dtsi > @@ -8,6 +8,7 @@ > #include <dt-bindings/pinctrl/rockchip.h> > #include <dt-bindings/clock/rk3188-cru.h> > #include "rk3xxx.dtsi" > +#include "rk3xxx-u-boot.dtsi" > > / { > compatible = "rockchip,rk3188"; > diff --git a/arch/arm/dts/rk3xxx-u-boot.dtsi b/arch/arm/dts/rk3xxx-u-boot.dtsi > new file mode 100644 > index 0000000000..581594c35d > --- /dev/null > +++ b/arch/arm/dts/rk3xxx-u-boot.dtsi > @@ -0,0 +1,35 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > + > +/ { > + noc: syscon@10128000 { > + compatible = "rockchip,rk3188-noc", "syscon"; > + reg = <0x10128000 0x2000>; > + u-boot,dm-spl; > + }; > + > + dmc: dmc@20020000 { > + /* unreviewed u-boot-specific binding */ > + compatible = "rockchip,rk3188-dmc", "syscon"; > + reg = <0x20020000 0x3fc > + 0x20040000 0x294>; > + clocks = <&cru PCLK_DDRUPCTL>, <&cru PCLK_PUBL>; > + clock-names = "pclk_ddrupctl", "pclk_publ"; > + rockchip,cru = <&cru>; > + rockchip,grf = <&grf>; > + rockchip,pmu = <&pmu>; > + rockchip,noc = <&noc>; > + u-boot,dm-spl; > + }; > +}; > + > +&grf { > + u-boot,dm-spl; > +}; > + > +&pmu { > + u-boot,dm-spl; > +}; > + > +&uart2 { > + clock-frequency = <24000000>; > +}; > diff --git a/arch/arm/dts/rk3xxx.dtsi b/arch/arm/dts/rk3xxx.dtsi > index 612ed44bd6..616a828e0c 100644 > --- a/arch/arm/dts/rk3xxx.dtsi > +++ b/arch/arm/dts/rk3xxx.dtsi > @@ -1,4 +1,4 @@ > -// SPDX-License-Identifier: GPL-2.0+ OR X11 > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > /* > * Copyright (c) 2013 MundoReader S.L. > * Author: Heiko Stuebner <heiko@sntech.de> > @@ -6,9 +6,12 @@ > > #include <dt-bindings/interrupt-controller/irq.h> > #include <dt-bindings/interrupt-controller/arm-gic.h> > -#include "skeleton.dtsi" > +#include <dt-bindings/soc/rockchip,boot-mode.h> > > / { > + #address-cells = <1>; > + #size-cells = <1>; > + > interrupt-parent = <&gic>; > > aliases { > @@ -18,9 +21,6 @@ > i2c2 = &i2c2; > i2c3 = &i2c3; > i2c4 = &i2c4; > - mshc0 = &emmc; > - mshc1 = &mmc0; > - mshc2 = &mmc1; > serial0 = &uart0; > serial1 = &uart1; > serial2 = &uart2; > @@ -29,47 +29,6 @@ > spi1 = &spi1; > }; > > - amba { > - compatible = "simple-bus"; > - #address-cells = <1>; > - #size-cells = <1>; > - ranges; > - > - dmac1_s: dma-controller@20018000 { > - compatible = "arm,pl330", "arm,primecell"; > - reg = <0x20018000 0x4000>; > - interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > - #dma-cells = <1>; > - arm,pl330-broken-no-flushp; > - clocks = <&cru ACLK_DMA1>; > - clock-names = "apb_pclk"; > - }; > - > - dmac1_ns: dma-controller@2001c000 { > - compatible = "arm,pl330", "arm,primecell"; > - reg = <0x2001c000 0x4000>; > - interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > - #dma-cells = <1>; > - arm,pl330-broken-no-flushp; > - clocks = <&cru ACLK_DMA1>; > - clock-names = "apb_pclk"; > - status = "disabled"; > - }; > - > - dmac2: dma-controller@20078000 { > - compatible = "arm,pl330", "arm,primecell"; > - reg = <0x20078000 0x4000>; > - interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; > - #dma-cells = <1>; > - arm,pl330-broken-no-flushp; > - clocks = <&cru ACLK_DMA2>; > - clock-names = "apb_pclk"; > - }; > - }; > - > xin24m: oscillator { > compatible = "fixed-clock"; > clock-frequency = <24000000>; > @@ -77,7 +36,30 @@ > clock-output-names = "xin24m"; > }; > > - L2: l2-cache-controller@10138000 { > + gpu: gpu@10090000 { > + compatible = "arm,mali-400"; > + reg = <0x10090000 0x10000>; > + clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; > + clock-names = "bus", "core"; > + assigned-clocks = <&cru ACLK_GPU>; > + assigned-clock-rates = <100000000>; > + resets = <&cru SRST_GPU>; > + status = "disabled"; > + }; > + > + vpu: video-codec@10104000 { > + compatible = "rockchip,rk3066-vpu"; > + reg = <0x10104000 0x800>; > + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-names = "vepu", "vdpu"; > + clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>, > + <&cru ACLK_VEPU>, <&cru HCLK_VEPU>; > + clock-names = "aclk_vdpu", "hclk_vdpu", > + "aclk_vepu", "hclk_vepu"; > + }; > + > + L2: cache-controller@10138000 { > compatible = "arm,pl310-cache"; > reg = <0x10138000 0x1000>; > cache-unified; > @@ -92,14 +74,14 @@ > global_timer: global-timer@1013c200 { > compatible = "arm,cortex-a9-global-timer"; > reg = <0x1013c200 0x20>; > - interrupts = <GIC_PPI 11 0x304>; > + interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; > clocks = <&cru CORE_PERI>; > }; > > local_timer: local-timer@1013c600 { > compatible = "arm,cortex-a9-twd-timer"; > reg = <0x1013c600 0x20>; > - interrupts = <GIC_PPI 13 0x304>; > + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; > clocks = <&cru CORE_PERI>; > }; > > @@ -133,10 +115,44 @@ > status = "disabled"; > }; > > - noc: syscon@10128000 { > - u-boot,dm-spl; > - compatible = "rockchip,rk3188-noc", "syscon"; > - reg = <0x10128000 0x2000>; > + qos_gpu: qos@1012d000 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012d000 0x20>; > + }; > + > + qos_vpu: qos@1012e000 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012e000 0x20>; > + }; > + > + qos_lcdc0: qos@1012f000 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f000 0x20>; > + }; > + > + qos_cif0: qos@1012f080 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f080 0x20>; > + }; > + > + qos_ipp: qos@1012f100 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f100 0x20>; > + }; > + > + qos_lcdc1: qos@1012f180 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f180 0x20>; > + }; > + > + qos_cif1: qos@1012f200 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f200 0x20>; > + }; > + > + qos_rga: qos@1012f280 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f280 0x20>; > }; > > usb_otg: usb@10180000 { > @@ -149,7 +165,6 @@ > g-np-tx-fifo-size = <16>; > g-rx-fifo-size = <275>; > g-tx-fifo-size = <256 128 128 64 64 32>; > - g-use-dma; > phys = <&usbphy0>; > phy-names = "usb2-phy"; > status = "disabled"; > @@ -184,60 +199,99 @@ > status = "disabled"; > }; > > - mmc0: dwmmc@10214000 { > + mmc0: mmc@10214000 { > compatible = "rockchip,rk2928-dw-mshc"; > reg = <0x10214000 0x1000>; > interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>; > clock-names = "biu", "ciu"; > + dmas = <&dmac2 1>; > + dma-names = "rx-tx"; > fifo-depth = <256>; > + resets = <&cru SRST_SDMMC>; > + reset-names = "reset"; > status = "disabled"; > }; > > - mmc1: dwmmc@10218000 { > + mmc1: mmc@10218000 { > compatible = "rockchip,rk2928-dw-mshc"; > reg = <0x10218000 0x1000>; > interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>; > clock-names = "biu", "ciu"; > + dmas = <&dmac2 3>; > + dma-names = "rx-tx"; > fifo-depth = <256>; > + resets = <&cru SRST_SDIO>; > + reset-names = "reset"; > status = "disabled"; > }; > > - emmc: dwmmc@1021c000 { > + emmc: mmc@1021c000 { > compatible = "rockchip,rk2928-dw-mshc"; > reg = <0x1021c000 0x1000>; > interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>; > clock-names = "biu", "ciu"; > + dmas = <&dmac2 4>; > + dma-names = "rx-tx"; > fifo-depth = <256>; > + resets = <&cru SRST_EMMC>; > + reset-names = "reset"; > + status = "disabled"; > + }; > + > + nfc: nand-controller@10500000 { > + compatible = "rockchip,rk2928-nfc"; > + reg = <0x10500000 0x4000>; > + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru HCLK_NANDC0>; > + clock-names = "ahb"; > status = "disabled"; > }; > > pmu: pmu@20004000 { > - compatible = "rockchip,rk3066-pmu", "syscon"; > + compatible = "rockchip,rk3066-pmu", "syscon", "simple-mfd"; > reg = <0x20004000 0x100>; > - u-boot,dm-spl; > + > + reboot-mode { > + compatible = "syscon-reboot-mode"; > + offset = <0x40>; > + mode-normal = <BOOT_NORMAL>; > + mode-recovery = <BOOT_RECOVERY>; > + mode-bootloader = <BOOT_FASTBOOT>; > + mode-loader = <BOOT_BL_DOWNLOAD>; > + }; > }; > > grf: grf@20008000 { > - compatible = "syscon"; > + compatible = "syscon", "simple-mfd"; > reg = <0x20008000 0x200>; > - u-boot,dm-spl; > }; > > - dmc: dmc@20020000 { > - /* unreviewed u-boot-specific binding */ > - compatible = "rockchip,rk3188-dmc", "syscon"; > - rockchip,cru = <&cru>; > - rockchip,grf = <&grf>; > - rockchip,pmu = <&pmu>; > - rockchip,noc = <&noc>; > - reg = <0x20020000 0x3fc > - 0x20040000 0x294>; > - clocks = <&cru PCLK_DDRUPCTL>, <&cru PCLK_PUBL>; > - clock-names = "pclk_ddrupctl", "pclk_publ"; > - u-boot,dm-spl; > + dmac1_s: dma-controller@20018000 { > + compatible = "arm,pl330", "arm,primecell"; > + reg = <0x20018000 0x4000>; > + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > + #dma-cells = <1>; > + arm,pl330-broken-no-flushp; > + arm,pl330-periph-burst; > + clocks = <&cru ACLK_DMA1>; > + clock-names = "apb_pclk"; > + }; > + > + dmac1_ns: dma-controller@2001c000 { > + compatible = "arm,pl330", "arm,primecell"; > + reg = <0x2001c000 0x4000>; > + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > + #dma-cells = <1>; > + arm,pl330-broken-no-flushp; > + arm,pl330-periph-burst; > + clocks = <&cru ACLK_DMA1>; > + clock-names = "apb_pclk"; > + status = "disabled"; > }; > > i2c0: i2c@2002d000 { > @@ -361,7 +415,6 @@ > interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; > reg-shift = <2>; > reg-io-width = <1>; > - clock-frequency = <24000000>; > clock-names = "baudclk", "apb_pclk"; > clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; > status = "disabled"; > @@ -385,6 +438,8 @@ > #io-channel-cells = <1>; > clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; > clock-names = "saradc", "apb_pclk"; > + resets = <&cru SRST_SARADC>; > + reset-names = "saradc-apb"; > status = "disabled"; > }; > > @@ -413,4 +468,16 @@ > dma-names = "tx", "rx"; > status = "disabled"; > }; > + > + dmac2: dma-controller@20078000 { > + compatible = "arm,pl330", "arm,primecell"; > + reg = <0x20078000 0x4000>; > + interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; > + #dma-cells = <1>; > + arm,pl330-broken-no-flushp; > + arm,pl330-periph-burst; > + clocks = <&cru ACLK_DMA2>; > + clock-names = "apb_pclk"; > + }; > }; > -- > 2.11.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 2/5] ARM: dts: rockchip: update rk3xxx.dtsi 2021-06-25 13:26 ` [PATCH v2 2/5] ARM: dts: rockchip: update rk3xxx.dtsi Johan Jonker 2021-08-11 9:50 ` Kever Yang @ 2021-11-04 11:27 ` Alex Bee 1 sibling, 0 replies; 11+ messages in thread From: Alex Bee @ 2021-11-04 11:27 UTC (permalink / raw) To: Johan Jonker, kever.yang Cc: sjg, philipp.tomsich, heiko, paweljarosz3691, u-boot Hi all, I understand that copying dts'es from upstream kernel seems an easy thing to do, but we should be careful: Now that mmc-indexes are defined in board level device trees in kernel , mmc boot order (which I just fixed some month ago [1]) is different per board. This is now broken again - at least for rk3188 and rk3399 (from what I've seen) and it is not fixable with an extra <board>-u-boot.dtsi. Any idea (without having to define an extra config include/configs per board?) [1] https://github.com/u-boot/u-boot/commit/b212ad24a604b00b240add35516b7381965deb31 Alex Am 25.06.21 um 15:26 schrieb Johan Jonker: > In the Linux DT the file rk3xxx.dtsi is shared between > rk3066 and rk3188. This file has recently had some updates. > For a future rk3066 support in U-boot this file must also update. > Move U-boot specific things in a rk3xxx-u-boot.dtsi file. > > Signed-off-by: Johan Jonker <jbx6244@gmail.com> > Reviewed-by: Kever Yang <kever.yang@rock-chips.com> > --- > > Changed V2: > add vpu node > changed u-boot include > --- > arch/arm/dts/rk3188-radxarock.dts | 4 + > arch/arm/dts/rk3188.dtsi | 1 + > arch/arm/dts/rk3xxx-u-boot.dtsi | 35 +++++++ > arch/arm/dts/rk3xxx.dtsi | 215 +++++++++++++++++++++++++------------- > 4 files changed, 181 insertions(+), 74 deletions(-) > create mode 100644 arch/arm/dts/rk3xxx-u-boot.dtsi > > diff --git a/arch/arm/dts/rk3188-radxarock.dts b/arch/arm/dts/rk3188-radxarock.dts > index 61367126ba..10527a052d 100644 > --- a/arch/arm/dts/rk3188-radxarock.dts > +++ b/arch/arm/dts/rk3188-radxarock.dts > @@ -12,6 +12,10 @@ > model = "Radxa Rock"; > compatible = "radxa,rock", "rockchip,rk3188"; > > + aliases { > + mmc0 = &mmc0; > + }; > + > chosen { > /* stdout-path = &uart2; */ > stdout-path = "serial2:115200n8"; > diff --git a/arch/arm/dts/rk3188.dtsi b/arch/arm/dts/rk3188.dtsi > index 7bcca6a02d..d872dac174 100644 > --- a/arch/arm/dts/rk3188.dtsi > +++ b/arch/arm/dts/rk3188.dtsi > @@ -8,6 +8,7 @@ > #include <dt-bindings/pinctrl/rockchip.h> > #include <dt-bindings/clock/rk3188-cru.h> > #include "rk3xxx.dtsi" > +#include "rk3xxx-u-boot.dtsi" > > / { > compatible = "rockchip,rk3188"; > diff --git a/arch/arm/dts/rk3xxx-u-boot.dtsi b/arch/arm/dts/rk3xxx-u-boot.dtsi > new file mode 100644 > index 0000000000..581594c35d > --- /dev/null > +++ b/arch/arm/dts/rk3xxx-u-boot.dtsi > @@ -0,0 +1,35 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > + > +/ { > + noc: syscon@10128000 { > + compatible = "rockchip,rk3188-noc", "syscon"; > + reg = <0x10128000 0x2000>; > + u-boot,dm-spl; > + }; > + > + dmc: dmc@20020000 { > + /* unreviewed u-boot-specific binding */ > + compatible = "rockchip,rk3188-dmc", "syscon"; > + reg = <0x20020000 0x3fc > + 0x20040000 0x294>; > + clocks = <&cru PCLK_DDRUPCTL>, <&cru PCLK_PUBL>; > + clock-names = "pclk_ddrupctl", "pclk_publ"; > + rockchip,cru = <&cru>; > + rockchip,grf = <&grf>; > + rockchip,pmu = <&pmu>; > + rockchip,noc = <&noc>; > + u-boot,dm-spl; > + }; > +}; > + > +&grf { > + u-boot,dm-spl; > +}; > + > +&pmu { > + u-boot,dm-spl; > +}; > + > +&uart2 { > + clock-frequency = <24000000>; > +}; > diff --git a/arch/arm/dts/rk3xxx.dtsi b/arch/arm/dts/rk3xxx.dtsi > index 612ed44bd6..616a828e0c 100644 > --- a/arch/arm/dts/rk3xxx.dtsi > +++ b/arch/arm/dts/rk3xxx.dtsi > @@ -1,4 +1,4 @@ > -// SPDX-License-Identifier: GPL-2.0+ OR X11 > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > /* > * Copyright (c) 2013 MundoReader S.L. > * Author: Heiko Stuebner <heiko@sntech.de> > @@ -6,9 +6,12 @@ > > #include <dt-bindings/interrupt-controller/irq.h> > #include <dt-bindings/interrupt-controller/arm-gic.h> > -#include "skeleton.dtsi" > +#include <dt-bindings/soc/rockchip,boot-mode.h> > > / { > + #address-cells = <1>; > + #size-cells = <1>; > + > interrupt-parent = <&gic>; > > aliases { > @@ -18,9 +21,6 @@ > i2c2 = &i2c2; > i2c3 = &i2c3; > i2c4 = &i2c4; > - mshc0 = &emmc; > - mshc1 = &mmc0; > - mshc2 = &mmc1; > serial0 = &uart0; > serial1 = &uart1; > serial2 = &uart2; > @@ -29,47 +29,6 @@ > spi1 = &spi1; > }; > > - amba { > - compatible = "simple-bus"; > - #address-cells = <1>; > - #size-cells = <1>; > - ranges; > - > - dmac1_s: dma-controller@20018000 { > - compatible = "arm,pl330", "arm,primecell"; > - reg = <0x20018000 0x4000>; > - interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > - #dma-cells = <1>; > - arm,pl330-broken-no-flushp; > - clocks = <&cru ACLK_DMA1>; > - clock-names = "apb_pclk"; > - }; > - > - dmac1_ns: dma-controller@2001c000 { > - compatible = "arm,pl330", "arm,primecell"; > - reg = <0x2001c000 0x4000>; > - interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > - #dma-cells = <1>; > - arm,pl330-broken-no-flushp; > - clocks = <&cru ACLK_DMA1>; > - clock-names = "apb_pclk"; > - status = "disabled"; > - }; > - > - dmac2: dma-controller@20078000 { > - compatible = "arm,pl330", "arm,primecell"; > - reg = <0x20078000 0x4000>; > - interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, > - <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; > - #dma-cells = <1>; > - arm,pl330-broken-no-flushp; > - clocks = <&cru ACLK_DMA2>; > - clock-names = "apb_pclk"; > - }; > - }; > - > xin24m: oscillator { > compatible = "fixed-clock"; > clock-frequency = <24000000>; > @@ -77,7 +36,30 @@ > clock-output-names = "xin24m"; > }; > > - L2: l2-cache-controller@10138000 { > + gpu: gpu@10090000 { > + compatible = "arm,mali-400"; > + reg = <0x10090000 0x10000>; > + clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>; > + clock-names = "bus", "core"; > + assigned-clocks = <&cru ACLK_GPU>; > + assigned-clock-rates = <100000000>; > + resets = <&cru SRST_GPU>; > + status = "disabled"; > + }; > + > + vpu: video-codec@10104000 { > + compatible = "rockchip,rk3066-vpu"; > + reg = <0x10104000 0x800>; > + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-names = "vepu", "vdpu"; > + clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>, > + <&cru ACLK_VEPU>, <&cru HCLK_VEPU>; > + clock-names = "aclk_vdpu", "hclk_vdpu", > + "aclk_vepu", "hclk_vepu"; > + }; > + > + L2: cache-controller@10138000 { > compatible = "arm,pl310-cache"; > reg = <0x10138000 0x1000>; > cache-unified; > @@ -92,14 +74,14 @@ > global_timer: global-timer@1013c200 { > compatible = "arm,cortex-a9-global-timer"; > reg = <0x1013c200 0x20>; > - interrupts = <GIC_PPI 11 0x304>; > + interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; > clocks = <&cru CORE_PERI>; > }; > > local_timer: local-timer@1013c600 { > compatible = "arm,cortex-a9-twd-timer"; > reg = <0x1013c600 0x20>; > - interrupts = <GIC_PPI 13 0x304>; > + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_EDGE_RISING)>; > clocks = <&cru CORE_PERI>; > }; > > @@ -133,10 +115,44 @@ > status = "disabled"; > }; > > - noc: syscon@10128000 { > - u-boot,dm-spl; > - compatible = "rockchip,rk3188-noc", "syscon"; > - reg = <0x10128000 0x2000>; > + qos_gpu: qos@1012d000 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012d000 0x20>; > + }; > + > + qos_vpu: qos@1012e000 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012e000 0x20>; > + }; > + > + qos_lcdc0: qos@1012f000 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f000 0x20>; > + }; > + > + qos_cif0: qos@1012f080 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f080 0x20>; > + }; > + > + qos_ipp: qos@1012f100 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f100 0x20>; > + }; > + > + qos_lcdc1: qos@1012f180 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f180 0x20>; > + }; > + > + qos_cif1: qos@1012f200 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f200 0x20>; > + }; > + > + qos_rga: qos@1012f280 { > + compatible = "rockchip,rk3066-qos", "syscon"; > + reg = <0x1012f280 0x20>; > }; > > usb_otg: usb@10180000 { > @@ -149,7 +165,6 @@ > g-np-tx-fifo-size = <16>; > g-rx-fifo-size = <275>; > g-tx-fifo-size = <256 128 128 64 64 32>; > - g-use-dma; > phys = <&usbphy0>; > phy-names = "usb2-phy"; > status = "disabled"; > @@ -184,60 +199,99 @@ > status = "disabled"; > }; > > - mmc0: dwmmc@10214000 { > + mmc0: mmc@10214000 { > compatible = "rockchip,rk2928-dw-mshc"; > reg = <0x10214000 0x1000>; > interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>; > clock-names = "biu", "ciu"; > + dmas = <&dmac2 1>; > + dma-names = "rx-tx"; > fifo-depth = <256>; > + resets = <&cru SRST_SDMMC>; > + reset-names = "reset"; > status = "disabled"; > }; > > - mmc1: dwmmc@10218000 { > + mmc1: mmc@10218000 { > compatible = "rockchip,rk2928-dw-mshc"; > reg = <0x10218000 0x1000>; > interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>; > clock-names = "biu", "ciu"; > + dmas = <&dmac2 3>; > + dma-names = "rx-tx"; > fifo-depth = <256>; > + resets = <&cru SRST_SDIO>; > + reset-names = "reset"; > status = "disabled"; > }; > > - emmc: dwmmc@1021c000 { > + emmc: mmc@1021c000 { > compatible = "rockchip,rk2928-dw-mshc"; > reg = <0x1021c000 0x1000>; > interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>; > clock-names = "biu", "ciu"; > + dmas = <&dmac2 4>; > + dma-names = "rx-tx"; > fifo-depth = <256>; > + resets = <&cru SRST_EMMC>; > + reset-names = "reset"; > + status = "disabled"; > + }; > + > + nfc: nand-controller@10500000 { > + compatible = "rockchip,rk2928-nfc"; > + reg = <0x10500000 0x4000>; > + interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru HCLK_NANDC0>; > + clock-names = "ahb"; > status = "disabled"; > }; > > pmu: pmu@20004000 { > - compatible = "rockchip,rk3066-pmu", "syscon"; > + compatible = "rockchip,rk3066-pmu", "syscon", "simple-mfd"; > reg = <0x20004000 0x100>; > - u-boot,dm-spl; > + > + reboot-mode { > + compatible = "syscon-reboot-mode"; > + offset = <0x40>; > + mode-normal = <BOOT_NORMAL>; > + mode-recovery = <BOOT_RECOVERY>; > + mode-bootloader = <BOOT_FASTBOOT>; > + mode-loader = <BOOT_BL_DOWNLOAD>; > + }; > }; > > grf: grf@20008000 { > - compatible = "syscon"; > + compatible = "syscon", "simple-mfd"; > reg = <0x20008000 0x200>; > - u-boot,dm-spl; > }; > > - dmc: dmc@20020000 { > - /* unreviewed u-boot-specific binding */ > - compatible = "rockchip,rk3188-dmc", "syscon"; > - rockchip,cru = <&cru>; > - rockchip,grf = <&grf>; > - rockchip,pmu = <&pmu>; > - rockchip,noc = <&noc>; > - reg = <0x20020000 0x3fc > - 0x20040000 0x294>; > - clocks = <&cru PCLK_DDRUPCTL>, <&cru PCLK_PUBL>; > - clock-names = "pclk_ddrupctl", "pclk_publ"; > - u-boot,dm-spl; > + dmac1_s: dma-controller@20018000 { > + compatible = "arm,pl330", "arm,primecell"; > + reg = <0x20018000 0x4000>; > + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > + #dma-cells = <1>; > + arm,pl330-broken-no-flushp; > + arm,pl330-periph-burst; > + clocks = <&cru ACLK_DMA1>; > + clock-names = "apb_pclk"; > + }; > + > + dmac1_ns: dma-controller@2001c000 { > + compatible = "arm,pl330", "arm,primecell"; > + reg = <0x2001c000 0x4000>; > + interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; > + #dma-cells = <1>; > + arm,pl330-broken-no-flushp; > + arm,pl330-periph-burst; > + clocks = <&cru ACLK_DMA1>; > + clock-names = "apb_pclk"; > + status = "disabled"; > }; > > i2c0: i2c@2002d000 { > @@ -361,7 +415,6 @@ > interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; > reg-shift = <2>; > reg-io-width = <1>; > - clock-frequency = <24000000>; > clock-names = "baudclk", "apb_pclk"; > clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; > status = "disabled"; > @@ -385,6 +438,8 @@ > #io-channel-cells = <1>; > clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>; > clock-names = "saradc", "apb_pclk"; > + resets = <&cru SRST_SARADC>; > + reset-names = "saradc-apb"; > status = "disabled"; > }; > > @@ -413,4 +468,16 @@ > dma-names = "tx", "rx"; > status = "disabled"; > }; > + > + dmac2: dma-controller@20078000 { > + compatible = "arm,pl330", "arm,primecell"; > + reg = <0x20078000 0x4000>; > + interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; > + #dma-cells = <1>; > + arm,pl330-broken-no-flushp; > + arm,pl330-periph-burst; > + clocks = <&cru ACLK_DMA2>; > + clock-names = "apb_pclk"; > + }; > }; ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 3/5] rockchip: rk3188-power: sync power domain dt-binding header from Linux 2021-06-25 13:26 [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux Johan Jonker 2021-06-25 13:26 ` [PATCH v2 2/5] ARM: dts: rockchip: update rk3xxx.dtsi Johan Jonker @ 2021-06-25 13:26 ` Johan Jonker 2021-08-11 9:51 ` Kever Yang 2021-06-25 13:26 ` [PATCH v2 4/5] ARM: dts: rockchip: update rk3188.dtsi Johan Jonker ` (2 subsequent siblings) 4 siblings, 1 reply; 11+ messages in thread From: Johan Jonker @ 2021-06-25 13:26 UTC (permalink / raw) To: kever.yang; +Cc: sjg, philipp.tomsich, heiko, paweljarosz3691, u-boot In order to update the DT for rk3188 sync the power domain dt-binding header. This is the state as of v5.12 in Linux. Signed-off-by: Johan Jonker <jbx6244@gmail.com> --- include/dt-bindings/power/rk3188-power.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 include/dt-bindings/power/rk3188-power.h diff --git a/include/dt-bindings/power/rk3188-power.h b/include/dt-bindings/power/rk3188-power.h new file mode 100644 index 0000000000..93d23dfba3 --- /dev/null +++ b/include/dt-bindings/power/rk3188-power.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __DT_BINDINGS_POWER_RK3188_POWER_H__ +#define __DT_BINDINGS_POWER_RK3188_POWER_H__ + +/* VD_CORE */ +#define RK3188_PD_A9_0 0 +#define RK3188_PD_A9_1 1 +#define RK3188_PD_A9_2 2 +#define RK3188_PD_A9_3 3 +#define RK3188_PD_DBG 4 +#define RK3188_PD_SCU 5 + +/* VD_LOGIC */ +#define RK3188_PD_VIDEO 6 +#define RK3188_PD_VIO 7 +#define RK3188_PD_GPU 8 +#define RK3188_PD_PERI 9 +#define RK3188_PD_CPU 10 +#define RK3188_PD_ALIVE 11 + +/* VD_PMU */ +#define RK3188_PD_RTC 12 + +#endif -- 2.11.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 3/5] rockchip: rk3188-power: sync power domain dt-binding header from Linux 2021-06-25 13:26 ` [PATCH v2 3/5] rockchip: rk3188-power: sync power domain dt-binding header from Linux Johan Jonker @ 2021-08-11 9:51 ` Kever Yang 0 siblings, 0 replies; 11+ messages in thread From: Kever Yang @ 2021-08-11 9:51 UTC (permalink / raw) To: Johan Jonker Cc: Kever Yang, Simon Glass, philipp.tomsich, Heiko Stuebner, Paweł Jarosz, U-Boot-Denx Johan Jonker <jbx6244@gmail.com> 于2021年6月25日周五 下午9:31写道: > > In order to update the DT for rk3188 > sync the power domain dt-binding header. > This is the state as of v5.12 in Linux. > > Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > include/dt-bindings/power/rk3188-power.h | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > create mode 100644 include/dt-bindings/power/rk3188-power.h > > diff --git a/include/dt-bindings/power/rk3188-power.h b/include/dt-bindings/power/rk3188-power.h > new file mode 100644 > index 0000000000..93d23dfba3 > --- /dev/null > +++ b/include/dt-bindings/power/rk3188-power.h > @@ -0,0 +1,24 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +#ifndef __DT_BINDINGS_POWER_RK3188_POWER_H__ > +#define __DT_BINDINGS_POWER_RK3188_POWER_H__ > + > +/* VD_CORE */ > +#define RK3188_PD_A9_0 0 > +#define RK3188_PD_A9_1 1 > +#define RK3188_PD_A9_2 2 > +#define RK3188_PD_A9_3 3 > +#define RK3188_PD_DBG 4 > +#define RK3188_PD_SCU 5 > + > +/* VD_LOGIC */ > +#define RK3188_PD_VIDEO 6 > +#define RK3188_PD_VIO 7 > +#define RK3188_PD_GPU 8 > +#define RK3188_PD_PERI 9 > +#define RK3188_PD_CPU 10 > +#define RK3188_PD_ALIVE 11 > + > +/* VD_PMU */ > +#define RK3188_PD_RTC 12 > + > +#endif > -- > 2.11.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 4/5] ARM: dts: rockchip: update rk3188.dtsi 2021-06-25 13:26 [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux Johan Jonker 2021-06-25 13:26 ` [PATCH v2 2/5] ARM: dts: rockchip: update rk3xxx.dtsi Johan Jonker 2021-06-25 13:26 ` [PATCH v2 3/5] rockchip: rk3188-power: sync power domain dt-binding header from Linux Johan Jonker @ 2021-06-25 13:26 ` Johan Jonker 2021-08-11 9:50 ` Kever Yang 2021-06-25 13:26 ` [PATCH v2 5/5] ARM: dts: rockchip: update rk3188-radxarock.dts Johan Jonker 2021-08-11 9:48 ` [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux Kever Yang 4 siblings, 1 reply; 11+ messages in thread From: Johan Jonker @ 2021-06-25 13:26 UTC (permalink / raw) To: kever.yang; +Cc: sjg, philipp.tomsich, heiko, paweljarosz3691, u-boot In the Linux DT the file rk3xxx.dtsi is shared between rk3066 and rk3188. Both rk3xxx.dtsi and rk3188.dtsi have recently had some updates. For a future rk3066 support in U-boot this file must also update. Move U-boot specific things in a rk3188-u-boot.dtsi file. Signed-off-by: Johan Jonker <jbx6244@gmail.com> --- arch/arm/dts/rk3188-u-boot.dtsi | 13 ++ arch/arm/dts/rk3188.dtsi | 479 ++++++++++++++++++++++++++++------------ 2 files changed, 356 insertions(+), 136 deletions(-) diff --git a/arch/arm/dts/rk3188-u-boot.dtsi b/arch/arm/dts/rk3188-u-boot.dtsi index 41ac054b81..43f05b9876 100644 --- a/arch/arm/dts/rk3188-u-boot.dtsi +++ b/arch/arm/dts/rk3188-u-boot.dtsi @@ -4,3 +4,16 @@ */ #include "rockchip-u-boot.dtsi" + +&global_timer { + status = "okay"; +}; + +&gpio0 { + compatible = "rockchip,gpio-bank"; +}; + +&pmu { + compatible = "rockchip,rk3188-pmu", "syscon", "simple-mfd"; +}; + diff --git a/arch/arm/dts/rk3188.dtsi b/arch/arm/dts/rk3188.dtsi index d872dac174..6c1c2ff533 100644 --- a/arch/arm/dts/rk3188.dtsi +++ b/arch/arm/dts/rk3188.dtsi @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ OR X11 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (c) 2013 MundoReader S.L. * Author: Heiko Stuebner <heiko@sntech.de> @@ -7,6 +7,7 @@ #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/pinctrl/rockchip.h> #include <dt-bindings/clock/rk3188-cru.h> +#include <dt-bindings/power/rk3188-power.h> #include "rk3xxx.dtsi" #include "rk3xxx-u-boot.dtsi" @@ -23,40 +24,82 @@ compatible = "arm,cortex-a9"; next-level-cache = <&L2>; reg = <0x0>; - operating-points = < - /* kHz uV */ - 1608000 1350000 - 1416000 1250000 - 1200000 1150000 - 1008000 1075000 - 816000 975000 - 600000 950000 - 504000 925000 - 312000 875000 - >; clock-latency = <40000>; clocks = <&cru ARMCLK>; + operating-points-v2 = <&cpu0_opp_table>; + resets = <&cru SRST_CORE0>; }; - cpu@1 { + cpu1: cpu@1 { device_type = "cpu"; compatible = "arm,cortex-a9"; next-level-cache = <&L2>; reg = <0x1>; + operating-points-v2 = <&cpu0_opp_table>; + resets = <&cru SRST_CORE1>; }; - cpu@2 { + cpu2: cpu@2 { device_type = "cpu"; compatible = "arm,cortex-a9"; next-level-cache = <&L2>; reg = <0x2>; + operating-points-v2 = <&cpu0_opp_table>; + resets = <&cru SRST_CORE2>; }; - cpu@3 { + cpu3: cpu@3 { device_type = "cpu"; compatible = "arm,cortex-a9"; next-level-cache = <&L2>; reg = <0x3>; + operating-points-v2 = <&cpu0_opp_table>; + resets = <&cru SRST_CORE3>; }; }; + cpu0_opp_table: opp_table0 { + compatible = "operating-points-v2"; + opp-shared; + + opp-312000000 { + opp-hz = /bits/ 64 <312000000>; + opp-microvolt = <875000>; + clock-latency-ns = <40000>; + }; + opp-504000000 { + opp-hz = /bits/ 64 <504000000>; + opp-microvolt = <925000>; + }; + opp-600000000 { + opp-hz = /bits/ 64 <600000000>; + opp-microvolt = <950000>; + opp-suspend; + }; + opp-816000000 { + opp-hz = /bits/ 64 <816000000>; + opp-microvolt = <975000>; + }; + opp-1008000000 { + opp-hz = /bits/ 64 <1008000000>; + opp-microvolt = <1075000>; + }; + opp-1200000000 { + opp-hz = /bits/ 64 <1200000000>; + opp-microvolt = <1150000>; + }; + opp-1416000000 { + opp-hz = /bits/ 64 <1416000000>; + opp-microvolt = <1250000>; + }; + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-microvolt = <1350000>; + }; + }; + + display-subsystem { + compatible = "rockchip,display-subsystem"; + ports = <&vop0_out>, <&vop1_out>; + }; + sram: sram@10080000 { compatible = "mmio-sram"; reg = <0x10080000 0x8000>; @@ -70,20 +113,69 @@ }; }; + vop0: vop@1010c000 { + compatible = "rockchip,rk3188-vop"; + reg = <0x1010c000 0x1000>; + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru ACLK_LCDC0>, <&cru DCLK_LCDC0>, <&cru HCLK_LCDC0>; + clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; + power-domains = <&power RK3188_PD_VIO>; + resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>; + reset-names = "axi", "ahb", "dclk"; + status = "disabled"; + + vop0_out: port { + #address-cells = <1>; + #size-cells = <0>; + }; + }; + + vop1: vop@1010e000 { + compatible = "rockchip,rk3188-vop"; + reg = <0x1010e000 0x1000>; + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru ACLK_LCDC1>, <&cru DCLK_LCDC1>, <&cru HCLK_LCDC1>; + clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; + power-domains = <&power RK3188_PD_VIO>; + resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>; + reset-names = "axi", "ahb", "dclk"; + status = "disabled"; + + vop1_out: port { + #address-cells = <1>; + #size-cells = <0>; + }; + }; + + timer3: timer@2000e000 { + compatible = "rockchip,rk3188-timer", "rockchip,rk3288-timer"; + reg = <0x2000e000 0x20>; + interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_TIMER3>, <&cru SCLK_TIMER3>; + clock-names = "pclk", "timer"; + }; + + timer6: timer@200380a0 { + compatible = "rockchip,rk3188-timer", "rockchip,rk3288-timer"; + reg = <0x200380a0 0x20>; + interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru PCLK_TIMER0>, <&cru SCLK_TIMER6>; + clock-names = "pclk", "timer"; + }; + i2s0: i2s@1011a000 { compatible = "rockchip,rk3188-i2s", "rockchip,rk3066-i2s"; reg = <0x1011a000 0x2000>; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; - #address-cells = <1>; - #size-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&i2s0_bus>; + clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>; + clock-names = "i2s_clk", "i2s_hclk"; dmas = <&dmac1_s 6>, <&dmac1_s 7>; dma-names = "tx", "rx"; - clock-names = "i2s_hclk", "i2s_clk"; - clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; rockchip,playback-channels = <2>; rockchip,capture-channels = <2>; + #sound-dai-cells = <0>; status = "disabled"; }; @@ -91,8 +183,8 @@ compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif"; reg = <0x1011e000 0x2000>; #sound-dai-cells = <0>; - clock-names = "hclk", "mclk"; - clocks = <&cru HCLK_SPDIF>, <&cru SCLK_SPDIF>; + clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>; + clock-names = "mclk", "hclk"; dmas = <&dmac1_s 8>; dma-names = "tx"; interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; @@ -111,7 +203,7 @@ }; efuse: efuse@20010000 { - compatible = "rockchip,rockchip-efuse"; + compatible = "rockchip,rk3188-efuse"; reg = <0x20010000 0x4000>; #address-cells = <1>; #size-cells = <1>; @@ -123,36 +215,6 @@ }; }; - timer3: timer@2000e000 { - compatible = "rockchip,rk3188-timer", "rockchip,rk3288-timer"; - reg = <0x2000e000 0x20>; - interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; - }; - - usbphy: phy { - compatible = "rockchip,rk3188-usb-phy", "rockchip,rk3288-usb-phy"; - rockchip,grf = <&grf>; - #address-cells = <1>; - #size-cells = <0>; - status = "disabled"; - - usbphy0: usb-phy@10c { - #phy-cells = <0>; - reg = <0x10c>; - clocks = <&cru SCLK_OTGPHY0>; - clock-names = "phyclk"; - #clock-cells = <0>; - }; - - usbphy1: usb-phy@11c { - #phy-cells = <0>; - reg = <0x11c>; - clocks = <&cru SCLK_OTGPHY1>; - clock-names = "phyclk"; - #clock-cells = <0>; - }; - }; - pinctrl: pinctrl { compatible = "rockchip,rk3188-pinctrl"; rockchip,grf = <&grf>; @@ -163,7 +225,7 @@ ranges; gpio0: gpio0@2000a000 { - compatible = "rockchip,gpio-bank"; + compatible = "rockchip,rk3188-gpio-bank0"; reg = <0x2000a000 0x100>; interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; clocks = <&cru PCLK_GPIO0>; @@ -228,15 +290,15 @@ emmc { emmc_clk: emmc-clk { - rockchip,pins = <RK_GPIO0 24 RK_FUNC_2 &pcfg_pull_none>; + rockchip,pins = <0 RK_PD0 2 &pcfg_pull_none>; }; emmc_cmd: emmc-cmd { - rockchip,pins = <RK_GPIO0 26 RK_FUNC_2 &pcfg_pull_up>; + rockchip,pins = <0 RK_PD2 2 &pcfg_pull_up>; }; emmc_rst: emmc-rst { - rockchip,pins = <RK_GPIO0 27 RK_FUNC_2 &pcfg_pull_none>; + rockchip,pins = <0 RK_PD3 2 &pcfg_pull_none>; }; /* @@ -249,246 +311,291 @@ emac { emac_xfer: emac-xfer { - rockchip,pins = <RK_GPIO3 16 RK_FUNC_2 &pcfg_pull_none>, /* tx_en */ - <RK_GPIO3 17 RK_FUNC_2 &pcfg_pull_none>, /* txd1 */ - <RK_GPIO3 18 RK_FUNC_2 &pcfg_pull_none>, /* txd0 */ - <RK_GPIO3 19 RK_FUNC_2 &pcfg_pull_none>, /* rxd0 */ - <RK_GPIO3 20 RK_FUNC_2 &pcfg_pull_none>, /* rxd1 */ - <RK_GPIO3 21 RK_FUNC_2 &pcfg_pull_none>, /* mac_clk */ - <RK_GPIO3 22 RK_FUNC_2 &pcfg_pull_none>, /* rx_err */ - <RK_GPIO3 23 RK_FUNC_2 &pcfg_pull_none>; /* crs_dvalid */ + rockchip,pins = <3 RK_PC0 2 &pcfg_pull_none>, /* tx_en */ + <3 RK_PC1 2 &pcfg_pull_none>, /* txd1 */ + <3 RK_PC2 2 &pcfg_pull_none>, /* txd0 */ + <3 RK_PC3 2 &pcfg_pull_none>, /* rxd0 */ + <3 RK_PC4 2 &pcfg_pull_none>, /* rxd1 */ + <3 RK_PC5 2 &pcfg_pull_none>, /* mac_clk */ + <3 RK_PC6 2 &pcfg_pull_none>, /* rx_err */ + <3 RK_PC7 2 &pcfg_pull_none>; /* crs_dvalid */ }; emac_mdio: emac-mdio { - rockchip,pins = <RK_GPIO3 24 RK_FUNC_2 &pcfg_pull_none>, - <RK_GPIO3 25 RK_FUNC_2 &pcfg_pull_none>; + rockchip,pins = <3 RK_PD0 2 &pcfg_pull_none>, + <3 RK_PD1 2 &pcfg_pull_none>; }; }; i2c0 { i2c0_xfer: i2c0-xfer { - rockchip,pins = <RK_GPIO1 24 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO1 25 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>, + <1 RK_PD1 1 &pcfg_pull_none>; }; }; i2c1 { i2c1_xfer: i2c1-xfer { - rockchip,pins = <RK_GPIO1 26 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO1 27 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PD2 1 &pcfg_pull_none>, + <1 RK_PD3 1 &pcfg_pull_none>; }; }; i2c2 { i2c2_xfer: i2c2-xfer { - rockchip,pins = <RK_GPIO1 28 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO1 29 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>, + <1 RK_PD5 1 &pcfg_pull_none>; }; }; i2c3 { i2c3_xfer: i2c3-xfer { - rockchip,pins = <RK_GPIO3 14 RK_FUNC_2 &pcfg_pull_none>, - <RK_GPIO3 15 RK_FUNC_2 &pcfg_pull_none>; + rockchip,pins = <3 RK_PB6 2 &pcfg_pull_none>, + <3 RK_PB7 2 &pcfg_pull_none>; }; }; i2c4 { i2c4_xfer: i2c4-xfer { - rockchip,pins = <RK_GPIO1 30 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO1 31 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PD6 1 &pcfg_pull_none>, + <1 RK_PD7 1 &pcfg_pull_none>; + }; + }; + + lcdc1 { + lcdc1_dclk: lcdc1-dclk { + rockchip,pins = <2 RK_PD0 1 &pcfg_pull_none>; + }; + + lcdc1_den: lcdc1-den { + rockchip,pins = <2 RK_PD1 1 &pcfg_pull_none>; + }; + + lcdc1_hsync: lcdc1-hsync { + rockchip,pins = <2 RK_PD2 1 &pcfg_pull_none>; + }; + + lcdc1_vsync: lcdc1-vsync { + rockchip,pins = <2 RK_PD3 1 &pcfg_pull_none>; + }; + + lcdc1_rgb24: ldcd1-rgb24 { + rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>, + <2 RK_PA1 1 &pcfg_pull_none>, + <2 RK_PA2 1 &pcfg_pull_none>, + <2 RK_PA3 1 &pcfg_pull_none>, + <2 RK_PA4 1 &pcfg_pull_none>, + <2 RK_PA5 1 &pcfg_pull_none>, + <2 RK_PA6 1 &pcfg_pull_none>, + <2 RK_PA7 1 &pcfg_pull_none>, + <2 RK_PB0 1 &pcfg_pull_none>, + <2 RK_PB1 1 &pcfg_pull_none>, + <2 RK_PB2 1 &pcfg_pull_none>, + <2 RK_PB3 1 &pcfg_pull_none>, + <2 RK_PB4 1 &pcfg_pull_none>, + <2 RK_PB5 1 &pcfg_pull_none>, + <2 RK_PB6 1 &pcfg_pull_none>, + <2 RK_PB7 1 &pcfg_pull_none>, + <2 RK_PC0 1 &pcfg_pull_none>, + <2 RK_PC1 1 &pcfg_pull_none>, + <2 RK_PC2 1 &pcfg_pull_none>, + <2 RK_PC3 1 &pcfg_pull_none>, + <2 RK_PC4 1 &pcfg_pull_none>, + <2 RK_PC5 1 &pcfg_pull_none>, + <2 RK_PC6 1 &pcfg_pull_none>, + <2 RK_PC7 1 &pcfg_pull_none>; }; }; pwm0 { pwm0_out: pwm0-out { - rockchip,pins = <RK_GPIO3 27 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PD3 1 &pcfg_pull_none>; }; }; pwm1 { pwm1_out: pwm1-out { - rockchip,pins = <RK_GPIO3 28 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PD4 1 &pcfg_pull_none>; }; }; pwm2 { pwm2_out: pwm2-out { - rockchip,pins = <RK_GPIO3 29 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PD5 1 &pcfg_pull_none>; }; }; pwm3 { pwm3_out: pwm3-out { - rockchip,pins = <RK_GPIO3 30 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PD6 1 &pcfg_pull_none>; }; }; spi0 { spi0_clk: spi0-clk { - rockchip,pins = <RK_GPIO1 6 RK_FUNC_2 &pcfg_pull_up>; + rockchip,pins = <1 RK_PA6 2 &pcfg_pull_up>; }; spi0_cs0: spi0-cs0 { - rockchip,pins = <RK_GPIO1 7 RK_FUNC_2 &pcfg_pull_up>; + rockchip,pins = <1 RK_PA7 2 &pcfg_pull_up>; }; spi0_tx: spi0-tx { - rockchip,pins = <RK_GPIO1 5 RK_FUNC_2 &pcfg_pull_up>; + rockchip,pins = <1 RK_PA5 2 &pcfg_pull_up>; }; spi0_rx: spi0-rx { - rockchip,pins = <RK_GPIO1 4 RK_FUNC_2 &pcfg_pull_up>; + rockchip,pins = <1 RK_PA4 2 &pcfg_pull_up>; }; spi0_cs1: spi0-cs1 { - rockchip,pins = <RK_GPIO1 15 RK_FUNC_1 &pcfg_pull_up>; + rockchip,pins = <1 RK_PB7 1 &pcfg_pull_up>; }; }; spi1 { spi1_clk: spi1-clk { - rockchip,pins = <RK_GPIO0 30 RK_FUNC_1 &pcfg_pull_up>; + rockchip,pins = <0 RK_PD6 1 &pcfg_pull_up>; }; spi1_cs0: spi1-cs0 { - rockchip,pins = <RK_GPIO0 31 RK_FUNC_1 &pcfg_pull_up>; + rockchip,pins = <0 RK_PD7 1 &pcfg_pull_up>; }; spi1_rx: spi1-rx { - rockchip,pins = <RK_GPIO0 28 RK_FUNC_1 &pcfg_pull_up>; + rockchip,pins = <0 RK_PD4 1 &pcfg_pull_up>; }; spi1_tx: spi1-tx { - rockchip,pins = <RK_GPIO0 29 RK_FUNC_1 &pcfg_pull_up>; + rockchip,pins = <0 RK_PD5 1 &pcfg_pull_up>; }; spi1_cs1: spi1-cs1 { - rockchip,pins = <RK_GPIO1 14 RK_FUNC_2 &pcfg_pull_up>; + rockchip,pins = <1 RK_PB6 2 &pcfg_pull_up>; }; }; uart0 { uart0_xfer: uart0-xfer { - rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_up>, - <RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up>, + <1 RK_PA1 1 &pcfg_pull_none>; }; uart0_cts: uart0-cts { - rockchip,pins = <RK_GPIO1 2 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PA2 1 &pcfg_pull_none>; }; uart0_rts: uart0-rts { - rockchip,pins = <RK_GPIO1 3 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PA3 1 &pcfg_pull_none>; }; }; uart1 { uart1_xfer: uart1-xfer { - rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_up>, - <RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PA4 1 &pcfg_pull_up>, + <1 RK_PA5 1 &pcfg_pull_none>; }; uart1_cts: uart1-cts { - rockchip,pins = <RK_GPIO1 6 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none>; }; uart1_rts: uart1-rts { - rockchip,pins = <RK_GPIO1 7 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PA7 1 &pcfg_pull_none>; }; }; uart2 { uart2_xfer: uart2-xfer { - rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_up>, - <RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PB0 1 &pcfg_pull_up>, + <1 RK_PB1 1 &pcfg_pull_none>; }; /* no rts / cts for uart2 */ }; uart3 { uart3_xfer: uart3-xfer { - rockchip,pins = <RK_GPIO1 10 RK_FUNC_1 &pcfg_pull_up>, - <RK_GPIO1 11 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PB2 1 &pcfg_pull_up>, + <1 RK_PB3 1 &pcfg_pull_none>; }; uart3_cts: uart3-cts { - rockchip,pins = <RK_GPIO1 12 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PB4 1 &pcfg_pull_none>; }; uart3_rts: uart3-rts { - rockchip,pins = <RK_GPIO1 13 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PB5 1 &pcfg_pull_none>; }; }; sd0 { sd0_clk: sd0-clk { - rockchip,pins = <RK_GPIO3 2 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PA2 1 &pcfg_pull_none>; }; sd0_cmd: sd0-cmd { - rockchip,pins = <RK_GPIO3 3 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PA3 1 &pcfg_pull_none>; }; sd0_cd: sd0-cd { - rockchip,pins = <RK_GPIO3 8 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PB0 1 &pcfg_pull_none>; }; sd0_wp: sd0-wp { - rockchip,pins = <RK_GPIO3 9 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PB1 1 &pcfg_pull_none>; }; sd0_pwr: sd0-pwr { - rockchip,pins = <RK_GPIO3 1 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PA1 1 &pcfg_pull_none>; }; sd0_bus1: sd0-bus-width1 { - rockchip,pins = <RK_GPIO3 4 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PA4 1 &pcfg_pull_none>; }; sd0_bus4: sd0-bus-width4 { - rockchip,pins = <RK_GPIO3 4 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO3 5 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO3 6 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO3 7 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PA4 1 &pcfg_pull_none>, + <3 RK_PA5 1 &pcfg_pull_none>, + <3 RK_PA6 1 &pcfg_pull_none>, + <3 RK_PA7 1 &pcfg_pull_none>; }; }; sd1 { sd1_clk: sd1-clk { - rockchip,pins = <RK_GPIO3 21 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PC5 1 &pcfg_pull_none>; }; sd1_cmd: sd1-cmd { - rockchip,pins = <RK_GPIO3 16 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PC0 1 &pcfg_pull_none>; }; sd1_cd: sd1-cd { - rockchip,pins = <RK_GPIO3 22 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PC6 1 &pcfg_pull_none>; }; sd1_wp: sd1-wp { - rockchip,pins = <RK_GPIO3 23 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PC7 1 &pcfg_pull_none>; }; sd1_bus1: sd1-bus-width1 { - rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PC1 1 &pcfg_pull_none>; }; sd1_bus4: sd1-bus-width4 { - rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO3 18 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO3 19 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <3 RK_PC1 1 &pcfg_pull_none>, + <3 RK_PC2 1 &pcfg_pull_none>, + <3 RK_PC3 1 &pcfg_pull_none>, + <3 RK_PC4 1 &pcfg_pull_none>; }; }; i2s0 { i2s0_bus: i2s0-bus { - rockchip,pins = <RK_GPIO1 16 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO1 17 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO1 18 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO1 19 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO1 20 RK_FUNC_1 &pcfg_pull_none>, - <RK_GPIO1 21 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>, + <1 RK_PC1 1 &pcfg_pull_none>, + <1 RK_PC2 1 &pcfg_pull_none>, + <1 RK_PC3 1 &pcfg_pull_none>, + <1 RK_PC4 1 &pcfg_pull_none>, + <1 RK_PC5 1 &pcfg_pull_none>; }; }; spdif { spdif_tx: spdif-tx { - rockchip,pins = <RK_GPIO1 14 RK_FUNC_1 &pcfg_pull_none>; + rockchip,pins = <1 RK_PB6 1 &pcfg_pull_none>; }; }; }; @@ -499,15 +606,65 @@ }; &global_timer { - interrupts = <GIC_PPI 11 0xf04>; + interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; + status = "disabled"; }; -&grf { - compatible = "rockchip,rk3188-grf", "syscon"; +&local_timer { + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; }; -&local_timer { - interrupts = <GIC_PPI 13 0xf04>; +&gpu { + compatible = "rockchip,rk3188-mali", "arm,mali-400"; + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "gp", + "gpmmu", + "pp0", + "ppmmu0", + "pp1", + "ppmmu1", + "pp2", + "ppmmu2", + "pp3", + "ppmmu3"; + power-domains = <&power RK3188_PD_GPU>; +}; + +&grf { + compatible = "rockchip,rk3188-grf", "syscon", "simple-mfd"; + + usbphy: usbphy { + compatible = "rockchip,rk3188-usb-phy", + "rockchip,rk3288-usb-phy"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + + usbphy0: usb-phy@10c { + reg = <0x10c>; + clocks = <&cru SCLK_OTGPHY0>; + clock-names = "phyclk"; + #clock-cells = <0>; + #phy-cells = <0>; + }; + + usbphy1: usb-phy@11c { + reg = <0x11c>; + clocks = <&cru SCLK_OTGPHY1>; + clock-names = "phyclk"; + #clock-cells = <0>; + #phy-cells = <0>; + }; + }; }; &i2c0 { @@ -541,7 +698,52 @@ }; &pmu { - compatible = "rockchip,rk3188-pmu", "syscon"; + power: power-controller { + compatible = "rockchip,rk3188-power-controller"; + #power-domain-cells = <1>; + #address-cells = <1>; + #size-cells = <0>; + + power-domain@RK3188_PD_VIO { + reg = <RK3188_PD_VIO>; + clocks = <&cru ACLK_LCDC0>, + <&cru ACLK_LCDC1>, + <&cru DCLK_LCDC0>, + <&cru DCLK_LCDC1>, + <&cru HCLK_LCDC0>, + <&cru HCLK_LCDC1>, + <&cru SCLK_CIF0>, + <&cru ACLK_CIF0>, + <&cru HCLK_CIF0>, + <&cru ACLK_IPP>, + <&cru HCLK_IPP>, + <&cru ACLK_RGA>, + <&cru HCLK_RGA>; + pm_qos = <&qos_lcdc0>, + <&qos_lcdc1>, + <&qos_cif0>, + <&qos_ipp>, + <&qos_rga>; + #power-domain-cells = <0>; + }; + + power-domain@RK3188_PD_VIDEO { + reg = <RK3188_PD_VIDEO>; + clocks = <&cru ACLK_VDPU>, + <&cru ACLK_VEPU>, + <&cru HCLK_VDPU>, + <&cru HCLK_VEPU>; + pm_qos = <&qos_vpu>; + #power-domain-cells = <0>; + }; + + power-domain@RK3188_PD_GPU { + reg = <RK3188_PD_GPU>; + clocks = <&cru ACLK_GPU>; + pm_qos = <&qos_gpu>; + #power-domain-cells = <0>; + }; + }; }; &pwm0 { @@ -600,6 +802,11 @@ pinctrl-0 = <&uart3_xfer>; }; +&vpu { + compatible = "rockchip,rk3188-vpu", "rockchip,rk3066-vpu"; + power-domains = <&power RK3188_PD_VIDEO>; +}; + &wdt { compatible = "rockchip,rk3188-wdt", "snps,dw-wdt"; }; -- 2.11.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 4/5] ARM: dts: rockchip: update rk3188.dtsi 2021-06-25 13:26 ` [PATCH v2 4/5] ARM: dts: rockchip: update rk3188.dtsi Johan Jonker @ 2021-08-11 9:50 ` Kever Yang 0 siblings, 0 replies; 11+ messages in thread From: Kever Yang @ 2021-08-11 9:50 UTC (permalink / raw) To: Johan Jonker Cc: Kever Yang, Simon Glass, philipp.tomsich, Heiko Stuebner, Paweł Jarosz, U-Boot-Denx Johan Jonker <jbx6244@gmail.com> 于2021年6月25日周五 下午9:31写道: > > In the Linux DT the file rk3xxx.dtsi is shared between > rk3066 and rk3188. Both rk3xxx.dtsi and rk3188.dtsi have recently > had some updates. > For a future rk3066 support in U-boot this file must also update. > Move U-boot specific things in a rk3188-u-boot.dtsi file. > > Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > arch/arm/dts/rk3188-u-boot.dtsi | 13 ++ > arch/arm/dts/rk3188.dtsi | 479 ++++++++++++++++++++++++++++------------ > 2 files changed, 356 insertions(+), 136 deletions(-) > > diff --git a/arch/arm/dts/rk3188-u-boot.dtsi b/arch/arm/dts/rk3188-u-boot.dtsi > index 41ac054b81..43f05b9876 100644 > --- a/arch/arm/dts/rk3188-u-boot.dtsi > +++ b/arch/arm/dts/rk3188-u-boot.dtsi > @@ -4,3 +4,16 @@ > */ > > #include "rockchip-u-boot.dtsi" > + > +&global_timer { > + status = "okay"; > +}; > + > +&gpio0 { > + compatible = "rockchip,gpio-bank"; > +}; > + > +&pmu { > + compatible = "rockchip,rk3188-pmu", "syscon", "simple-mfd"; > +}; > + > diff --git a/arch/arm/dts/rk3188.dtsi b/arch/arm/dts/rk3188.dtsi > index d872dac174..6c1c2ff533 100644 > --- a/arch/arm/dts/rk3188.dtsi > +++ b/arch/arm/dts/rk3188.dtsi > @@ -1,4 +1,4 @@ > -// SPDX-License-Identifier: GPL-2.0+ OR X11 > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > /* > * Copyright (c) 2013 MundoReader S.L. > * Author: Heiko Stuebner <heiko@sntech.de> > @@ -7,6 +7,7 @@ > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/pinctrl/rockchip.h> > #include <dt-bindings/clock/rk3188-cru.h> > +#include <dt-bindings/power/rk3188-power.h> > #include "rk3xxx.dtsi" > #include "rk3xxx-u-boot.dtsi" > > @@ -23,40 +24,82 @@ > compatible = "arm,cortex-a9"; > next-level-cache = <&L2>; > reg = <0x0>; > - operating-points = < > - /* kHz uV */ > - 1608000 1350000 > - 1416000 1250000 > - 1200000 1150000 > - 1008000 1075000 > - 816000 975000 > - 600000 950000 > - 504000 925000 > - 312000 875000 > - >; > clock-latency = <40000>; > clocks = <&cru ARMCLK>; > + operating-points-v2 = <&cpu0_opp_table>; > + resets = <&cru SRST_CORE0>; > }; > - cpu@1 { > + cpu1: cpu@1 { > device_type = "cpu"; > compatible = "arm,cortex-a9"; > next-level-cache = <&L2>; > reg = <0x1>; > + operating-points-v2 = <&cpu0_opp_table>; > + resets = <&cru SRST_CORE1>; > }; > - cpu@2 { > + cpu2: cpu@2 { > device_type = "cpu"; > compatible = "arm,cortex-a9"; > next-level-cache = <&L2>; > reg = <0x2>; > + operating-points-v2 = <&cpu0_opp_table>; > + resets = <&cru SRST_CORE2>; > }; > - cpu@3 { > + cpu3: cpu@3 { > device_type = "cpu"; > compatible = "arm,cortex-a9"; > next-level-cache = <&L2>; > reg = <0x3>; > + operating-points-v2 = <&cpu0_opp_table>; > + resets = <&cru SRST_CORE3>; > }; > }; > > + cpu0_opp_table: opp_table0 { > + compatible = "operating-points-v2"; > + opp-shared; > + > + opp-312000000 { > + opp-hz = /bits/ 64 <312000000>; > + opp-microvolt = <875000>; > + clock-latency-ns = <40000>; > + }; > + opp-504000000 { > + opp-hz = /bits/ 64 <504000000>; > + opp-microvolt = <925000>; > + }; > + opp-600000000 { > + opp-hz = /bits/ 64 <600000000>; > + opp-microvolt = <950000>; > + opp-suspend; > + }; > + opp-816000000 { > + opp-hz = /bits/ 64 <816000000>; > + opp-microvolt = <975000>; > + }; > + opp-1008000000 { > + opp-hz = /bits/ 64 <1008000000>; > + opp-microvolt = <1075000>; > + }; > + opp-1200000000 { > + opp-hz = /bits/ 64 <1200000000>; > + opp-microvolt = <1150000>; > + }; > + opp-1416000000 { > + opp-hz = /bits/ 64 <1416000000>; > + opp-microvolt = <1250000>; > + }; > + opp-1608000000 { > + opp-hz = /bits/ 64 <1608000000>; > + opp-microvolt = <1350000>; > + }; > + }; > + > + display-subsystem { > + compatible = "rockchip,display-subsystem"; > + ports = <&vop0_out>, <&vop1_out>; > + }; > + > sram: sram@10080000 { > compatible = "mmio-sram"; > reg = <0x10080000 0x8000>; > @@ -70,20 +113,69 @@ > }; > }; > > + vop0: vop@1010c000 { > + compatible = "rockchip,rk3188-vop"; > + reg = <0x1010c000 0x1000>; > + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru ACLK_LCDC0>, <&cru DCLK_LCDC0>, <&cru HCLK_LCDC0>; > + clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; > + power-domains = <&power RK3188_PD_VIO>; > + resets = <&cru SRST_LCDC0_AXI>, <&cru SRST_LCDC0_AHB>, <&cru SRST_LCDC0_DCLK>; > + reset-names = "axi", "ahb", "dclk"; > + status = "disabled"; > + > + vop0_out: port { > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + }; > + > + vop1: vop@1010e000 { > + compatible = "rockchip,rk3188-vop"; > + reg = <0x1010e000 0x1000>; > + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru ACLK_LCDC1>, <&cru DCLK_LCDC1>, <&cru HCLK_LCDC1>; > + clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; > + power-domains = <&power RK3188_PD_VIO>; > + resets = <&cru SRST_LCDC1_AXI>, <&cru SRST_LCDC1_AHB>, <&cru SRST_LCDC1_DCLK>; > + reset-names = "axi", "ahb", "dclk"; > + status = "disabled"; > + > + vop1_out: port { > + #address-cells = <1>; > + #size-cells = <0>; > + }; > + }; > + > + timer3: timer@2000e000 { > + compatible = "rockchip,rk3188-timer", "rockchip,rk3288-timer"; > + reg = <0x2000e000 0x20>; > + interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_TIMER3>, <&cru SCLK_TIMER3>; > + clock-names = "pclk", "timer"; > + }; > + > + timer6: timer@200380a0 { > + compatible = "rockchip,rk3188-timer", "rockchip,rk3288-timer"; > + reg = <0x200380a0 0x20>; > + interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; > + clocks = <&cru PCLK_TIMER0>, <&cru SCLK_TIMER6>; > + clock-names = "pclk", "timer"; > + }; > + > i2s0: i2s@1011a000 { > compatible = "rockchip,rk3188-i2s", "rockchip,rk3066-i2s"; > reg = <0x1011a000 0x2000>; > interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; > - #address-cells = <1>; > - #size-cells = <0>; > pinctrl-names = "default"; > pinctrl-0 = <&i2s0_bus>; > + clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0>; > + clock-names = "i2s_clk", "i2s_hclk"; > dmas = <&dmac1_s 6>, <&dmac1_s 7>; > dma-names = "tx", "rx"; > - clock-names = "i2s_hclk", "i2s_clk"; > - clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>; > rockchip,playback-channels = <2>; > rockchip,capture-channels = <2>; > + #sound-dai-cells = <0>; > status = "disabled"; > }; > > @@ -91,8 +183,8 @@ > compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif"; > reg = <0x1011e000 0x2000>; > #sound-dai-cells = <0>; > - clock-names = "hclk", "mclk"; > - clocks = <&cru HCLK_SPDIF>, <&cru SCLK_SPDIF>; > + clocks = <&cru SCLK_SPDIF>, <&cru HCLK_SPDIF>; > + clock-names = "mclk", "hclk"; > dmas = <&dmac1_s 8>; > dma-names = "tx"; > interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; > @@ -111,7 +203,7 @@ > }; > > efuse: efuse@20010000 { > - compatible = "rockchip,rockchip-efuse"; > + compatible = "rockchip,rk3188-efuse"; > reg = <0x20010000 0x4000>; > #address-cells = <1>; > #size-cells = <1>; > @@ -123,36 +215,6 @@ > }; > }; > > - timer3: timer@2000e000 { > - compatible = "rockchip,rk3188-timer", "rockchip,rk3288-timer"; > - reg = <0x2000e000 0x20>; > - interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; > - }; > - > - usbphy: phy { > - compatible = "rockchip,rk3188-usb-phy", "rockchip,rk3288-usb-phy"; > - rockchip,grf = <&grf>; > - #address-cells = <1>; > - #size-cells = <0>; > - status = "disabled"; > - > - usbphy0: usb-phy@10c { > - #phy-cells = <0>; > - reg = <0x10c>; > - clocks = <&cru SCLK_OTGPHY0>; > - clock-names = "phyclk"; > - #clock-cells = <0>; > - }; > - > - usbphy1: usb-phy@11c { > - #phy-cells = <0>; > - reg = <0x11c>; > - clocks = <&cru SCLK_OTGPHY1>; > - clock-names = "phyclk"; > - #clock-cells = <0>; > - }; > - }; > - > pinctrl: pinctrl { > compatible = "rockchip,rk3188-pinctrl"; > rockchip,grf = <&grf>; > @@ -163,7 +225,7 @@ > ranges; > > gpio0: gpio0@2000a000 { > - compatible = "rockchip,gpio-bank"; > + compatible = "rockchip,rk3188-gpio-bank0"; > reg = <0x2000a000 0x100>; > interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; > clocks = <&cru PCLK_GPIO0>; > @@ -228,15 +290,15 @@ > > emmc { > emmc_clk: emmc-clk { > - rockchip,pins = <RK_GPIO0 24 RK_FUNC_2 &pcfg_pull_none>; > + rockchip,pins = <0 RK_PD0 2 &pcfg_pull_none>; > }; > > emmc_cmd: emmc-cmd { > - rockchip,pins = <RK_GPIO0 26 RK_FUNC_2 &pcfg_pull_up>; > + rockchip,pins = <0 RK_PD2 2 &pcfg_pull_up>; > }; > > emmc_rst: emmc-rst { > - rockchip,pins = <RK_GPIO0 27 RK_FUNC_2 &pcfg_pull_none>; > + rockchip,pins = <0 RK_PD3 2 &pcfg_pull_none>; > }; > > /* > @@ -249,246 +311,291 @@ > > emac { > emac_xfer: emac-xfer { > - rockchip,pins = <RK_GPIO3 16 RK_FUNC_2 &pcfg_pull_none>, /* tx_en */ > - <RK_GPIO3 17 RK_FUNC_2 &pcfg_pull_none>, /* txd1 */ > - <RK_GPIO3 18 RK_FUNC_2 &pcfg_pull_none>, /* txd0 */ > - <RK_GPIO3 19 RK_FUNC_2 &pcfg_pull_none>, /* rxd0 */ > - <RK_GPIO3 20 RK_FUNC_2 &pcfg_pull_none>, /* rxd1 */ > - <RK_GPIO3 21 RK_FUNC_2 &pcfg_pull_none>, /* mac_clk */ > - <RK_GPIO3 22 RK_FUNC_2 &pcfg_pull_none>, /* rx_err */ > - <RK_GPIO3 23 RK_FUNC_2 &pcfg_pull_none>; /* crs_dvalid */ > + rockchip,pins = <3 RK_PC0 2 &pcfg_pull_none>, /* tx_en */ > + <3 RK_PC1 2 &pcfg_pull_none>, /* txd1 */ > + <3 RK_PC2 2 &pcfg_pull_none>, /* txd0 */ > + <3 RK_PC3 2 &pcfg_pull_none>, /* rxd0 */ > + <3 RK_PC4 2 &pcfg_pull_none>, /* rxd1 */ > + <3 RK_PC5 2 &pcfg_pull_none>, /* mac_clk */ > + <3 RK_PC6 2 &pcfg_pull_none>, /* rx_err */ > + <3 RK_PC7 2 &pcfg_pull_none>; /* crs_dvalid */ > }; > > emac_mdio: emac-mdio { > - rockchip,pins = <RK_GPIO3 24 RK_FUNC_2 &pcfg_pull_none>, > - <RK_GPIO3 25 RK_FUNC_2 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PD0 2 &pcfg_pull_none>, > + <3 RK_PD1 2 &pcfg_pull_none>; > }; > }; > > i2c0 { > i2c0_xfer: i2c0-xfer { > - rockchip,pins = <RK_GPIO1 24 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO1 25 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PD0 1 &pcfg_pull_none>, > + <1 RK_PD1 1 &pcfg_pull_none>; > }; > }; > > i2c1 { > i2c1_xfer: i2c1-xfer { > - rockchip,pins = <RK_GPIO1 26 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO1 27 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PD2 1 &pcfg_pull_none>, > + <1 RK_PD3 1 &pcfg_pull_none>; > }; > }; > > i2c2 { > i2c2_xfer: i2c2-xfer { > - rockchip,pins = <RK_GPIO1 28 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO1 29 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PD4 1 &pcfg_pull_none>, > + <1 RK_PD5 1 &pcfg_pull_none>; > }; > }; > > i2c3 { > i2c3_xfer: i2c3-xfer { > - rockchip,pins = <RK_GPIO3 14 RK_FUNC_2 &pcfg_pull_none>, > - <RK_GPIO3 15 RK_FUNC_2 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PB6 2 &pcfg_pull_none>, > + <3 RK_PB7 2 &pcfg_pull_none>; > }; > }; > > i2c4 { > i2c4_xfer: i2c4-xfer { > - rockchip,pins = <RK_GPIO1 30 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO1 31 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PD6 1 &pcfg_pull_none>, > + <1 RK_PD7 1 &pcfg_pull_none>; > + }; > + }; > + > + lcdc1 { > + lcdc1_dclk: lcdc1-dclk { > + rockchip,pins = <2 RK_PD0 1 &pcfg_pull_none>; > + }; > + > + lcdc1_den: lcdc1-den { > + rockchip,pins = <2 RK_PD1 1 &pcfg_pull_none>; > + }; > + > + lcdc1_hsync: lcdc1-hsync { > + rockchip,pins = <2 RK_PD2 1 &pcfg_pull_none>; > + }; > + > + lcdc1_vsync: lcdc1-vsync { > + rockchip,pins = <2 RK_PD3 1 &pcfg_pull_none>; > + }; > + > + lcdc1_rgb24: ldcd1-rgb24 { > + rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>, > + <2 RK_PA1 1 &pcfg_pull_none>, > + <2 RK_PA2 1 &pcfg_pull_none>, > + <2 RK_PA3 1 &pcfg_pull_none>, > + <2 RK_PA4 1 &pcfg_pull_none>, > + <2 RK_PA5 1 &pcfg_pull_none>, > + <2 RK_PA6 1 &pcfg_pull_none>, > + <2 RK_PA7 1 &pcfg_pull_none>, > + <2 RK_PB0 1 &pcfg_pull_none>, > + <2 RK_PB1 1 &pcfg_pull_none>, > + <2 RK_PB2 1 &pcfg_pull_none>, > + <2 RK_PB3 1 &pcfg_pull_none>, > + <2 RK_PB4 1 &pcfg_pull_none>, > + <2 RK_PB5 1 &pcfg_pull_none>, > + <2 RK_PB6 1 &pcfg_pull_none>, > + <2 RK_PB7 1 &pcfg_pull_none>, > + <2 RK_PC0 1 &pcfg_pull_none>, > + <2 RK_PC1 1 &pcfg_pull_none>, > + <2 RK_PC2 1 &pcfg_pull_none>, > + <2 RK_PC3 1 &pcfg_pull_none>, > + <2 RK_PC4 1 &pcfg_pull_none>, > + <2 RK_PC5 1 &pcfg_pull_none>, > + <2 RK_PC6 1 &pcfg_pull_none>, > + <2 RK_PC7 1 &pcfg_pull_none>; > }; > }; > > pwm0 { > pwm0_out: pwm0-out { > - rockchip,pins = <RK_GPIO3 27 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PD3 1 &pcfg_pull_none>; > }; > }; > > pwm1 { > pwm1_out: pwm1-out { > - rockchip,pins = <RK_GPIO3 28 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PD4 1 &pcfg_pull_none>; > }; > }; > > pwm2 { > pwm2_out: pwm2-out { > - rockchip,pins = <RK_GPIO3 29 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PD5 1 &pcfg_pull_none>; > }; > }; > > pwm3 { > pwm3_out: pwm3-out { > - rockchip,pins = <RK_GPIO3 30 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PD6 1 &pcfg_pull_none>; > }; > }; > > spi0 { > spi0_clk: spi0-clk { > - rockchip,pins = <RK_GPIO1 6 RK_FUNC_2 &pcfg_pull_up>; > + rockchip,pins = <1 RK_PA6 2 &pcfg_pull_up>; > }; > spi0_cs0: spi0-cs0 { > - rockchip,pins = <RK_GPIO1 7 RK_FUNC_2 &pcfg_pull_up>; > + rockchip,pins = <1 RK_PA7 2 &pcfg_pull_up>; > }; > spi0_tx: spi0-tx { > - rockchip,pins = <RK_GPIO1 5 RK_FUNC_2 &pcfg_pull_up>; > + rockchip,pins = <1 RK_PA5 2 &pcfg_pull_up>; > }; > spi0_rx: spi0-rx { > - rockchip,pins = <RK_GPIO1 4 RK_FUNC_2 &pcfg_pull_up>; > + rockchip,pins = <1 RK_PA4 2 &pcfg_pull_up>; > }; > spi0_cs1: spi0-cs1 { > - rockchip,pins = <RK_GPIO1 15 RK_FUNC_1 &pcfg_pull_up>; > + rockchip,pins = <1 RK_PB7 1 &pcfg_pull_up>; > }; > }; > > spi1 { > spi1_clk: spi1-clk { > - rockchip,pins = <RK_GPIO0 30 RK_FUNC_1 &pcfg_pull_up>; > + rockchip,pins = <0 RK_PD6 1 &pcfg_pull_up>; > }; > spi1_cs0: spi1-cs0 { > - rockchip,pins = <RK_GPIO0 31 RK_FUNC_1 &pcfg_pull_up>; > + rockchip,pins = <0 RK_PD7 1 &pcfg_pull_up>; > }; > spi1_rx: spi1-rx { > - rockchip,pins = <RK_GPIO0 28 RK_FUNC_1 &pcfg_pull_up>; > + rockchip,pins = <0 RK_PD4 1 &pcfg_pull_up>; > }; > spi1_tx: spi1-tx { > - rockchip,pins = <RK_GPIO0 29 RK_FUNC_1 &pcfg_pull_up>; > + rockchip,pins = <0 RK_PD5 1 &pcfg_pull_up>; > }; > spi1_cs1: spi1-cs1 { > - rockchip,pins = <RK_GPIO1 14 RK_FUNC_2 &pcfg_pull_up>; > + rockchip,pins = <1 RK_PB6 2 &pcfg_pull_up>; > }; > }; > > uart0 { > uart0_xfer: uart0-xfer { > - rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_up>, > - <RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PA0 1 &pcfg_pull_up>, > + <1 RK_PA1 1 &pcfg_pull_none>; > }; > > uart0_cts: uart0-cts { > - rockchip,pins = <RK_GPIO1 2 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PA2 1 &pcfg_pull_none>; > }; > > uart0_rts: uart0-rts { > - rockchip,pins = <RK_GPIO1 3 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PA3 1 &pcfg_pull_none>; > }; > }; > > uart1 { > uart1_xfer: uart1-xfer { > - rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_up>, > - <RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PA4 1 &pcfg_pull_up>, > + <1 RK_PA5 1 &pcfg_pull_none>; > }; > > uart1_cts: uart1-cts { > - rockchip,pins = <RK_GPIO1 6 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PA6 1 &pcfg_pull_none>; > }; > > uart1_rts: uart1-rts { > - rockchip,pins = <RK_GPIO1 7 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PA7 1 &pcfg_pull_none>; > }; > }; > > uart2 { > uart2_xfer: uart2-xfer { > - rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_up>, > - <RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PB0 1 &pcfg_pull_up>, > + <1 RK_PB1 1 &pcfg_pull_none>; > }; > /* no rts / cts for uart2 */ > }; > > uart3 { > uart3_xfer: uart3-xfer { > - rockchip,pins = <RK_GPIO1 10 RK_FUNC_1 &pcfg_pull_up>, > - <RK_GPIO1 11 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PB2 1 &pcfg_pull_up>, > + <1 RK_PB3 1 &pcfg_pull_none>; > }; > > uart3_cts: uart3-cts { > - rockchip,pins = <RK_GPIO1 12 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PB4 1 &pcfg_pull_none>; > }; > > uart3_rts: uart3-rts { > - rockchip,pins = <RK_GPIO1 13 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PB5 1 &pcfg_pull_none>; > }; > }; > > sd0 { > sd0_clk: sd0-clk { > - rockchip,pins = <RK_GPIO3 2 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PA2 1 &pcfg_pull_none>; > }; > > sd0_cmd: sd0-cmd { > - rockchip,pins = <RK_GPIO3 3 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PA3 1 &pcfg_pull_none>; > }; > > sd0_cd: sd0-cd { > - rockchip,pins = <RK_GPIO3 8 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PB0 1 &pcfg_pull_none>; > }; > > sd0_wp: sd0-wp { > - rockchip,pins = <RK_GPIO3 9 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PB1 1 &pcfg_pull_none>; > }; > > sd0_pwr: sd0-pwr { > - rockchip,pins = <RK_GPIO3 1 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PA1 1 &pcfg_pull_none>; > }; > > sd0_bus1: sd0-bus-width1 { > - rockchip,pins = <RK_GPIO3 4 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PA4 1 &pcfg_pull_none>; > }; > > sd0_bus4: sd0-bus-width4 { > - rockchip,pins = <RK_GPIO3 4 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO3 5 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO3 6 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO3 7 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PA4 1 &pcfg_pull_none>, > + <3 RK_PA5 1 &pcfg_pull_none>, > + <3 RK_PA6 1 &pcfg_pull_none>, > + <3 RK_PA7 1 &pcfg_pull_none>; > }; > }; > > sd1 { > sd1_clk: sd1-clk { > - rockchip,pins = <RK_GPIO3 21 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PC5 1 &pcfg_pull_none>; > }; > > sd1_cmd: sd1-cmd { > - rockchip,pins = <RK_GPIO3 16 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PC0 1 &pcfg_pull_none>; > }; > > sd1_cd: sd1-cd { > - rockchip,pins = <RK_GPIO3 22 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PC6 1 &pcfg_pull_none>; > }; > > sd1_wp: sd1-wp { > - rockchip,pins = <RK_GPIO3 23 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PC7 1 &pcfg_pull_none>; > }; > > sd1_bus1: sd1-bus-width1 { > - rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PC1 1 &pcfg_pull_none>; > }; > > sd1_bus4: sd1-bus-width4 { > - rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO3 18 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO3 19 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <3 RK_PC1 1 &pcfg_pull_none>, > + <3 RK_PC2 1 &pcfg_pull_none>, > + <3 RK_PC3 1 &pcfg_pull_none>, > + <3 RK_PC4 1 &pcfg_pull_none>; > }; > }; > > i2s0 { > i2s0_bus: i2s0-bus { > - rockchip,pins = <RK_GPIO1 16 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO1 17 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO1 18 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO1 19 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO1 20 RK_FUNC_1 &pcfg_pull_none>, > - <RK_GPIO1 21 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>, > + <1 RK_PC1 1 &pcfg_pull_none>, > + <1 RK_PC2 1 &pcfg_pull_none>, > + <1 RK_PC3 1 &pcfg_pull_none>, > + <1 RK_PC4 1 &pcfg_pull_none>, > + <1 RK_PC5 1 &pcfg_pull_none>; > }; > }; > > spdif { > spdif_tx: spdif-tx { > - rockchip,pins = <RK_GPIO1 14 RK_FUNC_1 &pcfg_pull_none>; > + rockchip,pins = <1 RK_PB6 1 &pcfg_pull_none>; > }; > }; > }; > @@ -499,15 +606,65 @@ > }; > > &global_timer { > - interrupts = <GIC_PPI 11 0xf04>; > + interrupts = <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; > + status = "disabled"; > }; > > -&grf { > - compatible = "rockchip,rk3188-grf", "syscon"; > +&local_timer { > + interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_EDGE_RISING)>; > }; > > -&local_timer { > - interrupts = <GIC_PPI 13 0xf04>; > +&gpu { > + compatible = "rockchip,rk3188-mali", "arm,mali-400"; > + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-names = "gp", > + "gpmmu", > + "pp0", > + "ppmmu0", > + "pp1", > + "ppmmu1", > + "pp2", > + "ppmmu2", > + "pp3", > + "ppmmu3"; > + power-domains = <&power RK3188_PD_GPU>; > +}; > + > +&grf { > + compatible = "rockchip,rk3188-grf", "syscon", "simple-mfd"; > + > + usbphy: usbphy { > + compatible = "rockchip,rk3188-usb-phy", > + "rockchip,rk3288-usb-phy"; > + #address-cells = <1>; > + #size-cells = <0>; > + status = "disabled"; > + > + usbphy0: usb-phy@10c { > + reg = <0x10c>; > + clocks = <&cru SCLK_OTGPHY0>; > + clock-names = "phyclk"; > + #clock-cells = <0>; > + #phy-cells = <0>; > + }; > + > + usbphy1: usb-phy@11c { > + reg = <0x11c>; > + clocks = <&cru SCLK_OTGPHY1>; > + clock-names = "phyclk"; > + #clock-cells = <0>; > + #phy-cells = <0>; > + }; > + }; > }; > > &i2c0 { > @@ -541,7 +698,52 @@ > }; > > &pmu { > - compatible = "rockchip,rk3188-pmu", "syscon"; > + power: power-controller { > + compatible = "rockchip,rk3188-power-controller"; > + #power-domain-cells = <1>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + power-domain@RK3188_PD_VIO { > + reg = <RK3188_PD_VIO>; > + clocks = <&cru ACLK_LCDC0>, > + <&cru ACLK_LCDC1>, > + <&cru DCLK_LCDC0>, > + <&cru DCLK_LCDC1>, > + <&cru HCLK_LCDC0>, > + <&cru HCLK_LCDC1>, > + <&cru SCLK_CIF0>, > + <&cru ACLK_CIF0>, > + <&cru HCLK_CIF0>, > + <&cru ACLK_IPP>, > + <&cru HCLK_IPP>, > + <&cru ACLK_RGA>, > + <&cru HCLK_RGA>; > + pm_qos = <&qos_lcdc0>, > + <&qos_lcdc1>, > + <&qos_cif0>, > + <&qos_ipp>, > + <&qos_rga>; > + #power-domain-cells = <0>; > + }; > + > + power-domain@RK3188_PD_VIDEO { > + reg = <RK3188_PD_VIDEO>; > + clocks = <&cru ACLK_VDPU>, > + <&cru ACLK_VEPU>, > + <&cru HCLK_VDPU>, > + <&cru HCLK_VEPU>; > + pm_qos = <&qos_vpu>; > + #power-domain-cells = <0>; > + }; > + > + power-domain@RK3188_PD_GPU { > + reg = <RK3188_PD_GPU>; > + clocks = <&cru ACLK_GPU>; > + pm_qos = <&qos_gpu>; > + #power-domain-cells = <0>; > + }; > + }; > }; > > &pwm0 { > @@ -600,6 +802,11 @@ > pinctrl-0 = <&uart3_xfer>; > }; > > +&vpu { > + compatible = "rockchip,rk3188-vpu", "rockchip,rk3066-vpu"; > + power-domains = <&power RK3188_PD_VIDEO>; > +}; > + > &wdt { > compatible = "rockchip,rk3188-wdt", "snps,dw-wdt"; > }; > -- > 2.11.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 5/5] ARM: dts: rockchip: update rk3188-radxarock.dts 2021-06-25 13:26 [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux Johan Jonker ` (2 preceding siblings ...) 2021-06-25 13:26 ` [PATCH v2 4/5] ARM: dts: rockchip: update rk3188.dtsi Johan Jonker @ 2021-06-25 13:26 ` Johan Jonker 2021-08-11 9:50 ` Kever Yang 2021-08-11 9:48 ` [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux Kever Yang 4 siblings, 1 reply; 11+ messages in thread From: Johan Jonker @ 2021-06-25 13:26 UTC (permalink / raw) To: kever.yang; +Cc: sjg, philipp.tomsich, heiko, paweljarosz3691, u-boot In the Linux DT the file rk3xxx.dtsi is shared between rk3066 and rk3188. Both rk3xxx.dtsi and rk3188.dtsi have recently had some updates. For a future rk3066 support in U-boot this file must also update. Move U-boot specific things in a rk3188-radxarock-u-boot.dtsi file. Signed-off-by: Johan Jonker <jbx6244@gmail.com> --- arch/arm/dts/rk3188-radxarock-u-boot.dtsi | 38 ++++++++++--- arch/arm/dts/rk3188-radxarock.dts | 88 +++++++++++++++---------------- 2 files changed, 73 insertions(+), 53 deletions(-) diff --git a/arch/arm/dts/rk3188-radxarock-u-boot.dtsi b/arch/arm/dts/rk3188-radxarock-u-boot.dtsi index 204bb3a90e..9c9016de1b 100644 --- a/arch/arm/dts/rk3188-radxarock-u-boot.dtsi +++ b/arch/arm/dts/rk3188-radxarock-u-boot.dtsi @@ -5,36 +5,58 @@ #include "rk3188-u-boot.dtsi" +/ { + chosen { +/* stdout-path = &uart2; */ + stdout-path = "serial2:115200n8"; + }; + + config { + u-boot,boot-led = "rock:red:power"; + u-boot,dm-pre-reloc; + }; +}; + &cru { u-boot,dm-spl; }; -&pinctrl { - u-boot,dm-spl; +&dmc { + rockchip,pctl-timing = <0x12c 0xc8 0x1f4 0x1e 0x4e 0x4 0x69 0x6 + 0x3 0x0 0x6 0x5 0xc 0x10 0x6 0x4 + 0x4 0x5 0x4 0x200 0x3 0xa 0x40 0x0 + 0x1 0x5 0x5 0x3 0xc 0x1e 0x100 0x0 + 0x4 0x0>; + rockchip,phy-timing = <0x208c6690 0x690878 0x10022a00 + 0x220 0x40 0x0 0x0>; + rockchip,sdram-params = <0x24716310 0 2 300000000 3 9 0>; }; -&mmc0 { +&emmc { fifo-mode; max-frequency = <16000000>; }; -&mmc1 { +&mmc0 { fifo-mode; max-frequency = <16000000>; }; -&emmc { +&mmc1 { fifo-mode; max-frequency = <16000000>; }; -&uart2 { - status = "okay"; +&pinctrl { u-boot,dm-spl; }; &timer3 { compatible = "rockchip,rk3368-timer", "rockchip,rk3288-timer"; - u-boot,dm-spl; clock-frequency = <24000000>; + u-boot,dm-spl; +}; + +&uart2 { + u-boot,dm-spl; }; diff --git a/arch/arm/dts/rk3188-radxarock.dts b/arch/arm/dts/rk3188-radxarock.dts index 10527a052d..e7138a4ae0 100644 --- a/arch/arm/dts/rk3188-radxarock.dts +++ b/arch/arm/dts/rk3188-radxarock.dts @@ -1,4 +1,4 @@ -// SPDX-License-Identifier: GPL-2.0+ OR X11 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de> */ @@ -16,17 +16,7 @@ mmc0 = &mmc0; }; - chosen { -/* stdout-path = &uart2; */ - stdout-path = "serial2:115200n8"; - }; - - config { - u-boot,dm-pre-reloc; - u-boot,boot-led = "rock:red:power"; - }; - - memory { + memory@60000000 { device_type = "memory"; reg = <0x60000000 0x80000000>; }; @@ -36,7 +26,7 @@ autorepeat; power { - gpios = <&gpio0 4 GPIO_ACTIVE_LOW>; + gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; linux,code = <KEY_POWER>; label = "GPIO Key Power"; linux,input-type = <1>; @@ -48,21 +38,21 @@ gpio-leds { compatible = "gpio-leds"; - green { + green_led: led-0 { label = "rock:green:user1"; - gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; + gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_LOW>; default-state = "off"; }; - blue { + blue_led: led-1 { label = "rock:blue:user2"; - gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; + gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; default-state = "off"; }; - sleep { + sleep_led: led-2 { label = "rock:red:power"; - gpios = <&gpio0 15 0>; + gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; default-state = "off"; }; }; @@ -84,7 +74,7 @@ ir_recv: gpio-ir-receiver { compatible = "gpio-ir-receiver"; - gpios = <&gpio0 10 1>; + gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&ir_recv_pin>; }; @@ -92,7 +82,7 @@ vcc_otg: usb-otg-regulator { compatible = "regulator-fixed"; enable-active-high; - gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>; + gpio = <&gpio2 RK_PD7 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&otg_vbus_drv>; regulator-name = "otg-vbus"; @@ -107,7 +97,7 @@ regulator-name = "sdmmc-supply"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - gpio = <&gpio3 1 GPIO_ACTIVE_LOW>; + gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_pwr>; startup-delay-us = <100000>; @@ -117,7 +107,7 @@ vcc_host: usb-host-regulator { compatible = "regulator-fixed"; enable-active-high; - gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>; + gpio = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&host_vbus_drv>; regulator-name = "host-pwr"; @@ -136,17 +126,6 @@ }; }; -&dmc { - rockchip,pctl-timing = <0x12c 0xc8 0x1f4 0x1e 0x4e 0x4 0x69 0x6 - 0x3 0x0 0x6 0x5 0xc 0x10 0x6 0x4 - 0x4 0x5 0x4 0x200 0x3 0xa 0x40 0x0 - 0x1 0x5 0x5 0x3 0xc 0x1e 0x100 0x0 - 0x4 0x0>; - rockchip,phy-timing = <0x208c6690 0x690878 0x10022a00 - 0x220 0x40 0x0 0x0>; - rockchip,sdram-params = <0x24716310 0 2 300000000 3 9 0>; -}; - &emac { status = "okay"; @@ -159,12 +138,28 @@ phy0: ethernet-phy@0 { reg = <0>; interrupt-parent = <&gpio3>; - interrupts = <26 IRQ_TYPE_LEVEL_LOW>; + interrupts = <RK_PD2 IRQ_TYPE_LEVEL_LOW>; }; }; &cpu0 { - cpu0-supply = <&vdd_arm>; + cpu-supply = <&vdd_arm>; +}; + +&cpu1 { + cpu-supply = <&vdd_arm>; +}; + +&cpu2 { + cpu-supply = <&vdd_arm>; +}; + +&cpu3 { + cpu-supply = <&vdd_arm>; +}; + +&gpu { + status = "okay"; }; &i2c1 { @@ -175,7 +170,7 @@ compatible = "haoyu,hym8563"; reg = <0x51>; interrupt-parent = <&gpio0>; - interrupts = <13 IRQ_TYPE_EDGE_FALLING>; + interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>; pinctrl-names = "default"; pinctrl-0 = <&rtc_int>; #clock-cells = <0>; @@ -287,7 +282,6 @@ }; &mmc0 { - num-slots = <1>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; @@ -318,40 +312,40 @@ act8846 { act8846_dvs0_ctl: act8846-dvs0-ctl { - rockchip,pins = <RK_GPIO3 27 RK_FUNC_GPIO &pcfg_output_low>; + rockchip,pins = <3 RK_PD3 RK_FUNC_GPIO &pcfg_output_low>; }; }; hym8563 { rtc_int: rtc-int { - rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>; + rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; }; }; lan8720a { phy_int: phy-int { - rockchip,pins = <RK_GPIO3 26 RK_FUNC_GPIO &pcfg_pull_up>; + rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>; }; }; ir-receiver { ir_recv_pin: ir-recv-pin { - rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>; + rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; }; }; sd0 { sdmmc_pwr: sdmmc-pwr { - rockchip,pins = <RK_GPIO3 1 RK_FUNC_GPIO &pcfg_pull_none>; + rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; }; }; usb { host_vbus_drv: host-vbus-drv { - rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>; + rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; }; otg_vbus_drv: otg-vbus-drv { - rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>; + rockchip,pins = <2 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>; }; }; }; @@ -368,6 +362,10 @@ status = "okay"; }; +&uart2 { + status = "okay"; +}; + &uart3 { status = "okay"; }; -- 2.11.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 5/5] ARM: dts: rockchip: update rk3188-radxarock.dts 2021-06-25 13:26 ` [PATCH v2 5/5] ARM: dts: rockchip: update rk3188-radxarock.dts Johan Jonker @ 2021-08-11 9:50 ` Kever Yang 0 siblings, 0 replies; 11+ messages in thread From: Kever Yang @ 2021-08-11 9:50 UTC (permalink / raw) To: Johan Jonker Cc: Kever Yang, Simon Glass, philipp.tomsich, Heiko Stuebner, Paweł Jarosz, U-Boot-Denx Johan Jonker <jbx6244@gmail.com> 于2021年6月25日周五 下午9:31写道: > > In the Linux DT the file rk3xxx.dtsi is shared between > rk3066 and rk3188. Both rk3xxx.dtsi and rk3188.dtsi have recently > had some updates. > For a future rk3066 support in U-boot this file must also update. > Move U-boot specific things in a rk3188-radxarock-u-boot.dtsi file. > > Signed-off-by: Johan Jonker <jbx6244@gmail.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > arch/arm/dts/rk3188-radxarock-u-boot.dtsi | 38 ++++++++++--- > arch/arm/dts/rk3188-radxarock.dts | 88 +++++++++++++++---------------- > 2 files changed, 73 insertions(+), 53 deletions(-) > > diff --git a/arch/arm/dts/rk3188-radxarock-u-boot.dtsi b/arch/arm/dts/rk3188-radxarock-u-boot.dtsi > index 204bb3a90e..9c9016de1b 100644 > --- a/arch/arm/dts/rk3188-radxarock-u-boot.dtsi > +++ b/arch/arm/dts/rk3188-radxarock-u-boot.dtsi > @@ -5,36 +5,58 @@ > > #include "rk3188-u-boot.dtsi" > > +/ { > + chosen { > +/* stdout-path = &uart2; */ > + stdout-path = "serial2:115200n8"; > + }; > + > + config { > + u-boot,boot-led = "rock:red:power"; > + u-boot,dm-pre-reloc; > + }; > +}; > + > &cru { > u-boot,dm-spl; > }; > > -&pinctrl { > - u-boot,dm-spl; > +&dmc { > + rockchip,pctl-timing = <0x12c 0xc8 0x1f4 0x1e 0x4e 0x4 0x69 0x6 > + 0x3 0x0 0x6 0x5 0xc 0x10 0x6 0x4 > + 0x4 0x5 0x4 0x200 0x3 0xa 0x40 0x0 > + 0x1 0x5 0x5 0x3 0xc 0x1e 0x100 0x0 > + 0x4 0x0>; > + rockchip,phy-timing = <0x208c6690 0x690878 0x10022a00 > + 0x220 0x40 0x0 0x0>; > + rockchip,sdram-params = <0x24716310 0 2 300000000 3 9 0>; > }; > > -&mmc0 { > +&emmc { > fifo-mode; > max-frequency = <16000000>; > }; > > -&mmc1 { > +&mmc0 { > fifo-mode; > max-frequency = <16000000>; > }; > > -&emmc { > +&mmc1 { > fifo-mode; > max-frequency = <16000000>; > }; > > -&uart2 { > - status = "okay"; > +&pinctrl { > u-boot,dm-spl; > }; > > &timer3 { > compatible = "rockchip,rk3368-timer", "rockchip,rk3288-timer"; > - u-boot,dm-spl; > clock-frequency = <24000000>; > + u-boot,dm-spl; > +}; > + > +&uart2 { > + u-boot,dm-spl; > }; > diff --git a/arch/arm/dts/rk3188-radxarock.dts b/arch/arm/dts/rk3188-radxarock.dts > index 10527a052d..e7138a4ae0 100644 > --- a/arch/arm/dts/rk3188-radxarock.dts > +++ b/arch/arm/dts/rk3188-radxarock.dts > @@ -1,4 +1,4 @@ > -// SPDX-License-Identifier: GPL-2.0+ OR X11 > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > /* > * Copyright (c) 2013 Heiko Stuebner <heiko@sntech.de> > */ > @@ -16,17 +16,7 @@ > mmc0 = &mmc0; > }; > > - chosen { > -/* stdout-path = &uart2; */ > - stdout-path = "serial2:115200n8"; > - }; > - > - config { > - u-boot,dm-pre-reloc; > - u-boot,boot-led = "rock:red:power"; > - }; > - > - memory { > + memory@60000000 { > device_type = "memory"; > reg = <0x60000000 0x80000000>; > }; > @@ -36,7 +26,7 @@ > autorepeat; > > power { > - gpios = <&gpio0 4 GPIO_ACTIVE_LOW>; > + gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>; > linux,code = <KEY_POWER>; > label = "GPIO Key Power"; > linux,input-type = <1>; > @@ -48,21 +38,21 @@ > gpio-leds { > compatible = "gpio-leds"; > > - green { > + green_led: led-0 { > label = "rock:green:user1"; > - gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; > + gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_LOW>; > default-state = "off"; > }; > > - blue { > + blue_led: led-1 { > label = "rock:blue:user2"; > - gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; > + gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; > default-state = "off"; > }; > > - sleep { > + sleep_led: led-2 { > label = "rock:red:power"; > - gpios = <&gpio0 15 0>; > + gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>; > default-state = "off"; > }; > }; > @@ -84,7 +74,7 @@ > > ir_recv: gpio-ir-receiver { > compatible = "gpio-ir-receiver"; > - gpios = <&gpio0 10 1>; > + gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; > pinctrl-names = "default"; > pinctrl-0 = <&ir_recv_pin>; > }; > @@ -92,7 +82,7 @@ > vcc_otg: usb-otg-regulator { > compatible = "regulator-fixed"; > enable-active-high; > - gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>; > + gpio = <&gpio2 RK_PD7 GPIO_ACTIVE_HIGH>; > pinctrl-names = "default"; > pinctrl-0 = <&otg_vbus_drv>; > regulator-name = "otg-vbus"; > @@ -107,7 +97,7 @@ > regulator-name = "sdmmc-supply"; > regulator-min-microvolt = <3300000>; > regulator-max-microvolt = <3300000>; > - gpio = <&gpio3 1 GPIO_ACTIVE_LOW>; > + gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; > pinctrl-names = "default"; > pinctrl-0 = <&sdmmc_pwr>; > startup-delay-us = <100000>; > @@ -117,7 +107,7 @@ > vcc_host: usb-host-regulator { > compatible = "regulator-fixed"; > enable-active-high; > - gpio = <&gpio0 3 GPIO_ACTIVE_HIGH>; > + gpio = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>; > pinctrl-names = "default"; > pinctrl-0 = <&host_vbus_drv>; > regulator-name = "host-pwr"; > @@ -136,17 +126,6 @@ > }; > }; > > -&dmc { > - rockchip,pctl-timing = <0x12c 0xc8 0x1f4 0x1e 0x4e 0x4 0x69 0x6 > - 0x3 0x0 0x6 0x5 0xc 0x10 0x6 0x4 > - 0x4 0x5 0x4 0x200 0x3 0xa 0x40 0x0 > - 0x1 0x5 0x5 0x3 0xc 0x1e 0x100 0x0 > - 0x4 0x0>; > - rockchip,phy-timing = <0x208c6690 0x690878 0x10022a00 > - 0x220 0x40 0x0 0x0>; > - rockchip,sdram-params = <0x24716310 0 2 300000000 3 9 0>; > -}; > - > &emac { > status = "okay"; > > @@ -159,12 +138,28 @@ > phy0: ethernet-phy@0 { > reg = <0>; > interrupt-parent = <&gpio3>; > - interrupts = <26 IRQ_TYPE_LEVEL_LOW>; > + interrupts = <RK_PD2 IRQ_TYPE_LEVEL_LOW>; > }; > }; > > &cpu0 { > - cpu0-supply = <&vdd_arm>; > + cpu-supply = <&vdd_arm>; > +}; > + > +&cpu1 { > + cpu-supply = <&vdd_arm>; > +}; > + > +&cpu2 { > + cpu-supply = <&vdd_arm>; > +}; > + > +&cpu3 { > + cpu-supply = <&vdd_arm>; > +}; > + > +&gpu { > + status = "okay"; > }; > > &i2c1 { > @@ -175,7 +170,7 @@ > compatible = "haoyu,hym8563"; > reg = <0x51>; > interrupt-parent = <&gpio0>; > - interrupts = <13 IRQ_TYPE_EDGE_FALLING>; > + interrupts = <RK_PB5 IRQ_TYPE_EDGE_FALLING>; > pinctrl-names = "default"; > pinctrl-0 = <&rtc_int>; > #clock-cells = <0>; > @@ -287,7 +282,6 @@ > }; > > &mmc0 { > - num-slots = <1>; > status = "okay"; > pinctrl-names = "default"; > pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_cd>, <&sd0_bus4>; > @@ -318,40 +312,40 @@ > > act8846 { > act8846_dvs0_ctl: act8846-dvs0-ctl { > - rockchip,pins = <RK_GPIO3 27 RK_FUNC_GPIO &pcfg_output_low>; > + rockchip,pins = <3 RK_PD3 RK_FUNC_GPIO &pcfg_output_low>; > }; > }; > > hym8563 { > rtc_int: rtc-int { > - rockchip,pins = <RK_GPIO0 0 RK_FUNC_GPIO &pcfg_pull_up>; > + rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; > }; > }; > > lan8720a { > phy_int: phy-int { > - rockchip,pins = <RK_GPIO3 26 RK_FUNC_GPIO &pcfg_pull_up>; > + rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>; > }; > }; > > ir-receiver { > ir_recv_pin: ir-recv-pin { > - rockchip,pins = <RK_GPIO0 10 RK_FUNC_GPIO &pcfg_pull_none>; > + rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; > }; > }; > > sd0 { > sdmmc_pwr: sdmmc-pwr { > - rockchip,pins = <RK_GPIO3 1 RK_FUNC_GPIO &pcfg_pull_none>; > + rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; > }; > }; > > usb { > host_vbus_drv: host-vbus-drv { > - rockchip,pins = <0 3 RK_FUNC_GPIO &pcfg_pull_none>; > + rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; > }; > otg_vbus_drv: otg-vbus-drv { > - rockchip,pins = <2 31 RK_FUNC_GPIO &pcfg_pull_none>; > + rockchip,pins = <2 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>; > }; > }; > }; > @@ -368,6 +362,10 @@ > status = "okay"; > }; > > +&uart2 { > + status = "okay"; > +}; > + > &uart3 { > status = "okay"; > }; > -- > 2.11.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux 2021-06-25 13:26 [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux Johan Jonker ` (3 preceding siblings ...) 2021-06-25 13:26 ` [PATCH v2 5/5] ARM: dts: rockchip: update rk3188-radxarock.dts Johan Jonker @ 2021-08-11 9:48 ` Kever Yang 4 siblings, 0 replies; 11+ messages in thread From: Kever Yang @ 2021-08-11 9:48 UTC (permalink / raw) To: Johan Jonker Cc: Kever Yang, Simon Glass, philipp.tomsich, Heiko Stuebner, Paweł Jarosz, U-Boot-Denx Johan Jonker <jbx6244@gmail.com> 于2021年6月25日周五 下午9:30写道: > > In order to update the DT for rk3066 and rk3188 > sync the clock dt-binding header. > This is the state as of v5.12 in Linux. > > Signed-off-by: Johan Jonker <jbx6244@gmail.com> > Reviewed-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > include/dt-bindings/clock/rk3188-cru-common.h | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/include/dt-bindings/clock/rk3188-cru-common.h b/include/dt-bindings/clock/rk3188-cru-common.h > index 1e7931da0c..afad90680f 100644 > --- a/include/dt-bindings/clock/rk3188-cru-common.h > +++ b/include/dt-bindings/clock/rk3188-cru-common.h > @@ -1,4 +1,4 @@ > -/* SPDX-License-Identifier: GPL-2.0+ */ > +/* SPDX-License-Identifier: GPL-2.0-or-later */ > /* > * Copyright (c) 2014 MundoReader S.L. > * Author: Heiko Stuebner <heiko@sntech.de> > @@ -59,12 +59,14 @@ > #define ACLK_LCDC1 196 > #define ACLK_GPU 197 > #define ACLK_SMC 198 > -#define ACLK_CIF 199 > +#define ACLK_CIF1 199 > #define ACLK_IPP 200 > #define ACLK_RGA 201 > #define ACLK_CIF0 202 > #define ACLK_CPU 203 > #define ACLK_PERI 204 > +#define ACLK_VEPU 205 > +#define ACLK_VDPU 206 > > /* pclk gates */ > #define PCLK_GRF 320 > @@ -125,8 +127,12 @@ > #define HCLK_NANDC0 467 > #define HCLK_CPU 468 > #define HCLK_PERI 469 > +#define HCLK_CIF1 470 > +#define HCLK_VEPU 471 > +#define HCLK_VDPU 472 > +#define HCLK_HDMI 473 > > -#define CLK_NR_CLKS (HCLK_PERI + 1) > +#define CLK_NR_CLKS (HCLK_HDMI + 1) > > /* soft-reset indices */ > #define SRST_MCORE 2 > -- > 2.11.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-11-04 11:36 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-06-25 13:26 [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux Johan Jonker 2021-06-25 13:26 ` [PATCH v2 2/5] ARM: dts: rockchip: update rk3xxx.dtsi Johan Jonker 2021-08-11 9:50 ` Kever Yang 2021-11-04 11:27 ` Alex Bee 2021-06-25 13:26 ` [PATCH v2 3/5] rockchip: rk3188-power: sync power domain dt-binding header from Linux Johan Jonker 2021-08-11 9:51 ` Kever Yang 2021-06-25 13:26 ` [PATCH v2 4/5] ARM: dts: rockchip: update rk3188.dtsi Johan Jonker 2021-08-11 9:50 ` Kever Yang 2021-06-25 13:26 ` [PATCH v2 5/5] ARM: dts: rockchip: update rk3188-radxarock.dts Johan Jonker 2021-08-11 9:50 ` Kever Yang 2021-08-11 9:48 ` [PATCH v2 1/5] rockchip: rk3188-cru-common: sync clock dt-binding header from Linux Kever Yang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox