New boards: Radxa Rock Pi E, NanoPi M4B
More fixed indices for mmc nodes; removal of obsolete amba bus nodes; nand-flash-controller nodes for px30 and rk3308; rk3399 pcie ranges fix; board-level fixes for Helios64, NanoPi and Rock960; more sound support for rock64 and rockpro64 and cleanups to make dt-bindings happier. -----BEGIN PGP SIGNATURE----- iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmAd2RcQHGhlaWtvQHNu dGVjaC5kZQAKCRDzpnnJnNEdge1kCAC0ospmQfbTke3+mJ+P2pTNakz6l30CDbzm EDNsE2t9g4PrMt4FgsdT1kPa3J5lFLvzNvPSIbIIMT4a5D/8DDyGY9WwJTu+a5EC YNcU5gcU2ugxCcFhy2FXHxYVe1MAsczF5jyiMcE+ONsCX0s18k1zzK22K/Xfd71g sv6G8NcuzcF5GxFbAPZu73laMGOEq6INLBKTvumB3GgrvEZOOstalKNwJPRuanZd HydXJf8H9zXmxk096brRl7LmksPi/zh6Tykhb53//jsf0Dffh9fd7fNnKkSe91nU M5yzALy9ln4saFu6TgNIVOPh3fbQcyfU9ItvhtgeDy/QDvnmOjQm =sbHZ -----END PGP SIGNATURE----- Merge tag 'v5.12-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/dt New boards: Radxa Rock Pi E, NanoPi M4B More fixed indices for mmc nodes; removal of obsolete amba bus nodes; nand-flash-controller nodes for px30 and rk3308; rk3399 pcie ranges fix; board-level fixes for Helios64, NanoPi and Rock960; more sound support for rock64 and rockpro64 and cleanups to make dt-bindings happier. * tag 'v5.12-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (24 commits) arm64: dts: rockchip: more user friendly name of sound nodes arm64: dts: rockchip: rename pinctrl nodename to gmac2io for nanopi-r2s board arm64: dts: rockchip: assign a fixed index to mmc devices on rk3368 boards arm64: dts: rockchip: assign a fixed index to mmc devices on rk3308 boards arm64: dts: rockchip: assign a fixed index to mmc devices on px30 boards arm64: dts: rockchip: cleanup cpu_thermal node of rk3399-rock960.dts arm64: dts: rockchip: Remove bogus "amba" bus nodes arm64: dts: rockchip: Light "sys" LED on NanoPi R2S arm64: dts: rockchip: fix ranges property format for rk3399 pcie node arm64: dts: rockchip: Rely on SoC external pull up on pmic-int-l on Helios64 arm64: dts: rockchip: Add NanoPi M4B board arm64: dts: rockchip: Move ep-gpios property to nanopc-t4 from nanopi4 arm64: dts: rockchip: Add NFC node for PX30 SoC arm64: dts: rockchip: Add NFC node for RK3308 SoC arm64: dts: rockchip: rk3328: Add Radxa ROCK Pi E dt-bindings: arm: rockchip: Add Radxa ROCK Pi E arm64: dts: rockchip: rk3328: Add clock_in_out property to gmac2phy node arm64: dts: rockchip: rename thermal subnodes for rk3399 arm64: dts: rockchip: rename thermal subnodes for rk3368 arm64: dts: rockchip: add SPDIF node for rk3399-rockpro64 ... Link: https://lore.kernel.org/r/12699743.uLZWGnKmhe@phil Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Коммит
889231c6c8
|
@ -467,6 +467,11 @@ properties:
|
||||||
- const: radxa,rockpi4
|
- const: radxa,rockpi4
|
||||||
- const: rockchip,rk3399
|
- const: rockchip,rk3399
|
||||||
|
|
||||||
|
- description: Radxa ROCK Pi E
|
||||||
|
items:
|
||||||
|
- const: radxa,rockpi-e
|
||||||
|
- const: rockchip,rk3328
|
||||||
|
|
||||||
- description: Radxa ROCK Pi N8
|
- description: Radxa ROCK Pi N8
|
||||||
items:
|
items:
|
||||||
- const: radxa,rockpi-n8
|
- const: radxa,rockpi-n8
|
||||||
|
|
|
@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2s.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock-pi-e.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-roc-cc.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
|
||||||
|
@ -33,6 +34,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-kobol-helios64.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-leez-p710.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-leez-p710.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopc-t4.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4.dtb
|
||||||
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-m4b.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-nanopi-neo4.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-orangepi.dtb
|
||||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-pinebook-pro.dtb
|
||||||
|
|
|
@ -25,6 +25,9 @@
|
||||||
i2c1 = &i2c1;
|
i2c1 = &i2c1;
|
||||||
i2c2 = &i2c2;
|
i2c2 = &i2c2;
|
||||||
i2c3 = &i2c3;
|
i2c3 = &i2c3;
|
||||||
|
mmc0 = &sdmmc;
|
||||||
|
mmc1 = &sdio;
|
||||||
|
mmc2 = &emmc;
|
||||||
serial0 = &uart0;
|
serial0 = &uart0;
|
||||||
serial1 = &uart1;
|
serial1 = &uart1;
|
||||||
serial2 = &uart2;
|
serial2 = &uart2;
|
||||||
|
@ -703,22 +706,15 @@
|
||||||
clock-names = "pclk", "timer";
|
clock-names = "pclk", "timer";
|
||||||
};
|
};
|
||||||
|
|
||||||
amba: bus {
|
dmac: dmac@ff240000 {
|
||||||
compatible = "simple-bus";
|
compatible = "arm,pl330", "arm,primecell";
|
||||||
#address-cells = <2>;
|
reg = <0x0 0xff240000 0x0 0x4000>;
|
||||||
#size-cells = <2>;
|
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
ranges;
|
<GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
arm,pl330-periph-burst;
|
||||||
dmac: dmac@ff240000 {
|
clocks = <&cru ACLK_DMAC>;
|
||||||
compatible = "arm,pl330", "arm,primecell";
|
clock-names = "apb_pclk";
|
||||||
reg = <0x0 0xff240000 0x0 0x4000>;
|
#dma-cells = <1>;
|
||||||
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
|
|
||||||
<GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
arm,pl330-periph-burst;
|
|
||||||
clocks = <&cru ACLK_DMAC>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
#dma-cells = <1>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
tsadc: tsadc@ff280000 {
|
tsadc: tsadc@ff280000 {
|
||||||
|
@ -973,6 +969,21 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nfc: nand-controller@ff3b0000 {
|
||||||
|
compatible = "rockchip,px30-nfc";
|
||||||
|
reg = <0x0 0xff3b0000 0x0 0x4000>;
|
||||||
|
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cru HCLK_NANDC>, <&cru SCLK_NANDC>;
|
||||||
|
clock-names = "ahb", "nfc";
|
||||||
|
assigned-clocks = <&cru SCLK_NANDC>;
|
||||||
|
assigned-clock-rates = <150000000>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&flash_ale &flash_bus8 &flash_cle &flash_cs0
|
||||||
|
&flash_rdn &flash_rdy &flash_wrn &flash_dqs>;
|
||||||
|
power-domains = <&power PX30_PD_MMC_NAND>;
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
gpu: gpu@ff400000 {
|
gpu: gpu@ff400000 {
|
||||||
compatible = "rockchip,px30-mali", "arm,mali-bifrost";
|
compatible = "rockchip,px30-mali", "arm,mali-bifrost";
|
||||||
reg = <0x0 0xff400000 0x0 0x4000>;
|
reg = <0x0 0xff400000 0x0 0x4000>;
|
||||||
|
@ -1107,102 +1118,102 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_gmac: qos@ff518000 {
|
qos_gmac: qos@ff518000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff518000 0x0 0x20>;
|
reg = <0x0 0xff518000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_gpu: qos@ff520000 {
|
qos_gpu: qos@ff520000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff520000 0x0 0x20>;
|
reg = <0x0 0xff520000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_sdmmc: qos@ff52c000 {
|
qos_sdmmc: qos@ff52c000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff52c000 0x0 0x20>;
|
reg = <0x0 0xff52c000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_emmc: qos@ff538000 {
|
qos_emmc: qos@ff538000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff538000 0x0 0x20>;
|
reg = <0x0 0xff538000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_nand: qos@ff538080 {
|
qos_nand: qos@ff538080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff538080 0x0 0x20>;
|
reg = <0x0 0xff538080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_sdio: qos@ff538100 {
|
qos_sdio: qos@ff538100 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff538100 0x0 0x20>;
|
reg = <0x0 0xff538100 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_sfc: qos@ff538180 {
|
qos_sfc: qos@ff538180 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff538180 0x0 0x20>;
|
reg = <0x0 0xff538180 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_usb_host: qos@ff540000 {
|
qos_usb_host: qos@ff540000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff540000 0x0 0x20>;
|
reg = <0x0 0xff540000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_usb_otg: qos@ff540080 {
|
qos_usb_otg: qos@ff540080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff540080 0x0 0x20>;
|
reg = <0x0 0xff540080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_isp_128: qos@ff548000 {
|
qos_isp_128: qos@ff548000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff548000 0x0 0x20>;
|
reg = <0x0 0xff548000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_isp_rd: qos@ff548080 {
|
qos_isp_rd: qos@ff548080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff548080 0x0 0x20>;
|
reg = <0x0 0xff548080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_isp_wr: qos@ff548100 {
|
qos_isp_wr: qos@ff548100 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff548100 0x0 0x20>;
|
reg = <0x0 0xff548100 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_isp_m1: qos@ff548180 {
|
qos_isp_m1: qos@ff548180 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff548180 0x0 0x20>;
|
reg = <0x0 0xff548180 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_vip: qos@ff548200 {
|
qos_vip: qos@ff548200 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff548200 0x0 0x20>;
|
reg = <0x0 0xff548200 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_rga_rd: qos@ff550000 {
|
qos_rga_rd: qos@ff550000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff550000 0x0 0x20>;
|
reg = <0x0 0xff550000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_rga_wr: qos@ff550080 {
|
qos_rga_wr: qos@ff550080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff550080 0x0 0x20>;
|
reg = <0x0 0xff550080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_vop_m0: qos@ff550100 {
|
qos_vop_m0: qos@ff550100 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff550100 0x0 0x20>;
|
reg = <0x0 0xff550100 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_vop_m1: qos@ff550180 {
|
qos_vop_m1: qos@ff550180 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff550180 0x0 0x20>;
|
reg = <0x0 0xff550180 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_vpu: qos@ff558000 {
|
qos_vpu: qos@ff558000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff558000 0x0 0x20>;
|
reg = <0x0 0xff558000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_vpu_r128: qos@ff558080 {
|
qos_vpu_r128: qos@ff558080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,px30-qos", "syscon";
|
||||||
reg = <0x0 0xff558080 0x0 0x20>;
|
reg = <0x0 0xff558080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,9 @@
|
||||||
i2c1 = &i2c1;
|
i2c1 = &i2c1;
|
||||||
i2c2 = &i2c2;
|
i2c2 = &i2c2;
|
||||||
i2c3 = &i2c3;
|
i2c3 = &i2c3;
|
||||||
|
mmc0 = &sdmmc;
|
||||||
|
mmc1 = &emmc;
|
||||||
|
mmc2 = &sdio;
|
||||||
serial0 = &uart0;
|
serial0 = &uart0;
|
||||||
serial1 = &uart1;
|
serial1 = &uart1;
|
||||||
serial2 = &uart2;
|
serial2 = &uart2;
|
||||||
|
@ -513,33 +516,26 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
amba: bus {
|
dmac0: dma-controller@ff2c0000 {
|
||||||
compatible = "simple-bus";
|
compatible = "arm,pl330", "arm,primecell";
|
||||||
#address-cells = <2>;
|
reg = <0x0 0xff2c0000 0x0 0x4000>;
|
||||||
#size-cells = <2>;
|
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
ranges;
|
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
arm,pl330-periph-burst;
|
||||||
|
clocks = <&cru ACLK_DMAC0>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
#dma-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
dmac0: dma-controller@ff2c0000 {
|
dmac1: dma-controller@ff2d0000 {
|
||||||
compatible = "arm,pl330", "arm,primecell";
|
compatible = "arm,pl330", "arm,primecell";
|
||||||
reg = <0x0 0xff2c0000 0x0 0x4000>;
|
reg = <0x0 0xff2d0000 0x0 0x4000>;
|
||||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
arm,pl330-periph-burst;
|
arm,pl330-periph-burst;
|
||||||
clocks = <&cru ACLK_DMAC0>;
|
clocks = <&cru ACLK_DMAC1>;
|
||||||
clock-names = "apb_pclk";
|
clock-names = "apb_pclk";
|
||||||
#dma-cells = <1>;
|
#dma-cells = <1>;
|
||||||
};
|
|
||||||
|
|
||||||
dmac1: dma-controller@ff2d0000 {
|
|
||||||
compatible = "arm,pl330", "arm,primecell";
|
|
||||||
reg = <0x0 0xff2d0000 0x0 0x4000>;
|
|
||||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
|
|
||||||
<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
arm,pl330-periph-burst;
|
|
||||||
clocks = <&cru ACLK_DMAC1>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
#dma-cells = <1>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
i2s_2ch_0: i2s@ff350000 {
|
i2s_2ch_0: i2s@ff350000 {
|
||||||
|
@ -629,6 +625,21 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nfc: nand-controller@ff4b0000 {
|
||||||
|
compatible = "rockchip,rk3308-nfc",
|
||||||
|
"rockchip,rv1108-nfc";
|
||||||
|
reg = <0x0 0xff4b0000 0x0 0x4000>;
|
||||||
|
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&cru HCLK_NANDC>, <&cru SCLK_NANDC>;
|
||||||
|
clock-names = "ahb", "nfc";
|
||||||
|
assigned-clocks = <&cru SCLK_NANDC>;
|
||||||
|
assigned-clock-rates = <150000000>;
|
||||||
|
pinctrl-0 = <&flash_ale &flash_bus8 &flash_cle &flash_csn0
|
||||||
|
&flash_rdn &flash_rdy &flash_wrn>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
cru: clock-controller@ff500000 {
|
cru: clock-controller@ff500000 {
|
||||||
compatible = "rockchip,rk3308-cru";
|
compatible = "rockchip,rk3308-cru";
|
||||||
reg = <0x0 0xff500000 0x0 0x1000>;
|
reg = <0x0 0xff500000 0x0 0x1000>;
|
||||||
|
|
|
@ -50,6 +50,7 @@
|
||||||
sys_led: led-1 {
|
sys_led: led-1 {
|
||||||
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
|
gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||||
label = "nanopi-r2s:red:sys";
|
label = "nanopi-r2s:red:sys";
|
||||||
|
default-state = "on";
|
||||||
};
|
};
|
||||||
|
|
||||||
wan_led: led-2 {
|
wan_led: led-2 {
|
||||||
|
@ -280,7 +281,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
ethernet-phy {
|
gmac2io {
|
||||||
eth_phy_reset_pin: eth-phy-reset-pin {
|
eth_phy_reset_pin: eth-phy-reset-pin {
|
||||||
rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
|
rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,382 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||||
|
/*
|
||||||
|
* (C) Copyright 2020 Chen-Yu Tsai <wens@csie.org>
|
||||||
|
*
|
||||||
|
* Based on ./rk3328-rock64.dts, which is
|
||||||
|
*
|
||||||
|
* Copyright (c) 2017 PINE64
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/input/input.h>
|
||||||
|
#include <dt-bindings/leds/common.h>
|
||||||
|
#include <dt-bindings/pinctrl/rockchip.h>
|
||||||
|
|
||||||
|
#include "rk3328.dtsi"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "Radxa ROCK Pi E";
|
||||||
|
compatible = "radxa,rockpi-e", "rockchip,rk3328";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
stdout-path = "serial2:1500000n8";
|
||||||
|
};
|
||||||
|
|
||||||
|
adc-keys {
|
||||||
|
compatible = "adc-keys";
|
||||||
|
io-channels = <&saradc 0>;
|
||||||
|
io-channel-names = "buttons";
|
||||||
|
keyup-threshold-microvolt = <1750000>;
|
||||||
|
|
||||||
|
/* This button is unpopulated out of the factory. */
|
||||||
|
button-recovery {
|
||||||
|
label = "Recovery";
|
||||||
|
linux,code = <KEY_VENDOR>;
|
||||||
|
press-threshold-microvolt = <10000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gmac_clkin: external-gmac-clock {
|
||||||
|
compatible = "fixed-clock";
|
||||||
|
clock-frequency = <125000000>;
|
||||||
|
clock-output-names = "gmac_clkin";
|
||||||
|
#clock-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
pinctrl-0 = <&led_pin>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
|
||||||
|
led-0 {
|
||||||
|
color = <LED_COLOR_ID_BLUE>;
|
||||||
|
gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>;
|
||||||
|
linux,default-trigger = "heartbeat";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vcc_sd: sdmmc-regulator {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&sdmmc0m1_pin>;
|
||||||
|
regulator-name = "vcc_sd";
|
||||||
|
regulator-boot-on;
|
||||||
|
vin-supply = <&vcc_io>;
|
||||||
|
};
|
||||||
|
|
||||||
|
vcc_host_5v: vcc-host-5v-regulator {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_HIGH>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&usb30_host_drv>;
|
||||||
|
enable-active-high;
|
||||||
|
regulator-name = "vcc_host_5v";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
vin-supply = <&vcc_sys>;
|
||||||
|
};
|
||||||
|
|
||||||
|
vcc_sys: vcc-sys {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
regulator-name = "vcc_sys";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-min-microvolt = <5000000>;
|
||||||
|
regulator-max-microvolt = <5000000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
vcc_wifi: vcc-wifi-regulator {
|
||||||
|
compatible = "regulator-fixed";
|
||||||
|
gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&wifi_en>;
|
||||||
|
regulator-name = "vcc_wifi";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
vin-supply = <&vcc_io>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&analog_sound {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&codec {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpu0 {
|
||||||
|
cpu-supply = <&vdd_arm>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpu1 {
|
||||||
|
cpu-supply = <&vdd_arm>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpu2 {
|
||||||
|
cpu-supply = <&vdd_arm>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpu3 {
|
||||||
|
cpu-supply = <&vdd_arm>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&emmc {
|
||||||
|
bus-width = <8>;
|
||||||
|
cap-mmc-highspeed;
|
||||||
|
mmc-ddr-1_8v;
|
||||||
|
mmc-hs200-1_8v;
|
||||||
|
non-removable;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
|
||||||
|
vmmc-supply = <&vcc_io>;
|
||||||
|
vqmmc-supply = <&vcc18_emmc>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&gmac2io {
|
||||||
|
assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
|
||||||
|
assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
|
||||||
|
clock_in_out = "input";
|
||||||
|
phy-handle = <&rtl8211e>;
|
||||||
|
phy-mode = "rgmii";
|
||||||
|
phy-supply = <&vcc_io>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&rgmiim1_pins>;
|
||||||
|
snps,aal;
|
||||||
|
snps,rxpbl = <0x4>;
|
||||||
|
snps,txpbl = <0x4>;
|
||||||
|
tx_delay = <0x26>;
|
||||||
|
rx_delay = <0x11>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
compatible = "snps,dwmac-mdio";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
rtl8211e: ethernet-phy@1 {
|
||||||
|
reg = <1>;
|
||||||
|
pinctrl-0 = <ð_phy_int_pin>, <ð_phy_reset_pin>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
reset-assert-us = <10000>;
|
||||||
|
reset-deassert-us = <50000>;
|
||||||
|
reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&gmac2phy {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&fephyled_linkm1>, <&fephyled_rxm1>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2c1 {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
rk805: pmic@18 {
|
||||||
|
compatible = "rockchip,rk805";
|
||||||
|
reg = <0x18>;
|
||||||
|
interrupt-parent = <&gpio2>;
|
||||||
|
interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
|
||||||
|
#clock-cells = <1>;
|
||||||
|
clock-output-names = "xin32k", "rk805-clkout2";
|
||||||
|
gpio-controller;
|
||||||
|
#gpio-cells = <2>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&pmic_int_l>;
|
||||||
|
rockchip,system-power-controller;
|
||||||
|
wakeup-source;
|
||||||
|
|
||||||
|
vcc1-supply = <&vcc_sys>;
|
||||||
|
vcc2-supply = <&vcc_sys>;
|
||||||
|
vcc3-supply = <&vcc_sys>;
|
||||||
|
vcc4-supply = <&vcc_sys>;
|
||||||
|
vcc5-supply = <&vcc_io>;
|
||||||
|
vcc6-supply = <&vcc_sys>;
|
||||||
|
|
||||||
|
regulators {
|
||||||
|
vdd_log: DCDC_REG1 {
|
||||||
|
regulator-name = "vdd_log";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-min-microvolt = <712500>;
|
||||||
|
regulator-max-microvolt = <1450000>;
|
||||||
|
regulator-ramp-delay = <12500>;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <1000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vdd_arm: DCDC_REG2 {
|
||||||
|
regulator-name = "vdd_arm";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-min-microvolt = <712500>;
|
||||||
|
regulator-max-microvolt = <1450000>;
|
||||||
|
regulator-ramp-delay = <12500>;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <950000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vcc_ddr: DCDC_REG3 {
|
||||||
|
regulator-name = "vcc_ddr";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vcc_io: DCDC_REG4 {
|
||||||
|
regulator-name = "vcc_io";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-min-microvolt = <3300000>;
|
||||||
|
regulator-max-microvolt = <3300000>;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <3300000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vcc_18: LDO_REG1 {
|
||||||
|
regulator-name = "vcc_18";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <1800000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vcc18_emmc: LDO_REG2 {
|
||||||
|
regulator-name = "vcc18_emmc";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-min-microvolt = <1800000>;
|
||||||
|
regulator-max-microvolt = <1800000>;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <1800000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
vdd_10: LDO_REG3 {
|
||||||
|
regulator-name = "vdd_10";
|
||||||
|
regulator-always-on;
|
||||||
|
regulator-boot-on;
|
||||||
|
regulator-min-microvolt = <1000000>;
|
||||||
|
regulator-max-microvolt = <1000000>;
|
||||||
|
|
||||||
|
regulator-state-mem {
|
||||||
|
regulator-on-in-suspend;
|
||||||
|
regulator-suspend-microvolt = <1000000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&i2s1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&io_domains {
|
||||||
|
pmuio-supply = <&vcc_io>;
|
||||||
|
vccio1-supply = <&vcc_io>;
|
||||||
|
vccio2-supply = <&vcc18_emmc>;
|
||||||
|
vccio3-supply = <&vcc_io>;
|
||||||
|
vccio4-supply = <&vcc_io>;
|
||||||
|
vccio5-supply = <&vcc_io>;
|
||||||
|
vccio6-supply = <&vcc_io>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pinctrl {
|
||||||
|
ephy {
|
||||||
|
eth_phy_int_pin: eth-phy-int-pin {
|
||||||
|
rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||||
|
};
|
||||||
|
|
||||||
|
eth_phy_reset_pin: eth-phy-reset-pin {
|
||||||
|
rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
led_pin: led-pin {
|
||||||
|
rockchip,pins = <3 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pmic {
|
||||||
|
pmic_int_l: pmic-int-l {
|
||||||
|
rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
usb3 {
|
||||||
|
usb30_host_drv: usb30-host-drv {
|
||||||
|
rockchip,pins = <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
wifi {
|
||||||
|
wifi_en: wifi-en {
|
||||||
|
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&sdmmc {
|
||||||
|
bus-width = <4>;
|
||||||
|
cap-sd-highspeed;
|
||||||
|
disable-wp;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
|
||||||
|
vmmc-supply = <&vcc_sd>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&saradc {
|
||||||
|
vref-supply = <&vcc_18>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&tsadc {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&u2phy {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&u2phy_host {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&uart2 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&usb_host0_ehci {
|
||||||
|
status = "okay";
|
||||||
|
};
|
|
@ -84,34 +84,32 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
sound {
|
spdif_sound: spdif-sound {
|
||||||
compatible = "audio-graph-card";
|
compatible = "simple-audio-card";
|
||||||
label = "rockchip,rk3328";
|
simple-audio-card,name = "SPDIF";
|
||||||
dais = <&i2s1_p0
|
|
||||||
&spdif_p0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
spdif-dit {
|
simple-audio-card,cpu {
|
||||||
compatible = "linux,spdif-dit";
|
sound-dai = <&spdif>;
|
||||||
#sound-dai-cells = <0>;
|
};
|
||||||
|
|
||||||
port {
|
simple-audio-card,codec {
|
||||||
dit_p0_0: endpoint {
|
sound-dai = <&spdif_dit>;
|
||||||
remote-endpoint = <&spdif_p0_0>;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
spdif_dit: spdif-dit {
|
||||||
|
compatible = "linux,spdif-dit";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&analog_sound {
|
||||||
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&codec {
|
&codec {
|
||||||
mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
|
mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
port@0 {
|
|
||||||
codec_p0_0: endpoint {
|
|
||||||
remote-endpoint = <&i2s1_p0_0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&cpu0 {
|
&cpu0 {
|
||||||
|
@ -163,6 +161,10 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&hdmi_sound {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&hdmiphy {
|
&hdmiphy {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
@ -278,16 +280,12 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&i2s0 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
&i2s1 {
|
&i2s1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
i2s1_p0: port {
|
|
||||||
i2s1_p0_0: endpoint {
|
|
||||||
dai-format = "i2s";
|
|
||||||
mclk-fs = <256>;
|
|
||||||
remote-endpoint = <&codec_p0_0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&io_domains {
|
&io_domains {
|
||||||
|
@ -337,12 +335,6 @@
|
||||||
&spdif {
|
&spdif {
|
||||||
pinctrl-0 = <&spdifm0_tx>;
|
pinctrl-0 = <&spdifm0_tx>;
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
spdif_p0: port {
|
|
||||||
spdif_p0_0: endpoint {
|
|
||||||
remote-endpoint = <&dit_p0_0>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
&spi0 {
|
&spi0 {
|
||||||
|
|
|
@ -27,6 +27,9 @@
|
||||||
i2c1 = &i2c1;
|
i2c1 = &i2c1;
|
||||||
i2c2 = &i2c2;
|
i2c2 = &i2c2;
|
||||||
i2c3 = &i2c3;
|
i2c3 = &i2c3;
|
||||||
|
mmc0 = &sdmmc;
|
||||||
|
mmc1 = &sdio;
|
||||||
|
mmc2 = &emmc;
|
||||||
ethernet0 = &gmac2io;
|
ethernet0 = &gmac2io;
|
||||||
ethernet1 = &gmac2phy;
|
ethernet1 = &gmac2phy;
|
||||||
};
|
};
|
||||||
|
@ -142,24 +145,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
amba: bus {
|
|
||||||
compatible = "simple-bus";
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cells = <2>;
|
|
||||||
ranges;
|
|
||||||
|
|
||||||
dmac: dmac@ff1f0000 {
|
|
||||||
compatible = "arm,pl330", "arm,primecell";
|
|
||||||
reg = <0x0 0xff1f0000 0x0 0x4000>;
|
|
||||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
|
||||||
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
|
||||||
arm,pl330-periph-burst;
|
|
||||||
clocks = <&cru ACLK_DMAC>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
#dma-cells = <1>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
analog_sound: analog-sound {
|
analog_sound: analog-sound {
|
||||||
compatible = "simple-audio-card";
|
compatible = "simple-audio-card";
|
||||||
simple-audio-card,format = "i2s";
|
simple-audio-card,format = "i2s";
|
||||||
|
@ -504,6 +489,17 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dmac: dmac@ff1f0000 {
|
||||||
|
compatible = "arm,pl330", "arm,primecell";
|
||||||
|
reg = <0x0 0xff1f0000 0x0 0x4000>;
|
||||||
|
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
arm,pl330-periph-burst;
|
||||||
|
clocks = <&cru ACLK_DMAC>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
#dma-cells = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
thermal-zones {
|
thermal-zones {
|
||||||
soc_thermal: soc-thermal {
|
soc_thermal: soc-thermal {
|
||||||
polling-delay-passive = <20>;
|
polling-delay-passive = <20>;
|
||||||
|
@ -928,6 +924,7 @@
|
||||||
phy-mode = "rmii";
|
phy-mode = "rmii";
|
||||||
phy-handle = <&phy>;
|
phy-handle = <&phy>;
|
||||||
snps,txpbl = <0x4>;
|
snps,txpbl = <0x4>;
|
||||||
|
clock_in_out = "output";
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
|
|
|
@ -25,6 +25,9 @@
|
||||||
i2c3 = &i2c3;
|
i2c3 = &i2c3;
|
||||||
i2c4 = &i2c4;
|
i2c4 = &i2c4;
|
||||||
i2c5 = &i2c5;
|
i2c5 = &i2c5;
|
||||||
|
mmc0 = &sdmmc;
|
||||||
|
mmc1 = &sdio0;
|
||||||
|
mmc2 = &emmc;
|
||||||
serial0 = &uart0;
|
serial0 = &uart0;
|
||||||
serial1 = &uart1;
|
serial1 = &uart1;
|
||||||
serial2 = &uart2;
|
serial2 = &uart2;
|
||||||
|
@ -136,37 +139,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
amba: bus {
|
|
||||||
compatible = "simple-bus";
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cells = <2>;
|
|
||||||
ranges;
|
|
||||||
|
|
||||||
dmac_peri: dma-controller@ff250000 {
|
|
||||||
compatible = "arm,pl330", "arm,primecell";
|
|
||||||
reg = <0x0 0xff250000 0x0 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_DMAC_PERI>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
};
|
|
||||||
|
|
||||||
dmac_bus: dma-controller@ff600000 {
|
|
||||||
compatible = "arm,pl330", "arm,primecell";
|
|
||||||
reg = <0x0 0xff600000 0x0 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_DMAC_BUS>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
arm-pmu {
|
arm-pmu {
|
||||||
compatible = "arm,armv8-pmuv3";
|
compatible = "arm,armv8-pmuv3";
|
||||||
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
@ -399,8 +371,20 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dmac_peri: dma-controller@ff250000 {
|
||||||
|
compatible = "arm,pl330", "arm,primecell";
|
||||||
|
reg = <0x0 0xff250000 0x0 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_DMAC_PERI>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
};
|
||||||
|
|
||||||
thermal-zones {
|
thermal-zones {
|
||||||
cpu {
|
cpu_thermal: cpu-thermal {
|
||||||
polling-delay-passive = <100>; /* milliseconds */
|
polling-delay-passive = <100>; /* milliseconds */
|
||||||
polling-delay = <5000>; /* milliseconds */
|
polling-delay = <5000>; /* milliseconds */
|
||||||
|
|
||||||
|
@ -444,7 +428,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
gpu {
|
gpu_thermal: gpu-thermal {
|
||||||
polling-delay-passive = <100>; /* milliseconds */
|
polling-delay-passive = <100>; /* milliseconds */
|
||||||
polling-delay = <5000>; /* milliseconds */
|
polling-delay = <5000>; /* milliseconds */
|
||||||
|
|
||||||
|
@ -532,6 +516,18 @@
|
||||||
status = "disabled";
|
status = "disabled";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dmac_bus: dma-controller@ff600000 {
|
||||||
|
compatible = "arm,pl330", "arm,primecell";
|
||||||
|
reg = <0x0 0xff600000 0x0 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_DMAC_BUS>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
};
|
||||||
|
|
||||||
i2c0: i2c@ff650000 {
|
i2c0: i2c@ff650000 {
|
||||||
compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
|
compatible = "rockchip,rk3368-i2c", "rockchip,rk3288-i2c";
|
||||||
reg = <0x0 0xff650000 0x0 0x1000>;
|
reg = <0x0 0xff650000 0x0 0x1000>;
|
||||||
|
|
|
@ -331,7 +331,7 @@
|
||||||
|
|
||||||
pmic {
|
pmic {
|
||||||
pmic_int_l: pmic-int-l {
|
pmic_int_l: pmic-int-l {
|
||||||
rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
|
rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -95,6 +95,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&pcie0 {
|
&pcie0 {
|
||||||
|
ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||||
num-lanes = <4>;
|
num-lanes = <4>;
|
||||||
vpcie3v3-supply = <&vcc3v3_sys>;
|
vpcie3v3-supply = <&vcc3v3_sys>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||||
|
/*
|
||||||
|
* FriendlyElec NanoPi M4B board device tree source
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 Chen-Yu Tsai <wens@csie.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include "rk3399-nanopi-m4.dts"
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "FriendlyElec NanoPi M4B";
|
||||||
|
compatible = "friendlyarm,nanopi-m4b", "rockchip,rk3399";
|
||||||
|
|
||||||
|
adc-keys {
|
||||||
|
compatible = "adc-keys";
|
||||||
|
io-channels = <&saradc 1>;
|
||||||
|
io-channel-names = "buttons";
|
||||||
|
keyup-threshold-microvolt = <1500000>;
|
||||||
|
poll-interval = <100>;
|
||||||
|
|
||||||
|
recovery {
|
||||||
|
label = "Recovery";
|
||||||
|
linux,code = <KEY_VENDOR>;
|
||||||
|
press-threshold-microvolt = <18000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/* No USB type-C PD power manager */
|
||||||
|
/delete-node/ &fusb0;
|
||||||
|
|
||||||
|
&i2c4 {
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
|
&u2phy0_host {
|
||||||
|
phy-supply = <&vcc5v0_usb2>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&u2phy0_otg {
|
||||||
|
phy-supply = <&vbus_typec>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&u2phy1_otg {
|
||||||
|
phy-supply = <&vcc5v0_usb1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&vbus_typec {
|
||||||
|
enable-active-high;
|
||||||
|
gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
|
||||||
|
};
|
|
@ -504,7 +504,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
&pcie0 {
|
&pcie0 {
|
||||||
ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
|
|
||||||
max-link-speed = <2>;
|
max-link-speed = <2>;
|
||||||
num-lanes = <2>;
|
num-lanes = <2>;
|
||||||
vpcie0v9-supply = <&vcca0v9_s3>;
|
vpcie0v9-supply = <&vcca0v9_s3>;
|
||||||
|
|
|
@ -63,6 +63,20 @@
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&cpu_alert0 {
|
||||||
|
temperature = <65000>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&cpu_thermal {
|
||||||
|
sustainable-power = <1550>;
|
||||||
|
|
||||||
|
cooling-maps {
|
||||||
|
map0 {
|
||||||
|
trip = <&cpu_alert1>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&pcie0 {
|
&pcie0 {
|
||||||
ep-gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
|
ep-gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||||
};
|
};
|
||||||
|
@ -125,45 +139,6 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
&thermal_zones {
|
|
||||||
cpu_thermal: cpu {
|
|
||||||
polling-delay-passive = <100>;
|
|
||||||
polling-delay = <1000>;
|
|
||||||
thermal-sensors = <&tsadc 0>;
|
|
||||||
sustainable-power = <1550>;
|
|
||||||
|
|
||||||
trips {
|
|
||||||
cpu_alert0: cpu_alert0 {
|
|
||||||
temperature = <65000>;
|
|
||||||
hysteresis = <2000>;
|
|
||||||
type = "passive";
|
|
||||||
};
|
|
||||||
|
|
||||||
cpu_alert1: cpu_alert1 {
|
|
||||||
temperature = <75000>;
|
|
||||||
hysteresis = <2000>;
|
|
||||||
type = "passive";
|
|
||||||
};
|
|
||||||
|
|
||||||
cpu_crit: cpu_crit {
|
|
||||||
temperature = <95000>;
|
|
||||||
hysteresis = <2000>;
|
|
||||||
type = "critical";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
cooling-maps {
|
|
||||||
map0 {
|
|
||||||
|
|
||||||
trip = <&cpu_alert1>;
|
|
||||||
cooling-device =
|
|
||||||
<&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
|
|
||||||
<&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
&usbdrd_dwc3_0 {
|
&usbdrd_dwc3_0 {
|
||||||
dr_mode = "otg";
|
dr_mode = "otg";
|
||||||
};
|
};
|
||||||
|
|
|
@ -72,10 +72,27 @@
|
||||||
|
|
||||||
sound {
|
sound {
|
||||||
compatible = "audio-graph-card";
|
compatible = "audio-graph-card";
|
||||||
label = "rockchip,rk3399";
|
label = "Analog";
|
||||||
dais = <&i2s1_p0>;
|
dais = <&i2s1_p0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sound-dit {
|
||||||
|
compatible = "audio-graph-card";
|
||||||
|
label = "SPDIF";
|
||||||
|
dais = <&spdif_p0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
spdif-dit {
|
||||||
|
compatible = "linux,spdif-dit";
|
||||||
|
#sound-dai-cells = <0>;
|
||||||
|
|
||||||
|
port {
|
||||||
|
dit_p0_0: endpoint {
|
||||||
|
remote-endpoint = <&spdif_p0_0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
vcc12v_dcin: vcc12v-dcin {
|
vcc12v_dcin: vcc12v-dcin {
|
||||||
compatible = "regulator-fixed";
|
compatible = "regulator-fixed";
|
||||||
regulator-name = "vcc12v_dcin";
|
regulator-name = "vcc12v_dcin";
|
||||||
|
@ -698,6 +715,16 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&spdif {
|
||||||
|
pinctrl-0 = <&spdif_bus_1>;
|
||||||
|
|
||||||
|
spdif_p0: port {
|
||||||
|
spdif_p0_0: endpoint {
|
||||||
|
remote-endpoint = <&dit_p0_0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
&spi1 {
|
&spi1 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
|
|
||||||
|
|
|
@ -200,35 +200,6 @@
|
||||||
#clock-cells = <0>;
|
#clock-cells = <0>;
|
||||||
};
|
};
|
||||||
|
|
||||||
amba: bus {
|
|
||||||
compatible = "simple-bus";
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cells = <2>;
|
|
||||||
ranges;
|
|
||||||
|
|
||||||
dmac_bus: dma-controller@ff6d0000 {
|
|
||||||
compatible = "arm,pl330", "arm,primecell";
|
|
||||||
reg = <0x0 0xff6d0000 0x0 0x4000>;
|
|
||||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>,
|
|
||||||
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
||||||
#dma-cells = <1>;
|
|
||||||
arm,pl330-periph-burst;
|
|
||||||
clocks = <&cru ACLK_DMAC0_PERILP>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
};
|
|
||||||
|
|
||||||
dmac_peri: dma-controller@ff6e0000 {
|
|
||||||
compatible = "arm,pl330", "arm,primecell";
|
|
||||||
reg = <0x0 0xff6e0000 0x0 0x4000>;
|
|
||||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>,
|
|
||||||
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
||||||
#dma-cells = <1>;
|
|
||||||
arm,pl330-periph-burst;
|
|
||||||
clocks = <&cru ACLK_DMAC1_PERILP>;
|
|
||||||
clock-names = "apb_pclk";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pcie0: pcie@f8000000 {
|
pcie0: pcie@f8000000 {
|
||||||
compatible = "rockchip,rk3399-pcie";
|
compatible = "rockchip,rk3399-pcie";
|
||||||
reg = <0x0 0xf8000000 0x0 0x2000000>,
|
reg = <0x0 0xf8000000 0x0 0x2000000>,
|
||||||
|
@ -259,8 +230,8 @@
|
||||||
<&pcie_phy 2>, <&pcie_phy 3>;
|
<&pcie_phy 2>, <&pcie_phy 3>;
|
||||||
phy-names = "pcie-phy-0", "pcie-phy-1",
|
phy-names = "pcie-phy-0", "pcie-phy-1",
|
||||||
"pcie-phy-2", "pcie-phy-3";
|
"pcie-phy-2", "pcie-phy-3";
|
||||||
ranges = <0x83000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x1e00000
|
ranges = <0x83000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x1e00000>,
|
||||||
0x81000000 0x0 0xfbe00000 0x0 0xfbe00000 0x0 0x100000>;
|
<0x81000000 0x0 0xfbe00000 0x0 0xfbe00000 0x0 0x100000>;
|
||||||
resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
|
resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
|
||||||
<&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>,
|
<&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>,
|
||||||
<&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>,
|
<&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>,
|
||||||
|
@ -764,7 +735,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
thermal_zones: thermal-zones {
|
thermal_zones: thermal-zones {
|
||||||
cpu_thermal: cpu {
|
cpu_thermal: cpu-thermal {
|
||||||
polling-delay-passive = <100>;
|
polling-delay-passive = <100>;
|
||||||
polling-delay = <1000>;
|
polling-delay = <1000>;
|
||||||
|
|
||||||
|
@ -808,7 +779,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
gpu_thermal: gpu {
|
gpu_thermal: gpu-thermal {
|
||||||
polling-delay-passive = <100>;
|
polling-delay-passive = <100>;
|
||||||
polling-delay = <1000>;
|
polling-delay = <1000>;
|
||||||
|
|
||||||
|
@ -858,127 +829,127 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_emmc: qos@ffa58000 {
|
qos_emmc: qos@ffa58000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa58000 0x0 0x20>;
|
reg = <0x0 0xffa58000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_gmac: qos@ffa5c000 {
|
qos_gmac: qos@ffa5c000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa5c000 0x0 0x20>;
|
reg = <0x0 0xffa5c000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_pcie: qos@ffa60080 {
|
qos_pcie: qos@ffa60080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa60080 0x0 0x20>;
|
reg = <0x0 0xffa60080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_usb_host0: qos@ffa60100 {
|
qos_usb_host0: qos@ffa60100 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa60100 0x0 0x20>;
|
reg = <0x0 0xffa60100 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_usb_host1: qos@ffa60180 {
|
qos_usb_host1: qos@ffa60180 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa60180 0x0 0x20>;
|
reg = <0x0 0xffa60180 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_usb_otg0: qos@ffa70000 {
|
qos_usb_otg0: qos@ffa70000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa70000 0x0 0x20>;
|
reg = <0x0 0xffa70000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_usb_otg1: qos@ffa70080 {
|
qos_usb_otg1: qos@ffa70080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa70080 0x0 0x20>;
|
reg = <0x0 0xffa70080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_sd: qos@ffa74000 {
|
qos_sd: qos@ffa74000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa74000 0x0 0x20>;
|
reg = <0x0 0xffa74000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_sdioaudio: qos@ffa76000 {
|
qos_sdioaudio: qos@ffa76000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa76000 0x0 0x20>;
|
reg = <0x0 0xffa76000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_hdcp: qos@ffa90000 {
|
qos_hdcp: qos@ffa90000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa90000 0x0 0x20>;
|
reg = <0x0 0xffa90000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_iep: qos@ffa98000 {
|
qos_iep: qos@ffa98000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffa98000 0x0 0x20>;
|
reg = <0x0 0xffa98000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_isp0_m0: qos@ffaa0000 {
|
qos_isp0_m0: qos@ffaa0000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffaa0000 0x0 0x20>;
|
reg = <0x0 0xffaa0000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_isp0_m1: qos@ffaa0080 {
|
qos_isp0_m1: qos@ffaa0080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffaa0080 0x0 0x20>;
|
reg = <0x0 0xffaa0080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_isp1_m0: qos@ffaa8000 {
|
qos_isp1_m0: qos@ffaa8000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffaa8000 0x0 0x20>;
|
reg = <0x0 0xffaa8000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_isp1_m1: qos@ffaa8080 {
|
qos_isp1_m1: qos@ffaa8080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffaa8080 0x0 0x20>;
|
reg = <0x0 0xffaa8080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_rga_r: qos@ffab0000 {
|
qos_rga_r: qos@ffab0000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffab0000 0x0 0x20>;
|
reg = <0x0 0xffab0000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_rga_w: qos@ffab0080 {
|
qos_rga_w: qos@ffab0080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffab0080 0x0 0x20>;
|
reg = <0x0 0xffab0080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_video_m0: qos@ffab8000 {
|
qos_video_m0: qos@ffab8000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffab8000 0x0 0x20>;
|
reg = <0x0 0xffab8000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_video_m1_r: qos@ffac0000 {
|
qos_video_m1_r: qos@ffac0000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffac0000 0x0 0x20>;
|
reg = <0x0 0xffac0000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_video_m1_w: qos@ffac0080 {
|
qos_video_m1_w: qos@ffac0080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffac0080 0x0 0x20>;
|
reg = <0x0 0xffac0080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_vop_big_r: qos@ffac8000 {
|
qos_vop_big_r: qos@ffac8000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffac8000 0x0 0x20>;
|
reg = <0x0 0xffac8000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_vop_big_w: qos@ffac8080 {
|
qos_vop_big_w: qos@ffac8080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffac8080 0x0 0x20>;
|
reg = <0x0 0xffac8080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_vop_little: qos@ffad0000 {
|
qos_vop_little: qos@ffad0000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffad0000 0x0 0x20>;
|
reg = <0x0 0xffad0000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_perihp: qos@ffad8080 {
|
qos_perihp: qos@ffad8080 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffad8080 0x0 0x20>;
|
reg = <0x0 0xffad8080 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
qos_gpu: qos@ffae0000 {
|
qos_gpu: qos@ffae0000 {
|
||||||
compatible = "syscon";
|
compatible = "rockchip,rk3399-qos", "syscon";
|
||||||
reg = <0x0 0xffae0000 0x0 0x20>;
|
reg = <0x0 0xffae0000 0x0 0x20>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1351,6 +1322,28 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dmac_bus: dma-controller@ff6d0000 {
|
||||||
|
compatible = "arm,pl330", "arm,primecell";
|
||||||
|
reg = <0x0 0xff6d0000 0x0 0x4000>;
|
||||||
|
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||||
|
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
|
#dma-cells = <1>;
|
||||||
|
arm,pl330-periph-burst;
|
||||||
|
clocks = <&cru ACLK_DMAC0_PERILP>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
};
|
||||||
|
|
||||||
|
dmac_peri: dma-controller@ff6e0000 {
|
||||||
|
compatible = "arm,pl330", "arm,primecell";
|
||||||
|
reg = <0x0 0xff6e0000 0x0 0x4000>;
|
||||||
|
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||||
|
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||||
|
#dma-cells = <1>;
|
||||||
|
arm,pl330-periph-burst;
|
||||||
|
clocks = <&cru ACLK_DMAC1_PERILP>;
|
||||||
|
clock-names = "apb_pclk";
|
||||||
|
};
|
||||||
|
|
||||||
pmucru: pmu-clock-controller@ff750000 {
|
pmucru: pmu-clock-controller@ff750000 {
|
||||||
compatible = "rockchip,rk3399-pmucru";
|
compatible = "rockchip,rk3399-pmucru";
|
||||||
reg = <0x0 0xff750000 0x0 0x1000>;
|
reg = <0x0 0xff750000 0x0 0x1000>;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче