ARM: 64-bit DT updates for v4.8
The 64-bit DT changes are surprisingly small this time, we only add two SoC platforms: the ZTE ZX296718 Set-top-box SoC and the SocioNext UniPhier LD11 TV SoC, each with their reference boards. There are three new machines added for existing SoC platforms: - The Marvell Armada 8040 development board is an impressive quad-core Cortex-A72 machine with three 10gbit ethernet interfaces - Qualcomms DragonBoard 820c single-board computer is their current high-end phone platform in the 96boards form factor - Rockchip: Tronsmart Orion r86 set-top-box is a popular mid-range Android box based on the 8-core rk3368 SoC. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIVAwUAV/gsAGCrR//JCVInAQJQBA//bfPEm12nrxtWNvwHLs1yQ3yeLe0S7gGp OO5GF3dBKct2CEo33XmVfTplEEDkuA+j6k+ZDbgjIyv8APaLfoVj1AtLgCTNoBFh lpEyCpgjNCFMPLWoBy2GmuhIFA/K0O5BXEXsc5ygda40WGOJ9TjeyS7Wd5iav2qo oA2hjY4h7ZaSaOHFNSJ0HkXJQnXOh1iaVAJuxYbWC4Fm7QEQocXiW0uAZiS9cijU cQP2AUJZMLVyOGU7bTy3GWUA7MEPaZMVTYBbhKLCFXp+uZE2YV43C0U7S74dRQAq wtDyTIKrLuV6NQO1hJD/uIQUnuRLEqseI33rXU7SmqNiNTthpk5RVudIknGhpYkX ALnLbSoZYRo2cJTAz4gARMagucGLBhMYxwz3DPx/ax/CL1J9004vSKdLoiZ6iglA 5LB9GB79YdqpM+7bMFctcdNST6g64yxQNvHJzvu4PinMyuGDIkkPJ+wSdHc2Z7Ar Rs4q94745et6SGMByBtPJgAjZYpS3bjgDB/f9zvpYeVmgbD5QLBq74AZNf2vipz5 LWsOjnZ1sSB7elsj7ZZWxl0/czsLl8YqTCgt814m7a4OLbKMBAqznw7uIOjrh7l4 PgHYxHPYuXmLvKtxbc0jkEipMU+vL3p/wd+bU389SOs92gXbM/XK3IG2QpgzX0po nUxd2Aac7Ko= =PxJN -----END PGP SIGNATURE----- Merge tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM 64-bit DT updates from Arnd Bergmann: "The 64-bit DT changes are surprisingly small this time, we only add two SoC platforms: the ZTE ZX296718 Set-top-box SoC and the SocioNext UniPhier LD11 TV SoC, each with their reference boards. There are three new machines added for existing SoC platforms: - The Marvell Armada 8040 development board is an impressive quad-core Cortex-A72 machine with three 10gbit ethernet interfaces - Qualcomms DragonBoard 820c single-board computer is their current high-end phone platform in the 96boards form factor - Rockchip: Tronsmart Orion r86 set-top-box is a popular mid-range Android box based on the 8-core rk3368 SoC" * tag 'armsoc-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (91 commits) arm64: dts: berlin4ct: Add L2 cache topology arm64: dts: berlin4ct: enable all wdt nodes unconditionally arm64: dts: berlin4ct: switch to Cortex-A53 specific pmu nodes arm64: dts: Add ZTE ZX296718 SoC dts and Makefile arm64: dts: apm: Add DT node for APM X-Gene 2 CPU clocks arm64: dts: apm: Add X-Gene SoC hwmon to device tree arm64: dts: apm: Fix interrupt polarity for X-Gene PCIe legacy interrupts arm64: dts: apm: Add APM X-Gene v2 SoC PMU DTS entries arm64: dts: apm: Add APM X-Gene SoC PMU DTS entries arm64: dts: marvell: enable MSI for PCIe on Armada 7K/8K arm64: dts: ls2080a: Add 'dma-coherent' for ls2080a PCI nodes arm64: dts: rockchip: add Type-C phy for RK3399 arm64: dts: rockchip: enable the gmac for rk3399 evb board arm64: dts: rockchip: add the gmac needed node for rk3399 arm64: dts: rockchip: support the pmu node for rk3399 arm64: dts: rockchip: change all interrupts cells to 4 on rk3399 SoCs arm64: dts: rockchip: add the tcpc for rk3399 power domain arm64: dts: rockchip: add efuse0 device node for rk3399 arm64: dts: rockchip: configure PCIe support for rk3399-evb arm64: dts: rockchip: add the PCIe controller support for RK3399 ...
This commit is contained in:
commit
a439f8f287
|
@ -175,38 +175,55 @@ Example:
|
|||
};
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
Hisilicon HiP05 PCIe-SAS system controller
|
||||
Hisilicon HiP05/HiP06 PCIe-SAS sub system controller
|
||||
|
||||
Required properties:
|
||||
- compatible : "hisilicon,pcie-sas-subctrl", "syscon";
|
||||
- reg : Register address and size
|
||||
|
||||
The HiP05 PCIe-SAS system controller is shared by PCIe and SAS controllers in
|
||||
HiP05 Soc to implement some basic configurations.
|
||||
The PCIe-SAS sub system controller is shared by PCIe and SAS controllers in
|
||||
HiP05 or HiP06 Soc to implement some basic configurations.
|
||||
|
||||
Example:
|
||||
/* for HiP05 PCIe-SAS system */
|
||||
pcie_sas: system_controller@0xb0000000 {
|
||||
/* for HiP05 PCIe-SAS sub system */
|
||||
pcie_sas: system_controller@b0000000 {
|
||||
compatible = "hisilicon,pcie-sas-subctrl", "syscon";
|
||||
reg = <0xb0000000 0x10000>;
|
||||
};
|
||||
|
||||
Hisilicon HiP05 PERISUB system controller
|
||||
Hisilicon HiP05/HiP06 PERI sub system controller
|
||||
|
||||
Required properties:
|
||||
- compatible : "hisilicon,hip05-perisubc", "syscon";
|
||||
- compatible : "hisilicon,peri-subctrl", "syscon";
|
||||
- reg : Register address and size
|
||||
|
||||
The HiP05 PERISUB system controller is shared by peripheral controllers in
|
||||
HiP05 Soc to implement some basic configurations. The peripheral
|
||||
The PERI sub system controller is shared by peripheral controllers in
|
||||
HiP05 or HiP06 Soc to implement some basic configurations. The peripheral
|
||||
controllers include mdio, ddr, iic, uart, timer and so on.
|
||||
|
||||
Example:
|
||||
/* for HiP05 perisub-ctrl-c system */
|
||||
/* for HiP05 sub peri system */
|
||||
peri_c_subctrl: syscon@80000000 {
|
||||
compatible = "hisilicon,hip05-perisubc", "syscon";
|
||||
compatible = "hisilicon,peri-subctrl", "syscon";
|
||||
reg = <0x0 0x80000000 0x0 0x10000>;
|
||||
};
|
||||
|
||||
Hisilicon HiP05/HiP06 DSA sub system controller
|
||||
|
||||
Required properties:
|
||||
- compatible : "hisilicon,dsa-subctrl", "syscon";
|
||||
- reg : Register address and size
|
||||
|
||||
The DSA sub system controller is shared by peripheral controllers in
|
||||
HiP05 or HiP06 Soc to implement some basic configurations.
|
||||
|
||||
Example:
|
||||
/* for HiP05 dsa sub system */
|
||||
pcie_sas: system_controller@a0000000 {
|
||||
compatible = "hisilicon,dsa-subctrl", "syscon";
|
||||
reg = <0xa0000000 0x10000>;
|
||||
};
|
||||
|
||||
-----------------------------------------------------------------------
|
||||
Hisilicon CPU controller
|
||||
|
||||
|
|
|
@ -121,3 +121,7 @@ Rockchip platforms device tree bindings
|
|||
- Rockchip RK3399 evb:
|
||||
Required root node properties:
|
||||
- compatible = "rockchip,rk3399-evb", "rockchip,rk3399";
|
||||
|
||||
- Tronsmart Orion R68 Meta
|
||||
Required root node properties:
|
||||
- compatible = "tronsmart,orion-r68-meta", "rockchip,rk3368";
|
||||
|
|
|
@ -13,3 +13,27 @@ Low power management required properties:
|
|||
|
||||
Bus matrix required properties:
|
||||
- compatible = "zte,zx-bus-matrix"
|
||||
|
||||
|
||||
---------------------------------------
|
||||
- ZX296718 SoC:
|
||||
Required root node properties:
|
||||
- compatible = "zte,zx296718"
|
||||
|
||||
ZX296718 EVB board:
|
||||
- "zte,zx296718-evb"
|
||||
|
||||
System management required properties:
|
||||
- compatible = "zte,zx296718-aon-sysctrl"
|
||||
- compatible = "zte,zx296718-sysctrl"
|
||||
|
||||
Example:
|
||||
aon_sysctrl: aon-sysctrl@116000 {
|
||||
compatible = "zte,zx296718-aon-sysctrl", "syscon";
|
||||
reg = <0x116000 0x1000>;
|
||||
};
|
||||
|
||||
sysctrl: sysctrl@1463000 {
|
||||
compatible = "zte,zx296718-sysctrl", "syscon";
|
||||
reg = <0x1463000 0x1000>;
|
||||
};
|
||||
|
|
|
@ -172,6 +172,8 @@ config ARCH_TEGRA
|
|||
select GENERIC_CLOCKEVENTS
|
||||
select GPIOLIB
|
||||
select PINCTRL
|
||||
select PM
|
||||
select PM_GENERIC_DOMAINS
|
||||
select RESET_CONTROLLER
|
||||
help
|
||||
This enables support for the NVIDIA Tegra SoC family.
|
||||
|
|
|
@ -19,6 +19,7 @@ dts-dirs += socionext
|
|||
dts-dirs += sprd
|
||||
dts-dirs += xilinx
|
||||
dts-dirs += lg
|
||||
dts-dirs += zte
|
||||
|
||||
subdir-y := $(dts-dirs)
|
||||
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x1 0x0000fff8>;
|
||||
next-level-cache = <&xgene_L2_0>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmd0clk 0>;
|
||||
};
|
||||
cpu@001 {
|
||||
device_type = "cpu";
|
||||
|
@ -34,6 +36,8 @@
|
|||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x1 0x0000fff8>;
|
||||
next-level-cache = <&xgene_L2_0>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmd0clk 0>;
|
||||
};
|
||||
cpu@100 {
|
||||
device_type = "cpu";
|
||||
|
@ -42,6 +46,8 @@
|
|||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x1 0x0000fff8>;
|
||||
next-level-cache = <&xgene_L2_1>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmd1clk 0>;
|
||||
};
|
||||
cpu@101 {
|
||||
device_type = "cpu";
|
||||
|
@ -50,6 +56,8 @@
|
|||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x1 0x0000fff8>;
|
||||
next-level-cache = <&xgene_L2_1>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmd1clk 0>;
|
||||
};
|
||||
cpu@200 {
|
||||
device_type = "cpu";
|
||||
|
@ -58,6 +66,8 @@
|
|||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x1 0x0000fff8>;
|
||||
next-level-cache = <&xgene_L2_2>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmd2clk 0>;
|
||||
};
|
||||
cpu@201 {
|
||||
device_type = "cpu";
|
||||
|
@ -66,6 +76,8 @@
|
|||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x1 0x0000fff8>;
|
||||
next-level-cache = <&xgene_L2_2>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmd2clk 0>;
|
||||
};
|
||||
cpu@300 {
|
||||
device_type = "cpu";
|
||||
|
@ -74,6 +86,8 @@
|
|||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x1 0x0000fff8>;
|
||||
next-level-cache = <&xgene_L2_3>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmd3clk 0>;
|
||||
};
|
||||
cpu@301 {
|
||||
device_type = "cpu";
|
||||
|
@ -82,6 +96,8 @@
|
|||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0x1 0x0000fff8>;
|
||||
next-level-cache = <&xgene_L2_3>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmd3clk 0>;
|
||||
};
|
||||
xgene_L2_0: l2-cache-0 {
|
||||
compatible = "cache";
|
||||
|
@ -223,6 +239,46 @@
|
|||
clock-output-names = "refclk";
|
||||
};
|
||||
|
||||
pmdpll: pmdpll@170000f0 {
|
||||
compatible = "apm,xgene-pcppll-v2-clock";
|
||||
#clock-cells = <1>;
|
||||
clocks = <&refclk 0>;
|
||||
reg = <0x0 0x170000f0 0x0 0x10>;
|
||||
clock-output-names = "pmdpll";
|
||||
};
|
||||
|
||||
pmd0clk: pmd0clk@7e200200 {
|
||||
compatible = "apm,xgene-pmd-clock";
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmdpll 0>;
|
||||
reg = <0x0 0x7e200200 0x0 0x10>;
|
||||
clock-output-names = "pmd0clk";
|
||||
};
|
||||
|
||||
pmd1clk: pmd1clk@7e200210 {
|
||||
compatible = "apm,xgene-pmd-clock";
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmdpll 0>;
|
||||
reg = <0x0 0x7e200210 0x0 0x10>;
|
||||
clock-output-names = "pmd1clk";
|
||||
};
|
||||
|
||||
pmd2clk: pmd2clk@7e200220 {
|
||||
compatible = "apm,xgene-pmd-clock";
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmdpll 0>;
|
||||
reg = <0x0 0x7e200220 0x0 0x10>;
|
||||
clock-output-names = "pmd2clk";
|
||||
};
|
||||
|
||||
pmd3clk: pmd3clk@7e200230 {
|
||||
compatible = "apm,xgene-pmd-clock";
|
||||
#clock-cells = <1>;
|
||||
clocks = <&pmdpll 0>;
|
||||
reg = <0x0 0x7e200230 0x0 0x10>;
|
||||
clock-output-names = "pmd3clk";
|
||||
};
|
||||
|
||||
socpll: socpll@17000120 {
|
||||
compatible = "apm,xgene-socpll-v2-clock";
|
||||
#clock-cells = <1>;
|
||||
|
@ -453,6 +509,64 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmu: pmu@78810000 {
|
||||
compatible = "apm,xgene-pmu-v2";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
regmap-csw = <&csw>;
|
||||
regmap-mcba = <&mcba>;
|
||||
regmap-mcbb = <&mcbb>;
|
||||
reg = <0x0 0x78810000 0x0 0x1000>;
|
||||
interrupts = <0x0 0x22 0x4>;
|
||||
|
||||
pmul3c@7e610000 {
|
||||
compatible = "apm,xgene-pmu-l3c";
|
||||
reg = <0x0 0x7e610000 0x0 0x1000>;
|
||||
};
|
||||
|
||||
pmuiob@7e940000 {
|
||||
compatible = "apm,xgene-pmu-iob";
|
||||
reg = <0x0 0x7e940000 0x0 0x1000>;
|
||||
};
|
||||
|
||||
pmucmcb@7e710000 {
|
||||
compatible = "apm,xgene-pmu-mcb";
|
||||
reg = <0x0 0x7e710000 0x0 0x1000>;
|
||||
enable-bit-index = <0>;
|
||||
};
|
||||
|
||||
pmucmcb@7e730000 {
|
||||
compatible = "apm,xgene-pmu-mcb";
|
||||
reg = <0x0 0x7e730000 0x0 0x1000>;
|
||||
enable-bit-index = <1>;
|
||||
};
|
||||
|
||||
pmucmc@7e810000 {
|
||||
compatible = "apm,xgene-pmu-mc";
|
||||
reg = <0x0 0x7e810000 0x0 0x1000>;
|
||||
enable-bit-index = <0>;
|
||||
};
|
||||
|
||||
pmucmc@7e850000 {
|
||||
compatible = "apm,xgene-pmu-mc";
|
||||
reg = <0x0 0x7e850000 0x0 0x1000>;
|
||||
enable-bit-index = <1>;
|
||||
};
|
||||
|
||||
pmucmc@7e890000 {
|
||||
compatible = "apm,xgene-pmu-mc";
|
||||
reg = <0x0 0x7e890000 0x0 0x1000>;
|
||||
enable-bit-index = <2>;
|
||||
};
|
||||
|
||||
pmucmc@7e8d0000 {
|
||||
compatible = "apm,xgene-pmu-mc";
|
||||
reg = <0x0 0x7e8d0000 0x0 0x1000>;
|
||||
enable-bit-index = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
mailbox: mailbox@10540000 {
|
||||
compatible = "apm,xgene-slimpro-mbox";
|
||||
reg = <0x0 0x10540000 0x0 0x8000>;
|
||||
|
@ -472,6 +586,11 @@
|
|||
mboxes = <&mailbox 0>;
|
||||
};
|
||||
|
||||
hwmonslimpro {
|
||||
compatible = "apm,xgene-slimpro-hwmon";
|
||||
mboxes = <&mailbox 7>;
|
||||
};
|
||||
|
||||
serial0: serial@10600000 {
|
||||
device_type = "serial";
|
||||
compatible = "ns16550";
|
||||
|
@ -508,10 +627,10 @@
|
|||
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
||||
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
||||
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x10 0x1
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x11 0x1
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x12 0x1
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x13 0x1>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x10 0x4
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x11 0x4
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x12 0x4
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x13 0x4>;
|
||||
dma-coherent;
|
||||
clocks = <&pcie0clk 0>;
|
||||
msi-parent = <&v2m0>;
|
||||
|
@ -533,10 +652,10 @@
|
|||
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
||||
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
||||
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x16 0x1
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x17 0x1
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x18 0x1
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x19 0x1>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0x0 0x0 0x16 0x4
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0x0 0x0 0x17 0x4
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0x0 0x0 0x18 0x4
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0x0 0x0 0x19 0x4>;
|
||||
dma-coherent;
|
||||
clocks = <&pcie1clk 0>;
|
||||
msi-parent = <&v2m0>;
|
||||
|
|
|
@ -553,6 +553,64 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmu: pmu@78810000 {
|
||||
compatible = "apm,xgene-pmu-v2";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
regmap-csw = <&csw>;
|
||||
regmap-mcba = <&mcba>;
|
||||
regmap-mcbb = <&mcbb>;
|
||||
reg = <0x0 0x78810000 0x0 0x1000>;
|
||||
interrupts = <0x0 0x22 0x4>;
|
||||
|
||||
pmul3c@7e610000 {
|
||||
compatible = "apm,xgene-pmu-l3c";
|
||||
reg = <0x0 0x7e610000 0x0 0x1000>;
|
||||
};
|
||||
|
||||
pmuiob@7e940000 {
|
||||
compatible = "apm,xgene-pmu-iob";
|
||||
reg = <0x0 0x7e940000 0x0 0x1000>;
|
||||
};
|
||||
|
||||
pmucmcb@7e710000 {
|
||||
compatible = "apm,xgene-pmu-mcb";
|
||||
reg = <0x0 0x7e710000 0x0 0x1000>;
|
||||
enable-bit-index = <0>;
|
||||
};
|
||||
|
||||
pmucmcb@7e730000 {
|
||||
compatible = "apm,xgene-pmu-mcb";
|
||||
reg = <0x0 0x7e730000 0x0 0x1000>;
|
||||
enable-bit-index = <1>;
|
||||
};
|
||||
|
||||
pmucmc@7e810000 {
|
||||
compatible = "apm,xgene-pmu-mc";
|
||||
reg = <0x0 0x7e810000 0x0 0x1000>;
|
||||
enable-bit-index = <0>;
|
||||
};
|
||||
|
||||
pmucmc@7e850000 {
|
||||
compatible = "apm,xgene-pmu-mc";
|
||||
reg = <0x0 0x7e850000 0x0 0x1000>;
|
||||
enable-bit-index = <1>;
|
||||
};
|
||||
|
||||
pmucmc@7e890000 {
|
||||
compatible = "apm,xgene-pmu-mc";
|
||||
reg = <0x0 0x7e890000 0x0 0x1000>;
|
||||
enable-bit-index = <2>;
|
||||
};
|
||||
|
||||
pmucmc@7e8d0000 {
|
||||
compatible = "apm,xgene-pmu-mc";
|
||||
reg = <0x0 0x7e8d0000 0x0 0x1000>;
|
||||
enable-bit-index = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
pcie0: pcie@1f2b0000 {
|
||||
status = "disabled";
|
||||
device_type = "pci";
|
||||
|
@ -569,10 +627,10 @@
|
|||
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
||||
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
||||
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x1
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x1
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x1
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x1>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc2 0x4
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xc3 0x4
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xc4 0x4
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xc5 0x4>;
|
||||
dma-coherent;
|
||||
clocks = <&pcie0clk 0>;
|
||||
msi-parent = <&msi>;
|
||||
|
@ -594,10 +652,10 @@
|
|||
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
||||
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
||||
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x1
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x1
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x1
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x1>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xc8 0x4
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xc9 0x4
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xca 0x4
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xcb 0x4>;
|
||||
dma-coherent;
|
||||
clocks = <&pcie1clk 0>;
|
||||
msi-parent = <&msi>;
|
||||
|
@ -619,10 +677,10 @@
|
|||
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
||||
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
||||
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x1
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x1
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x1
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x1>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xce 0x4
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xcf 0x4
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xd0 0x4
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xd1 0x4>;
|
||||
dma-coherent;
|
||||
clocks = <&pcie2clk 0>;
|
||||
msi-parent = <&msi>;
|
||||
|
@ -644,10 +702,10 @@
|
|||
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
||||
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
||||
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x1
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x1
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x1
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x1>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xd4 0x4
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xd5 0x4
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xd6 0x4
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xd7 0x4>;
|
||||
dma-coherent;
|
||||
clocks = <&pcie3clk 0>;
|
||||
msi-parent = <&msi>;
|
||||
|
@ -669,10 +727,10 @@
|
|||
dma-ranges = <0x42000000 0x80 0x00000000 0x80 0x00000000 0x00 0x80000000
|
||||
0x42000000 0x00 0x00000000 0x00 0x00000000 0x80 0x00000000>;
|
||||
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x1
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x1
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x1
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x1>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &gic 0x0 0xda 0x4
|
||||
0x0 0x0 0x0 0x2 &gic 0x0 0xdb 0x4
|
||||
0x0 0x0 0x0 0x3 &gic 0x0 0xdc 0x4
|
||||
0x0 0x0 0x0 0x4 &gic 0x0 0xdd 0x4>;
|
||||
dma-coherent;
|
||||
clocks = <&pcie4clk 0>;
|
||||
msi-parent = <&msi>;
|
||||
|
@ -697,6 +755,11 @@
|
|||
mboxes = <&mailbox 0>;
|
||||
};
|
||||
|
||||
hwmonslimpro {
|
||||
compatible = "apm,xgene-slimpro-hwmon";
|
||||
mboxes = <&mailbox 7>;
|
||||
};
|
||||
|
||||
serial0: serial@1c020000 {
|
||||
status = "disabled";
|
||||
device_type = "serial";
|
||||
|
|
|
@ -299,6 +299,14 @@
|
|||
};
|
||||
};
|
||||
|
||||
pwm: pwm@66010000 {
|
||||
compatible = "brcm,iproc-pwm";
|
||||
reg = <0x66010000 0x28>;
|
||||
clocks = <&osc>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mdio_mux_iproc: mdio-mux@6602023c {
|
||||
compatible = "brcm,mdio-mux-iproc";
|
||||
reg = <0x6602023c 0x14>;
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
*/
|
||||
|
||||
#include <dt-bindings/clock/exynos7-clk.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
/ {
|
||||
compatible = "samsung,exynos7";
|
||||
|
@ -473,10 +474,14 @@
|
|||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <1 13 0xff08>,
|
||||
<1 14 0xff08>,
|
||||
<1 11 0xff08>,
|
||||
<1 10 0xff08>;
|
||||
interrupts = <GIC_PPI 13
|
||||
(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14
|
||||
(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11
|
||||
(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 10
|
||||
(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
pmu_system_controller: system-controller@105c0000 {
|
||||
|
|
|
@ -56,12 +56,14 @@
|
|||
gpio1 = &gpio2;
|
||||
gpio2 = &gpio3;
|
||||
gpio3 = &gpio4;
|
||||
serial0 = &lpuart0;
|
||||
serial1 = &lpuart1;
|
||||
serial2 = &lpuart2;
|
||||
serial3 = &lpuart3;
|
||||
serial4 = &lpuart4;
|
||||
serial5 = &lpuart5;
|
||||
serial0 = &duart0;
|
||||
serial1 = &duart1;
|
||||
serial2 = &duart2;
|
||||
serial3 = &duart3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -52,6 +52,14 @@
|
|||
|
||||
aliases {
|
||||
crypto = &crypto;
|
||||
serial0 = &duart0;
|
||||
serial1 = &duart1;
|
||||
serial2 = &duart2;
|
||||
serial3 = &duart3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -247,6 +247,13 @@
|
|||
bus-width = <4>;
|
||||
};
|
||||
|
||||
ddr: memory-controller@1080000 {
|
||||
compatible = "fsl,qoriq-memory-controller";
|
||||
reg = <0x0 0x1080000 0x0 0x1000>;
|
||||
interrupts = <0 144 0x4>;
|
||||
big-endian;
|
||||
};
|
||||
|
||||
dspi0: dspi@2100000 {
|
||||
compatible = "fsl,ls1043a-dspi", "fsl,ls1021a-v1.0-dspi";
|
||||
#address-cells = <1>;
|
||||
|
|
|
@ -57,6 +57,9 @@
|
|||
serial1 = &serial1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
};
|
||||
|
||||
&esdhc {
|
||||
|
|
|
@ -56,6 +56,10 @@
|
|||
serial0 = &serial0;
|
||||
serial1 = &serial1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial1:115200n8";
|
||||
};
|
||||
};
|
||||
|
||||
&esdhc {
|
||||
|
|
|
@ -588,6 +588,7 @@
|
|||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-lanes = <4>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x10 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
|
@ -612,6 +613,7 @@
|
|||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-lanes = <4>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x12 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
|
@ -636,6 +638,7 @@
|
|||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-lanes = <8>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x14 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
|
@ -660,6 +663,7 @@
|
|||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
num-lanes = <4>;
|
||||
bus-range = <0x0 0xff>;
|
||||
ranges = <0x81000000 0x0 0x00000000 0x16 0x00010000 0x0 0x00010000 /* downstream I/O */
|
||||
|
@ -715,4 +719,18 @@
|
|||
interrupts = <0 12 4>;
|
||||
};
|
||||
};
|
||||
|
||||
ddr1: memory-controller@1080000 {
|
||||
compatible = "fsl,qoriq-memory-controller";
|
||||
reg = <0x0 0x1080000 0x0 0x1000>;
|
||||
interrupts = <0 17 0x4>;
|
||||
little-endian;
|
||||
};
|
||||
|
||||
ddr2: memory-controller@1090000 {
|
||||
compatible = "fsl,qoriq-memory-controller";
|
||||
reg = <0x0 0x1090000 0x0 0x1000>;
|
||||
interrupts = <0 18 0x4>;
|
||||
little-endian;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -29,16 +29,56 @@
|
|||
* Reserve below regions from memory node:
|
||||
*
|
||||
* 0x05e0,0000 - 0x05ef,ffff: MCU firmware runtime using
|
||||
* 0x05f0,1000 - 0x05f0,1fff: Reboot reason
|
||||
* 0x06df,f000 - 0x06df,ffff: Mailbox message data
|
||||
* 0x0740,f000 - 0x0740,ffff: MCU firmware section
|
||||
* 0x21f0,0000 - 0x21ff,ffff: pstore/ramoops buffer
|
||||
* 0x3e00,0000 - 0x3fff,ffff: OP-TEE
|
||||
*/
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x00000000 0x00000000 0x05e00000>,
|
||||
<0x00000000 0x05f00000 0x00000000 0x00eff000>,
|
||||
<0x00000000 0x05f00000 0x00000000 0x00001000>,
|
||||
<0x00000000 0x05f02000 0x00000000 0x00efd000>,
|
||||
<0x00000000 0x06e00000 0x00000000 0x0060f000>,
|
||||
<0x00000000 0x07410000 0x00000000 0x36bf0000>;
|
||||
<0x00000000 0x07410000 0x00000000 0x1aaf0000>,
|
||||
<0x00000000 0x22000000 0x00000000 0x1c000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ramoops@0x21f00000 {
|
||||
compatible = "ramoops";
|
||||
reg = <0x0 0x21f00000 0x0 0x00100000>;
|
||||
record-size = <0x00020000>;
|
||||
console-size = <0x00020000>;
|
||||
ftrace-size = <0x00020000>;
|
||||
};
|
||||
|
||||
/* global autoconfigured region for contiguous allocations */
|
||||
linux,cma {
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
size = <0x00000000 0x08000000>;
|
||||
linux,cma-default;
|
||||
};
|
||||
};
|
||||
|
||||
reboot-mode-syscon@5f01000 {
|
||||
compatible = "syscon", "simple-mfd";
|
||||
reg = <0x0 0x05f01000 0x0 0x00001000>;
|
||||
|
||||
reboot-mode {
|
||||
compatible = "syscon-reboot-mode";
|
||||
offset = <0x0>;
|
||||
|
||||
mode-normal = <0x77665501>;
|
||||
mode-bootloader = <0x77665500>;
|
||||
mode-recovery = <0x77665502>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
|
@ -55,6 +95,8 @@
|
|||
};
|
||||
|
||||
uart1: uart@f7111000 {
|
||||
assigned-clocks = <&sys_ctrl HI6220_UART1_SRC>;
|
||||
assigned-clock-rates = <150000000>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
|
@ -372,3 +414,43 @@
|
|||
&uart3 {
|
||||
label = "LS-UART1";
|
||||
};
|
||||
|
||||
&ade {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&dsi {
|
||||
status = "ok";
|
||||
|
||||
ports {
|
||||
/* 1 for output port */
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
dsi_out0: endpoint@0 {
|
||||
remote-endpoint = <&adv7533_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "ok";
|
||||
|
||||
adv7533: adv7533@39 {
|
||||
compatible = "adi,adv7533";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <1 2>;
|
||||
pd-gpio = <&gpio0 4 0>;
|
||||
adi,dsi-lanes = <4>;
|
||||
|
||||
port {
|
||||
adv7533_in: endpoint {
|
||||
remote-endpoint = <&dsi_out0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -262,6 +262,11 @@
|
|||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
medianoc_ade: medianoc_ade@f4520000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xf4520000 0x0 0x4000>;
|
||||
};
|
||||
|
||||
stub_clock: stub_clock {
|
||||
compatible = "hisilicon,hi6220-stub-clk";
|
||||
hisilicon,hi6220-clk-sram = <&sram>;
|
||||
|
@ -766,6 +771,7 @@
|
|||
interrupts = <0x0 0x48 0x4>;
|
||||
clocks = <&sys_ctrl 2>, <&sys_ctrl 1>;
|
||||
clock-names = "ciu", "biu";
|
||||
resets = <&sys_ctrl PERIPH_RSTDIS0_MMC0>;
|
||||
bus-width = <0x8>;
|
||||
vmmc-supply = <&ldo19>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -779,12 +785,16 @@
|
|||
card-detect-delay = <200>;
|
||||
hisilicon,peripheral-syscon = <&ao_ctrl>;
|
||||
cap-sd-highspeed;
|
||||
sd-uhs-sdr12;
|
||||
sd-uhs-sdr25;
|
||||
sd-uhs-sdr50;
|
||||
reg = <0x0 0xf723e000 0x0 0x1000>;
|
||||
interrupts = <0x0 0x49 0x4>;
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
clocks = <&sys_ctrl 4>, <&sys_ctrl 3>;
|
||||
clock-names = "ciu", "biu";
|
||||
resets = <&sys_ctrl PERIPH_RSTDIS0_MMC1>;
|
||||
vqmmc-supply = <&ldo7>;
|
||||
vmmc-supply = <&ldo10>;
|
||||
bus-width = <0x4>;
|
||||
|
@ -802,6 +812,7 @@
|
|||
interrupts = <0x0 0x4a 0x4>;
|
||||
clocks = <&sys_ctrl HI6220_MMC2_CIUCLK>, <&sys_ctrl HI6220_MMC2_CLK>;
|
||||
clock-names = "ciu", "biu";
|
||||
resets = <&sys_ctrl PERIPH_RSTDIS0_MMC2>;
|
||||
bus-width = <0x4>;
|
||||
broken-cd;
|
||||
pinctrl-names = "default", "idle";
|
||||
|
@ -850,5 +861,55 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
ade: ade@f4100000 {
|
||||
compatible = "hisilicon,hi6220-ade";
|
||||
reg = <0x0 0xf4100000 0x0 0x7800>;
|
||||
reg-names = "ade_base";
|
||||
hisilicon,noc-syscon = <&medianoc_ade>;
|
||||
resets = <&media_ctrl MEDIA_ADE>;
|
||||
interrupts = <0 115 4>; /* ldi interrupt */
|
||||
|
||||
clocks = <&media_ctrl HI6220_ADE_CORE>,
|
||||
<&media_ctrl HI6220_CODEC_JPEG>,
|
||||
<&media_ctrl HI6220_ADE_PIX_SRC>;
|
||||
/*clock name*/
|
||||
clock-names = "clk_ade_core",
|
||||
"clk_codec_jpeg",
|
||||
"clk_ade_pix";
|
||||
|
||||
assigned-clocks = <&media_ctrl HI6220_ADE_CORE>,
|
||||
<&media_ctrl HI6220_CODEC_JPEG>;
|
||||
assigned-clock-rates = <360000000>, <288000000>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
|
||||
port {
|
||||
ade_out: endpoint {
|
||||
remote-endpoint = <&dsi_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dsi: dsi@f4107800 {
|
||||
compatible = "hisilicon,hi6220-dsi";
|
||||
reg = <0x0 0xf4107800 0x0 0x100>;
|
||||
clocks = <&media_ctrl HI6220_DSI_PCLK>;
|
||||
clock-names = "pclk";
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* 0 for input port */
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
dsi_in: endpoint {
|
||||
remote-endpoint = <&ade_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -300,11 +300,6 @@
|
|||
clock-frequency = <200000000>;
|
||||
};
|
||||
|
||||
peri_c_subctrl: syscon@80000000 {
|
||||
compatible = "hisilicon,hip05-perisubc", "syscon";
|
||||
reg = < 0x0 0x80000000 0x0 0x10000>;
|
||||
};
|
||||
|
||||
uart0: uart@80300000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x0 0x80300000 0x0 0x10000>;
|
||||
|
|
|
@ -1,180 +0,0 @@
|
|||
soc0: soc@000000000 {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
device_type = "soc";
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x0 0x0 0x0 0x0 0x1 0x0>;
|
||||
chip-id = <0>;
|
||||
|
||||
soc0_mdio0: mdio@803c0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "hisilicon,hns-mdio";
|
||||
reg = <0x0 0x803c0000 0x0 0x10000>;
|
||||
subctrl-vbase = <&peri_c_subctrl>;
|
||||
|
||||
soc0_phy0: ethernet-phy@0 {
|
||||
reg = <0x0>;
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
};
|
||||
soc0_phy1: ethernet-phy@1 {
|
||||
reg = <0x1>;
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
};
|
||||
};
|
||||
|
||||
dsaf0: dsa@c7000000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "hisilicon,hns-dsaf-v1";
|
||||
mode = "6port-16rss";
|
||||
interrupt-parent = <&mbigen_dsa>;
|
||||
|
||||
reg = <0x0 0xc5000000 0x0 0x890000
|
||||
0x0 0xc7000000 0x0 0x60000
|
||||
>;
|
||||
|
||||
reg-names = "ppe-base","dsaf-base";
|
||||
subctrl-syscon = <&dsaf_subctrl>;
|
||||
reset-field-offset = <0>;
|
||||
interrupts = <
|
||||
/* [14] ge fifo err 8 / xge 6**/
|
||||
149 0x4 150 0x4 151 0x4 152 0x4
|
||||
153 0x4 154 0x4 26 0x4 27 0x4
|
||||
155 0x4 156 0x4 157 0x4 158 0x4 159 0x4 160 0x4
|
||||
/* [12] rcb com 4*3**/
|
||||
0x6 0x4 0x7 0x4 0x8 0x4 0x9 0x4
|
||||
16 0x4 17 0x4 18 0x4 19 0x4
|
||||
22 0x4 23 0x4 24 0x4 25 0x4
|
||||
/* [8] ppe tnl 0-7***/
|
||||
0x0 0x4 0x1 0x4 0x2 0x4 0x3 0x4
|
||||
0x4 0x4 0x5 0x4 12 0x4 13 0x4
|
||||
/* [21] dsaf event int 3+18**/
|
||||
128 0x4 129 0x4 130 0x4
|
||||
0x83 0x4 0x84 0x4 0x85 0x4 0x86 0x4 0x87 0x4 0x88 0x4
|
||||
0x89 0x4 0x8a 0x4 0x8b 0x4 0x8c 0x4 0x8d 0x4 0x8e 0x4
|
||||
0x8f 0x4 0x90 0x4 0x91 0x4 0x92 0x4 0x93 0x4 0x94 0x4
|
||||
/* [4] debug rcb 2*2*/
|
||||
0xe 0x1 0xf 0x1 0x14 0x1 0x15 0x1
|
||||
/* [256] sevice rcb 2*128*/
|
||||
0x180 0x1 0x181 0x1 0x182 0x1 0x183 0x1
|
||||
0x184 0x1 0x185 0x1 0x186 0x1 0x187 0x1
|
||||
0x188 0x1 0x189 0x1 0x18a 0x1 0x18b 0x1
|
||||
0x18c 0x1 0x18d 0x1 0x18e 0x1 0x18f 0x1
|
||||
0x190 0x1 0x191 0x1 0x192 0x1 0x193 0x1
|
||||
0x194 0x1 0x195 0x1 0x196 0x1 0x197 0x1
|
||||
0x198 0x1 0x199 0x1 0x19a 0x1 0x19b 0x1
|
||||
0x19c 0x1 0x19d 0x1 0x19e 0x1 0x19f 0x1
|
||||
0x1a0 0x1 0x1a1 0x1 0x1a2 0x1 0x1a3 0x1
|
||||
0x1a4 0x1 0x1a5 0x1 0x1a6 0x1 0x1a7 0x1
|
||||
0x1a8 0x1 0x1a9 0x1 0x1aa 0x1 0x1ab 0x1
|
||||
0x1ac 0x1 0x1ad 0x1 0x1ae 0x1 0x1af 0x1
|
||||
0x1b0 0x1 0x1b1 0x1 0x1b2 0x1 0x1b3 0x1
|
||||
0x1b4 0x1 0x1b5 0x1 0x1b6 0x1 0x1b7 0x1
|
||||
0x1b8 0x1 0x1b9 0x1 0x1ba 0x1 0x1bb 0x1
|
||||
0x1bc 0x1 0x1bd 0x1 0x1be 0x1 0x1bf 0x1
|
||||
0x1c0 0x1 0x1c1 0x1 0x1c2 0x1 0x1c3 0x1
|
||||
0x1c4 0x1 0x1c5 0x1 0x1c6 0x1 0x1c7 0x1
|
||||
0x1c8 0x1 0x1c9 0x1 0x1ca 0x1 0x1cb 0x1
|
||||
0x1cc 0x1 0x1cd 0x1 0x1ce 0x1 0x1cf 0x1
|
||||
0x1d0 0x1 0x1d1 0x1 0x1d2 0x1 0x1d3 0x1
|
||||
0x1d4 0x1 0x1d5 0x1 0x1d6 0x1 0x1d7 0x1
|
||||
0x1d8 0x1 0x1d9 0x1 0x1da 0x1 0x1db 0x1
|
||||
0x1dc 0x1 0x1dd 0x1 0x1de 0x1 0x1df 0x1
|
||||
0x1e0 0x1 0x1e1 0x1 0x1e2 0x1 0x1e3 0x1
|
||||
0x1e4 0x1 0x1e5 0x1 0x1e6 0x1 0x1e7 0x1
|
||||
0x1e8 0x1 0x1e9 0x1 0x1ea 0x1 0x1eb 0x1
|
||||
0x1ec 0x1 0x1ed 0x1 0x1ee 0x1 0x1ef 0x1
|
||||
0x1f0 0x1 0x1f1 0x1 0x1f2 0x1 0x1f3 0x1
|
||||
0x1f4 0x1 0x1f5 0x1 0x1f6 0x1 0x1f7 0x1
|
||||
0x1f8 0x1 0x1f9 0x1 0x1fa 0x1 0x1fb 0x1
|
||||
0x1fc 0x1 0x1fd 0x1 0x1fe 0x1 0x1ff 0x1
|
||||
0x200 0x1 0x201 0x1 0x202 0x1 0x203 0x1
|
||||
0x204 0x1 0x205 0x1 0x206 0x1 0x207 0x1
|
||||
0x208 0x1 0x209 0x1 0x20a 0x1 0x20b 0x1
|
||||
0x20c 0x1 0x20d 0x1 0x20e 0x1 0x20f 0x1
|
||||
0x210 0x1 0x211 0x1 0x212 0x1 0x213 0x1
|
||||
0x214 0x1 0x215 0x1 0x216 0x1 0x217 0x1
|
||||
0x218 0x1 0x219 0x1 0x21a 0x1 0x21b 0x1
|
||||
0x21c 0x1 0x21d 0x1 0x21e 0x1 0x21f 0x1
|
||||
0x220 0x1 0x221 0x1 0x222 0x1 0x223 0x1
|
||||
0x224 0x1 0x225 0x1 0x226 0x1 0x227 0x1
|
||||
0x228 0x1 0x229 0x1 0x22a 0x1 0x22b 0x1
|
||||
0x22c 0x1 0x22d 0x1 0x22e 0x1 0x22f 0x1
|
||||
0x230 0x1 0x231 0x1 0x232 0x1 0x233 0x1
|
||||
0x234 0x1 0x235 0x1 0x236 0x1 0x237 0x1
|
||||
0x238 0x1 0x239 0x1 0x23a 0x1 0x23b 0x1
|
||||
0x23c 0x1 0x23d 0x1 0x23e 0x1 0x23f 0x1
|
||||
0x240 0x1 0x241 0x1 0x242 0x1 0x243 0x1
|
||||
0x244 0x1 0x245 0x1 0x246 0x1 0x247 0x1
|
||||
0x248 0x1 0x249 0x1 0x24a 0x1 0x24b 0x1
|
||||
0x24c 0x1 0x24d 0x1 0x24e 0x1 0x24f 0x1
|
||||
0x250 0x1 0x251 0x1 0x252 0x1 0x253 0x1
|
||||
0x254 0x1 0x255 0x1 0x256 0x1 0x257 0x1
|
||||
0x258 0x1 0x259 0x1 0x25a 0x1 0x25b 0x1
|
||||
0x25c 0x1 0x25d 0x1 0x25e 0x1 0x25f 0x1
|
||||
0x260 0x1 0x261 0x1 0x262 0x1 0x263 0x1
|
||||
0x264 0x1 0x265 0x1 0x266 0x1 0x267 0x1
|
||||
0x268 0x1 0x269 0x1 0x26a 0x1 0x26b 0x1
|
||||
0x26c 0x1 0x26d 0x1 0x26e 0x1 0x26f 0x1
|
||||
0x270 0x1 0x271 0x1 0x272 0x1 0x273 0x1
|
||||
0x274 0x1 0x275 0x1 0x276 0x1 0x277 0x1
|
||||
0x278 0x1 0x279 0x1 0x27a 0x1 0x27b 0x1
|
||||
0x27c 0x1 0x27d 0x1 0x27e 0x1 0x27f 0x1>;
|
||||
buf-size = <4096>;
|
||||
desc-num = <1024>;
|
||||
dma-coherent;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
serdes-syscon = <&serdes_ctrl0>;
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
serdes-syscon = <&serdes_ctrl0>;
|
||||
};
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
phy-handle = <&soc0_phy0>;
|
||||
serdes-syscon = <&serdes_ctrl1>;
|
||||
};
|
||||
port@5 {
|
||||
reg = <5>;
|
||||
phy-handle = <&soc0_phy1>;
|
||||
serdes-syscon = <&serdes_ctrl1>;
|
||||
};
|
||||
};
|
||||
|
||||
eth0: ethernet@0{
|
||||
compatible = "hisilicon,hns-nic-v1";
|
||||
ae-handle = <&dsaf0>;
|
||||
port-idx-in-ae = <0>;
|
||||
local-mac-address = [00 00 00 01 00 58];
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
};
|
||||
eth1: ethernet@1{
|
||||
compatible = "hisilicon,hns-nic-v1";
|
||||
ae-handle = <&dsaf0>;
|
||||
port-idx-in-ae = <1>;
|
||||
local-mac-address = [00 00 00 01 00 59];
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
};
|
||||
eth2: ethernet@4{
|
||||
compatible = "hisilicon,hns-nic-v1";
|
||||
ae-handle = <&dsaf0>;
|
||||
port-idx-in-ae = <4>;
|
||||
local-mac-address = [00 00 00 01 00 5a];
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
};
|
||||
eth3: ethernet@5{
|
||||
compatible = "hisilicon,hns-nic-v1";
|
||||
ae-handle = <&dsaf0>;
|
||||
port-idx-in-ae = <5>;
|
||||
local-mac-address = [00 00 00 01 00 5b];
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
};
|
||||
};
|
|
@ -25,6 +25,34 @@
|
|||
chosen { };
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
ð1 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
ð2 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
ð3 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&sas0 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&sas1 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&sas2 {
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&usb_ohci {
|
||||
status = "ok";
|
||||
};
|
||||
|
|
|
@ -277,6 +277,39 @@
|
|||
#interrupt-cells = <2>;
|
||||
num-pins = <2>;
|
||||
};
|
||||
|
||||
mbigen_sas1: intc_sas1 {
|
||||
msi-parent = <&its_dsa 0x40000>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
num-pins = <128>;
|
||||
};
|
||||
|
||||
mbigen_sas2: intc_sas2 {
|
||||
msi-parent = <&its_dsa 0x40040>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
num-pins = <128>;
|
||||
};
|
||||
};
|
||||
|
||||
mbigen_dsa@c0080000 {
|
||||
compatible = "hisilicon,mbigen-v2";
|
||||
reg = <0x0 0xc0080000 0x0 0x10000>;
|
||||
|
||||
mbigen_dsaf0: intc_dsaf0 {
|
||||
msi-parent = <&its_dsa 0x40800>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
num-pins = <409>;
|
||||
};
|
||||
|
||||
mbigen_sas0: intc-sas0 {
|
||||
msi-parent = <&its_dsa 0x40900>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
num-pins = <128>;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
|
@ -302,6 +335,338 @@
|
|||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
peri_c_subctrl: sub_ctrl_c@60000000 {
|
||||
compatible = "hisilicon,peri-subctrl","syscon";
|
||||
reg = <0 0x60000000 0x0 0x10000>;
|
||||
};
|
||||
|
||||
dsa_subctrl: dsa_subctrl@c0000000 {
|
||||
compatible = "hisilicon,dsa-subctrl", "syscon";
|
||||
reg = <0x0 0xc0000000 0x0 0x10000>;
|
||||
};
|
||||
|
||||
pcie_subctl: pcie_subctl@a0000000 {
|
||||
compatible = "hisilicon,pcie-sas-subctrl", "syscon";
|
||||
reg = <0x0 0xa0000000 0x0 0x10000>;
|
||||
};
|
||||
|
||||
serdes_ctrl: sds_ctrl@c2200000 {
|
||||
compatible = "syscon";
|
||||
reg = <0 0xc2200000 0x0 0x80000>;
|
||||
};
|
||||
|
||||
mdio@603c0000 {
|
||||
compatible = "hisilicon,hns-mdio";
|
||||
reg = <0x0 0x603c0000 0x0 0x1000>;
|
||||
subctrl-vbase = <&peri_c_subctrl 0x338 0xa38 0x531c 0x5a1c>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
phy1: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
dsaf0: dsa@c7000000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "hisilicon,hns-dsaf-v2";
|
||||
mode = "6port-16rss";
|
||||
reg = <0x0 0xc5000000 0x0 0x890000
|
||||
0x0 0xc7000000 0x0 0x600000>;
|
||||
reg-names = "ppe-base", "dsaf-base";
|
||||
interrupt-parent = <&mbigen_dsaf0>;
|
||||
subctrl-syscon = <&dsa_subctrl>;
|
||||
reset-field-offset = <0>;
|
||||
interrupts =
|
||||
<576 1>, <577 1>, <578 1>, <579 1>, <580 1>,
|
||||
<581 1>, <582 1>, <583 1>, <584 1>, <585 1>,
|
||||
<586 1>, <587 1>, <588 1>, <589 1>, <590 1>,
|
||||
<591 1>, <592 1>, <593 1>, <594 1>, <595 1>,
|
||||
<596 1>, <597 1>, <598 1>, <599 1>, <600 1>,
|
||||
<960 1>, <961 1>, <962 1>, <963 1>, <964 1>,
|
||||
<965 1>, <966 1>, <967 1>, <968 1>, <969 1>,
|
||||
<970 1>, <971 1>, <972 1>, <973 1>, <974 1>,
|
||||
<975 1>, <976 1>, <977 1>, <978 1>, <979 1>,
|
||||
<980 1>, <981 1>, <982 1>, <983 1>, <984 1>,
|
||||
<985 1>, <986 1>, <987 1>, <988 1>, <989 1>,
|
||||
<990 1>, <991 1>, <992 1>, <993 1>, <994 1>,
|
||||
<995 1>, <996 1>, <997 1>, <998 1>, <999 1>,
|
||||
<1000 1>, <1001 1>, <1002 1>, <1003 1>, <1004 1>,
|
||||
<1005 1>, <1006 1>, <1007 1>, <1008 1>, <1009 1>,
|
||||
<1010 1>, <1011 1>, <1012 1>, <1013 1>, <1014 1>,
|
||||
<1015 1>, <1016 1>, <1017 1>, <1018 1>, <1019 1>,
|
||||
<1020 1>, <1021 1>, <1022 1>, <1023 1>, <1024 1>,
|
||||
<1025 1>, <1026 1>, <1027 1>, <1028 1>, <1029 1>,
|
||||
<1030 1>, <1031 1>, <1032 1>, <1033 1>, <1034 1>,
|
||||
<1035 1>, <1036 1>, <1037 1>, <1038 1>, <1039 1>,
|
||||
<1040 1>, <1041 1>, <1042 1>, <1043 1>, <1044 1>,
|
||||
<1045 1>, <1046 1>, <1047 1>, <1048 1>, <1049 1>,
|
||||
<1050 1>, <1051 1>, <1052 1>, <1053 1>, <1054 1>,
|
||||
<1055 1>, <1056 1>, <1057 1>, <1058 1>, <1059 1>,
|
||||
<1060 1>, <1061 1>, <1062 1>, <1063 1>, <1064 1>,
|
||||
<1065 1>, <1066 1>, <1067 1>, <1068 1>, <1069 1>,
|
||||
<1070 1>, <1071 1>, <1072 1>, <1073 1>, <1074 1>,
|
||||
<1075 1>, <1076 1>, <1077 1>, <1078 1>, <1079 1>,
|
||||
<1080 1>, <1081 1>, <1082 1>, <1083 1>, <1084 1>,
|
||||
<1085 1>, <1086 1>, <1087 1>, <1088 1>, <1089 1>,
|
||||
<1090 1>, <1091 1>, <1092 1>, <1093 1>, <1094 1>,
|
||||
<1095 1>, <1096 1>, <1097 1>, <1098 1>, <1099 1>,
|
||||
<1100 1>, <1101 1>, <1102 1>, <1103 1>, <1104 1>,
|
||||
<1105 1>, <1106 1>, <1107 1>, <1108 1>, <1109 1>,
|
||||
<1110 1>, <1111 1>, <1112 1>, <1113 1>, <1114 1>,
|
||||
<1115 1>, <1116 1>, <1117 1>, <1118 1>, <1119 1>,
|
||||
<1120 1>, <1121 1>, <1122 1>, <1123 1>, <1124 1>,
|
||||
<1125 1>, <1126 1>, <1127 1>, <1128 1>, <1129 1>,
|
||||
<1130 1>, <1131 1>, <1132 1>, <1133 1>, <1134 1>,
|
||||
<1135 1>, <1136 1>, <1137 1>, <1138 1>, <1139 1>,
|
||||
<1140 1>, <1141 1>, <1142 1>, <1143 1>, <1144 1>,
|
||||
<1145 1>, <1146 1>, <1147 1>, <1148 1>, <1149 1>,
|
||||
<1150 1>, <1151 1>, <1152 1>, <1153 1>, <1154 1>,
|
||||
<1155 1>, <1156 1>, <1157 1>, <1158 1>, <1159 1>,
|
||||
<1160 1>, <1161 1>, <1162 1>, <1163 1>, <1164 1>,
|
||||
<1165 1>, <1166 1>, <1167 1>, <1168 1>, <1169 1>,
|
||||
<1170 1>, <1171 1>, <1172 1>, <1173 1>, <1174 1>,
|
||||
<1175 1>, <1176 1>, <1177 1>, <1178 1>, <1179 1>,
|
||||
<1180 1>, <1181 1>, <1182 1>, <1183 1>, <1184 1>,
|
||||
<1185 1>, <1186 1>, <1187 1>, <1188 1>, <1189 1>,
|
||||
<1190 1>, <1191 1>, <1192 1>, <1193 1>, <1194 1>,
|
||||
<1195 1>, <1196 1>, <1197 1>, <1198 1>, <1199 1>,
|
||||
<1200 1>, <1201 1>, <1202 1>, <1203 1>, <1204 1>,
|
||||
<1205 1>, <1206 1>, <1207 1>, <1208 1>, <1209 1>,
|
||||
<1210 1>, <1211 1>, <1212 1>, <1213 1>, <1214 1>,
|
||||
<1215 1>, <1216 1>, <1217 1>, <1218 1>, <1219 1>,
|
||||
<1220 1>, <1221 1>, <1222 1>, <1223 1>, <1224 1>,
|
||||
<1225 1>, <1226 1>, <1227 1>, <1228 1>, <1229 1>,
|
||||
<1230 1>, <1231 1>, <1232 1>, <1233 1>, <1234 1>,
|
||||
<1235 1>, <1236 1>, <1237 1>, <1238 1>, <1239 1>,
|
||||
<1240 1>, <1241 1>, <1242 1>, <1243 1>, <1244 1>,
|
||||
<1245 1>, <1246 1>, <1247 1>, <1248 1>, <1249 1>,
|
||||
<1250 1>, <1251 1>, <1252 1>, <1253 1>, <1254 1>,
|
||||
<1255 1>, <1256 1>, <1257 1>, <1258 1>, <1259 1>,
|
||||
<1260 1>, <1261 1>, <1262 1>, <1263 1>, <1264 1>,
|
||||
<1265 1>, <1266 1>, <1267 1>, <1268 1>, <1269 1>,
|
||||
<1270 1>, <1271 1>, <1272 1>, <1273 1>, <1274 1>,
|
||||
<1275 1>, <1276 1>, <1277 1>, <1278 1>, <1279 1>,
|
||||
<1280 1>, <1281 1>, <1282 1>, <1283 1>, <1284 1>,
|
||||
<1285 1>, <1286 1>, <1287 1>, <1288 1>, <1289 1>,
|
||||
<1290 1>, <1291 1>, <1292 1>, <1293 1>, <1294 1>,
|
||||
<1295 1>, <1296 1>, <1297 1>, <1298 1>, <1299 1>,
|
||||
<1300 1>, <1301 1>, <1302 1>, <1303 1>, <1304 1>,
|
||||
<1305 1>, <1306 1>, <1307 1>, <1308 1>, <1309 1>,
|
||||
<1310 1>, <1311 1>, <1312 1>, <1313 1>, <1314 1>,
|
||||
<1315 1>, <1316 1>, <1317 1>, <1318 1>, <1319 1>,
|
||||
<1320 1>, <1321 1>, <1322 1>, <1323 1>, <1324 1>,
|
||||
<1325 1>, <1326 1>, <1327 1>, <1328 1>, <1329 1>,
|
||||
<1330 1>, <1331 1>, <1332 1>, <1333 1>, <1334 1>,
|
||||
<1335 1>, <1336 1>, <1337 1>, <1338 1>, <1339 1>,
|
||||
<1340 1>, <1341 1>, <1342 1>, <1343 1>;
|
||||
|
||||
desc-num = <0x400>;
|
||||
buf-size = <0x1000>;
|
||||
dma-coherent;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
serdes-syscon = <&serdes_ctrl>;
|
||||
port-rst-offset = <0>;
|
||||
port-mode-offset = <0>;
|
||||
media-type = "fiber";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
serdes-syscon= <&serdes_ctrl>;
|
||||
port-rst-offset = <1>;
|
||||
port-mode-offset = <1>;
|
||||
media-type = "fiber";
|
||||
};
|
||||
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
phy-handle = <&phy0>;
|
||||
serdes-syscon= <&serdes_ctrl>;
|
||||
port-rst-offset = <4>;
|
||||
port-mode-offset = <2>;
|
||||
media-type = "copper";
|
||||
};
|
||||
|
||||
port@5 {
|
||||
reg = <5>;
|
||||
phy-handle = <&phy1>;
|
||||
serdes-syscon= <&serdes_ctrl>;
|
||||
port-rst-offset = <5>;
|
||||
port-mode-offset = <3>;
|
||||
media-type = "copper";
|
||||
};
|
||||
};
|
||||
|
||||
eth0: ethernet@4{
|
||||
compatible = "hisilicon,hns-nic-v2";
|
||||
ae-handle = <&dsaf0>;
|
||||
port-idx-in-ae = <4>;
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
eth1: ethernet@5{
|
||||
compatible = "hisilicon,hns-nic-v2";
|
||||
ae-handle = <&dsaf0>;
|
||||
port-idx-in-ae = <5>;
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
eth2: ethernet@0{
|
||||
compatible = "hisilicon,hns-nic-v2";
|
||||
ae-handle = <&dsaf0>;
|
||||
port-idx-in-ae = <0>;
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
eth3: ethernet@1{
|
||||
compatible = "hisilicon,hns-nic-v2";
|
||||
ae-handle = <&dsaf0>;
|
||||
port-idx-in-ae = <1>;
|
||||
local-mac-address = [00 00 00 00 00 00];
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
};
|
||||
|
||||
sas0: sas@c3000000 {
|
||||
compatible = "hisilicon,hip06-sas-v2";
|
||||
reg = <0 0xc3000000 0 0x10000>;
|
||||
sas-addr = [50 01 88 20 16 00 00 00];
|
||||
hisilicon,sas-syscon = <&dsa_subctrl>;
|
||||
ctrl-reset-reg = <0xa60>;
|
||||
ctrl-reset-sts-reg = <0x5a30>;
|
||||
ctrl-clock-ena-reg = <0x338>;
|
||||
queue-count = <16>;
|
||||
phy-count = <8>;
|
||||
dma-coherent;
|
||||
interrupt-parent = <&mbigen_sas0>;
|
||||
interrupts = <64 4>,<65 4>,<66 4>,<67 4>,<68 4>,
|
||||
<69 4>,<70 4>,<71 4>,<72 4>,<73 4>,
|
||||
<75 4>,<76 4>,<77 4>,<78 4>,<79 4>,
|
||||
<80 4>,<81 4>,<82 4>,<83 4>,<84 4>,
|
||||
<85 4>,<86 4>,<87 4>,<88 4>,<89 4>,
|
||||
<90 4>,<91 4>,<92 4>,<93 4>,<94 4>,
|
||||
<95 4>,<96 4>,<97 4>,<98 4>,<99 4>,
|
||||
<100 4>,<101 4>,<102 4>,<103 4>,<104 4>,
|
||||
<105 4>,<106 4>,<107 4>,<108 4>,<109 4>,
|
||||
<110 4>,<111 4>,<112 4>,<113 4>,<114 4>,
|
||||
<115 4>,<116 4>,<117 4>,<118 4>,<119 4>,
|
||||
<120 4>,<121 4>,<122 4>,<123 4>,<124 4>,
|
||||
<125 4>,<126 4>,<127 4>,<128 4>,<129 4>,
|
||||
<130 4>,<131 4>,<132 4>,<133 4>,<134 4>,
|
||||
<135 4>,<136 4>,<137 4>,<138 4>,<139 4>,
|
||||
<140 4>,<141 4>,<142 4>,<143 4>,<144 4>,
|
||||
<145 4>,<146 4>,<147 4>,<148 4>,<149 4>,
|
||||
<150 4>,<151 4>,<152 4>,<153 4>,<154 4>,
|
||||
<155 4>,<156 4>,<157 4>,<158 4>,<159 4>,
|
||||
<160 4>,<601 1>,<602 1>,<603 1>,<604 1>,
|
||||
<605 1>,<606 1>,<607 1>,<608 1>,<609 1>,
|
||||
<610 1>,<611 1>,<612 1>,<613 1>,<614 1>,
|
||||
<615 1>,<616 1>,<617 1>,<618 1>,<619 1>,
|
||||
<620 1>,<621 1>,<622 1>,<623 1>,<624 1>,
|
||||
<625 1>,<626 1>,<627 1>,<628 1>,<629 1>,
|
||||
<630 1>,<631 1>,<632 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sas1: sas@a2000000 {
|
||||
compatible = "hisilicon,hip06-sas-v2";
|
||||
reg = <0 0xa2000000 0 0x10000>;
|
||||
sas-addr = [50 01 88 20 16 00 00 00];
|
||||
hisilicon,sas-syscon = <&pcie_subctl>;
|
||||
am-max-trans;
|
||||
ctrl-reset-reg = <0xa18>;
|
||||
ctrl-reset-sts-reg = <0x5a0c>;
|
||||
ctrl-clock-ena-reg = <0x318>;
|
||||
queue-count = <16>;
|
||||
phy-count = <8>;
|
||||
dma-coherent;
|
||||
interrupt-parent = <&mbigen_sas1>;
|
||||
interrupts = <64 4>,<65 4>,<66 4>,<67 4>,<68 4>,
|
||||
<69 4>,<70 4>,<71 4>,<72 4>,<73 4>,
|
||||
<74 4>,<75 4>,<76 4>,<77 4>,<78 4>,
|
||||
<79 4>,<80 4>,<81 4>,<82 4>,<83 4>,
|
||||
<84 4>,<85 4>,<86 4>,<87 4>,<88 4>,
|
||||
<89 4>,<90 4>,<91 4>,<92 4>,<93 4>,
|
||||
<94 4>,<95 4>,<96 4>,<97 4>,<98 4>,
|
||||
<99 4>,<100 4>,<101 4>,<102 4>,<103 4>,
|
||||
<104 4>,<105 4>,<106 4>,<107 4>,<108 4>,
|
||||
<109 4>,<110 4>,<111 4>,<112 4>,<113 4>,
|
||||
<114 4>,<115 4>,<116 4>,<117 4>,<118 4>,
|
||||
<119 4>,<120 4>,<121 4>,<122 4>,<123 4>,
|
||||
<124 4>,<125 4>,<126 4>,<127 4>,<128 4>,
|
||||
<129 4>,<130 4>,<131 4>,<132 4>,<133 4>,
|
||||
<134 4>,<135 4>,<136 4>,<137 4>,<138 4>,
|
||||
<139 4>,<140 4>,<141 4>,<142 4>,<143 4>,
|
||||
<144 4>,<145 4>,<146 4>,<147 4>,<148 4>,
|
||||
<149 4>,<150 4>,<151 4>,<152 4>,<153 4>,
|
||||
<154 4>,<155 4>,<156 4>,<157 4>,<158 4>,
|
||||
<159 4>,<576 1>,<577 1>,<578 1>,<579 1>,
|
||||
<580 1>,<581 1>,<582 1>,<583 1>,<584 1>,
|
||||
<585 1>,<586 1>,<587 1>,<588 1>,<589 1>,
|
||||
<590 1>,<591 1>,<592 1>,<593 1>,<594 1>,
|
||||
<595 1>,<596 1>,<597 1>,<598 1>,<599 1>,
|
||||
<600 1>,<601 1>,<602 1>,<603 1>,<604 1>,
|
||||
<605 1>,<606 1>,<607 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sas2: sas@a3000000 {
|
||||
compatible = "hisilicon,hip06-sas-v2";
|
||||
reg = <0 0xa3000000 0 0x10000>;
|
||||
sas-addr = [50 01 88 20 16 00 00 00];
|
||||
hisilicon,sas-syscon = <&pcie_subctl>;
|
||||
ctrl-reset-reg = <0xae0>;
|
||||
ctrl-reset-sts-reg = <0x5a70>;
|
||||
ctrl-clock-ena-reg = <0x3a8>;
|
||||
queue-count = <16>;
|
||||
phy-count = <9>;
|
||||
dma-coherent;
|
||||
interrupt-parent = <&mbigen_sas2>;
|
||||
interrupts = <192 4>,<193 4>,<194 4>,<195 4>,<196 4>,
|
||||
<197 4>,<198 4>,<199 4>,<200 4>,<201 4>,
|
||||
<202 4>,<203 4>,<204 4>,<205 4>,<206 4>,
|
||||
<207 4>,<208 4>,<209 4>,<210 4>,<211 4>,
|
||||
<212 4>,<213 4>,<214 4>,<215 4>,<216 4>,
|
||||
<217 4>,<218 4>,<219 4>,<220 4>,<221 4>,
|
||||
<222 4>,<223 4>,<224 4>,<225 4>,<226 4>,
|
||||
<227 4>,<228 4>,<229 4>,<230 4>,<231 4>,
|
||||
<232 4>,<233 4>,<234 4>,<235 4>,<236 4>,
|
||||
<237 4>,<238 4>,<239 4>,<240 4>,<241 4>,
|
||||
<242 4>,<243 4>,<244 4>,<245 4>,<246 4>,
|
||||
<247 4>,<248 4>,<249 4>,<250 4>,<251 4>,
|
||||
<252 4>,<253 4>,<254 4>,<255 4>,<256 4>,
|
||||
<257 4>,<258 4>,<259 4>,<260 4>,<261 4>,
|
||||
<262 4>,<263 4>,<264 4>,<265 4>,<266 4>,
|
||||
<267 4>,<268 4>,<269 4>,<270 4>,<271 4>,
|
||||
<272 4>,<273 4>,<274 4>,<275 4>,<276 4>,
|
||||
<277 4>,<278 4>,<279 4>,<280 4>,<281 4>,
|
||||
<282 4>,<283 4>,<284 4>,<285 4>,<286 4>,
|
||||
<287 4>,<608 1>,<609 1>,<610 1>,<611 1>,
|
||||
<612 1>,<613 1>,<614 1>,<615 1>,<616 1>,
|
||||
<617 1>,<618 1>,<619 1>,<620 1>,<621 1>,
|
||||
<622 1>,<623 1>,<624 1>,<625 1>,<626 1>,
|
||||
<627 1>,<628 1>,<629 1>,<630 1>,<631 1>,
|
||||
<632 1>,<633 1>,<634 1>,<635 1>,<636 1>,
|
||||
<637 1>,<638 1>,<639 1>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
|
|
@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_BERLIN) += berlin4ct-stb.dtb
|
|||
# Mvebu SoC Family
|
||||
dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-db.dtb
|
||||
dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb
|
||||
dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-db.dtb
|
||||
|
||||
always := $(dtb-y)
|
||||
subdir-y := $(dts-dirs)
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
#include "armada-ap806-dual.dtsi"
|
||||
#include "armada-cp110-master.dtsi"
|
||||
#include "armada-cp110-slave.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Marvell Armada 8020";
|
||||
|
|
|
@ -0,0 +1,150 @@
|
|||
/*
|
||||
* Copyright (C) 2016 Marvell Technology Group Ltd.
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPLv2 or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Device Tree file for Marvell Armada 8040 Development board platform
|
||||
*/
|
||||
|
||||
#include "armada-8040.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Marvell Armada 8040 DB board";
|
||||
compatible = "marvell,armada8040-db", "marvell,armada8040",
|
||||
"marvell,armada-ap806-quad", "marvell,armada-ap806";
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory@00000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
spi-flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <10000000>;
|
||||
|
||||
partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
partition@0 {
|
||||
label = "U-Boot";
|
||||
reg = <0 0x200000>;
|
||||
};
|
||||
partition@400000 {
|
||||
label = "Filesystem";
|
||||
reg = <0x200000 0xce0000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Accessible over the mini-USB CON9 connector on the main board */
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
/* CON5 on CP0 expansion */
|
||||
&cpm_pcie2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_i2c0 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
/* CON4 on CP0 expansion */
|
||||
&cpm_sata0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON9 on CP0 expansion */
|
||||
&cpm_usb3_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON10 on CP0 expansion */
|
||||
&cpm_usb3_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON5 on CP1 expansion */
|
||||
&cps_pcie2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cps_i2c0 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
/* CON4 on CP1 expansion */
|
||||
&cps_sata0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON9 on CP1 expansion */
|
||||
&cps_usb3_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON10 on CP1 expansion */
|
||||
&cps_usb3_1 {
|
||||
status = "okay";
|
||||
};
|
|
@ -47,6 +47,7 @@
|
|||
|
||||
#include "armada-ap806-quad.dtsi"
|
||||
#include "armada-cp110-master.dtsi"
|
||||
#include "armada-cp110-slave.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Marvell Armada 8040";
|
||||
|
|
|
@ -128,6 +128,12 @@
|
|||
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a72-pmu";
|
||||
interrupt-parent = <&pic>;
|
||||
interrupts = <17>;
|
||||
};
|
||||
|
||||
odmi: odmi@300000 {
|
||||
compatible = "marvell,odmi-controller";
|
||||
interrupt-controller;
|
||||
|
@ -140,6 +146,14 @@
|
|||
marvell,spi-base = <128>, <136>, <144>, <152>;
|
||||
};
|
||||
|
||||
pic: interrupt-controller@3f0100 {
|
||||
compatible = "marvell,armada-8k-pic";
|
||||
reg = <0x3f0100 0x10>;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-controller;
|
||||
interrupts = <GIC_PPI 15 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
xor@400000 {
|
||||
compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
|
||||
reg = <0x400000 0x1000>,
|
||||
|
|
|
@ -176,6 +176,7 @@
|
|||
#interrupt-cells = <1>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
|
||||
bus-range = <0 0xff>;
|
||||
ranges =
|
||||
|
@ -201,6 +202,7 @@
|
|||
#interrupt-cells = <1>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
|
||||
bus-range = <0 0xff>;
|
||||
ranges =
|
||||
|
@ -227,6 +229,7 @@
|
|||
#interrupt-cells = <1>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
|
||||
bus-range = <0 0xff>;
|
||||
ranges =
|
||||
|
|
|
@ -0,0 +1,249 @@
|
|||
/*
|
||||
* Copyright (C) 2016 Marvell Technology Group Ltd.
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPLv2 or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Device Tree file for Marvell Armada CP110 Slave.
|
||||
*/
|
||||
|
||||
/ {
|
||||
cp110-slave {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&gic>;
|
||||
ranges;
|
||||
|
||||
config-space {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&gic>;
|
||||
ranges = <0x0 0x0 0xf4000000 0x2000000>;
|
||||
|
||||
cps_syscon0: system-controller@440000 {
|
||||
compatible = "marvell,cp110-system-controller0",
|
||||
"syscon";
|
||||
reg = <0x440000 0x1000>;
|
||||
#clock-cells = <2>;
|
||||
core-clock-output-names =
|
||||
"cps-apll", "cps-ppv2-core", "cps-eip",
|
||||
"cps-core", "cps-nand-core";
|
||||
gate-clock-output-names =
|
||||
"cps-audio", "cps-communit", "cps-nand",
|
||||
"cps-ppv2", "cps-sdio", "cps-mg-domain",
|
||||
"cps-mg-core", "cps-xor1", "cps-xor0",
|
||||
"cps-gop-dp", "none", "cps-pcie_x10",
|
||||
"cps-pcie_x11", "cps-pcie_x4", "cps-pcie-xor",
|
||||
"cps-sata", "cps-sata-usb", "cps-main",
|
||||
"cps-sd-mmc", "none", "none",
|
||||
"cps-slow-io", "cps-usb3h0", "cps-usb3h1",
|
||||
"cps-usb3dev", "cps-eip150", "cps-eip197";
|
||||
};
|
||||
|
||||
cps_sata0: sata@540000 {
|
||||
compatible = "marvell,armada-8k-ahci";
|
||||
reg = <0x540000 0x30000>;
|
||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_syscon0 1 15>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_usb3_0: usb3@500000 {
|
||||
compatible = "marvell,armada-8k-xhci",
|
||||
"generic-xhci";
|
||||
reg = <0x500000 0x4000>;
|
||||
dma-coherent;
|
||||
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_syscon0 1 22>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_usb3_1: usb3@510000 {
|
||||
compatible = "marvell,armada-8k-xhci",
|
||||
"generic-xhci";
|
||||
reg = <0x510000 0x4000>;
|
||||
dma-coherent;
|
||||
interrupts = <GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_syscon0 1 23>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_xor0: xor@6a0000 {
|
||||
compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
|
||||
reg = <0x6a0000 0x1000>,
|
||||
<0x6b0000 0x1000>;
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
clocks = <&cps_syscon0 1 8>;
|
||||
};
|
||||
|
||||
cps_xor1: xor@6c0000 {
|
||||
compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
|
||||
reg = <0x6c0000 0x1000>,
|
||||
<0x6d0000 0x1000>;
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
clocks = <&cps_syscon0 1 7>;
|
||||
};
|
||||
|
||||
cps_spi0: spi@700600 {
|
||||
compatible = "marvell,armada-380-spi";
|
||||
reg = <0x700600 0x50>;
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
cell-index = <1>;
|
||||
clocks = <&cps_syscon0 0 3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_spi1: spi@700680 {
|
||||
compatible = "marvell,armada-380-spi";
|
||||
reg = <0x700680 0x50>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cell-index = <2>;
|
||||
clocks = <&cps_syscon0 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_i2c0: i2c@701000 {
|
||||
compatible = "marvell,mv78230-i2c";
|
||||
reg = <0x701000 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_syscon0 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_i2c1: i2c@701100 {
|
||||
compatible = "marvell,mv78230-i2c";
|
||||
reg = <0x701100 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_syscon0 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
cps_pcie0: pcie@f4600000 {
|
||||
compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
|
||||
reg = <0 0xf4600000 0 0x10000>,
|
||||
<0 0xfaf00000 0 0x80000>;
|
||||
reg-names = "ctrl", "config";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
#interrupt-cells = <1>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
|
||||
bus-range = <0 0xff>;
|
||||
ranges =
|
||||
/* downstream I/O */
|
||||
<0x81000000 0 0xfd000000 0 0xfd000000 0 0x10000
|
||||
/* non-prefetchable memory */
|
||||
0x82000000 0 0xfa000000 0 0xfa000000 0 0xf00000>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
|
||||
num-lanes = <1>;
|
||||
clocks = <&cps_syscon0 1 13>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_pcie1: pcie@f4620000 {
|
||||
compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
|
||||
reg = <0 0xf4620000 0 0x10000>,
|
||||
<0 0xfbf00000 0 0x80000>;
|
||||
reg-names = "ctrl", "config";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
#interrupt-cells = <1>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
|
||||
bus-range = <0 0xff>;
|
||||
ranges =
|
||||
/* downstream I/O */
|
||||
<0x81000000 0 0xfd010000 0 0xfd010000 0 0x10000
|
||||
/* non-prefetchable memory */
|
||||
0x82000000 0 0xfb000000 0 0xfb000000 0 0xf00000>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
num-lanes = <1>;
|
||||
clocks = <&cps_syscon0 1 11>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_pcie2: pcie@f4640000 {
|
||||
compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
|
||||
reg = <0 0xf4640000 0 0x10000>,
|
||||
<0 0xfcf00000 0 0x80000>;
|
||||
reg-names = "ctrl", "config";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
#interrupt-cells = <1>;
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
|
||||
bus-range = <0 0xff>;
|
||||
ranges =
|
||||
/* downstream I/O */
|
||||
<0x81000000 0 0xfd020000 0 0xfd020000 0 0x10000
|
||||
/* non-prefetchable memory */
|
||||
0x82000000 0 0xfc000000 0 0xfc000000 0 0xf00000>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &gic 0 GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
num-lanes = <1>;
|
||||
clocks = <&cps_syscon0 1 12>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
|
@ -68,6 +68,7 @@
|
|||
device_type = "cpu";
|
||||
reg = <0x0>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_SLEEP_0>;
|
||||
};
|
||||
|
||||
|
@ -76,6 +77,7 @@
|
|||
device_type = "cpu";
|
||||
reg = <0x1>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_SLEEP_0>;
|
||||
};
|
||||
|
||||
|
@ -84,6 +86,7 @@
|
|||
device_type = "cpu";
|
||||
reg = <0x2>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_SLEEP_0>;
|
||||
};
|
||||
|
||||
|
@ -92,9 +95,14 @@
|
|||
device_type = "cpu";
|
||||
reg = <0x3>;
|
||||
enable-method = "psci";
|
||||
next-level-cache = <&l2>;
|
||||
cpu-idle-states = <&CPU_SLEEP_0>;
|
||||
};
|
||||
|
||||
l2: cache {
|
||||
compatible = "cache";
|
||||
};
|
||||
|
||||
idle-states {
|
||||
entry-method = "psci";
|
||||
CPU_SLEEP_0: cpu-sleep-0 {
|
||||
|
@ -115,7 +123,7 @@
|
|||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,armv8-pmuv3";
|
||||
compatible = "arm,cortex-a53-pmu", "arm,armv8-pmuv3";
|
||||
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
@ -279,7 +287,6 @@
|
|||
reg = <0x4000 0x100>;
|
||||
clocks = <&osc>;
|
||||
interrupts = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
wdt2: watchdog@5000 {
|
||||
|
@ -287,7 +294,6 @@
|
|||
reg = <0x5000 0x100>;
|
||||
clocks = <&osc>;
|
||||
interrupts = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sm_gpio0: gpio@8000 {
|
||||
|
|
|
@ -42,6 +42,44 @@
|
|||
gpio = <&pio 130 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
connector {
|
||||
compatible = "hdmi-connector";
|
||||
label = "hdmi";
|
||||
type = "d";
|
||||
|
||||
port {
|
||||
hdmi_connector_in: endpoint {
|
||||
remote-endpoint = <&hdmi0_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dpi0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
hdmi0_out: endpoint {
|
||||
remote-endpoint = <&hdmi_connector_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
|
|
|
@ -254,6 +254,16 @@
|
|||
<GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
hdmi_pin: xxx {
|
||||
|
||||
/*hdmi htplg pin*/
|
||||
pins1 {
|
||||
pinmux = <MT8173_PIN_21_HTPLG__FUNC_HTPLG>;
|
||||
input-enable;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_pins_a: i2c0 {
|
||||
pins1 {
|
||||
pinmux = <MT8173_PIN_45_SDA0__FUNC_SDA0>,
|
||||
|
@ -341,6 +351,14 @@
|
|||
clock-names = "spi", "wrap";
|
||||
};
|
||||
|
||||
cec: cec@10013000 {
|
||||
compatible = "mediatek,mt8173-cec";
|
||||
reg = <0 0x10013000 0 0xbc>;
|
||||
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&infracfg CLK_INFRA_CEC>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
vpu: vpu@10020000 {
|
||||
compatible = "mediatek,mt8173-vpu";
|
||||
reg = <0 0x10020000 0 0x30000>,
|
||||
|
@ -383,6 +401,19 @@
|
|||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
hdmi_phy: hdmi-phy@10209100 {
|
||||
compatible = "mediatek,mt8173-hdmi-phy";
|
||||
reg = <0 0x10209100 0 0x24>;
|
||||
clocks = <&apmixedsys CLK_APMIXED_HDMI_REF>;
|
||||
clock-names = "pll_ref";
|
||||
clock-output-names = "hdmitx_dig_cts";
|
||||
mediatek,ibias = <0xa>;
|
||||
mediatek,ibias_up = <0x1c>;
|
||||
#clock-cells = <0>;
|
||||
#phy-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mipi_tx0: mipi-dphy@10215000 {
|
||||
compatible = "mediatek,mt8173-mipi-tx";
|
||||
reg = <0 0x10215000 0 0x1000>;
|
||||
|
@ -577,6 +608,14 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
hdmiddc0: i2c@11012000 {
|
||||
compatible = "mediatek,mt8173-hdmi-ddc";
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_LOW>;
|
||||
reg = <0 0x11012000 0 0x1C>;
|
||||
clocks = <&pericfg CLK_PERI_I2C5>;
|
||||
clock-names = "ddc-i2c";
|
||||
};
|
||||
|
||||
i2c6: i2c@11013000 {
|
||||
compatible = "mediatek,mt8173-i2c";
|
||||
reg = <0 0x11013000 0 0x70>,
|
||||
|
@ -885,6 +924,12 @@
|
|||
<&apmixedsys CLK_APMIXED_TVDPLL>;
|
||||
clock-names = "pixel", "engine", "pll";
|
||||
status = "disabled";
|
||||
|
||||
port {
|
||||
dpi0_out: endpoint {
|
||||
remote-endpoint = <&hdmi0_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pwm0: pwm@1401e000 {
|
||||
|
@ -942,6 +987,38 @@
|
|||
clocks = <&mmsys CLK_MM_DISP_OD>;
|
||||
};
|
||||
|
||||
hdmi0: hdmi@14025000 {
|
||||
compatible = "mediatek,mt8173-hdmi";
|
||||
reg = <0 0x14025000 0 0x400>;
|
||||
interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&mmsys CLK_MM_HDMI_PIXEL>,
|
||||
<&mmsys CLK_MM_HDMI_PLLCK>,
|
||||
<&mmsys CLK_MM_HDMI_AUDIO>,
|
||||
<&mmsys CLK_MM_HDMI_SPDIF>;
|
||||
clock-names = "pixel", "pll", "bclk", "spdif";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmi_pin>;
|
||||
phys = <&hdmi_phy>;
|
||||
phy-names = "hdmi";
|
||||
mediatek,syscon-hdmi = <&mmsys 0x900>;
|
||||
assigned-clocks = <&topckgen CLK_TOP_HDMI_SEL>;
|
||||
assigned-clock-parents = <&hdmi_phy>;
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
hdmi0_in: endpoint {
|
||||
remote-endpoint = <&dpi0_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
larb4: larb@14027000 {
|
||||
compatible = "mediatek,mt8173-smi-larb";
|
||||
reg = <0 0x14027000 0 0x1000>;
|
||||
|
|
|
@ -27,6 +27,12 @@
|
|||
reg = <0x0 0x80000000 0x0 0xc0000000>;
|
||||
};
|
||||
|
||||
host1x@50000000 {
|
||||
dpaux: dpaux@545c0000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
pinmux: pinmux@700008d4 {
|
||||
pinctrl-names = "boot";
|
||||
pinctrl-0 = <&state_boot>;
|
||||
|
@ -1556,6 +1562,46 @@
|
|||
};
|
||||
};
|
||||
|
||||
i2c@7000d100 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
nau8825@1a {
|
||||
compatible = "nuvoton,nau8825";
|
||||
reg = <0x1a>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <TEGRA_GPIO(E, 6) IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_CLK_OUT_2>;
|
||||
clock-names = "mclk";
|
||||
|
||||
nuvoton,jkdet-enable;
|
||||
nuvoton,jkdet-polarity = <GPIO_ACTIVE_LOW>;
|
||||
nuvoton,vref-impedance = <2>;
|
||||
nuvoton,micbias-voltage = <6>;
|
||||
nuvoton,sar-threshold-num = <4>;
|
||||
nuvoton,sar-threshold = <0xc 0x1e 0x38 0x60>;
|
||||
nuvoton,sar-hysteresis = <1>;
|
||||
nuvoton,sar-voltage = <0>;
|
||||
nuvoton,sar-compare-time = <0>;
|
||||
nuvoton,sar-sampling-time = <0>;
|
||||
nuvoton,short-key-debounce = <2>;
|
||||
nuvoton,jack-insert-debounce = <7>;
|
||||
nuvoton,jack-eject-debounce = <7>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
audio-codec@2d {
|
||||
compatible = "realtek,rt5677";
|
||||
reg = <0x2d>;
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <TEGRA_GPIO(X, 0) IRQ_TYPE_LEVEL_HIGH>;
|
||||
realtek,reset-gpio = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_LOW>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
pmc@7000e400 {
|
||||
nvidia,invert-interrupt;
|
||||
nvidia,suspend-mode = <0>;
|
||||
|
@ -1568,12 +1614,81 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
usb@70090000 {
|
||||
phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>,
|
||||
<&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>;
|
||||
phy-names = "usb2-0", "usb3-0";
|
||||
|
||||
dvddio-pex-supply = <&avddio_1v05>;
|
||||
hvddio-pex-supply = <&pp1800>;
|
||||
avdd-usb-supply = <&pp3300>;
|
||||
avdd-pll-utmip-supply = <&pp1800>;
|
||||
avdd-pll-uerefe-supply = <&pp1050_avdd>;
|
||||
dvdd-pex-pll-supply = <&avddio_1v05>;
|
||||
hvdd-pex-pll-e-supply = <&pp1800>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
padctl@7009f000 {
|
||||
status = "okay";
|
||||
|
||||
pads {
|
||||
usb2 {
|
||||
status = "okay";
|
||||
|
||||
lanes {
|
||||
usb2-0 {
|
||||
nvidia,function = "xusb";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pcie {
|
||||
status = "okay";
|
||||
|
||||
lanes {
|
||||
pcie-6 {
|
||||
nvidia,function = "usb3-ss";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ports {
|
||||
usb2-0 {
|
||||
status = "okay";
|
||||
vbus-supply = <&usbc_vbus>;
|
||||
mode = "otg";
|
||||
};
|
||||
|
||||
usb3-0 {
|
||||
nvidia,usb2-companion = <0>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sdhci@700b0600 {
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
aconnect@702c0000 {
|
||||
status = "okay";
|
||||
|
||||
dma@702e2000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
agic@702f9000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
clocks {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
|
@ -1646,6 +1761,11 @@
|
|||
};
|
||||
};
|
||||
|
||||
max98357a {
|
||||
compatible = "maxim,max98357a";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
clock-names = "dpaux", "parent";
|
||||
resets = <&tegra_car 207>;
|
||||
reset-names = "dpaux";
|
||||
power-domains = <&pd_sor>;
|
||||
status = "disabled";
|
||||
|
||||
state_dpaux1_aux: pinmux-aux {
|
||||
|
@ -108,6 +109,7 @@
|
|||
clock-names = "dsi", "lp", "parent";
|
||||
resets = <&tegra_car 48>;
|
||||
reset-names = "dsi";
|
||||
power-domains = <&pd_sor>;
|
||||
nvidia,mipi-calibrate = <&mipi 0x0c0>; /* DSIA & DSIB pads */
|
||||
|
||||
status = "disabled";
|
||||
|
@ -137,6 +139,7 @@
|
|||
clock-names = "dsi", "lp", "parent";
|
||||
resets = <&tegra_car 82>;
|
||||
reset-names = "dsi";
|
||||
power-domains = <&pd_sor>;
|
||||
nvidia,mipi-calibrate = <&mipi 0x300>; /* DSIC & DSID pads */
|
||||
|
||||
status = "disabled";
|
||||
|
@ -178,6 +181,7 @@
|
|||
pinctrl-1 = <&state_dpaux_i2c>;
|
||||
pinctrl-2 = <&state_dpaux_off>;
|
||||
pinctrl-names = "aux", "i2c", "off";
|
||||
power-domains = <&pd_sor>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -197,6 +201,7 @@
|
|||
pinctrl-1 = <&state_dpaux1_i2c>;
|
||||
pinctrl-2 = <&state_dpaux1_off>;
|
||||
pinctrl-names = "aux", "i2c", "off";
|
||||
power-domains = <&pd_sor>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@ -209,6 +214,7 @@
|
|||
clock-names = "dpaux", "parent";
|
||||
resets = <&tegra_car 181>;
|
||||
reset-names = "dpaux";
|
||||
power-domains = <&pd_sor>;
|
||||
status = "disabled";
|
||||
|
||||
state_dpaux_aux: pinmux-aux {
|
||||
|
@ -325,7 +331,7 @@
|
|||
};
|
||||
|
||||
gpio: gpio@6000d000 {
|
||||
compatible = "nvidia,tegra210-gpio", "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
|
||||
compatible = "nvidia,tegra210-gpio", "nvidia,tegra30-gpio";
|
||||
reg = <0x0 0x6000d000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
@ -648,27 +654,41 @@
|
|||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_sor: sor {
|
||||
clocks = <&tegra_car TEGRA210_CLK_SOR0>,
|
||||
<&tegra_car TEGRA210_CLK_SOR1>,
|
||||
<&tegra_car TEGRA210_CLK_CSI>,
|
||||
<&tegra_car TEGRA210_CLK_DSIA>,
|
||||
<&tegra_car TEGRA210_CLK_DSIB>,
|
||||
<&tegra_car TEGRA210_CLK_DPAUX>,
|
||||
<&tegra_car TEGRA210_CLK_DPAUX1>,
|
||||
<&tegra_car TEGRA210_CLK_MIPI_CAL>;
|
||||
resets = <&tegra_car TEGRA210_CLK_SOR0>,
|
||||
<&tegra_car TEGRA210_CLK_SOR1>,
|
||||
<&tegra_car TEGRA210_CLK_CSI>,
|
||||
<&tegra_car TEGRA210_CLK_DSIA>,
|
||||
<&tegra_car TEGRA210_CLK_DSIB>,
|
||||
<&tegra_car TEGRA210_CLK_DPAUX>,
|
||||
<&tegra_car TEGRA210_CLK_DPAUX1>,
|
||||
<&tegra_car TEGRA210_CLK_MIPI_CAL>;
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_xusbss: xusba {
|
||||
clocks = <&tegra_car TEGRA210_CLK_XUSB_SS>;
|
||||
clock-names = "xusb-ss";
|
||||
resets = <&tegra_car TEGRA210_CLK_XUSB_SS>;
|
||||
reset-names = "xusb-ss";
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_xusbdev: xusbb {
|
||||
clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>;
|
||||
clock-names = "xusb-dev";
|
||||
resets = <&tegra_car 95>;
|
||||
reset-names = "xusb-dev";
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
|
||||
pd_xusbhost: xusbc {
|
||||
clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
|
||||
clock-names = "xusb-host";
|
||||
resets = <&tegra_car TEGRA210_CLK_XUSB_HOST>;
|
||||
reset-names = "xusb-host";
|
||||
#power-domain-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
@ -948,6 +968,7 @@
|
|||
reg = <0x0 0x700e3000 0x0 0x100>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>;
|
||||
clock-names = "mipi-cal";
|
||||
power-domains = <&pd_sor>;
|
||||
#nvidia,mipi-calibrate-cells = <1>;
|
||||
};
|
||||
|
||||
|
@ -961,6 +982,50 @@
|
|||
#size-cells = <1>;
|
||||
ranges = <0x702c0000 0x0 0x702c0000 0x00040000>;
|
||||
status = "disabled";
|
||||
|
||||
adma: dma@702e2000 {
|
||||
compatible = "nvidia,tegra210-adma";
|
||||
reg = <0x702e2000 0x2000>;
|
||||
interrupt-parent = <&agic>;
|
||||
interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#dma-cells = <1>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
|
||||
clock-names = "d_audio";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
agic: agic@702f9000 {
|
||||
compatible = "nvidia,tegra210-agic";
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0x702f9000 0x2000>,
|
||||
<0x702fa000 0x2000>;
|
||||
interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_APE>;
|
||||
clock-names = "clk";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
spi@70410000 {
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb msm8916-mtp.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += msm8996-mtp.dtb
|
||||
dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb
|
||||
|
||||
always := $(dtb-y)
|
||||
subdir-y := $(dts-dirs)
|
||||
|
|
|
@ -24,4 +24,52 @@
|
|||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
adv7533_int_active: adv533_int_active {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio31";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio31";
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
adv7533_int_suspend: adv7533_int_suspend {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio31";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio31";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
adv7533_switch_active: adv7533_switch_active {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio32";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio32";
|
||||
drive-strength = <16>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
adv7533_switch_suspend: adv7533_switch_suspend {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio32";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio32";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -63,6 +63,47 @@
|
|||
/* On High speed expansion */
|
||||
label = "HS-I2C2";
|
||||
status = "okay";
|
||||
|
||||
adv_bridge: bridge@39 {
|
||||
status = "okay";
|
||||
|
||||
compatible = "adi,adv7533";
|
||||
reg = <0x39>;
|
||||
|
||||
interrupt-parent = <&msmgpio>;
|
||||
interrupts = <31 2>;
|
||||
|
||||
adi,dsi-lanes = <4>;
|
||||
|
||||
pd-gpios = <&msmgpio 32 0>;
|
||||
|
||||
avdd-supply = <&pm8916_l6>;
|
||||
v1p2-supply = <&pm8916_l6>;
|
||||
v3p3-supply = <&pm8916_l17>;
|
||||
|
||||
pinctrl-names = "default","sleep";
|
||||
pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
|
||||
pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7533_in: endpoint {
|
||||
remote-endpoint = <&dsi0_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7533_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2c@78ba000 {
|
||||
|
@ -180,6 +221,36 @@
|
|||
lpass@07708000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
mdss@1a00000 {
|
||||
status = "okay";
|
||||
|
||||
mdp@1a01000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsi@1a98000 {
|
||||
status = "okay";
|
||||
|
||||
vdda-supply = <&pm8916_l2>;
|
||||
vddio-supply = <&pm8916_l6>;
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
endpoint {
|
||||
remote-endpoint = <&adv7533_in>;
|
||||
data-lanes = <0 1 2 3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dsi-phy@1a98300 {
|
||||
status = "okay";
|
||||
|
||||
vddio-supply = <&pm8916_l6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
usb2513 {
|
||||
|
@ -194,6 +265,17 @@
|
|||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usb_id_default>;
|
||||
};
|
||||
|
||||
hdmi-out {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con: endpoint {
|
||||
remote-endpoint = <&adv7533_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&smd_rpm_regulators {
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
&msmgpio {
|
||||
sdc2_cd_on: sdc2_cd_on {
|
||||
mux {
|
||||
pins = "gpio38";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio38";
|
||||
bias-pull-up; /* pull up */
|
||||
drive-strength = <16>; /* 16 MA */
|
||||
};
|
||||
};
|
||||
|
||||
sdc2_cd_off: sdc2_cd_off {
|
||||
mux {
|
||||
pins = "gpio38";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio38";
|
||||
bias-pull-up; /* pull up */
|
||||
drive-strength = <2>; /* 2 MA */
|
||||
};
|
||||
};
|
||||
};
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "apq8096-db820c.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Qualcomm Technologies, Inc. DB820c";
|
||||
compatible = "arrow,apq8096-db820c", "qcom,apq8096-sbc";
|
||||
};
|
|
@ -0,0 +1,88 @@
|
|||
/*
|
||||
* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include "msm8996.dtsi"
|
||||
#include "apq8096-db820c-pins.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &blsp2_uart1;
|
||||
serial1 = &blsp2_uart2;
|
||||
i2c0 = &blsp1_i2c2;
|
||||
i2c1 = &blsp2_i2c1;
|
||||
i2c2 = &blsp2_i2c0;
|
||||
spi0 = &blsp1_spi0;
|
||||
spi1 = &blsp2_spi5;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
soc {
|
||||
serial@75b0000 {
|
||||
label = "LS-UART1";
|
||||
status = "okay";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&blsp2_uart1_2pins_default>;
|
||||
pinctrl-1 = <&blsp2_uart1_2pins_sleep>;
|
||||
};
|
||||
|
||||
serial@75b1000 {
|
||||
label = "LS-UART0";
|
||||
status = "okay";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&blsp2_uart2_4pins_default>;
|
||||
pinctrl-1 = <&blsp2_uart2_4pins_sleep>;
|
||||
};
|
||||
|
||||
i2c@07577000 {
|
||||
/* On Low speed expansion */
|
||||
label = "LS-I2C0";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c@075b6000 {
|
||||
/* On Low speed expansion */
|
||||
label = "LS-I2C1";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
spi@07575000 {
|
||||
/* On Low speed expansion */
|
||||
label = "LS-SPI0";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c@075b5000 {
|
||||
/* On High speed expansion */
|
||||
label = "HS-I2C2";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
spi@075ba000{
|
||||
/* On High speed expansion */
|
||||
label = "HS-SPI1";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sdhci@74a4900 {
|
||||
/* External SD card */
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
|
||||
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
|
||||
cd-gpios = <&msmgpio 38 0x1>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
|
@ -86,6 +86,11 @@
|
|||
reg = <0x0 0x89300000 0x0 0x600000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
mba_mem: mba@8ea00000 {
|
||||
no-map;
|
||||
reg = <0 0x8ea00000 0 0x100000>;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
|
@ -155,6 +160,49 @@
|
|||
interrupts = <GIC_PPI 7 GIC_CPU_MASK_SIMPLE(4)>;
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
cpu-thermal0 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 4>;
|
||||
|
||||
trips {
|
||||
cpu_alert0: trip0 {
|
||||
temperature = <75000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
cpu_crit0: trip1 {
|
||||
temperature = <110000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu-thermal1 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens 3>;
|
||||
|
||||
trips {
|
||||
cpu_alert1: trip0 {
|
||||
temperature = <75000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
cpu_crit1: trip1 {
|
||||
temperature = <110000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
|
@ -187,10 +235,11 @@
|
|||
};
|
||||
|
||||
firmware {
|
||||
scm {
|
||||
scm: scm {
|
||||
compatible = "qcom,scm";
|
||||
clocks = <&gcc GCC_CRYPTO_CLK>, <&gcc GCC_CRYPTO_AXI_CLK>, <&gcc GCC_CRYPTO_AHB_CLK>;
|
||||
clock-names = "core", "bus", "iface";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -228,6 +277,11 @@
|
|||
reg = <0x1905000 0x20000>;
|
||||
};
|
||||
|
||||
tcsr: syscon@1937000 {
|
||||
compatible = "qcom,tcsr-msm8916", "syscon";
|
||||
reg = <0x1937000 0x30000>;
|
||||
};
|
||||
|
||||
tcsr_mutex: hwlock {
|
||||
compatible = "qcom,tcsr-mutex";
|
||||
syscon = <&tcsr_mutex_regs 0 0x1000>;
|
||||
|
@ -483,7 +537,7 @@
|
|||
compatible = "qcom,ci-hdrc";
|
||||
reg = <0x78d9000 0x400>;
|
||||
dr_mode = "peripheral";
|
||||
interrupts = <GIC_SPI 134 IRQ_TYPE_NONE>;
|
||||
interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
|
||||
usb-phy = <&usb_otg>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -491,7 +545,7 @@
|
|||
usb_host: ehci@78d9000 {
|
||||
compatible = "qcom,ehci-host";
|
||||
reg = <0x78d9000 0x400>;
|
||||
interrupts = <GIC_SPI 134 IRQ_TYPE_NONE>;
|
||||
interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
|
||||
usb-phy = <&usb_otg>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@ -499,8 +553,8 @@
|
|||
usb_otg: phy@78d9000 {
|
||||
compatible = "qcom,usb-otg-snps";
|
||||
reg = <0x78d9000 0x400>;
|
||||
interrupts = <GIC_SPI 134 IRQ_TYPE_EDGE_BOTH>,
|
||||
<GIC_SPI 140 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
qcom,vdd-levels = <500000 1000000 1320000>;
|
||||
qcom,phy-init-sequence = <0x44 0x6B 0x24 0x13>;
|
||||
|
@ -594,7 +648,7 @@
|
|||
<0x200a000 0x002100>;
|
||||
reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
|
||||
interrupt-names = "periph_irq";
|
||||
interrupts = <GIC_SPI 190 IRQ_TYPE_NONE>;
|
||||
interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
|
||||
qcom,ee = <0>;
|
||||
qcom,channel = <0>;
|
||||
#address-cells = <2>;
|
||||
|
@ -609,6 +663,144 @@
|
|||
clocks = <&gcc GCC_PRNG_AHB_CLK>;
|
||||
clock-names = "core";
|
||||
};
|
||||
|
||||
qfprom: qfprom@5c000 {
|
||||
compatible = "qcom,qfprom";
|
||||
reg = <0x5c000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
tsens_caldata: caldata@d0 {
|
||||
reg = <0xd0 0x8>;
|
||||
};
|
||||
tsens_calsel: calsel@ec {
|
||||
reg = <0xec 0x4>;
|
||||
};
|
||||
};
|
||||
|
||||
tsens: thermal-sensor@4a8000 {
|
||||
compatible = "qcom,msm8916-tsens";
|
||||
reg = <0x4a8000 0x2000>;
|
||||
nvmem-cells = <&tsens_caldata>, <&tsens_calsel>;
|
||||
nvmem-cell-names = "calib", "calib_sel";
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
|
||||
mdss: mdss@1a00000 {
|
||||
compatible = "qcom,mdss";
|
||||
reg = <0x1a00000 0x1000>,
|
||||
<0x1ac8000 0x3000>;
|
||||
reg-names = "mdss_phys", "vbif_phys";
|
||||
|
||||
power-domains = <&gcc MDSS_GDSC>;
|
||||
|
||||
clocks = <&gcc GCC_MDSS_AHB_CLK>,
|
||||
<&gcc GCC_MDSS_AXI_CLK>,
|
||||
<&gcc GCC_MDSS_VSYNC_CLK>;
|
||||
clock-names = "iface_clk",
|
||||
"bus_clk",
|
||||
"vsync_clk";
|
||||
|
||||
interrupts = <0 72 0>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
mdp: mdp@1a01000 {
|
||||
compatible = "qcom,mdp5";
|
||||
reg = <0x1a01000 0x90000>;
|
||||
reg-names = "mdp_phys";
|
||||
|
||||
interrupt-parent = <&mdss>;
|
||||
interrupts = <0 0>;
|
||||
|
||||
clocks = <&gcc GCC_MDSS_AHB_CLK>,
|
||||
<&gcc GCC_MDSS_AXI_CLK>,
|
||||
<&gcc GCC_MDSS_MDP_CLK>,
|
||||
<&gcc GCC_MDSS_VSYNC_CLK>;
|
||||
clock-names = "iface_clk",
|
||||
"bus_clk",
|
||||
"core_clk",
|
||||
"vsync_clk";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
mdp5_intf1_out: endpoint {
|
||||
remote-endpoint = <&dsi0_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dsi0: dsi@1a98000 {
|
||||
compatible = "qcom,mdss-dsi-ctrl";
|
||||
reg = <0x1a98000 0x25c>;
|
||||
reg-names = "dsi_ctrl";
|
||||
|
||||
interrupt-parent = <&mdss>;
|
||||
interrupts = <4 0>;
|
||||
|
||||
assigned-clocks = <&gcc BYTE0_CLK_SRC>,
|
||||
<&gcc PCLK0_CLK_SRC>;
|
||||
assigned-clock-parents = <&dsi_phy0 0>,
|
||||
<&dsi_phy0 1>;
|
||||
|
||||
clocks = <&gcc GCC_MDSS_MDP_CLK>,
|
||||
<&gcc GCC_MDSS_AHB_CLK>,
|
||||
<&gcc GCC_MDSS_AXI_CLK>,
|
||||
<&gcc GCC_MDSS_BYTE0_CLK>,
|
||||
<&gcc GCC_MDSS_PCLK0_CLK>,
|
||||
<&gcc GCC_MDSS_ESC0_CLK>;
|
||||
clock-names = "mdp_core_clk",
|
||||
"iface_clk",
|
||||
"bus_clk",
|
||||
"byte_clk",
|
||||
"pixel_clk",
|
||||
"core_clk";
|
||||
phys = <&dsi_phy0>;
|
||||
phy-names = "dsi-phy";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
dsi0_in: endpoint {
|
||||
remote-endpoint = <&mdp5_intf1_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
dsi0_out: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
dsi_phy0: dsi-phy@1a98300 {
|
||||
compatible = "qcom,dsi-phy-28nm-lp";
|
||||
reg = <0x1a98300 0xd4>,
|
||||
<0x1a98500 0x280>,
|
||||
<0x1a98780 0x30>;
|
||||
reg-names = "dsi_pll",
|
||||
"dsi_phy",
|
||||
"dsi_phy_regulator";
|
||||
|
||||
#clock-cells = <1>;
|
||||
|
||||
clocks = <&gcc GCC_MDSS_AHB_CLK>;
|
||||
clock-names = "iface_clk";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
smd {
|
||||
|
@ -657,6 +849,88 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
hexagon-smp2p {
|
||||
compatible = "qcom,smp2p";
|
||||
qcom,smem = <435>, <428>;
|
||||
|
||||
interrupts = <0 27 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
qcom,ipc = <&apcs 8 14>;
|
||||
|
||||
qcom,local-pid = <0>;
|
||||
qcom,remote-pid = <1>;
|
||||
|
||||
hexagon_smp2p_out: master-kernel {
|
||||
qcom,entry-name = "master-kernel";
|
||||
|
||||
#qcom,smem-state-cells = <1>;
|
||||
};
|
||||
|
||||
hexagon_smp2p_in: slave-kernel {
|
||||
qcom,entry-name = "slave-kernel";
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
wcnss-smp2p {
|
||||
compatible = "qcom,smp2p";
|
||||
qcom,smem = <451>, <431>;
|
||||
|
||||
interrupts = <0 143 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
qcom,ipc = <&apcs 8 18>;
|
||||
|
||||
qcom,local-pid = <0>;
|
||||
qcom,remote-pid = <4>;
|
||||
|
||||
wcnss_smp2p_out: master-kernel {
|
||||
qcom,entry-name = "master-kernel";
|
||||
|
||||
#qcom,smem-state-cells = <1>;
|
||||
};
|
||||
|
||||
wcnss_smp2p_in: slave-kernel {
|
||||
qcom,entry-name = "slave-kernel";
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
smsm {
|
||||
compatible = "qcom,smsm";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,ipc-1 = <&apcs 0 13>;
|
||||
qcom,ipc-6 = <&apcs 0 19>;
|
||||
|
||||
apps_smsm: apps@0 {
|
||||
reg = <0>;
|
||||
|
||||
#qcom,smem-state-cells = <1>;
|
||||
};
|
||||
|
||||
hexagon_smsm: hexagon@1 {
|
||||
reg = <1>;
|
||||
interrupts = <0 26 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
|
||||
wcnss_smsm: wcnss@6 {
|
||||
reg = <6>;
|
||||
interrupts = <0 144 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
#include "msm8916-pins.dtsi"
|
||||
|
|
|
@ -97,6 +97,92 @@
|
|||
};
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
cpu-thermal0 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens0 3>;
|
||||
|
||||
trips {
|
||||
cpu_alert0: trip0 {
|
||||
temperature = <75000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu_crit0: trip1 {
|
||||
temperature = <110000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu-thermal1 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens0 5>;
|
||||
|
||||
trips {
|
||||
cpu_alert1: trip0 {
|
||||
temperature = <75000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu_crit1: trip1 {
|
||||
temperature = <110000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu-thermal2 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens0 8>;
|
||||
|
||||
trips {
|
||||
cpu_alert2: trip0 {
|
||||
temperature = <75000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu_crit2: trip1 {
|
||||
temperature = <110000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu-thermal3 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
|
||||
thermal-sensors = <&tsens0 10>;
|
||||
|
||||
trips {
|
||||
cpu_alert3: trip0 {
|
||||
temperature = <75000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
|
||||
cpu_crit3: trip1 {
|
||||
temperature = <110000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
|
@ -181,6 +267,12 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
tsens0: thermal-sensor@4a8000 {
|
||||
compatible = "qcom,msm8996-tsens";
|
||||
reg = <0x4a8000 0x2000>;
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
|
||||
blsp2_uart1: serial@75b0000 {
|
||||
compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
|
||||
reg = <0x75b0000 0x1000>;
|
||||
|
@ -339,7 +431,7 @@
|
|||
<0x400a000 0x002100>;
|
||||
reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
|
||||
interrupt-names = "periph_irq";
|
||||
interrupts = <GIC_SPI 326 IRQ_TYPE_NONE>;
|
||||
interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
|
||||
qcom,ee = <0>;
|
||||
qcom,channel = <0>;
|
||||
#address-cells = <2>;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-evb-act8846.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-geekbox.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-orion-r68-meta.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3368-r88.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-evb.dtb
|
||||
|
||||
|
|
|
@ -0,0 +1,382 @@
|
|||
/*
|
||||
* Copyright (c) 2016 Matthias Brugger <mbrugger@suse.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include "rk3368.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Rockchip Orion R68";
|
||||
compatible = "tronsmart,orion-r68-meta", "rockchip,rk3368";
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:115200n8";
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
emmc_pwrseq: emmc-pwrseq {
|
||||
compatible = "mmc-pwrseq-emmc";
|
||||
pinctrl-0 = <&emmc_reset>;
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
ext_gmac: external-gmac-clock {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "ext_gmac";
|
||||
};
|
||||
|
||||
keys: gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pwr_key>;
|
||||
|
||||
power {
|
||||
wakeup-source;
|
||||
gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
|
||||
label = "GPIO Power";
|
||||
linux,code = <KEY_POWER>;
|
||||
};
|
||||
};
|
||||
|
||||
leds: gpio-leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
red {
|
||||
gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
|
||||
label = "orion:red:led";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&led_ctl>;
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
blue {
|
||||
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
|
||||
label = "orion:blue:led";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&stby_pwren>;
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
vcc_18: vcc18-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_18";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
/* supplies both host and otg */
|
||||
vcc_host: vcc-host-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
gpio = <&gpio0 4 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&host_vbus_drv>;
|
||||
regulator-name = "vcc_host";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
vcc_io: vcc-io-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_io";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
vcc_lan: vcc-lan-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_lan";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_io>;
|
||||
};
|
||||
|
||||
vcc_sd: vcc-sd-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_sd";
|
||||
gpio = <&gpio3 11 GPIO_ACTIVE_LOW>;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_io>;
|
||||
};
|
||||
|
||||
vcc_sys: vcc-sys-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_sys";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vccio_sd: vcc-io-sd-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name= "vccio_sd";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_io>;
|
||||
};
|
||||
|
||||
vccio_wl: vccio-wl-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vccio_wl";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_io>;
|
||||
};
|
||||
|
||||
vdd_10: vdd-10-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vdd_10";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
};
|
||||
|
||||
&emmc {
|
||||
bus-width = <8>;
|
||||
cap-mmc-highspeed;
|
||||
disable-wp;
|
||||
keep-power-in-suspend;
|
||||
mmc-pwrseq = <&emmc_pwrseq>;
|
||||
mmc-hs200-1_2v;
|
||||
mmc-hs200-1_8v;
|
||||
non-removable;
|
||||
num-slots = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gmac {
|
||||
assigned-clocks = <&cru SCLK_MAC>;
|
||||
assigned-clock-parents = <&ext_gmac>;
|
||||
clock_in_out = "input";
|
||||
phy-supply = <&vcc_lan>;
|
||||
phy-mode = "rgmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&rgmii_pins>;
|
||||
snps,reset-gpio = <&gpio3 12 0>;
|
||||
snps,reset-active-low;
|
||||
snps,reset-delays-us = <0 10000 1000000>;
|
||||
tx_delay = <0x30>;
|
||||
rx_delay = <0x10>;
|
||||
status = "ok";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
vdd_cpu: syr827@40 {
|
||||
compatible = "silergy,syr827";
|
||||
reg = <0x40>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_cpu";
|
||||
regulator-enable-ramp-delay = <300>;
|
||||
regulator-min-microvolt = <712500>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-ramp-delay = <8000>;
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
vin-supply = <&vcc_sys>;
|
||||
};
|
||||
|
||||
hym8563: hym8563@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "xin32k";
|
||||
/* rtc_int is not connected */
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
|
||||
bias-disable;
|
||||
drive-strength = <8>;
|
||||
};
|
||||
|
||||
pcfg_pull_up_drv_8ma: pcfg-pull-up-drv-8ma {
|
||||
bias-pull-up;
|
||||
drive-strength = <8>;
|
||||
};
|
||||
|
||||
emmc {
|
||||
emmc_bus8: emmc-bus8 {
|
||||
rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
|
||||
<1 19 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
|
||||
<1 20 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
|
||||
<1 21 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
|
||||
<1 22 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
|
||||
<1 23 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
|
||||
<1 24 RK_FUNC_2 &pcfg_pull_up_drv_8ma>,
|
||||
<1 25 RK_FUNC_2 &pcfg_pull_up_drv_8ma>;
|
||||
};
|
||||
|
||||
emmc-clk {
|
||||
rockchip,pins = <2 4 RK_FUNC_2 &pcfg_pull_none_drv_8ma>;
|
||||
};
|
||||
|
||||
emmc-cmd {
|
||||
rockchip,pins = <1 26 RK_FUNC_2 &pcfg_pull_up_drv_8ma>;
|
||||
};
|
||||
|
||||
emmc_reset: emmc-reset {
|
||||
rockchip,pins = <2 3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
keys {
|
||||
pwr_key: pwr-key {
|
||||
rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
stby_pwren: stby-pwren {
|
||||
rockchip,pins = <0 12 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
led_ctl: led-ctl {
|
||||
rockchip,pins = <3 29 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
sdmmc {
|
||||
sdmmc_clk: sdmmc-clk {
|
||||
rockchip,pins = <2 9 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
|
||||
};
|
||||
|
||||
sdmmc_cmd: sdmmc-cmd {
|
||||
rockchip,pins = <2 10 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
|
||||
};
|
||||
|
||||
sdmmc_cd: sdmmc-cd {
|
||||
rockchip,pins = <2 11 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
|
||||
};
|
||||
|
||||
sdmmc_bus1: sdmmc-bus1 {
|
||||
rockchip,pins = <2 5 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
|
||||
};
|
||||
|
||||
sdmmc_bus4: sdmmc-bus4 {
|
||||
rockchip,pins = <2 5 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
|
||||
<2 6 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
|
||||
<2 7 RK_FUNC_1 &pcfg_pull_up_drv_8ma>,
|
||||
<2 8 RK_FUNC_1 &pcfg_pull_up_drv_8ma>;
|
||||
};
|
||||
};
|
||||
|
||||
usb {
|
||||
host_vbus_drv: host-vbus-drv {
|
||||
rockchip,pins = <0 4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcc_18>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
bus-width = <4>;
|
||||
clock-frequency = <50000000>;
|
||||
clock-freq-min-max = <400000 50000000>;
|
||||
cap-sd-highspeed;
|
||||
card-detect-delay = <200>;
|
||||
keep-power-in-suspend;
|
||||
num-slots = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
|
||||
vmmc-supply = <&vcc_sd>;
|
||||
vqmmc-supply = <&vccio_sd>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart4_xfer>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wdt {
|
||||
status = "okay";
|
||||
};
|
|
@ -248,7 +248,6 @@
|
|||
&sdio0 {
|
||||
assigned-clocks = <&cru SCLK_SDIO0>;
|
||||
assigned-clock-parents = <&cru PLL_CPLL>;
|
||||
broken-cd;
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
cap-sdio-irq;
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
#include <dt-bindings/soc/rockchip,boot-mode.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
/ {
|
||||
|
@ -641,6 +642,15 @@
|
|||
compatible = "rockchip,rk3368-pmu-io-voltage-domain";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
reboot-mode {
|
||||
compatible = "syscon-reboot-mode";
|
||||
offset = <0x200>;
|
||||
mode-normal = <BOOT_NORMAL>;
|
||||
mode-recovery = <BOOT_RECOVERY>;
|
||||
mode-bootloader = <BOOT_FASTBOOT>;
|
||||
mode-loader = <BOOT_BL_DOWNLOAD>;
|
||||
};
|
||||
};
|
||||
|
||||
cru: clock-controller@ff760000 {
|
||||
|
|
|
@ -49,6 +49,13 @@
|
|||
compatible = "rockchip,rk3399-evb", "rockchip,rk3399",
|
||||
"google,rk3399evb-rev2";
|
||||
|
||||
clkin_gmac: external-gmac-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "clkin_gmac";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
vdd_center: vdd-center {
|
||||
compatible = "pwm-regulator";
|
||||
pwms = <&pwm3 0 25000 0>;
|
||||
|
@ -69,18 +76,61 @@
|
|||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vcc5v0_sys: vcc5v0-sys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc5v0_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
|
||||
vcc5v0_host: vcc5v0-host-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vcc5v0_host_en>;
|
||||
regulator-name = "vcc5v0_host";
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
vcc_phy: vcc-phy-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_phy";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
vcc_phy: vcc-phy-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_phy";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&emmc_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gmac {
|
||||
assigned-clocks = <&cru SCLK_RMII_SRC>;
|
||||
assigned-clock-parents = <&clkin_gmac>;
|
||||
clock_in_out = "input";
|
||||
phy-supply = <&vcc_phy>;
|
||||
phy-mode = "rgmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&rgmii_pins>;
|
||||
snps,reset-gpio = <&gpio3 15 GPIO_ACTIVE_LOW>;
|
||||
snps,reset-active-low;
|
||||
snps,reset-delays-us = <0 10000 50000>;
|
||||
tx_delay = <0x28>;
|
||||
rx_delay = <0x11>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -101,6 +151,36 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie_phy {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
ep-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
|
||||
num-lanes = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie_clkreqn>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&u2phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy0_host {
|
||||
phy-supply = <&vcc5v0_host>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy1_host {
|
||||
phy-supply = <&vcc5v0_host>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -133,4 +213,11 @@
|
|||
<1 18 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
};
|
||||
|
||||
usb2 {
|
||||
vcc5v0_host_en: vcc5v0-host-en {
|
||||
rockchip,pins =
|
||||
<4 25 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
#include <dt-bindings/power/rk3399-power.h>
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
||||
/ {
|
||||
|
@ -152,6 +153,16 @@
|
|||
};
|
||||
};
|
||||
|
||||
pmu_a53 {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster0>;
|
||||
};
|
||||
|
||||
pmu_a72 {
|
||||
compatible = "arm,cortex-a72-pmu";
|
||||
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW &ppi_cluster1>;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
|
@ -159,10 +170,10 @@
|
|||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW 0>,
|
||||
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW 0>,
|
||||
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW 0>,
|
||||
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW 0>;
|
||||
};
|
||||
|
||||
xin24m: xin24m {
|
||||
|
@ -181,8 +192,8 @@
|
|||
dmac_bus: dma-controller@ff6d0000 {
|
||||
compatible = "arm,pl330", "arm,primecell";
|
||||
reg = <0x0 0xff6d0000 0x0 0x4000>;
|
||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
#dma-cells = <1>;
|
||||
clocks = <&cru ACLK_DMAC0_PERILP>;
|
||||
clock-names = "apb_pclk";
|
||||
|
@ -191,19 +202,39 @@
|
|||
dmac_peri: dma-controller@ff6e0000 {
|
||||
compatible = "arm,pl330", "arm,primecell";
|
||||
reg = <0x0 0xff6e0000 0x0 0x4000>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
#dma-cells = <1>;
|
||||
clocks = <&cru ACLK_DMAC1_PERILP>;
|
||||
clock-names = "apb_pclk";
|
||||
};
|
||||
};
|
||||
|
||||
gmac: ethernet@fe300000 {
|
||||
compatible = "rockchip,rk3399-gmac";
|
||||
reg = <0x0 0xfe300000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
interrupt-names = "macirq";
|
||||
clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
|
||||
<&cru SCLK_MAC_TX>, <&cru SCLK_MACREF>,
|
||||
<&cru SCLK_MACREF_OUT>, <&cru ACLK_GMAC>,
|
||||
<&cru PCLK_GMAC>;
|
||||
clock-names = "stmmaceth", "mac_clk_rx",
|
||||
"mac_clk_tx", "clk_mac_ref",
|
||||
"clk_mac_refout", "aclk_mac",
|
||||
"pclk_mac";
|
||||
power-domains = <&power RK3399_PD_GMAC>;
|
||||
resets = <&cru SRST_A_GMAC>;
|
||||
reset-names = "stmmaceth";
|
||||
rockchip,grf = <&grf>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdio0: dwmmc@fe310000 {
|
||||
compatible = "rockchip,rk3399-dw-mshc",
|
||||
"rockchip,rk3288-dw-mshc";
|
||||
reg = <0x0 0xfe310000 0x0 0x4000>;
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clock-freq-min-max = <400000 150000000>;
|
||||
clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>,
|
||||
<&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
|
||||
|
@ -216,7 +247,7 @@
|
|||
compatible = "rockchip,rk3399-dw-mshc",
|
||||
"rockchip,rk3288-dw-mshc";
|
||||
reg = <0x0 0xfe320000 0x0 0x4000>;
|
||||
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clock-freq-min-max = <400000 150000000>;
|
||||
clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>,
|
||||
<&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
|
||||
|
@ -228,7 +259,7 @@
|
|||
sdhci: sdhci@fe330000 {
|
||||
compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1";
|
||||
reg = <0x0 0xfe330000 0x0 0x10000>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
arasan,soc-ctl-syscon = <&grf>;
|
||||
assigned-clocks = <&cru SCLK_EMMC>;
|
||||
assigned-clock-rates = <200000000>;
|
||||
|
@ -241,19 +272,60 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
pcie0: pcie@f8000000 {
|
||||
compatible = "rockchip,rk3399-pcie";
|
||||
reg = <0x0 0xf8000000 0x0 0x2000000>,
|
||||
<0x0 0xfd000000 0x0 0x1000000>;
|
||||
reg-names = "axi-base", "apb-base";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
#interrupt-cells = <1>;
|
||||
bus-range = <0x0 0x1>;
|
||||
clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>,
|
||||
<&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>;
|
||||
clock-names = "aclk", "aclk-perf",
|
||||
"hclk", "pm";
|
||||
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||
<GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH 0>,
|
||||
<GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
interrupt-names = "sys", "legacy", "client";
|
||||
interrupt-map-mask = <0 0 0 7>;
|
||||
interrupt-map = <0 0 0 1 &pcie0_intc 0>,
|
||||
<0 0 0 2 &pcie0_intc 1>,
|
||||
<0 0 0 3 &pcie0_intc 2>,
|
||||
<0 0 0 4 &pcie0_intc 3>;
|
||||
msi-map = <0x0 &its 0x0 0x1000>;
|
||||
phys = <&pcie_phy>;
|
||||
phy-names = "pcie-phy";
|
||||
ranges = <0x83000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x600000
|
||||
0x81000000 0x0 0xfa600000 0x0 0xfa600000 0x0 0x100000>;
|
||||
resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
|
||||
<&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>;
|
||||
reset-names = "core", "mgmt", "mgmt-sticky", "pipe";
|
||||
status = "disabled";
|
||||
|
||||
pcie0_intc: interrupt-controller {
|
||||
interrupt-controller;
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
usb_host0_ehci: usb@fe380000 {
|
||||
compatible = "generic-ehci";
|
||||
reg = <0x0 0xfe380000 0x0 0x20000>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
|
||||
clock-names = "hclk_host0", "hclk_host0_arb";
|
||||
phys = <&u2phy0_host>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb_host0_ohci: usb@fe3a0000 {
|
||||
compatible = "generic-ohci";
|
||||
reg = <0x0 0xfe3a0000 0x0 0x20000>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST0_ARB>;
|
||||
clock-names = "hclk_host0", "hclk_host0_arb";
|
||||
status = "disabled";
|
||||
|
@ -262,16 +334,18 @@
|
|||
usb_host1_ehci: usb@fe3c0000 {
|
||||
compatible = "generic-ehci";
|
||||
reg = <0x0 0xfe3c0000 0x0 0x20000>;
|
||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
|
||||
clock-names = "hclk_host1", "hclk_host1_arb";
|
||||
phys = <&u2phy1_host>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb_host1_ohci: usb@fe3e0000 {
|
||||
compatible = "generic-ohci";
|
||||
reg = <0x0 0xfe3e0000 0x0 0x20000>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST1_ARB>;
|
||||
clock-names = "hclk_host1", "hclk_host1_arb";
|
||||
status = "disabled";
|
||||
|
@ -279,7 +353,7 @@
|
|||
|
||||
gic: interrupt-controller@fee00000 {
|
||||
compatible = "arm,gic-v3";
|
||||
#interrupt-cells = <3>;
|
||||
#interrupt-cells = <4>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
@ -290,12 +364,34 @@
|
|||
<0x0 0xfff00000 0 0x10000>, /* GICC */
|
||||
<0x0 0xfff10000 0 0x10000>, /* GICH */
|
||||
<0x0 0xfff20000 0 0x10000>; /* GICV */
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
its: interrupt-controller@fee20000 {
|
||||
compatible = "arm,gic-v3-its";
|
||||
msi-controller;
|
||||
reg = <0x0 0xfee20000 0x0 0x20000>;
|
||||
};
|
||||
|
||||
ppi-partitions {
|
||||
ppi_cluster0: interrupt-partition-0 {
|
||||
affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>;
|
||||
};
|
||||
|
||||
ppi_cluster1: interrupt-partition-1 {
|
||||
affinity = <&cpu_b0 &cpu_b1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
saradc: saradc@ff100000 {
|
||||
compatible = "rockchip,rk3399-saradc";
|
||||
reg = <0x0 0xff100000 0x0 0x100>;
|
||||
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
#io-channel-cells = <1>;
|
||||
clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
|
||||
clock-names = "saradc", "apb_pclk";
|
||||
resets = <&cru SRST_P_SARADC>;
|
||||
reset-names = "saradc-apb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@ff110000 {
|
||||
|
@ -305,7 +401,7 @@
|
|||
assigned-clock-rates = <200000000>;
|
||||
clocks = <&cru SCLK_I2C1>, <&cru PCLK_I2C1>;
|
||||
clock-names = "i2c", "pclk";
|
||||
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c1_xfer>;
|
||||
#address-cells = <1>;
|
||||
|
@ -320,7 +416,7 @@
|
|||
assigned-clock-rates = <200000000>;
|
||||
clocks = <&cru SCLK_I2C2>, <&cru PCLK_I2C2>;
|
||||
clock-names = "i2c", "pclk";
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c2_xfer>;
|
||||
#address-cells = <1>;
|
||||
|
@ -335,7 +431,7 @@
|
|||
assigned-clock-rates = <200000000>;
|
||||
clocks = <&cru SCLK_I2C3>, <&cru PCLK_I2C3>;
|
||||
clock-names = "i2c", "pclk";
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c3_xfer>;
|
||||
#address-cells = <1>;
|
||||
|
@ -350,7 +446,7 @@
|
|||
assigned-clock-rates = <200000000>;
|
||||
clocks = <&cru SCLK_I2C5>, <&cru PCLK_I2C5>;
|
||||
clock-names = "i2c", "pclk";
|
||||
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c5_xfer>;
|
||||
#address-cells = <1>;
|
||||
|
@ -365,7 +461,7 @@
|
|||
assigned-clock-rates = <200000000>;
|
||||
clocks = <&cru SCLK_I2C6>, <&cru PCLK_I2C6>;
|
||||
clock-names = "i2c", "pclk";
|
||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c6_xfer>;
|
||||
#address-cells = <1>;
|
||||
|
@ -380,7 +476,7 @@
|
|||
assigned-clock-rates = <200000000>;
|
||||
clocks = <&cru SCLK_I2C7>, <&cru PCLK_I2C7>;
|
||||
clock-names = "i2c", "pclk";
|
||||
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c7_xfer>;
|
||||
#address-cells = <1>;
|
||||
|
@ -393,7 +489,7 @@
|
|||
reg = <0x0 0xff180000 0x0 0x100>;
|
||||
clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -406,7 +502,7 @@
|
|||
reg = <0x0 0xff190000 0x0 0x100>;
|
||||
clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -419,7 +515,7 @@
|
|||
reg = <0x0 0xff1a0000 0x0 0x100>;
|
||||
clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -432,7 +528,7 @@
|
|||
reg = <0x0 0xff1b0000 0x0 0x100>;
|
||||
clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -445,7 +541,7 @@
|
|||
reg = <0x0 0xff1c0000 0x0 0x1000>;
|
||||
clocks = <&cru SCLK_SPI0>, <&cru PCLK_SPI0>;
|
||||
clock-names = "spiclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
|
||||
#address-cells = <1>;
|
||||
|
@ -458,7 +554,7 @@
|
|||
reg = <0x0 0xff1d0000 0x0 0x1000>;
|
||||
clocks = <&cru SCLK_SPI1>, <&cru PCLK_SPI1>;
|
||||
clock-names = "spiclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
|
||||
#address-cells = <1>;
|
||||
|
@ -471,7 +567,7 @@
|
|||
reg = <0x0 0xff1e0000 0x0 0x1000>;
|
||||
clocks = <&cru SCLK_SPI2>, <&cru PCLK_SPI2>;
|
||||
clock-names = "spiclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2_clk &spi2_tx &spi2_rx &spi2_cs0>;
|
||||
#address-cells = <1>;
|
||||
|
@ -484,7 +580,7 @@
|
|||
reg = <0x0 0xff1f0000 0x0 0x1000>;
|
||||
clocks = <&cru SCLK_SPI4>, <&cru PCLK_SPI4>;
|
||||
clock-names = "spiclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi4_clk &spi4_tx &spi4_rx &spi4_cs0>;
|
||||
#address-cells = <1>;
|
||||
|
@ -497,7 +593,7 @@
|
|||
reg = <0x0 0xff200000 0x0 0x1000>;
|
||||
clocks = <&cru SCLK_SPI5>, <&cru PCLK_SPI5>;
|
||||
clock-names = "spiclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi5_clk &spi5_tx &spi5_rx &spi5_cs0>;
|
||||
#address-cells = <1>;
|
||||
|
@ -577,7 +673,7 @@
|
|||
tsadc: tsadc@ff260000 {
|
||||
compatible = "rockchip,rk3399-tsadc";
|
||||
reg = <0x0 0xff260000 0x0 0x100>;
|
||||
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
assigned-clocks = <&cru SCLK_TSADC>;
|
||||
assigned-clock-rates = <750000>;
|
||||
clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
|
||||
|
@ -594,6 +690,203 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
qos_gmac: qos@ffa5c000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffa5c000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_hdcp: qos@ffa90000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffa90000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_iep: qos@ffa98000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffa98000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_isp0_m0: qos@ffaa0000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffaa0000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_isp0_m1: qos@ffaa0080 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffaa0080 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_isp1_m0: qos@ffaa8000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffaa8000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_isp1_m1: qos@ffaa8080 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffaa8080 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_rga_r: qos@ffab0000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffab0000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_rga_w: qos@ffab0080 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffab0080 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_video_m0: qos@ffab8000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffab8000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_video_m1_r: qos@ffac0000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffac0000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_video_m1_w: qos@ffac0080 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffac0080 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_vop_big_r: qos@ffac8000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffac8000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_vop_big_w: qos@ffac8080 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffac8080 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_vop_little: qos@ffad0000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffad0000 0x0 0x20>;
|
||||
};
|
||||
|
||||
qos_gpu: qos@ffae0000 {
|
||||
compatible = "syscon";
|
||||
reg = <0x0 0xffae0000 0x0 0x20>;
|
||||
};
|
||||
|
||||
pmu: power-management@ff310000 {
|
||||
compatible = "rockchip,rk3399-pmu", "syscon", "simple-mfd";
|
||||
reg = <0x0 0xff310000 0x0 0x1000>;
|
||||
|
||||
/*
|
||||
* Note: RK3399 supports 6 voltage domains including VD_CORE_L,
|
||||
* VD_CORE_B, VD_CENTER, VD_GPU, VD_LOGIC and VD_PMU.
|
||||
* Some of the power domains are grouped together for every
|
||||
* voltage domain.
|
||||
* The detail contents as below.
|
||||
*/
|
||||
power: power-controller {
|
||||
compatible = "rockchip,rk3399-power-controller";
|
||||
#power-domain-cells = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* These power domains are grouped by VD_CENTER */
|
||||
pd_iep@RK3399_PD_IEP {
|
||||
reg = <RK3399_PD_IEP>;
|
||||
clocks = <&cru ACLK_IEP>,
|
||||
<&cru HCLK_IEP>;
|
||||
pm_qos = <&qos_iep>;
|
||||
};
|
||||
pd_rga@RK3399_PD_RGA {
|
||||
reg = <RK3399_PD_RGA>;
|
||||
clocks = <&cru ACLK_RGA>,
|
||||
<&cru HCLK_RGA>;
|
||||
pm_qos = <&qos_rga_r>,
|
||||
<&qos_rga_w>;
|
||||
};
|
||||
pd_vcodec@RK3399_PD_VCODEC {
|
||||
reg = <RK3399_PD_VCODEC>;
|
||||
clocks = <&cru ACLK_VCODEC>,
|
||||
<&cru HCLK_VCODEC>;
|
||||
pm_qos = <&qos_video_m0>;
|
||||
};
|
||||
pd_vdu@RK3399_PD_VDU {
|
||||
reg = <RK3399_PD_VDU>;
|
||||
clocks = <&cru ACLK_VDU>,
|
||||
<&cru HCLK_VDU>;
|
||||
pm_qos = <&qos_video_m1_r>,
|
||||
<&qos_video_m1_w>;
|
||||
};
|
||||
|
||||
/* These power domains are grouped by VD_GPU */
|
||||
pd_gpu@RK3399_PD_GPU {
|
||||
reg = <RK3399_PD_GPU>;
|
||||
clocks = <&cru ACLK_GPU>;
|
||||
pm_qos = <&qos_gpu>;
|
||||
};
|
||||
|
||||
/* These power domains are grouped by VD_LOGIC */
|
||||
pd_gmac@RK3399_PD_GMAC {
|
||||
reg = <RK3399_PD_GMAC>;
|
||||
clocks = <&cru ACLK_GMAC>;
|
||||
pm_qos = <&qos_gmac>;
|
||||
};
|
||||
pd_vio@RK3399_PD_VIO {
|
||||
reg = <RK3399_PD_VIO>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pd_hdcp@RK3399_PD_HDCP {
|
||||
reg = <RK3399_PD_HDCP>;
|
||||
clocks = <&cru ACLK_HDCP>,
|
||||
<&cru HCLK_HDCP>,
|
||||
<&cru PCLK_HDCP>;
|
||||
pm_qos = <&qos_hdcp>;
|
||||
};
|
||||
pd_isp0@RK3399_PD_ISP0 {
|
||||
reg = <RK3399_PD_ISP0>;
|
||||
clocks = <&cru ACLK_ISP0>,
|
||||
<&cru HCLK_ISP0>;
|
||||
pm_qos = <&qos_isp0_m0>,
|
||||
<&qos_isp0_m1>;
|
||||
};
|
||||
pd_isp1@RK3399_PD_ISP1 {
|
||||
reg = <RK3399_PD_ISP1>;
|
||||
clocks = <&cru ACLK_ISP1>,
|
||||
<&cru HCLK_ISP1>;
|
||||
pm_qos = <&qos_isp1_m0>,
|
||||
<&qos_isp1_m1>;
|
||||
};
|
||||
pd_tcpc0@RK3399_PD_TCPC0 {
|
||||
reg = <RK3399_PD_TCPD0>;
|
||||
clocks = <&cru SCLK_UPHY0_TCPDCORE>,
|
||||
<&cru SCLK_UPHY0_TCPDPHY_REF>;
|
||||
};
|
||||
pd_tcpc1@RK3399_PD_TCPC1 {
|
||||
reg = <RK3399_PD_TCPD1>;
|
||||
clocks = <&cru SCLK_UPHY1_TCPDCORE>,
|
||||
<&cru SCLK_UPHY1_TCPDPHY_REF>;
|
||||
};
|
||||
pd_vo@RK3399_PD_VO {
|
||||
reg = <RK3399_PD_VO>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pd_vopb@RK3399_PD_VOPB {
|
||||
reg = <RK3399_PD_VOPB>;
|
||||
clocks = <&cru ACLK_VOP0>,
|
||||
<&cru HCLK_VOP0>;
|
||||
pm_qos = <&qos_vop_big_r>,
|
||||
<&qos_vop_big_w>;
|
||||
};
|
||||
pd_vopl@RK3399_PD_VOPL {
|
||||
reg = <RK3399_PD_VOPL>;
|
||||
clocks = <&cru ACLK_VOP1>,
|
||||
<&cru HCLK_VOP1>;
|
||||
pm_qos = <&qos_vop_little>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pmugrf: syscon@ff320000 {
|
||||
compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd";
|
||||
reg = <0x0 0xff320000 0x0 0x1000>;
|
||||
|
@ -611,7 +904,7 @@
|
|||
reg = <0x0 0xff350000 0x0 0x1000>;
|
||||
clocks = <&pmucru SCLK_SPI3_PMU>, <&pmucru PCLK_SPI3_PMU>;
|
||||
clock-names = "spiclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi3_clk &spi3_tx &spi3_rx &spi3_cs0>;
|
||||
#address-cells = <1>;
|
||||
|
@ -624,7 +917,7 @@
|
|||
reg = <0x0 0xff370000 0x0 0x100>;
|
||||
clocks = <&pmucru SCLK_UART4_PMU>, <&pmucru PCLK_UART4_PMU>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
|
@ -639,7 +932,7 @@
|
|||
assigned-clock-rates = <200000000>;
|
||||
clocks = <&pmucru SCLK_I2C0_PMU>, <&pmucru PCLK_I2C0_PMU>;
|
||||
clock-names = "i2c", "pclk";
|
||||
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0_xfer>;
|
||||
#address-cells = <1>;
|
||||
|
@ -654,7 +947,7 @@
|
|||
assigned-clock-rates = <200000000>;
|
||||
clocks = <&pmucru SCLK_I2C4_PMU>, <&pmucru PCLK_I2C4_PMU>;
|
||||
clock-names = "i2c", "pclk";
|
||||
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c4_xfer>;
|
||||
#address-cells = <1>;
|
||||
|
@ -669,7 +962,7 @@
|
|||
assigned-clock-rates = <200000000>;
|
||||
clocks = <&pmucru SCLK_I2C8_PMU>, <&pmucru PCLK_I2C8_PMU>;
|
||||
clock-names = "i2c", "pclk";
|
||||
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c8_xfer>;
|
||||
#address-cells = <1>;
|
||||
|
@ -721,6 +1014,35 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
efuse0: efuse@ff690000 {
|
||||
compatible = "rockchip,rk3399-efuse";
|
||||
reg = <0x0 0xff690000 0x0 0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
clocks = <&cru PCLK_EFUSE1024NS>;
|
||||
clock-names = "pclk_efuse";
|
||||
|
||||
/* Data cells */
|
||||
cpub_leakage: cpu-leakage@17 {
|
||||
reg = <0x17 0x1>;
|
||||
};
|
||||
gpu_leakage: gpu-leakage@18 {
|
||||
reg = <0x18 0x1>;
|
||||
};
|
||||
center_leakage: center-leakage@19 {
|
||||
reg = <0x19 0x1>;
|
||||
};
|
||||
cpul_leakage: cpu-leakage@1a {
|
||||
reg = <0x1a 0x1>;
|
||||
};
|
||||
logic_leakage: logic-leakage@1b {
|
||||
reg = <0x1b 0x1>;
|
||||
};
|
||||
wafer_info: wafer-info@1c {
|
||||
reg = <0x1c 0x1>;
|
||||
};
|
||||
};
|
||||
|
||||
pmucru: pmu-clock-controller@ff750000 {
|
||||
compatible = "rockchip,rk3399-pmucru";
|
||||
reg = <0x0 0xff750000 0x0 0x1000>;
|
||||
|
@ -741,7 +1063,7 @@
|
|||
<&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,
|
||||
<&cru PCLK_PERIHP>,
|
||||
<&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,
|
||||
<&cru PCLK_PERILP0>,
|
||||
<&cru PCLK_PERILP0>, <&cru ACLK_CCI>,
|
||||
<&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>;
|
||||
assigned-clock-rates =
|
||||
<594000000>, <800000000>,
|
||||
|
@ -749,7 +1071,7 @@
|
|||
<150000000>, <75000000>,
|
||||
<37500000>,
|
||||
<100000000>, <100000000>,
|
||||
<50000000>,
|
||||
<50000000>, <600000000>,
|
||||
<100000000>, <50000000>;
|
||||
};
|
||||
|
||||
|
@ -764,6 +1086,40 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
u2phy0: usb2-phy@e450 {
|
||||
compatible = "rockchip,rk3399-usb2phy";
|
||||
reg = <0xe450 0x10>;
|
||||
clocks = <&cru SCLK_USB2PHY0_REF>;
|
||||
clock-names = "phyclk";
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "clk_usbphy0_480m";
|
||||
status = "disabled";
|
||||
|
||||
u2phy0_host: host-port {
|
||||
#phy-cells = <0>;
|
||||
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
interrupt-names = "linestate";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
u2phy1: usb2-phy@e460 {
|
||||
compatible = "rockchip,rk3399-usb2phy";
|
||||
reg = <0xe460 0x10>;
|
||||
clocks = <&cru SCLK_USB2PHY1_REF>;
|
||||
clock-names = "phyclk";
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "clk_usbphy1_480m";
|
||||
status = "disabled";
|
||||
|
||||
u2phy1_host: host-port {
|
||||
#phy-cells = <0>;
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
interrupt-names = "linestate";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
emmc_phy: phy@f780 {
|
||||
compatible = "rockchip,rk3399-emmc-phy";
|
||||
reg = <0xf780 0x24>;
|
||||
|
@ -772,19 +1128,85 @@
|
|||
#phy-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pcie_phy: pcie-phy {
|
||||
compatible = "rockchip,rk3399-pcie-phy";
|
||||
clocks = <&cru SCLK_PCIEPHY_REF>;
|
||||
clock-names = "refclk";
|
||||
#phy-cells = <0>;
|
||||
resets = <&cru SRST_PCIEPHY>;
|
||||
reset-names = "phy";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
watchdog@ff840000 {
|
||||
tcphy0: phy@ff7c0000 {
|
||||
compatible = "rockchip,rk3399-typec-phy";
|
||||
reg = <0x0 0xff7c0000 0x0 0x40000>;
|
||||
clocks = <&cru SCLK_UPHY0_TCPDCORE>,
|
||||
<&cru SCLK_UPHY0_TCPDPHY_REF>;
|
||||
clock-names = "tcpdcore", "tcpdphy-ref";
|
||||
assigned-clocks = <&cru SCLK_UPHY0_TCPDCORE>;
|
||||
assigned-clock-rates = <50000000>;
|
||||
resets = <&cru SRST_UPHY0>,
|
||||
<&cru SRST_UPHY0_PIPE_L00>,
|
||||
<&cru SRST_P_UPHY0_TCPHY>;
|
||||
reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
|
||||
rockchip,grf = <&grf>;
|
||||
rockchip,typec-conn-dir = <0xe580 0 16>;
|
||||
rockchip,usb3tousb2-en = <0xe580 3 19>;
|
||||
rockchip,external-psm = <0xe588 14 30>;
|
||||
rockchip,pipe-status = <0xe5c0 0 0>;
|
||||
status = "disabled";
|
||||
|
||||
tcphy0_dp: dp-port {
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
tcphy0_usb3: usb3-port {
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
tcphy1: phy@ff800000 {
|
||||
compatible = "rockchip,rk3399-typec-phy";
|
||||
reg = <0x0 0xff800000 0x0 0x40000>;
|
||||
clocks = <&cru SCLK_UPHY1_TCPDCORE>,
|
||||
<&cru SCLK_UPHY1_TCPDPHY_REF>;
|
||||
clock-names = "tcpdcore", "tcpdphy-ref";
|
||||
assigned-clocks = <&cru SCLK_UPHY1_TCPDCORE>;
|
||||
assigned-clock-rates = <50000000>;
|
||||
resets = <&cru SRST_UPHY1>,
|
||||
<&cru SRST_UPHY1_PIPE_L00>,
|
||||
<&cru SRST_P_UPHY1_TCPHY>;
|
||||
reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
|
||||
rockchip,grf = <&grf>;
|
||||
rockchip,typec-conn-dir = <0xe58c 0 16>;
|
||||
rockchip,usb3tousb2-en = <0xe58c 3 19>;
|
||||
rockchip,external-psm = <0xe594 14 30>;
|
||||
rockchip,pipe-status = <0xe5c0 16 16>;
|
||||
status = "disabled";
|
||||
|
||||
tcphy1_dp: dp-port {
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
tcphy1_usb3: usb3-port {
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
watchdog@ff848000 {
|
||||
compatible = "snps,dw-wdt";
|
||||
reg = <0x0 0xff840000 0x0 0x100>;
|
||||
reg = <0x0 0xff848000 0x0 0x100>;
|
||||
clocks = <&cru PCLK_WDT>;
|
||||
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
};
|
||||
|
||||
rktimer: rktimer@ff850000 {
|
||||
compatible = "rockchip,rk3399-timer";
|
||||
reg = <0x0 0xff850000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru PCLK_TIMER0>, <&cru SCLK_TIMER00>;
|
||||
clock-names = "pclk", "timer";
|
||||
};
|
||||
|
@ -792,7 +1214,7 @@
|
|||
spdif: spdif@ff870000 {
|
||||
compatible = "rockchip,rk3399-spdif";
|
||||
reg = <0x0 0xff870000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
dmas = <&dmac_bus 7>;
|
||||
dma-names = "tx";
|
||||
clock-names = "mclk", "hclk";
|
||||
|
@ -806,7 +1228,7 @@
|
|||
compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
|
||||
reg = <0x0 0xff880000 0x0 0x1000>;
|
||||
rockchip,grf = <&grf>;
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
dmas = <&dmac_bus 0>, <&dmac_bus 1>;
|
||||
dma-names = "tx", "rx";
|
||||
clock-names = "i2s_clk", "i2s_hclk";
|
||||
|
@ -819,7 +1241,7 @@
|
|||
i2s1: i2s@ff890000 {
|
||||
compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
|
||||
reg = <0x0 0xff890000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
dmas = <&dmac_bus 2>, <&dmac_bus 3>;
|
||||
dma-names = "tx", "rx";
|
||||
clock-names = "i2s_clk", "i2s_hclk";
|
||||
|
@ -832,7 +1254,7 @@
|
|||
i2s2: i2s@ff8a0000 {
|
||||
compatible = "rockchip,rk3399-i2s", "rockchip,rk3066-i2s";
|
||||
reg = <0x0 0xff8a0000 0x0 0x1000>;
|
||||
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
dmas = <&dmac_bus 4>, <&dmac_bus 5>;
|
||||
dma-names = "tx", "rx";
|
||||
clock-names = "i2s_clk", "i2s_hclk";
|
||||
|
@ -852,7 +1274,7 @@
|
|||
compatible = "rockchip,gpio-bank";
|
||||
reg = <0x0 0xff720000 0x0 0x100>;
|
||||
clocks = <&pmucru PCLK_GPIO0_PMU>;
|
||||
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <0x2>;
|
||||
|
@ -865,7 +1287,7 @@
|
|||
compatible = "rockchip,gpio-bank";
|
||||
reg = <0x0 0xff730000 0x0 0x100>;
|
||||
clocks = <&pmucru PCLK_GPIO1_PMU>;
|
||||
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <0x2>;
|
||||
|
@ -878,7 +1300,7 @@
|
|||
compatible = "rockchip,gpio-bank";
|
||||
reg = <0x0 0xff780000 0x0 0x100>;
|
||||
clocks = <&cru PCLK_GPIO2>;
|
||||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <0x2>;
|
||||
|
@ -891,7 +1313,7 @@
|
|||
compatible = "rockchip,gpio-bank";
|
||||
reg = <0x0 0xff788000 0x0 0x100>;
|
||||
clocks = <&cru PCLK_GPIO3>;
|
||||
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <0x2>;
|
||||
|
@ -904,7 +1326,7 @@
|
|||
compatible = "rockchip,gpio-bank";
|
||||
reg = <0x0 0xff790000 0x0 0x100>;
|
||||
clocks = <&cru PCLK_GPIO4>;
|
||||
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <0x2>;
|
||||
|
@ -955,6 +1377,72 @@
|
|||
drive-strength = <13>;
|
||||
};
|
||||
|
||||
clock {
|
||||
clk_32k: clk-32k {
|
||||
rockchip,pins = <0 0 RK_FUNC_2 &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
gmac {
|
||||
rgmii_pins: rgmii-pins {
|
||||
rockchip,pins =
|
||||
/* mac_txclk */
|
||||
<3 17 RK_FUNC_1 &pcfg_pull_none_13ma>,
|
||||
/* mac_rxclk */
|
||||
<3 14 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_mdio */
|
||||
<3 13 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_txen */
|
||||
<3 12 RK_FUNC_1 &pcfg_pull_none_13ma>,
|
||||
/* mac_clk */
|
||||
<3 11 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_rxdv */
|
||||
<3 9 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_mdc */
|
||||
<3 8 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_rxd1 */
|
||||
<3 7 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_rxd0 */
|
||||
<3 6 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_txd1 */
|
||||
<3 5 RK_FUNC_1 &pcfg_pull_none_13ma>,
|
||||
/* mac_txd0 */
|
||||
<3 4 RK_FUNC_1 &pcfg_pull_none_13ma>,
|
||||
/* mac_rxd3 */
|
||||
<3 3 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_rxd2 */
|
||||
<3 2 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_txd3 */
|
||||
<3 1 RK_FUNC_1 &pcfg_pull_none_13ma>,
|
||||
/* mac_txd2 */
|
||||
<3 0 RK_FUNC_1 &pcfg_pull_none_13ma>;
|
||||
};
|
||||
|
||||
rmii_pins: rmii-pins {
|
||||
rockchip,pins =
|
||||
/* mac_mdio */
|
||||
<3 13 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_txen */
|
||||
<3 12 RK_FUNC_1 &pcfg_pull_none_13ma>,
|
||||
/* mac_clk */
|
||||
<3 11 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_rxer */
|
||||
<3 10 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_rxdv */
|
||||
<3 9 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_mdc */
|
||||
<3 8 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_rxd1 */
|
||||
<3 7 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_rxd0 */
|
||||
<3 6 RK_FUNC_1 &pcfg_pull_none>,
|
||||
/* mac_txd1 */
|
||||
<3 5 RK_FUNC_1 &pcfg_pull_none_13ma>,
|
||||
/* mac_txd0 */
|
||||
<3 4 RK_FUNC_1 &pcfg_pull_none_13ma>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c0 {
|
||||
i2c0_xfer: i2c0-xfer {
|
||||
rockchip,pins =
|
||||
|
@ -1326,5 +1814,18 @@
|
|||
<1 14 RK_FUNC_1 &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
pcie {
|
||||
pcie_clkreqn: pci-clkreqn {
|
||||
rockchip,pins =
|
||||
<2 26 RK_FUNC_2 &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
pcie_clkreqnb: pci-clkreqnb {
|
||||
rockchip,pins =
|
||||
<4 24 RK_FUNC_1 &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
dtb-$(CONFIG_ARCH_UNIPHIER) += uniphier-ph1-ld20-ref.dtb
|
||||
dtb-$(CONFIG_ARCH_UNIPHIER) += \
|
||||
uniphier-ld11-ref.dtb \
|
||||
uniphier-ld20-ref.dtb
|
||||
|
||||
always := $(dtb-y)
|
||||
clean-files := *.dtb
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
/*
|
||||
* Device Tree Source for UniPhier LD11 Reference Board
|
||||
*
|
||||
* Copyright (C) 2016 Socionext Inc.
|
||||
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/include/ "uniphier-ld11.dtsi"
|
||||
/include/ "uniphier-ref-daughter.dtsi"
|
||||
/include/ "uniphier-support-card.dtsi"
|
||||
|
||||
/ {
|
||||
model = "UniPhier LD11 Reference Board";
|
||||
compatible = "socionext,uniphier-ld11-ref", "socionext,uniphier-ld11";
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0 0x80000000 0 0x40000000>;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
aliases {
|
||||
serial0 = &serial0;
|
||||
serial1 = &serial1;
|
||||
serial2 = &serial2;
|
||||
serial3 = &serial3;
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
i2c3 = &i2c3;
|
||||
i2c4 = &i2c4;
|
||||
i2c5 = &i2c5;
|
||||
};
|
||||
};
|
||||
|
||||
ðsc {
|
||||
interrupts = <0 48 4>;
|
||||
};
|
||||
|
||||
&serial0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
status = "okay";
|
||||
};
|
|
@ -0,0 +1,338 @@
|
|||
/*
|
||||
* Device Tree Source for UniPhier LD11 SoC
|
||||
*
|
||||
* Copyright (C) 2016 Socionext Inc.
|
||||
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/memreserve/ 0x80000000 0x00000008; /* cpu-release-addr */
|
||||
|
||||
/ {
|
||||
compatible = "socionext,uniphier-ld11";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu-map {
|
||||
cluster0 {
|
||||
core0 {
|
||||
cpu = <&cpu0>;
|
||||
};
|
||||
core1 {
|
||||
cpu = <&cpu1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0 0x000>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0x80000000>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0 0x001>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0x80000000>;
|
||||
};
|
||||
};
|
||||
|
||||
clocks {
|
||||
refclk: ref {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <25000000>;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <1 13 4>,
|
||||
<1 14 4>,
|
||||
<1 11 4>,
|
||||
<1 10 4>;
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0 0xffffffff>;
|
||||
|
||||
serial0: serial@54006800 {
|
||||
compatible = "socionext,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006800 0x40>;
|
||||
interrupts = <0 33 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart0>;
|
||||
clocks = <&peri_clk 0>;
|
||||
};
|
||||
|
||||
serial1: serial@54006900 {
|
||||
compatible = "socionext,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006900 0x40>;
|
||||
interrupts = <0 35 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
clocks = <&peri_clk 1>;
|
||||
};
|
||||
|
||||
serial2: serial@54006a00 {
|
||||
compatible = "socionext,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006a00 0x40>;
|
||||
interrupts = <0 37 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
clocks = <&peri_clk 2>;
|
||||
};
|
||||
|
||||
serial3: serial@54006b00 {
|
||||
compatible = "socionext,uniphier-uart";
|
||||
status = "disabled";
|
||||
reg = <0x54006b00 0x40>;
|
||||
interrupts = <0 177 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
clocks = <&peri_clk 3>;
|
||||
};
|
||||
|
||||
i2c0: i2c@58780000 {
|
||||
compatible = "socionext,uniphier-fi2c";
|
||||
status = "disabled";
|
||||
reg = <0x58780000 0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 41 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c0>;
|
||||
clocks = <&peri_clk 4>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
i2c1: i2c@58781000 {
|
||||
compatible = "socionext,uniphier-fi2c";
|
||||
status = "disabled";
|
||||
reg = <0x58781000 0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 42 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
clocks = <&peri_clk 5>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
i2c2: i2c@58782000 {
|
||||
compatible = "socionext,uniphier-fi2c";
|
||||
reg = <0x58782000 0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 43 4>;
|
||||
clocks = <&peri_clk 6>;
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
i2c3: i2c@58783000 {
|
||||
compatible = "socionext,uniphier-fi2c";
|
||||
status = "disabled";
|
||||
reg = <0x58783000 0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 44 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
clocks = <&peri_clk 7>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
i2c4: i2c@58784000 {
|
||||
compatible = "socionext,uniphier-fi2c";
|
||||
status = "disabled";
|
||||
reg = <0x58784000 0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 45 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c4>;
|
||||
clocks = <&peri_clk 8>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
i2c5: i2c@58785000 {
|
||||
compatible = "socionext,uniphier-fi2c";
|
||||
reg = <0x58785000 0x80>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 25 4>;
|
||||
clocks = <&peri_clk 9>;
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
system_bus: system-bus@58c00000 {
|
||||
compatible = "socionext,uniphier-system-bus";
|
||||
status = "disabled";
|
||||
reg = <0x58c00000 0x400>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_system_bus>;
|
||||
};
|
||||
|
||||
smpctrl@59800000 {
|
||||
compatible = "socionext,uniphier-smpctrl";
|
||||
reg = <0x59801000 0x400>;
|
||||
};
|
||||
|
||||
perictrl@59820000 {
|
||||
compatible = "socionext,uniphier-perictrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x59820000 0x200>;
|
||||
|
||||
peri_clk: clock {
|
||||
compatible = "socionext,uniphier-ld11-peri-clock";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
peri_rst: reset {
|
||||
compatible = "socionext,uniphier-ld11-peri-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
usb0: usb@5a800100 {
|
||||
compatible = "socionext,uniphier-ehci", "generic-ehci";
|
||||
status = "disabled";
|
||||
reg = <0x5a800100 0x100>;
|
||||
interrupts = <0 243 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb0>;
|
||||
clocks = <&mio_clk 7>, <&mio_clk 8>, <&mio_clk 12>;
|
||||
resets = <&mio_rst 7>, <&mio_rst 8>, <&mio_rst 12>, <&sys_rst 8>;
|
||||
};
|
||||
|
||||
usb1: usb@5a810100 {
|
||||
compatible = "socionext,uniphier-ehci", "generic-ehci";
|
||||
status = "disabled";
|
||||
reg = <0x5a810100 0x100>;
|
||||
interrupts = <0 244 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb1>;
|
||||
clocks = <&mio_clk 7>, <&mio_clk 9>, <&mio_clk 13>;
|
||||
resets = <&mio_rst 7>, <&mio_rst 9>, <&mio_rst 13>, <&sys_rst 8>;
|
||||
};
|
||||
|
||||
usb2: usb@5a820100 {
|
||||
compatible = "socionext,uniphier-ehci", "generic-ehci";
|
||||
status = "disabled";
|
||||
reg = <0x5a820100 0x100>;
|
||||
interrupts = <0 245 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb2>;
|
||||
clocks = <&mio_clk 7>, <&mio_clk 10>, <&mio_clk 14>;
|
||||
resets = <&mio_rst 7>, <&mio_rst 10>, <&mio_rst 14>, <&sys_rst 8>;
|
||||
};
|
||||
|
||||
mioctrl@5b3e0000 {
|
||||
compatible = "socionext,uniphier-mioctrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x5b3e0000 0x800>;
|
||||
|
||||
mio_clk: clock {
|
||||
compatible = "socionext,uniphier-ld11-mio-clock";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
mio_rst: reset {
|
||||
compatible = "socionext,uniphier-ld11-mio-reset";
|
||||
#reset-cells = <1>;
|
||||
resets = <&sys_rst 7>;
|
||||
};
|
||||
};
|
||||
|
||||
soc-glue@5f800000 {
|
||||
compatible = "socionext,uniphier-soc-glue",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x5f800000 0x2000>;
|
||||
|
||||
pinctrl: pinctrl {
|
||||
compatible = "socionext,uniphier-ld11-pinctrl";
|
||||
};
|
||||
};
|
||||
|
||||
gic: interrupt-controller@5fe00000 {
|
||||
compatible = "arm,gic-v3";
|
||||
reg = <0x5fe00000 0x10000>, /* GICD */
|
||||
<0x5fe40000 0x80000>; /* GICR */
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
interrupts = <1 9 4>;
|
||||
};
|
||||
|
||||
sysctrl@61840000 {
|
||||
compatible = "socionext,uniphier-ld11-sysctrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x61840000 0x4000>;
|
||||
|
||||
sys_clk: clock {
|
||||
compatible = "socionext,uniphier-ld11-clock";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
sys_rst: reset {
|
||||
compatible = "socionext,uniphier-ld11-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "uniphier-pinctrl.dtsi"
|
|
@ -1,7 +1,8 @@
|
|||
/*
|
||||
* Device Tree Source for UniPhier PH1-LD20 Reference Board
|
||||
* Device Tree Source for UniPhier LD20 Reference Board
|
||||
*
|
||||
* Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
* Copyright (C) 2015-2016 Socionext Inc.
|
||||
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
|
@ -43,13 +44,13 @@
|
|||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/include/ "uniphier-ph1-ld20.dtsi"
|
||||
/include/ "uniphier-ld20.dtsi"
|
||||
/include/ "uniphier-ref-daughter.dtsi"
|
||||
/include/ "uniphier-support-card.dtsi"
|
||||
|
||||
/ {
|
||||
model = "UniPhier PH1-LD20 Reference Board";
|
||||
compatible = "socionext,ph1-ld20-ref", "socionext,ph1-ld20";
|
||||
model = "UniPhier LD20 Reference Board";
|
||||
compatible = "socionext,uniphier-ld20-ref", "socionext,uniphier-ld20";
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
|
@ -1,7 +1,8 @@
|
|||
/*
|
||||
* Device Tree Source for UniPhier PH1-LD20 SoC
|
||||
* Device Tree Source for UniPhier LD20 SoC
|
||||
*
|
||||
* Copyright (C) 2015 Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
* Copyright (C) 2015-2016 Socionext Inc.
|
||||
* Author: Masahiro Yamada <yamada.masahiro@socionext.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
|
@ -45,7 +46,7 @@
|
|||
/memreserve/ 0x80000000 0x00000008; /* cpu-release-addr */
|
||||
|
||||
/ {
|
||||
compatible = "socionext,ph1-ld20";
|
||||
compatible = "socionext,uniphier-ld20";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
@ -113,18 +114,6 @@
|
|||
#clock-cells = <0>;
|
||||
clock-frequency = <25000000>;
|
||||
};
|
||||
|
||||
uart_clk: uart_clk {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <58820000>;
|
||||
};
|
||||
|
||||
i2c_clk: i2c_clk {
|
||||
#clock-cells = <0>;
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <50000000>;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
|
@ -148,7 +137,7 @@
|
|||
interrupts = <0 33 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart0>;
|
||||
clocks = <&uart_clk>;
|
||||
clocks = <&peri_clk 0>;
|
||||
};
|
||||
|
||||
serial1: serial@54006900 {
|
||||
|
@ -158,7 +147,7 @@
|
|||
interrupts = <0 35 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
clocks = <&uart_clk>;
|
||||
clocks = <&peri_clk 1>;
|
||||
};
|
||||
|
||||
serial2: serial@54006a00 {
|
||||
|
@ -168,7 +157,7 @@
|
|||
interrupts = <0 37 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
clocks = <&uart_clk>;
|
||||
clocks = <&peri_clk 2>;
|
||||
};
|
||||
|
||||
serial3: serial@54006b00 {
|
||||
|
@ -178,7 +167,7 @@
|
|||
interrupts = <0 177 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
clocks = <&uart_clk>;
|
||||
clocks = <&peri_clk 3>;
|
||||
};
|
||||
|
||||
i2c0: i2c@58780000 {
|
||||
|
@ -190,7 +179,7 @@
|
|||
interrupts = <0 41 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c0>;
|
||||
clocks = <&i2c_clk>;
|
||||
clocks = <&peri_clk 4>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
|
@ -203,7 +192,7 @@
|
|||
interrupts = <0 42 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
clocks = <&i2c_clk>;
|
||||
clocks = <&peri_clk 5>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
|
@ -213,7 +202,7 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 43 4>;
|
||||
clocks = <&i2c_clk>;
|
||||
clocks = <&peri_clk 6>;
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
|
@ -226,7 +215,7 @@
|
|||
interrupts = <0 44 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c3>;
|
||||
clocks = <&i2c_clk>;
|
||||
clocks = <&peri_clk 7>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
|
@ -239,7 +228,7 @@
|
|||
interrupts = <0 45 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c4>;
|
||||
clocks = <&i2c_clk>;
|
||||
clocks = <&peri_clk 8>;
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
|
@ -249,7 +238,7 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <0 25 4>;
|
||||
clocks = <&i2c_clk>;
|
||||
clocks = <&peri_clk 9>;
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
|
@ -259,6 +248,8 @@
|
|||
reg = <0x58c00000 0x400>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_system_bus>;
|
||||
};
|
||||
|
||||
smpctrl@59800000 {
|
||||
|
@ -266,12 +257,45 @@
|
|||
reg = <0x59801000 0x400>;
|
||||
};
|
||||
|
||||
mioctrl@59810000 {
|
||||
compatible = "socionext,uniphier-mioctrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x59810000 0x800>;
|
||||
|
||||
mio_clk: clock {
|
||||
compatible = "socionext,uniphier-ld20-mio-clock";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
mio_rst: reset {
|
||||
compatible = "socionext,uniphier-ld20-mio-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
perictrl@59820000 {
|
||||
compatible = "socionext,uniphier-perictrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x59820000 0x200>;
|
||||
|
||||
peri_clk: clock {
|
||||
compatible = "socionext,uniphier-ld20-peri-clock";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
peri_rst: reset {
|
||||
compatible = "socionext,uniphier-ld20-peri-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
soc-glue@5f800000 {
|
||||
compatible = "simple-mfd", "syscon";
|
||||
compatible = "socionext,uniphier-soc-glue",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x5f800000 0x2000>;
|
||||
|
||||
pinctrl: pinctrl {
|
||||
compatible = "socionext,uniphier-ld20-pinctrl";
|
||||
compatible = "socionext,uniphier-ld20-pinctrl";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -283,6 +307,22 @@
|
|||
#interrupt-cells = <3>;
|
||||
interrupts = <1 9 4>;
|
||||
};
|
||||
|
||||
sysctrl@61840000 {
|
||||
compatible = "socionext,uniphier-sysctrl",
|
||||
"simple-mfd", "syscon";
|
||||
reg = <0x61840000 0x4000>;
|
||||
|
||||
sys_clk: clock {
|
||||
compatible = "socionext,uniphier-ld20-clock";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
sys_rst: reset {
|
||||
compatible = "socionext,uniphier-ld20-reset";
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x40000000>;
|
||||
reg = <0x0 0x0 0x0 0x40000000>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
/ {
|
||||
compatible = "xlnx,zynqmp";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
|
@ -51,6 +51,7 @@
|
|||
|
||||
pmu {
|
||||
compatible = "arm,armv8-pmuv3";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 143 4>,
|
||||
<0 144 4>,
|
||||
<0 145 4>,
|
||||
|
@ -75,15 +76,15 @@
|
|||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
ranges = <0 0 0 0 0xffffffff>;
|
||||
|
||||
gic: interrupt-controller@f9010000 {
|
||||
compatible = "arm,gic-400", "arm,cortex-a15-gic";
|
||||
#interrupt-cells = <3>;
|
||||
reg = <0x0 0xf9010000 0x10000>,
|
||||
<0x0 0xf902f000 0x2000>,
|
||||
<0x0 0xf9020000 0x20000>,
|
||||
<0x0 0xf9040000 0x20000>,
|
||||
<0x0 0xf906f000 0x2000>;
|
||||
<0x0 0xf9060000 0x20000>;
|
||||
interrupt-controller;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <1 9 0xf04>;
|
||||
|
@ -93,14 +94,14 @@
|
|||
amba: amba {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
can0: can@ff060000 {
|
||||
compatible = "xlnx,zynq-can-1.0";
|
||||
status = "disabled";
|
||||
clock-names = "can_clk", "pclk";
|
||||
reg = <0x0 0xff060000 0x1000>;
|
||||
reg = <0x0 0xff060000 0x0 0x1000>;
|
||||
interrupts = <0 23 4>;
|
||||
interrupt-parent = <&gic>;
|
||||
tx-fifo-depth = <0x40>;
|
||||
|
@ -111,7 +112,7 @@
|
|||
compatible = "xlnx,zynq-can-1.0";
|
||||
status = "disabled";
|
||||
clock-names = "can_clk", "pclk";
|
||||
reg = <0x0 0xff070000 0x1000>;
|
||||
reg = <0x0 0xff070000 0x0 0x1000>;
|
||||
interrupts = <0 24 4>;
|
||||
interrupt-parent = <&gic>;
|
||||
tx-fifo-depth = <0x40>;
|
||||
|
@ -123,7 +124,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 57 4>, <0 57 4>;
|
||||
reg = <0x0 0xff0b0000 0x1000>;
|
||||
reg = <0x0 0xff0b0000 0x0 0x1000>;
|
||||
clock-names = "pclk", "hclk", "tx_clk";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -134,7 +135,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 59 4>, <0 59 4>;
|
||||
reg = <0x0 0xff0c0000 0x1000>;
|
||||
reg = <0x0 0xff0c0000 0x0 0x1000>;
|
||||
clock-names = "pclk", "hclk", "tx_clk";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -145,7 +146,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 61 4>, <0 61 4>;
|
||||
reg = <0x0 0xff0d0000 0x1000>;
|
||||
reg = <0x0 0xff0d0000 0x0 0x1000>;
|
||||
clock-names = "pclk", "hclk", "tx_clk";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -156,7 +157,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 63 4>, <0 63 4>;
|
||||
reg = <0x0 0xff0e0000 0x1000>;
|
||||
reg = <0x0 0xff0e0000 0x0 0x1000>;
|
||||
clock-names = "pclk", "hclk", "tx_clk";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -170,7 +171,7 @@
|
|||
interrupts = <0 16 4>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <0x0 0xff0a0000 0x1000>;
|
||||
reg = <0x0 0xff0a0000 0x0 0x1000>;
|
||||
};
|
||||
|
||||
i2c0: i2c@ff020000 {
|
||||
|
@ -178,7 +179,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 17 4>;
|
||||
reg = <0x0 0xff020000 0x1000>;
|
||||
reg = <0x0 0xff020000 0x0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
@ -188,15 +189,54 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 18 4>;
|
||||
reg = <0x0 0xff030000 0x1000>;
|
||||
reg = <0x0 0xff030000 0x0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
pcie: pcie@fd0e0000 {
|
||||
compatible = "xlnx,nwl-pcie-2.11";
|
||||
status = "disabled";
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
#interrupt-cells = <1>;
|
||||
msi-controller;
|
||||
device_type = "pci";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 118 4>,
|
||||
<0 117 4>,
|
||||
<0 116 4>,
|
||||
<0 115 4>, /* MSI_1 [63...32] */
|
||||
<0 114 4>; /* MSI_0 [31...0] */
|
||||
interrupt-names = "misc", "dummy", "intx",
|
||||
"msi1", "msi0";
|
||||
msi-parent = <&pcie>;
|
||||
reg = <0x0 0xfd0e0000 0x0 0x1000>,
|
||||
<0x0 0xfd480000 0x0 0x1000>,
|
||||
<0x80 0x00000000 0x0 0x1000000>;
|
||||
reg-names = "breg", "pcireg", "cfg";
|
||||
ranges = <0x02000000 0x00000000 0xe0000000 0x00000000
|
||||
0xe0000000 0x00000000 0x10000000
|
||||
/* non-prefetchable memory */
|
||||
0x43000000 0x00000006 0x00000000 0x00000006
|
||||
0x00000000 0x00000002 0x00000000>;
|
||||
/* prefetchable memory */
|
||||
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
||||
interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc 0x1>,
|
||||
<0x0 0x0 0x0 0x2 &pcie_intc 0x2>,
|
||||
<0x0 0x0 0x0 0x3 &pcie_intc 0x3>,
|
||||
<0x0 0x0 0x0 0x4 &pcie_intc 0x4>;
|
||||
pcie_intc: legacy-interrupt-controller {
|
||||
interrupt-controller;
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
sata: ahci@fd0c0000 {
|
||||
compatible = "ceva,ahci-1v84";
|
||||
status = "disabled";
|
||||
reg = <0x0 0xfd0c0000 0x2000>;
|
||||
reg = <0x0 0xfd0c0000 0x0 0x2000>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 133 4>;
|
||||
};
|
||||
|
@ -206,7 +246,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 48 4>;
|
||||
reg = <0x0 0xff160000 0x1000>;
|
||||
reg = <0x0 0xff160000 0x0 0x1000>;
|
||||
clock-names = "clk_xin", "clk_ahb";
|
||||
};
|
||||
|
||||
|
@ -215,13 +255,13 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 49 4>;
|
||||
reg = <0x0 0xff170000 0x1000>;
|
||||
reg = <0x0 0xff170000 0x0 0x1000>;
|
||||
clock-names = "clk_xin", "clk_ahb";
|
||||
};
|
||||
|
||||
smmu: smmu@fd800000 {
|
||||
compatible = "arm,mmu-500";
|
||||
reg = <0x0 0xfd800000 0x20000>;
|
||||
reg = <0x0 0xfd800000 0x0 0x20000>;
|
||||
#global-interrupts = <1>;
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 157 4>,
|
||||
|
@ -236,7 +276,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 19 4>;
|
||||
reg = <0x0 0xff040000 0x1000>;
|
||||
reg = <0x0 0xff040000 0x0 0x1000>;
|
||||
clock-names = "ref_clk", "pclk";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -247,7 +287,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 20 4>;
|
||||
reg = <0x0 0xff050000 0x1000>;
|
||||
reg = <0x0 0xff050000 0x0 0x1000>;
|
||||
clock-names = "ref_clk", "pclk";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -258,7 +298,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 36 4>, <0 37 4>, <0 38 4>;
|
||||
reg = <0x0 0xff110000 0x1000>;
|
||||
reg = <0x0 0xff110000 0x0 0x1000>;
|
||||
timer-width = <32>;
|
||||
};
|
||||
|
||||
|
@ -267,7 +307,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 39 4>, <0 40 4>, <0 41 4>;
|
||||
reg = <0x0 0xff120000 0x1000>;
|
||||
reg = <0x0 0xff120000 0x0 0x1000>;
|
||||
timer-width = <32>;
|
||||
};
|
||||
|
||||
|
@ -276,7 +316,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 42 4>, <0 43 4>, <0 44 4>;
|
||||
reg = <0x0 0xff130000 0x1000>;
|
||||
reg = <0x0 0xff130000 0x0 0x1000>;
|
||||
timer-width = <32>;
|
||||
};
|
||||
|
||||
|
@ -285,7 +325,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 45 4>, <0 46 4>, <0 47 4>;
|
||||
reg = <0x0 0xff140000 0x1000>;
|
||||
reg = <0x0 0xff140000 0x0 0x1000>;
|
||||
timer-width = <32>;
|
||||
};
|
||||
|
||||
|
@ -294,7 +334,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 21 4>;
|
||||
reg = <0x0 0xff000000 0x1000>;
|
||||
reg = <0x0 0xff000000 0x0 0x1000>;
|
||||
clock-names = "uart_clk", "pclk";
|
||||
};
|
||||
|
||||
|
@ -303,7 +343,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 22 4>;
|
||||
reg = <0x0 0xff010000 0x1000>;
|
||||
reg = <0x0 0xff010000 0x0 0x1000>;
|
||||
clock-names = "uart_clk", "pclk";
|
||||
};
|
||||
|
||||
|
@ -312,7 +352,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 65 4>;
|
||||
reg = <0x0 0xfe200000 0x40000>;
|
||||
reg = <0x0 0xfe200000 0x0 0x40000>;
|
||||
clock-names = "clk_xin", "clk_ahb";
|
||||
};
|
||||
|
||||
|
@ -321,7 +361,7 @@
|
|||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 70 4>;
|
||||
reg = <0x0 0xfe300000 0x40000>;
|
||||
reg = <0x0 0xfe300000 0x0 0x40000>;
|
||||
clock-names = "clk_xin", "clk_ahb";
|
||||
};
|
||||
|
||||
|
@ -329,8 +369,8 @@
|
|||
compatible = "cdns,wdt-r1p2";
|
||||
status = "disabled";
|
||||
interrupt-parent = <&gic>;
|
||||
interrupts = <0 52 1>;
|
||||
reg = <0x0 0xfd4d0000 0x1000>;
|
||||
interrupts = <0 113 1>;
|
||||
reg = <0x0 0xfd4d0000 0x0 0x1000>;
|
||||
timeout-sec = <10>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
dtb-$(CONFIG_ARCH_ZX) += zx296718-evb.dtb
|
||||
|
||||
always := $(dtb-y)
|
||||
subdir-y := $(dts-dirs)
|
||||
clean-files := *.dtb
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* Copyright 2016 ZTE Corporation.
|
||||
* Copyright 2016 Linaro Ltd.
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "zx296718.dtsi"
|
||||
|
||||
/ {
|
||||
model = "ZTE zx296718 evaluation board";
|
||||
compatible = "zte,zx296718-evb", "zte,zx296718";
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x40000000 0x40000000>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
|
@ -0,0 +1,292 @@
|
|||
/*
|
||||
* Copyright 2016 ZTE Corporation.
|
||||
* Copyright 2016 Linaro Ltd.
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
compatible = "zte,zx296718";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu-map {
|
||||
cluster0 {
|
||||
core0 {
|
||||
cpu = <&cpu0>;
|
||||
};
|
||||
core1 {
|
||||
cpu = <&cpu1>;
|
||||
};
|
||||
core2 {
|
||||
cpu = <&cpu2>;
|
||||
};
|
||||
core3 {
|
||||
cpu = <&cpu3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu0: cpu@0 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x0 0x0>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x0 0x1>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu2: cpu@2 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x0 0x2>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu3: cpu@3 {
|
||||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x0 0x3>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
};
|
||||
|
||||
clk24k: clk-24k {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <24000>;
|
||||
clock-output-names = "rtcclk";
|
||||
};
|
||||
|
||||
osc32k: clk-osc32k {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32000>;
|
||||
clock-output-names = "osc32k";
|
||||
};
|
||||
|
||||
osc12m: clk-osc12m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
clock-output-names = "osc12m";
|
||||
};
|
||||
|
||||
osc24m: clk-osc24m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <24000000>;
|
||||
clock-output-names = "osc24m";
|
||||
};
|
||||
|
||||
osc25m: clk-osc25m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <25000000>;
|
||||
clock-output-names = "osc25m";
|
||||
};
|
||||
|
||||
osc60m: clk-osc60m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <60000000>;
|
||||
clock-output-names = "osc60m";
|
||||
};
|
||||
|
||||
osc99m: clk-osc99m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <99000000>;
|
||||
clock-output-names = "osc99m";
|
||||
};
|
||||
|
||||
osc125m: clk-osc125m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <125000000>;
|
||||
clock-output-names = "osc125m";
|
||||
};
|
||||
|
||||
osc198m: clk-osc198m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <198000000>;
|
||||
clock-output-names = "osc198m";
|
||||
};
|
||||
|
||||
pll_audio: clk-pll-884m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <884000000>;
|
||||
clock-output-names = "pll_audio";
|
||||
};
|
||||
|
||||
pll_ddr: clk-pll-932m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <932000000>;
|
||||
clock-output-names = "pll_ddr";
|
||||
};
|
||||
|
||||
pll_hsic: clk-pll-960m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <960000000>;
|
||||
clock-output-names = "pll_hsic";
|
||||
};
|
||||
|
||||
pll_mac: clk-pll-1000m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <1000000000>;
|
||||
clock-output-names = "pll_mac";
|
||||
};
|
||||
|
||||
pll_vga: clk-pll-1073m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <1073000000>;
|
||||
clock-output-names = "pll_vga";
|
||||
};
|
||||
|
||||
pll_mm0: clk-pll-1188m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <1188000000>;
|
||||
clock-output-names = "pll_mm0";
|
||||
};
|
||||
|
||||
pll_mm1: clk-pll-1296m {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <1296000000>;
|
||||
clock-output-names = "pll_mm1";
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
|
||||
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@2a00000 {
|
||||
compatible = "arm,gic-v3";
|
||||
#interrupt-cells = <3>;
|
||||
#address-cells = <0>;
|
||||
#redistributor-regions = <6>;
|
||||
redistributor-stride = <0x0 0x40000>;
|
||||
interrupt-controller;
|
||||
reg = <0x02a00000 0x10000>,
|
||||
<0x02b00000 0x20000>,
|
||||
<0x02b20000 0x20000>,
|
||||
<0x02b40000 0x20000>,
|
||||
<0x02b60000 0x20000>,
|
||||
<0x02b80000 0x20000>,
|
||||
<0x02ba0000 0x20000>;
|
||||
interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
ranges;
|
||||
|
||||
aon_sysctrl: aon-sysctrl@116000 {
|
||||
compatible = "zte,zx296718-aon-sysctrl", "syscon";
|
||||
reg = <0x116000 0x1000>;
|
||||
};
|
||||
|
||||
uart0: uart@11f000 {
|
||||
compatible = "arm,pl011", "arm,primecell";
|
||||
arm,primecell-periphid = <0x001feffe>;
|
||||
reg = <0x11f000 0x1000>;
|
||||
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&osc24m>;
|
||||
clock-names = "apb_pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dma: dma-controller@1460000 {
|
||||
compatible = "zte,zx296702-dma";
|
||||
reg = <0x01460000 0x1000>;
|
||||
interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&osc24m>;
|
||||
clock-names = "dmaclk";
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <32>;
|
||||
dma-requests = <32>;
|
||||
};
|
||||
|
||||
sysctrl: sysctrl@1463000 {
|
||||
compatible = "zte,zx296718-sysctrl", "syscon";
|
||||
reg = <0x1463000 0x1000>;
|
||||
};
|
||||
};
|
||||
};
|
Loading…
Reference in New Issue