mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-24 00:57:24 +07:00
b240b419db
This is the usual set of changes for device trees, with over 700 non-merged changesets. There is an ongoing set of dtc warning fixes and the usual bugfixes, cleanups and added device support. The most interesting bit as usual is support for new machines listed below: - The Allwinner H6 makes its debut with the Pine-H64 board, and we get two new machines based on its older siblings: the H5 based OrangePi Zero+ and the A64 based Teres-I Laptop from Olimex. On the 32-bit side, we add The Olimex som204 based on Allwinner A20, and the Banana Pi M2 Zero development board (based on H2). - NVIDIA adds support for Tegra194 aka "Xavier", plus their p2972 development board and p2888 CPU module. - The Nuvoton npcm750 is a BMC that was newly added, for now we only support running on the evaluation board. - STmicroelectronics stm32 gains support for the stm32mp157c and two evaluation boards. - The Toradex Colibri board family grows a few members based on the i.MX6ULL variant. - The Advantec DMS-BA16 is a Qseven module using the NXP i.MX6 family of chips. - The Phytec phyBOARD Mira is a family of industrial boards based on i.MX6. For now, four models get added. - TI am335x based PDU-001 is an industrial embedded machine used for traffic monitoring - The Aspeed platform now supports running on the BMC on the Qualcomm Centriq 2400 server - Samsung Exynos4 based Galaxy S3 is a family of mobile phones Qualcomm msm8974 based Galaxy S5 is a rather different phone made by the same company. - The Xilinx Zynq and ZynqMP platforms now gained a lot of dts file for the various boards made by Xilinx themselves, as well as the Digilent Zybo Z7. - The ARM Versatile family now supports the "IB2" interface board. - The Renesas H2 based "Stout" and the H3 based Salvator-X are more evaluation boards named after a kind of beer, as most of them are. The r8a77980 (V3H) based "Condor" apparently doesn't follow that tradition. ;-) - ROC-RK3328-CC is a simple developement board from the Libre Computer Project, based on the Rockchips RK3328 SoC - Haiku is another development board plus Qseven module based on Rockchips RK3368 and made by Theobroma Systems. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJaxjFeAAoJEGCrR//JCVInw2gQALS/sK83IJE0Ngw98Cko8fqn NnbaLaZybajRCdZfXFrIgyL1YijsK4eeniA6zXvFixctlx0FcH2Ep1merbFa52Il bZKDOeCr6JfSggk2pZvnC7efwAsc5qMmSGU7KgvUV9vgAXTXANdTlVttoBrZldvI baR5W34BjcXRvA14FyxUPiQgGiCft3rE2ZJA9CqJQ9W44vxnTpbcYpimwya8LWss hhbJ8P73HhVsKlwS4QXajpLJSo52VdhGDZCd/MwH1yWjzgQZ7O2ijSFz3jYmvdZf 1guE1FhcpHX8/0j1v5OqfEFAjaFUl+Fef11McUlGe4lVM2C47kuNEil//cb4pJ2j ipQ0qR26GkoBmoxSlt0cI9yUtSemTWzZZSLeTPNQGytb7hRNdR22xwf2vr9Eh6dB PMG2G0VXVp5Xuif+3iDLxFKiPsBsN49RGtqOj6p9eZhbTIRjgQ5671T3Kla0KRLH CFlWyYYrRqtUVeM3XSXmNQb9pyuCDqOlLyVngDbCuz4HIly3I2kgSYLTCFZx5FfT kkVbNy+cO/TOkX8w1P8XiRDGQ16YHQ5kjvy1mUPiPEnf70L2gD8HXWeVX1J2SXzF OoeNJTzON0cpvtUaM/4hsASi5mHz8rv8CTH8HUviRlXvSH/7JqlM2XqhWSVJ+gYZ S7/RgDEviOzsHBf/EMUN =7rHo -----END PGP SIGNATURE----- Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC device tree updates from Arnd Bergmann: "This is the usual set of changes for device trees, with over 700 non-merged changesets. There is an ongoing set of dtc warning fixes and the usual bugfixes, cleanups and added device support. The most interesting bit as usual is support for new machines listed below: - The Allwinner H6 makes its debut with the Pine-H64 board, and we get two new machines based on its older siblings: the H5 based OrangePi Zero+ and the A64 based Teres-I Laptop from Olimex. On the 32-bit side, we add The Olimex som204 based on Allwinner A20, and the Banana Pi M2 Zero development board (based on H2). - NVIDIA adds support for Tegra194 aka "Xavier", plus their p2972 development board and p2888 CPU module. - The Nuvoton npcm750 is a BMC that was newly added, for now we only support running on the evaluation board. - STmicroelectronics stm32 gains support for the stm32mp157c and two evaluation boards. - The Toradex Colibri board family grows a few members based on the i.MX6ULL variant. - The Advantec DMS-BA16 is a Qseven module using the NXP i.MX6 family of chips. - The Phytec phyBOARD Mira is a family of industrial boards based on i.MX6. For now, four models get added. - TI am335x based PDU-001 is an industrial embedded machine used for traffic monitoring - The Aspeed platform now supports running on the BMC on the Qualcomm Centriq 2400 server - Samsung Exynos4 based Galaxy S3 is a family of mobile phones Qualcomm msm8974 based Galaxy S5 is a rather different phone made by the same company. - The Xilinx Zynq and ZynqMP platforms now gained a lot of dts file for the various boards made by Xilinx themselves, as well as the Digilent Zybo Z7. - The ARM Versatile family now supports the "IB2" interface board. - The Renesas H2 based "Stout" and the H3 based Salvator-X are more evaluation boards named after a kind of beer, as most of them are. The r8a77980 (V3H) based "Condor" apparently doesn't follow that tradition. ;-) - ROC-RK3328-CC is a simple developement board from the Libre Computer Project, based on the Rockchips RK3328 SoC - Haiku is another development board plus Qseven module based on Rockchips RK3368 and made by Theobroma Systems" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (701 commits) arm: dts: modify Nuvoton NPCM7xx device tree structure arm: dts: modify Makefile NPCM750 configuration name arm: dts: modify clock binding in NPCM750 device tree arm: dts: modify timer register size in NPCM750 device tree arm: dts: modify UART compatible name in NPCM750 device tree arm: dts: add watchdog device to NPCM750 device tree arm64: dts: uniphier: add ethernet node for PXs3 ARM: dts: uniphier: add pinctrl groups of ethernet for second instance arm: dts: kirkwood*.dts: use SPDX-License-Identifier for board using GPL-2.0+ arm: dts: kirkwood*.dts: use SPDX-License-Identifier for boards using GPL-2.0+/MIT arm: dts: kirkwood*.dts: use SPDX-License-Identifier for boards using GPL-2.0 arm: dts: armada-385-turris-omnia: use SPDX-License-Identifier arm: dts: armada-385-db-ap: use SPDX-License-Identifier arm: dts: armada-388-rd: use SPDX-License-Identifier arm: dts: armada-xp-db-xc3-24g4xg: use SPDX-License-Identifier arm: dts: armada-xp-db-dxbc2: use SPDX-License-Identifier arm: dts: armada-370-db: use SPDX-License-Identifier arm: dts: armada-*.dts: use SPDX-License-Identifier for most of the Armada based board arm: dts: armada-xp-98dx: use SPDX-License-Identifier for prestara 98d SoCs arm: dts: armada-*.dtsi: use SPDX-License-Identifier for most of the Armada SoCs ...
977 lines
26 KiB
Plaintext
977 lines
26 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* dts file for Hisilicon Hi3660 SoC
|
|
*
|
|
* Copyright (C) 2016, Hisilicon Ltd.
|
|
*/
|
|
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/clock/hi3660-clock.h>
|
|
|
|
/ {
|
|
compatible = "hisilicon,hi3660";
|
|
interrupt-parent = <&gic>;
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
psci {
|
|
compatible = "arm,psci-0.2";
|
|
method = "smc";
|
|
};
|
|
|
|
cpus {
|
|
#address-cells = <2>;
|
|
#size-cells = <0>;
|
|
|
|
cpu-map {
|
|
cluster0 {
|
|
core0 {
|
|
cpu = <&cpu0>;
|
|
};
|
|
core1 {
|
|
cpu = <&cpu1>;
|
|
};
|
|
core2 {
|
|
cpu = <&cpu2>;
|
|
};
|
|
core3 {
|
|
cpu = <&cpu3>;
|
|
};
|
|
};
|
|
cluster1 {
|
|
core0 {
|
|
cpu = <&cpu4>;
|
|
};
|
|
core1 {
|
|
cpu = <&cpu5>;
|
|
};
|
|
core2 {
|
|
cpu = <&cpu6>;
|
|
};
|
|
core3 {
|
|
cpu = <&cpu7>;
|
|
};
|
|
};
|
|
};
|
|
|
|
cpu0: cpu@0 {
|
|
compatible = "arm,cortex-a53", "arm,armv8";
|
|
device_type = "cpu";
|
|
reg = <0x0 0x0>;
|
|
enable-method = "psci";
|
|
next-level-cache = <&A53_L2>;
|
|
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>;
|
|
capacity-dmips-mhz = <592>;
|
|
};
|
|
|
|
cpu1: cpu@1 {
|
|
compatible = "arm,cortex-a53", "arm,armv8";
|
|
device_type = "cpu";
|
|
reg = <0x0 0x1>;
|
|
enable-method = "psci";
|
|
next-level-cache = <&A53_L2>;
|
|
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>;
|
|
capacity-dmips-mhz = <592>;
|
|
};
|
|
|
|
cpu2: cpu@2 {
|
|
compatible = "arm,cortex-a53", "arm,armv8";
|
|
device_type = "cpu";
|
|
reg = <0x0 0x2>;
|
|
enable-method = "psci";
|
|
next-level-cache = <&A53_L2>;
|
|
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>;
|
|
capacity-dmips-mhz = <592>;
|
|
};
|
|
|
|
cpu3: cpu@3 {
|
|
compatible = "arm,cortex-a53", "arm,armv8";
|
|
device_type = "cpu";
|
|
reg = <0x0 0x3>;
|
|
enable-method = "psci";
|
|
next-level-cache = <&A53_L2>;
|
|
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>;
|
|
capacity-dmips-mhz = <592>;
|
|
};
|
|
|
|
cpu4: cpu@100 {
|
|
compatible = "arm,cortex-a73", "arm,armv8";
|
|
device_type = "cpu";
|
|
reg = <0x0 0x100>;
|
|
enable-method = "psci";
|
|
next-level-cache = <&A73_L2>;
|
|
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
|
|
capacity-dmips-mhz = <1024>;
|
|
};
|
|
|
|
cpu5: cpu@101 {
|
|
compatible = "arm,cortex-a73", "arm,armv8";
|
|
device_type = "cpu";
|
|
reg = <0x0 0x101>;
|
|
enable-method = "psci";
|
|
next-level-cache = <&A73_L2>;
|
|
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
|
|
capacity-dmips-mhz = <1024>;
|
|
};
|
|
|
|
cpu6: cpu@102 {
|
|
compatible = "arm,cortex-a73", "arm,armv8";
|
|
device_type = "cpu";
|
|
reg = <0x0 0x102>;
|
|
enable-method = "psci";
|
|
next-level-cache = <&A73_L2>;
|
|
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
|
|
capacity-dmips-mhz = <1024>;
|
|
};
|
|
|
|
cpu7: cpu@103 {
|
|
compatible = "arm,cortex-a73", "arm,armv8";
|
|
device_type = "cpu";
|
|
reg = <0x0 0x103>;
|
|
enable-method = "psci";
|
|
next-level-cache = <&A73_L2>;
|
|
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_1>;
|
|
capacity-dmips-mhz = <1024>;
|
|
};
|
|
|
|
idle-states {
|
|
entry-method = "psci";
|
|
|
|
CPU_SLEEP: cpu-sleep {
|
|
compatible = "arm,idle-state";
|
|
local-timer-stop;
|
|
arm,psci-suspend-param = <0x0010000>;
|
|
entry-latency-us = <40>;
|
|
exit-latency-us = <70>;
|
|
min-residency-us = <3000>;
|
|
};
|
|
|
|
CLUSTER_SLEEP_0: cluster-sleep-0 {
|
|
compatible = "arm,idle-state";
|
|
local-timer-stop;
|
|
arm,psci-suspend-param = <0x1010000>;
|
|
entry-latency-us = <500>;
|
|
exit-latency-us = <5000>;
|
|
min-residency-us = <20000>;
|
|
};
|
|
|
|
CLUSTER_SLEEP_1: cluster-sleep-1 {
|
|
compatible = "arm,idle-state";
|
|
local-timer-stop;
|
|
arm,psci-suspend-param = <0x1010000>;
|
|
entry-latency-us = <1000>;
|
|
exit-latency-us = <5000>;
|
|
min-residency-us = <20000>;
|
|
};
|
|
};
|
|
|
|
A53_L2: l2-cache0 {
|
|
compatible = "cache";
|
|
};
|
|
|
|
A73_L2: l2-cache1 {
|
|
compatible = "cache";
|
|
};
|
|
};
|
|
|
|
gic: interrupt-controller@e82b0000 {
|
|
compatible = "arm,gic-400";
|
|
reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */
|
|
<0x0 0xe82b2000 0 0x2000>, /* GICC */
|
|
<0x0 0xe82b4000 0 0x2000>, /* GICH */
|
|
<0x0 0xe82b6000 0 0x2000>; /* GICV */
|
|
#address-cells = <0>;
|
|
#interrupt-cells = <3>;
|
|
interrupt-controller;
|
|
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) |
|
|
IRQ_TYPE_LEVEL_HIGH)>;
|
|
};
|
|
|
|
a53-pmu {
|
|
compatible = "arm,cortex-a53-pmu";
|
|
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>;
|
|
interrupt-affinity = <&cpu0>,
|
|
<&cpu1>,
|
|
<&cpu2>,
|
|
<&cpu3>;
|
|
};
|
|
|
|
a73-pmu {
|
|
compatible = "arm,cortex-a73-pmu";
|
|
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-affinity = <&cpu4>,
|
|
<&cpu5>,
|
|
<&cpu6>,
|
|
<&cpu7>;
|
|
};
|
|
|
|
timer {
|
|
compatible = "arm,armv8-timer";
|
|
interrupt-parent = <&gic>;
|
|
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)>;
|
|
};
|
|
|
|
soc {
|
|
compatible = "simple-bus";
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
|
|
crg_ctrl: crg_ctrl@fff35000 {
|
|
compatible = "hisilicon,hi3660-crgctrl", "syscon";
|
|
reg = <0x0 0xfff35000 0x0 0x1000>;
|
|
#clock-cells = <1>;
|
|
};
|
|
|
|
crg_rst: crg_rst_controller {
|
|
compatible = "hisilicon,hi3660-reset";
|
|
#reset-cells = <2>;
|
|
hisi,rst-syscon = <&crg_ctrl>;
|
|
};
|
|
|
|
|
|
pctrl: pctrl@e8a09000 {
|
|
compatible = "hisilicon,hi3660-pctrl", "syscon";
|
|
reg = <0x0 0xe8a09000 0x0 0x2000>;
|
|
#clock-cells = <1>;
|
|
};
|
|
|
|
pmuctrl: crg_ctrl@fff34000 {
|
|
compatible = "hisilicon,hi3660-pmuctrl", "syscon";
|
|
reg = <0x0 0xfff34000 0x0 0x1000>;
|
|
#clock-cells = <1>;
|
|
};
|
|
|
|
sctrl: sctrl@fff0a000 {
|
|
compatible = "hisilicon,hi3660-sctrl", "syscon";
|
|
reg = <0x0 0xfff0a000 0x0 0x1000>;
|
|
#clock-cells = <1>;
|
|
};
|
|
|
|
iomcu: iomcu@ffd7e000 {
|
|
compatible = "hisilicon,hi3660-iomcu", "syscon";
|
|
reg = <0x0 0xffd7e000 0x0 0x1000>;
|
|
#clock-cells = <1>;
|
|
|
|
};
|
|
|
|
iomcu_rst: reset {
|
|
compatible = "hisilicon,hi3660-reset";
|
|
hisi,rst-syscon = <&iomcu>;
|
|
#reset-cells = <2>;
|
|
};
|
|
|
|
dual_timer0: timer@fff14000 {
|
|
compatible = "arm,sp804", "arm,primecell";
|
|
reg = <0x0 0xfff14000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_OSC32K>,
|
|
<&crg_ctrl HI3660_OSC32K>,
|
|
<&crg_ctrl HI3660_OSC32K>;
|
|
clock-names = "timer1", "timer2", "apb_pclk";
|
|
};
|
|
|
|
i2c0: i2c@ffd71000 {
|
|
compatible = "snps,designware-i2c";
|
|
reg = <0x0 0xffd71000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <400000>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_I2C0>;
|
|
resets = <&iomcu_rst 0x20 3>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c0_pmx_func &i2c0_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c1: i2c@ffd72000 {
|
|
compatible = "snps,designware-i2c";
|
|
reg = <0x0 0xffd72000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <400000>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_I2C1>;
|
|
resets = <&iomcu_rst 0x20 4>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c1_pmx_func &i2c1_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c3: i2c@fdf0c000 {
|
|
compatible = "snps,designware-i2c";
|
|
reg = <0x0 0xfdf0c000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <400000>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_I2C3>;
|
|
resets = <&crg_rst 0x78 7>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c3_pmx_func &i2c3_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
i2c7: i2c@fdf0b000 {
|
|
compatible = "snps,designware-i2c";
|
|
reg = <0x0 0xfdf0b000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clock-frequency = <400000>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_I2C7>;
|
|
resets = <&crg_rst 0x60 14>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c7_pmx_func &i2c7_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart0: serial@fdf02000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x0 0xfdf02000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_MUX_UART0>,
|
|
<&crg_ctrl HI3660_PCLK>;
|
|
clock-names = "uartclk", "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_pmx_func &uart0_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart1: serial@fdf00000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x0 0xfdf00000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_UART1>,
|
|
<&crg_ctrl HI3660_CLK_GATE_UART1>;
|
|
clock-names = "uartclk", "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart1_pmx_func &uart1_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart2: serial@fdf03000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x0 0xfdf03000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_UART2>,
|
|
<&crg_ctrl HI3660_PCLK>;
|
|
clock-names = "uartclk", "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart2_pmx_func &uart2_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart3: serial@ffd74000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x0 0xffd74000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_FACTOR_UART3>,
|
|
<&crg_ctrl HI3660_PCLK>;
|
|
clock-names = "uartclk", "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart3_pmx_func &uart3_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart4: serial@fdf01000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x0 0xfdf01000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_UART4>,
|
|
<&crg_ctrl HI3660_CLK_GATE_UART4>;
|
|
clock-names = "uartclk", "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart4_pmx_func &uart4_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart5: serial@fdf05000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x0 0xfdf05000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_UART5>,
|
|
<&crg_ctrl HI3660_CLK_GATE_UART5>;
|
|
clock-names = "uartclk", "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart5_pmx_func &uart5_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
uart6: serial@fff32000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x0 0xfff32000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_UART6>,
|
|
<&crg_ctrl HI3660_PCLK>;
|
|
clock-names = "uartclk", "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart6_pmx_func &uart6_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
dma0: dma@fdf30000 {
|
|
compatible = "hisilicon,k3-dma-1.0";
|
|
reg = <0x0 0xfdf30000 0x0 0x1000>;
|
|
#dma-cells = <1>;
|
|
dma-channels = <16>;
|
|
dma-requests = <32>;
|
|
dma-min-chan = <1>;
|
|
interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_DMAC>;
|
|
dma-no-cci;
|
|
dma-type = "hi3660_dma";
|
|
};
|
|
|
|
rtc0: rtc@fff04000 {
|
|
compatible = "arm,pl031", "arm,primecell";
|
|
reg = <0x0 0Xfff04000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_PCLK>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio0: gpio@e8a0b000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a0b000 0 0x1000>;
|
|
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 1 0 7>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO0>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio1: gpio@e8a0c000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a0c000 0 0x1000>;
|
|
interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 1 7 7>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO1>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio2: gpio@e8a0d000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a0d000 0 0x1000>;
|
|
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 14 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO2>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio3: gpio@e8a0e000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a0e000 0 0x1000>;
|
|
interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 22 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO3>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio4: gpio@e8a0f000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a0f000 0 0x1000>;
|
|
interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 30 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO4>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio5: gpio@e8a10000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a10000 0 0x1000>;
|
|
interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 38 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO5>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio6: gpio@e8a11000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a11000 0 0x1000>;
|
|
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 46 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO6>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio7: gpio@e8a12000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a12000 0 0x1000>;
|
|
interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 54 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO7>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio8: gpio@e8a13000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a13000 0 0x1000>;
|
|
interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 62 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO8>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio9: gpio@e8a14000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a14000 0 0x1000>;
|
|
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 70 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO9>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio10: gpio@e8a15000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a15000 0 0x1000>;
|
|
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 78 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO10>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio11: gpio@e8a16000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a16000 0 0x1000>;
|
|
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 86 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO11>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio12: gpio@e8a17000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a17000 0 0x1000>;
|
|
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 94 3 &pmx0 7 101 1>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO12>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio13: gpio@e8a18000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a18000 0 0x1000>;
|
|
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 102 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO13>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio14: gpio@e8a19000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a19000 0 0x1000>;
|
|
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 110 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO14>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio15: gpio@e8a1a000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a1a000 0 0x1000>;
|
|
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx0 0 118 6>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO15>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio16: gpio@e8a1b000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a1b000 0 0x1000>;
|
|
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO16>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio17: gpio@e8a1c000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a1c000 0 0x1000>;
|
|
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO17>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio18: gpio@ff3b4000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xff3b4000 0 0x1000>;
|
|
interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx2 0 0 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO18>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio19: gpio@ff3b5000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xff3b5000 0 0x1000>;
|
|
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx2 0 8 4>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO19>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio20: gpio@e8a1f000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a1f000 0 0x1000>;
|
|
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&pmx1 0 0 6>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO20>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio21: gpio@e8a20000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xe8a20000 0 0x1000>;
|
|
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
gpio-ranges = <&pmx3 0 0 6>;
|
|
clocks = <&crg_ctrl HI3660_PCLK_GPIO21>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio22: gpio@fff0b000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xfff0b000 0 0x1000>;
|
|
interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
/* GPIO176 */
|
|
gpio-ranges = <&pmx4 2 0 6>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&sctrl HI3660_PCLK_AO_GPIO0>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio23: gpio@fff0c000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xfff0c000 0 0x1000>;
|
|
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
/* GPIO184 */
|
|
gpio-ranges = <&pmx4 0 6 7>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&sctrl HI3660_PCLK_AO_GPIO1>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio24: gpio@fff0d000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xfff0d000 0 0x1000>;
|
|
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
/* GPIO192 */
|
|
gpio-ranges = <&pmx4 0 13 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&sctrl HI3660_PCLK_AO_GPIO2>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio25: gpio@fff0e000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xfff0e000 0 0x1000>;
|
|
interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
/* GPIO200 */
|
|
gpio-ranges = <&pmx4 0 21 4 &pmx4 5 25 3>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&sctrl HI3660_PCLK_AO_GPIO3>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio26: gpio@fff0f000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xfff0f000 0 0x1000>;
|
|
interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
/* GPIO208 */
|
|
gpio-ranges = <&pmx4 0 28 8>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&sctrl HI3660_PCLK_AO_GPIO4>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio27: gpio@fff10000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xfff10000 0 0x1000>;
|
|
interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
/* GPIO216 */
|
|
gpio-ranges = <&pmx4 0 36 6>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&sctrl HI3660_PCLK_AO_GPIO5>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
gpio28: gpio@fff1d000 {
|
|
compatible = "arm,pl061", "arm,primecell";
|
|
reg = <0 0xfff1d000 0 0x1000>;
|
|
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&sctrl HI3660_PCLK_AO_GPIO6>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
spi2: spi@ffd68000 {
|
|
compatible = "arm,pl022", "arm,primecell";
|
|
reg = <0x0 0xffd68000 0x0 0x1000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_SPI2>;
|
|
clock-names = "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&spi2_pmx_func>;
|
|
num-cs = <1>;
|
|
cs-gpios = <&gpio27 2 0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
spi3: spi@ff3b3000 {
|
|
compatible = "arm,pl022", "arm,primecell";
|
|
reg = <0x0 0xff3b3000 0x0 0x1000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_SPI3>;
|
|
clock-names = "apb_pclk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&spi3_pmx_func>;
|
|
num-cs = <1>;
|
|
cs-gpios = <&gpio18 5 0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
pcie@f4000000 {
|
|
compatible = "hisilicon,kirin960-pcie";
|
|
reg = <0x0 0xf4000000 0x0 0x1000>,
|
|
<0x0 0xff3fe000 0x0 0x1000>,
|
|
<0x0 0xf3f20000 0x0 0x40000>,
|
|
<0x0 0xf5000000 0x0 0x2000>;
|
|
reg-names = "dbi", "apb", "phy", "config";
|
|
bus-range = <0x0 0x1>;
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
device_type = "pci";
|
|
ranges = <0x02000000 0x0 0x00000000
|
|
0x0 0xf6000000
|
|
0x0 0x02000000>;
|
|
num-lanes = <1>;
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0xf800 0 0 7>;
|
|
interrupt-map = <0x0 0 0 1
|
|
&gic GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0x0 0 0 2
|
|
&gic GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0x0 0 0 3
|
|
&gic GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0x0 0 0 4
|
|
&gic GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_PCIEPHY_REF>,
|
|
<&crg_ctrl HI3660_CLK_GATE_PCIEAUX>,
|
|
<&crg_ctrl HI3660_PCLK_GATE_PCIE_PHY>,
|
|
<&crg_ctrl HI3660_PCLK_GATE_PCIE_SYS>,
|
|
<&crg_ctrl HI3660_ACLK_GATE_PCIE>;
|
|
clock-names = "pcie_phy_ref", "pcie_aux",
|
|
"pcie_apb_phy", "pcie_apb_sys",
|
|
"pcie_aclk";
|
|
reset-gpios = <&gpio11 1 0 >;
|
|
};
|
|
|
|
/* SD */
|
|
dwmmc1: dwmmc1@ff37f000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
cd-inverted;
|
|
compatible = "hisilicon,hi3660-dw-mshc";
|
|
bus-width = <0x4>;
|
|
disable-wp;
|
|
cap-sd-highspeed;
|
|
supports-highspeed;
|
|
card-detect-delay = <200>;
|
|
reg = <0x0 0xff37f000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_SD>,
|
|
<&crg_ctrl HI3660_HCLK_GATE_SD>;
|
|
clock-names = "ciu", "biu";
|
|
clock-frequency = <3200000>;
|
|
resets = <&crg_rst 0x94 18>;
|
|
reset-names = "reset";
|
|
cd-gpios = <&gpio25 3 0>;
|
|
hisilicon,peripheral-syscon = <&sctrl>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sd_pmx_func
|
|
&sd_clk_cfg_func
|
|
&sd_cfg_func>;
|
|
sd-uhs-sdr12;
|
|
sd-uhs-sdr25;
|
|
sd-uhs-sdr50;
|
|
sd-uhs-sdr104;
|
|
status = "disabled";
|
|
|
|
slot@0 {
|
|
reg = <0x0>;
|
|
bus-width = <4>;
|
|
disable-wp;
|
|
};
|
|
};
|
|
|
|
/* SDIO */
|
|
dwmmc2: dwmmc2@ff3ff000 {
|
|
compatible = "hisilicon,hi3660-dw-mshc";
|
|
reg = <0x0 0xff3ff000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_CLK_GATE_SDIO0>,
|
|
<&crg_ctrl HI3660_HCLK_GATE_SDIO0>;
|
|
clock-names = "ciu", "biu";
|
|
resets = <&crg_rst 0x94 20>;
|
|
reset-names = "reset";
|
|
card-detect-delay = <200>;
|
|
supports-highspeed;
|
|
keep-power-in-suspend;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdio_pmx_func
|
|
&sdio_clk_cfg_func
|
|
&sdio_cfg_func>;
|
|
status = "disabled";
|
|
};
|
|
|
|
watchdog0: watchdog@e8a06000 {
|
|
compatible = "arm,sp805-wdt", "arm,primecell";
|
|
reg = <0x0 0xe8a06000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_OSC32K>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
watchdog1: watchdog@e8a07000 {
|
|
compatible = "arm,sp805-wdt", "arm,primecell";
|
|
reg = <0x0 0xe8a07000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg_ctrl HI3660_OSC32K>;
|
|
clock-names = "apb_pclk";
|
|
};
|
|
|
|
tsensor: tsensor@fff30000 {
|
|
compatible = "hisilicon,hi3660-tsensor";
|
|
reg = <0x0 0xfff30000 0x0 0x1000>;
|
|
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
|
|
#thermal-sensor-cells = <1>;
|
|
};
|
|
};
|
|
};
|