mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
Merge branch 'linus' into sched/urgent, to resolve conflicts
Conflicts: arch/arm64/kernel/entry.S arch/x86/Kconfig include/linux/sched/mm.h kernel/fork.c Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
commit
8284507916
9071 changed files with 389883 additions and 253610 deletions
|
|
@ -60,6 +60,7 @@ config ARM64
|
|||
select COMMON_CLK
|
||||
select CPU_PM if (SUSPEND || CPU_IDLE)
|
||||
select DCACHE_WORD_ACCESS
|
||||
select DMA_DIRECT_OPS
|
||||
select EDAC_SUPPORT
|
||||
select FRAME_POINTER
|
||||
select GENERIC_ALLOCATOR
|
||||
|
|
@ -91,6 +92,7 @@ config ARM64
|
|||
select HAVE_ARCH_MMAP_RND_BITS
|
||||
select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
|
||||
select HAVE_ARCH_SECCOMP_FILTER
|
||||
select HAVE_ARCH_THREAD_STRUCT_WHITELIST
|
||||
select HAVE_ARCH_TRACEHOOK
|
||||
select HAVE_ARCH_TRANSPARENT_HUGEPAGE
|
||||
select HAVE_ARCH_VMAP_STACK
|
||||
|
|
@ -228,7 +230,7 @@ config GENERIC_CSUM
|
|||
config GENERIC_CALIBRATE_DELAY
|
||||
def_bool y
|
||||
|
||||
config ZONE_DMA
|
||||
config ZONE_DMA32
|
||||
def_bool y
|
||||
|
||||
config HAVE_GENERIC_GUP
|
||||
|
|
@ -523,20 +525,13 @@ config CAVIUM_ERRATUM_30115
|
|||
config QCOM_FALKOR_ERRATUM_1003
|
||||
bool "Falkor E1003: Incorrect translation due to ASID change"
|
||||
default y
|
||||
select ARM64_PAN if ARM64_SW_TTBR0_PAN
|
||||
help
|
||||
On Falkor v1, an incorrect ASID may be cached in the TLB when ASID
|
||||
and BADDR are changed together in TTBRx_EL1. The workaround for this
|
||||
issue is to use a reserved ASID in cpu_do_switch_mm() before
|
||||
switching to the new ASID. Saying Y here selects ARM64_PAN if
|
||||
ARM64_SW_TTBR0_PAN is selected. This is done because implementing and
|
||||
maintaining the E1003 workaround in the software PAN emulation code
|
||||
would be an unnecessary complication. The affected Falkor v1 CPU
|
||||
implements ARMv8.1 hardware PAN support and using hardware PAN
|
||||
support versus software PAN emulation is mutually exclusive at
|
||||
runtime.
|
||||
|
||||
If unsure, say Y.
|
||||
and BADDR are changed together in TTBRx_EL1. Since we keep the ASID
|
||||
in TTBR1_EL1, this situation only occurs in the entry trampoline and
|
||||
then only for entries in the walk cache, since the leaf translation
|
||||
is unchanged. Work around the erratum by invalidating the walk cache
|
||||
entries for the trampoline before entering the kernel proper.
|
||||
|
||||
config QCOM_FALKOR_ERRATUM_1009
|
||||
bool "Falkor E1009: Prematurely complete a DSB after a TLBI"
|
||||
|
|
@ -657,6 +652,35 @@ config ARM64_VA_BITS
|
|||
default 47 if ARM64_VA_BITS_47
|
||||
default 48 if ARM64_VA_BITS_48
|
||||
|
||||
choice
|
||||
prompt "Physical address space size"
|
||||
default ARM64_PA_BITS_48
|
||||
help
|
||||
Choose the maximum physical address range that the kernel will
|
||||
support.
|
||||
|
||||
config ARM64_PA_BITS_48
|
||||
bool "48-bit"
|
||||
|
||||
config ARM64_PA_BITS_52
|
||||
bool "52-bit (ARMv8.2)"
|
||||
depends on ARM64_64K_PAGES
|
||||
depends on ARM64_PAN || !ARM64_SW_TTBR0_PAN
|
||||
help
|
||||
Enable support for a 52-bit physical address space, introduced as
|
||||
part of the ARMv8.2-LPA extension.
|
||||
|
||||
With this enabled, the kernel will also continue to work on CPUs that
|
||||
do not support ARMv8.2-LPA, but with some added memory overhead (and
|
||||
minor performance overhead).
|
||||
|
||||
endchoice
|
||||
|
||||
config ARM64_PA_BITS
|
||||
int
|
||||
default 48 if ARM64_PA_BITS_48
|
||||
default 52 if ARM64_PA_BITS_52
|
||||
|
||||
config CPU_BIG_ENDIAN
|
||||
bool "Build big-endian kernel"
|
||||
help
|
||||
|
|
@ -851,6 +875,35 @@ config FORCE_MAX_ZONEORDER
|
|||
However for 4K, we choose a higher default value, 11 as opposed to 10, giving us
|
||||
4M allocations matching the default size used by generic code.
|
||||
|
||||
config UNMAP_KERNEL_AT_EL0
|
||||
bool "Unmap kernel when running in userspace (aka \"KAISER\")" if EXPERT
|
||||
default y
|
||||
help
|
||||
Speculation attacks against some high-performance processors can
|
||||
be used to bypass MMU permission checks and leak kernel data to
|
||||
userspace. This can be defended against by unmapping the kernel
|
||||
when running in userspace, mapping it back in on exception entry
|
||||
via a trampoline page in the vector table.
|
||||
|
||||
If unsure, say Y.
|
||||
|
||||
config HARDEN_BRANCH_PREDICTOR
|
||||
bool "Harden the branch predictor against aliasing attacks" if EXPERT
|
||||
default y
|
||||
help
|
||||
Speculation attacks against some high-performance processors rely on
|
||||
being able to manipulate the branch predictor for a victim context by
|
||||
executing aliasing branches in the attacker context. Such attacks
|
||||
can be partially mitigated against by clearing internal branch
|
||||
predictor state and limiting the prediction logic in some situations.
|
||||
|
||||
This config option will take CPU-specific actions to harden the
|
||||
branch predictor against aliasing attacks and may rely on specific
|
||||
instruction sequences or control bits being set by the system
|
||||
firmware.
|
||||
|
||||
If unsure, say Y.
|
||||
|
||||
menuconfig ARMV8_DEPRECATED
|
||||
bool "Emulate deprecated/obsolete ARMv8 instructions"
|
||||
depends on COMPAT
|
||||
|
|
@ -1022,6 +1075,22 @@ config ARM64_PMEM
|
|||
operations if DC CVAP is not supported (following the behaviour of
|
||||
DC CVAP itself if the system does not define a point of persistence).
|
||||
|
||||
config ARM64_RAS_EXTN
|
||||
bool "Enable support for RAS CPU Extensions"
|
||||
default y
|
||||
help
|
||||
CPUs that support the Reliability, Availability and Serviceability
|
||||
(RAS) Extensions, part of ARMv8.2 are able to track faults and
|
||||
errors, classify them and report them to software.
|
||||
|
||||
On CPUs with these extensions system software can use additional
|
||||
barriers to determine if faults are pending and read the
|
||||
classification from a new set of registers.
|
||||
|
||||
Selecting this feature will allow the kernel to use these barriers
|
||||
and access the new registers if the system supports the extension.
|
||||
Platform RAS features may additionally depend on firmware support.
|
||||
|
||||
endmenu
|
||||
|
||||
config ARM64_SVE
|
||||
|
|
|
|||
|
|
@ -105,6 +105,7 @@ config ARCH_MESON
|
|||
select PINCTRL_MESON
|
||||
select COMMON_CLK_AMLOGIC
|
||||
select COMMON_CLK_GXBB
|
||||
select COMMON_CLK_AXG
|
||||
select MESON_IRQ_GPIO
|
||||
help
|
||||
This enables support for the Amlogic S905 SoCs.
|
||||
|
|
|
|||
|
|
@ -1 +1,3 @@
|
|||
dtb-$(CONFIG_ARCH_ACTIONS) += s700-cubieboard7.dtb
|
||||
|
||||
dtb-$(CONFIG_ARCH_ACTIONS) += s900-bubblegum-96.dtb
|
||||
|
|
|
|||
46
arch/arm64/boot/dts/actions/s700-cubieboard7.dts
Normal file
46
arch/arm64/boot/dts/actions/s700-cubieboard7.dts
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2017 Andreas Färber
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "s700.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "cubietech,cubieboard7", "actions,s700";
|
||||
model = "CubieBoard7";
|
||||
|
||||
aliases {
|
||||
serial3 = &uart3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial3:115200n8";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
memory@1,e0000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x1 0xe0000000 0x0 0x0>;
|
||||
};
|
||||
|
||||
uart3_clk: uart3-clk {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <921600>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&timer {
|
||||
clocks = <&hosc>;
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
status = "okay";
|
||||
clocks = <&uart3_clk>;
|
||||
};
|
||||
169
arch/arm64/boot/dts/actions/s700.dtsi
Normal file
169
arch/arm64/boot/dts/actions/s700.dtsi
Normal file
|
|
@ -0,0 +1,169 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2017 Andreas Färber
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
|
||||
/ {
|
||||
compatible = "actions,s700";
|
||||
interrupt-parent = <&gic>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
cpus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
secmon@1f000000 {
|
||||
reg = <0x0 0x1f000000 0x0 0x1000000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
arm-pmu {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13
|
||||
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14
|
||||
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11
|
||||
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 10
|
||||
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
hosc: hosc {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <24000000>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
gic: interrupt-controller@e00f1000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x0 0xe00f1000 0x0 0x1000>,
|
||||
<0x0 0xe00f2000 0x0 0x2000>,
|
||||
<0x0 0xe00f4000 0x0 0x2000>,
|
||||
<0x0 0xe00f6000 0x0 0x2000>;
|
||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
};
|
||||
|
||||
uart0: serial@e0120000 {
|
||||
compatible = "actions,s900-uart", "actions,owl-uart";
|
||||
reg = <0x0 0xe0120000 0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart1: serial@e0122000 {
|
||||
compatible = "actions,s900-uart", "actions,owl-uart";
|
||||
reg = <0x0 0xe0122000 0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart2: serial@e0124000 {
|
||||
compatible = "actions,s900-uart", "actions,owl-uart";
|
||||
reg = <0x0 0xe0124000 0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart3: serial@e0126000 {
|
||||
compatible = "actions,s900-uart", "actions,owl-uart";
|
||||
reg = <0x0 0xe0126000 0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart4: serial@e0128000 {
|
||||
compatible = "actions,s900-uart", "actions,owl-uart";
|
||||
reg = <0x0 0xe0128000 0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart5: serial@e012a000 {
|
||||
compatible = "actions,s900-uart", "actions,owl-uart";
|
||||
reg = <0x0 0xe012a000 0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart6: serial@e012c000 {
|
||||
compatible = "actions,s900-uart", "actions,owl-uart";
|
||||
reg = <0x0 0xe012c000 0x0 0x2000>;
|
||||
interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sps: power-controller@e01b0100 {
|
||||
compatible = "actions,s700-sps";
|
||||
reg = <0x0 0xe01b0100 0x0 0x100>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
timer: timer@e024c000 {
|
||||
compatible = "actions,s700-timer";
|
||||
reg = <0x0 0xe024c000 0x0 0x4000>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "timer1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -60,6 +60,26 @@
|
|||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
pwr-led {
|
||||
label = "bananapi-m64:red:pwr";
|
||||
gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
green {
|
||||
label = "bananapi-m64:green:user";
|
||||
gpios = <&pio 4 14 GPIO_ACTIVE_HIGH>; /* PE14 */
|
||||
};
|
||||
|
||||
blue {
|
||||
label = "bananapi-m64:blue:user";
|
||||
gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 */
|
||||
};
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
|
|
@ -153,6 +173,17 @@
|
|||
|
||||
#include "axp803.dtsi"
|
||||
|
||||
®_aldo1 {
|
||||
/*
|
||||
* This regulator also drives the PE pingroup GPIOs,
|
||||
* which also controls two LEDs.
|
||||
*/
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-name = "afvcc-csi";
|
||||
};
|
||||
|
||||
®_aldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
|
|
@ -168,6 +199,11 @@
|
|||
};
|
||||
|
||||
®_dc1sw {
|
||||
/*
|
||||
* This regulator also indirectly drives the PD pingroup GPIOs,
|
||||
* which also controls the power LED.
|
||||
*/
|
||||
regulator-always-on;
|
||||
regulator-name = "vcc-phy";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -57,6 +57,11 @@
|
|||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
|
|
@ -70,6 +75,24 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins>;
|
||||
vmmc-supply = <®_aldo2>;
|
||||
vqmmc-supply = <®_dldo4>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
rtl8723bs: wifi@1 {
|
||||
reg = <1>;
|
||||
interrupt-parent = <&r_pio>;
|
||||
interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
|
|
|
|||
|
|
@ -57,13 +57,6 @@
|
|||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
reg_vcc3v3: vcc3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
|
|
@ -73,7 +66,7 @@
|
|||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
|
||||
cd-inverted;
|
||||
status = "okay";
|
||||
|
|
@ -83,6 +76,122 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
axp803: pmic@3a3 {
|
||||
compatible = "x-powers,axp803";
|
||||
reg = <0x3a3>;
|
||||
interrupt-parent = <&r_intc>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp803.dtsi"
|
||||
|
||||
®_aldo1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "afvcc-csi";
|
||||
};
|
||||
|
||||
®_aldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-pl";
|
||||
};
|
||||
|
||||
®_aldo3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-name = "vcc-pll-avcc";
|
||||
};
|
||||
|
||||
®_dcdc1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-3v3";
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1040000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-name = "vdd-cpux";
|
||||
};
|
||||
|
||||
/* DCDC3 is polyphased with DCDC2 */
|
||||
|
||||
®_dcdc5 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-name = "vcc-dram";
|
||||
};
|
||||
|
||||
®_dcdc6 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-name = "vdd-sys";
|
||||
};
|
||||
|
||||
®_dldo1 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-hdmi-dsi";
|
||||
};
|
||||
|
||||
®_dldo2 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi";
|
||||
};
|
||||
|
||||
®_dldo3 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "avdd-csi";
|
||||
};
|
||||
|
||||
®_dldo4 {
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi-io";
|
||||
};
|
||||
|
||||
®_eldo1 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "cpvdd";
|
||||
};
|
||||
|
||||
®_fldo1 {
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-name = "vcc-1v2-hsic";
|
||||
};
|
||||
|
||||
/*
|
||||
* The A64 chip cannot work without this regulator off, although
|
||||
* it seems to be only driving the AR100 core.
|
||||
* Maybe we don't still know well about CPUs domain.
|
||||
*/
|
||||
®_fldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-name = "vdd-cpus";
|
||||
};
|
||||
|
||||
®_rtc_ldo {
|
||||
regulator-name = "vcc-rtc";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pins_a>;
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@
|
|||
compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &emac;
|
||||
serial0 = &uart0;
|
||||
};
|
||||
|
||||
|
|
@ -133,9 +134,25 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&emac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
phy-mode = "rgmii";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&external_mdio {
|
||||
ext_rgmii_phy: ethernet-phy@7 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <7>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@
|
|||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@
|
|||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
|
|
|
|||
|
|
@ -168,7 +168,7 @@
|
|||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
|
|
|
|||
|
|
@ -64,17 +64,43 @@
|
|||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
wifi_pwrseq: wifi_pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
pinctrl-names = "default";
|
||||
reset-gpios = <&pio 0 9 GPIO_ACTIVE_LOW>; /* PA9 */
|
||||
post-power-on-delay-ms = <200>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
|
||||
pinctrl-0 = <&mmc0_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins_a>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
vqmmc-supply = <®_vcc3v3>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
interrupt-parent = <&r_pio>;
|
||||
interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
|
|
@ -90,3 +116,9 @@
|
|||
pinctrl-0 = <&uart0_pins_a>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -98,6 +98,10 @@
|
|||
compatible = "allwinner,sun50i-h5-ccu";
|
||||
};
|
||||
|
||||
&display_clocks {
|
||||
compatible = "allwinner,sun50i-h5-de2-clk";
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
compatible = "allwinner,sun50i-h5-mmc",
|
||||
"allwinner,sun50i-a64-mmc";
|
||||
|
|
|
|||
|
|
@ -249,7 +249,9 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xffda4000 0x1000>;
|
||||
interrupts = <0 101 4>;
|
||||
interrupts = <0 99 4>;
|
||||
resets = <&rst SPIM0_RESET>;
|
||||
reg-io-width = <4>;
|
||||
num-chipselect = <4>;
|
||||
bus-num = <0>;
|
||||
status = "disabled";
|
||||
|
|
@ -260,7 +262,9 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0xffda5000 0x1000>;
|
||||
interrupts = <0 102 4>;
|
||||
interrupts = <0 100 4>;
|
||||
resets = <&rst SPIM1_RESET>;
|
||||
reg-io-width = <4>;
|
||||
num-chipselect = <4>;
|
||||
bus-num = <0>;
|
||||
status = "disabled";
|
||||
|
|
@ -336,8 +340,8 @@
|
|||
interrupts = <0 93 4>;
|
||||
phys = <&usbphy0>;
|
||||
phy-names = "usb2-phy";
|
||||
resets = <&rst USB0_RESET>;
|
||||
reset-names = "dwc2";
|
||||
resets = <&rst USB0_RESET>, <&rst USB0_OCP_RESET>;
|
||||
reset-names = "dwc2", "dwc2-ecc";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
@ -347,8 +351,8 @@
|
|||
interrupts = <0 94 4>;
|
||||
phys = <&usbphy0>;
|
||||
phy-names = "usb2-phy";
|
||||
resets = <&rst USB1_RESET>;
|
||||
reset-names = "dwc2";
|
||||
resets = <&rst USB1_RESET>, <&rst USB1_OCP_RESET>;
|
||||
reset-names = "dwc2", "dwc2-ecc";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -97,3 +97,7 @@
|
|||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,6 +17,19 @@
|
|||
};
|
||||
};
|
||||
|
||||
ðmac {
|
||||
status = "okay";
|
||||
phy-mode = "rgmii";
|
||||
pinctrl-0 = <ð_rgmii_y_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&uart_AO {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ir {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&remote_input_ao_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/axg-clkc.h>
|
||||
|
||||
/ {
|
||||
compatible = "amlogic,meson-axg";
|
||||
|
|
@ -113,13 +114,55 @@
|
|||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
cbus: cbus@ffd00000 {
|
||||
cbus: bus@ffd00000 {
|
||||
compatible = "simple-bus";
|
||||
reg = <0x0 0xffd00000 0x0 0x25000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0xffd00000 0x0 0x25000>;
|
||||
|
||||
pwm_ab: pwm@1b000 {
|
||||
compatible = "amlogic,meson-axg-ee-pwm";
|
||||
reg = <0x0 0x1b000 0x0 0x20>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm_cd: pwm@1a000 {
|
||||
compatible = "amlogic,meson-axg-ee-pwm";
|
||||
reg = <0x0 0x1a000 0x0 0x20>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
reset: reset-controller@1004 {
|
||||
compatible = "amlogic,meson-axg-reset";
|
||||
reg = <0x0 0x01004 0x0 0x9c>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
spicc0: spi@13000 {
|
||||
compatible = "amlogic,meson-axg-spicc";
|
||||
reg = <0x0 0x13000 0x0 0x3c>;
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clkc CLKID_SPICC0>;
|
||||
clock-names = "core";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spicc1: spi@15000 {
|
||||
compatible = "amlogic,meson-axg-spicc";
|
||||
reg = <0x0 0x15000 0x0 0x3c>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clkc CLKID_SPICC1>;
|
||||
clock-names = "core";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart_A: serial@24000 {
|
||||
compatible = "amlogic,meson-gx-uart", "amlogic,meson-uart";
|
||||
reg = <0x0 0x24000 0x0 0x14>;
|
||||
|
|
@ -135,6 +178,19 @@
|
|||
};
|
||||
};
|
||||
|
||||
ethmac: ethernet@ff3f0000 {
|
||||
compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac";
|
||||
reg = <0x0 0xff3f0000 0x0 0x10000
|
||||
0x0 0xff634540 0x0 0x8>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "macirq";
|
||||
clocks = <&clkc CLKID_ETH>,
|
||||
<&clkc CLKID_FCLK_DIV2>,
|
||||
<&clkc CLKID_MPLL2>;
|
||||
clock-names = "stmmaceth", "clkin0", "clkin1";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gic: interrupt-controller@ffc01000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x0 0xffc01000 0 0x1000>,
|
||||
|
|
@ -148,6 +204,20 @@
|
|||
#address-cells = <0>;
|
||||
};
|
||||
|
||||
hiubus: bus@ff63c000 {
|
||||
compatible = "simple-bus";
|
||||
reg = <0x0 0xff63c000 0x0 0x1c00>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0xff63c000 0x0 0x1c00>;
|
||||
|
||||
clkc: clock-controller@0 {
|
||||
compatible = "amlogic,axg-clkc";
|
||||
#clock-cells = <1>;
|
||||
reg = <0x0 0x0 0x0 0x320>;
|
||||
};
|
||||
};
|
||||
|
||||
mailbox: mailbox@ff63dc00 {
|
||||
compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu";
|
||||
reg = <0 0xff63dc00 0 0x400>;
|
||||
|
|
@ -157,6 +227,226 @@
|
|||
#mbox-cells = <1>;
|
||||
};
|
||||
|
||||
periphs: periphs@ff634000 {
|
||||
compatible = "simple-bus";
|
||||
reg = <0x0 0xff634000 0x0 0x2000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0xff634000 0x0 0x2000>;
|
||||
|
||||
pinctrl_periphs: pinctrl@480 {
|
||||
compatible = "amlogic,meson-axg-periphs-pinctrl";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
gpio: bank@480 {
|
||||
reg = <0x0 0x00480 0x0 0x40>,
|
||||
<0x0 0x004e8 0x0 0x14>,
|
||||
<0x0 0x00520 0x0 0x14>,
|
||||
<0x0 0x00430 0x0 0x3c>;
|
||||
reg-names = "mux", "pull", "pull-enable", "gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pinctrl_periphs 0 0 86>;
|
||||
};
|
||||
|
||||
eth_rgmii_x_pins: eth-x-rgmii {
|
||||
mux {
|
||||
groups = "eth_mdio_x",
|
||||
"eth_mdc_x",
|
||||
"eth_rgmii_rx_clk_x",
|
||||
"eth_rx_dv_x",
|
||||
"eth_rxd0_x",
|
||||
"eth_rxd1_x",
|
||||
"eth_rxd2_rgmii",
|
||||
"eth_rxd3_rgmii",
|
||||
"eth_rgmii_tx_clk",
|
||||
"eth_txen_x",
|
||||
"eth_txd0_x",
|
||||
"eth_txd1_x",
|
||||
"eth_txd2_rgmii",
|
||||
"eth_txd3_rgmii";
|
||||
function = "eth";
|
||||
};
|
||||
};
|
||||
|
||||
eth_rgmii_y_pins: eth-y-rgmii {
|
||||
mux {
|
||||
groups = "eth_mdio_y",
|
||||
"eth_mdc_y",
|
||||
"eth_rgmii_rx_clk_y",
|
||||
"eth_rx_dv_y",
|
||||
"eth_rxd0_y",
|
||||
"eth_rxd1_y",
|
||||
"eth_rxd2_rgmii",
|
||||
"eth_rxd3_rgmii",
|
||||
"eth_rgmii_tx_clk",
|
||||
"eth_txen_y",
|
||||
"eth_txd0_y",
|
||||
"eth_txd1_y",
|
||||
"eth_txd2_rgmii",
|
||||
"eth_txd3_rgmii";
|
||||
function = "eth";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_a_a_pins: pwm_a_a {
|
||||
mux {
|
||||
groups = "pwm_a_a";
|
||||
function = "pwm_a";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_a_x18_pins: pwm_a_x18 {
|
||||
mux {
|
||||
groups = "pwm_a_x18";
|
||||
function = "pwm_a";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_a_x20_pins: pwm_a_x20 {
|
||||
mux {
|
||||
groups = "pwm_a_x20";
|
||||
function = "pwm_a";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_a_z_pins: pwm_a_z {
|
||||
mux {
|
||||
groups = "pwm_a_z";
|
||||
function = "pwm_a";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_b_a_pins: pwm_b_a {
|
||||
mux {
|
||||
groups = "pwm_b_a";
|
||||
function = "pwm_b";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_b_x_pins: pwm_b_x {
|
||||
mux {
|
||||
groups = "pwm_b_x";
|
||||
function = "pwm_b";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_b_z_pins: pwm_b_z {
|
||||
mux {
|
||||
groups = "pwm_b_z";
|
||||
function = "pwm_b";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_c_a_pins: pwm_c_a {
|
||||
mux {
|
||||
groups = "pwm_c_a";
|
||||
function = "pwm_c";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_c_x10_pins: pwm_c_x10 {
|
||||
mux {
|
||||
groups = "pwm_c_x10";
|
||||
function = "pwm_c";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_c_x17_pins: pwm_c_x17 {
|
||||
mux {
|
||||
groups = "pwm_c_x17";
|
||||
function = "pwm_c";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_d_x11_pins: pwm_d_x11 {
|
||||
mux {
|
||||
groups = "pwm_d_x11";
|
||||
function = "pwm_d";
|
||||
};
|
||||
};
|
||||
|
||||
pwm_d_x16_pins: pwm_d_x16 {
|
||||
mux {
|
||||
groups = "pwm_d_x16";
|
||||
function = "pwm_d";
|
||||
};
|
||||
};
|
||||
|
||||
spi0_pins: spi0 {
|
||||
mux {
|
||||
groups = "spi0_miso",
|
||||
"spi0_mosi",
|
||||
"spi0_clk";
|
||||
function = "spi0";
|
||||
};
|
||||
};
|
||||
|
||||
spi0_ss0_pins: spi0_ss0 {
|
||||
mux {
|
||||
groups = "spi0_ss0";
|
||||
function = "spi0";
|
||||
};
|
||||
};
|
||||
|
||||
spi0_ss1_pins: spi0_ss1 {
|
||||
mux {
|
||||
groups = "spi0_ss1";
|
||||
function = "spi0";
|
||||
};
|
||||
};
|
||||
|
||||
spi0_ss2_pins: spi0_ss2 {
|
||||
mux {
|
||||
groups = "spi0_ss2";
|
||||
function = "spi0";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
spi1_a_pins: spi1_a {
|
||||
mux {
|
||||
groups = "spi1_miso_a",
|
||||
"spi1_mosi_a",
|
||||
"spi1_clk_a";
|
||||
function = "spi1";
|
||||
};
|
||||
};
|
||||
|
||||
spi1_ss0_a_pins: spi1_ss0_a {
|
||||
mux {
|
||||
groups = "spi1_ss0_a";
|
||||
function = "spi1";
|
||||
};
|
||||
};
|
||||
|
||||
spi1_ss1_pins: spi1_ss1 {
|
||||
mux {
|
||||
groups = "spi1_ss1";
|
||||
function = "spi1";
|
||||
};
|
||||
};
|
||||
|
||||
spi1_x_pins: spi1_x {
|
||||
mux {
|
||||
groups = "spi1_miso_x",
|
||||
"spi1_mosi_x",
|
||||
"spi1_clk_x";
|
||||
function = "spi1";
|
||||
};
|
||||
};
|
||||
|
||||
spi1_ss0_x_pins: spi1_ss0_x {
|
||||
mux {
|
||||
groups = "spi1_ss0_x";
|
||||
function = "spi1";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sram: sram@fffc0000 {
|
||||
compatible = "amlogic,meson-axg-sram", "mmio-sram";
|
||||
reg = <0x0 0xfffc0000 0x0 0x20000>;
|
||||
|
|
@ -175,18 +465,56 @@
|
|||
};
|
||||
};
|
||||
|
||||
aobus: aobus@ff800000 {
|
||||
aobus: bus@ff800000 {
|
||||
compatible = "simple-bus";
|
||||
reg = <0x0 0xff800000 0x0 0x100000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0xff800000 0x0 0x100000>;
|
||||
|
||||
pinctrl_aobus: pinctrl@14 {
|
||||
compatible = "amlogic,meson-axg-aobus-pinctrl";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
gpio_ao: bank@14 {
|
||||
reg = <0x0 0x00014 0x0 0x8>,
|
||||
<0x0 0x0002c 0x0 0x4>,
|
||||
<0x0 0x00024 0x0 0x8>;
|
||||
reg-names = "mux", "pull", "gpio";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&pinctrl_aobus 0 0 15>;
|
||||
};
|
||||
|
||||
remote_input_ao_pins: remote_input_ao {
|
||||
mux {
|
||||
groups = "remote_input_ao";
|
||||
function = "remote_input_ao";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pwm_AO_ab: pwm@7000 {
|
||||
compatible = "amlogic,meson-axg-ao-pwm";
|
||||
reg = <0x0 0x07000 0x0 0x20>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm_AO_cd: pwm@2000 {
|
||||
compatible = "amlogic,axg-ao-pwm";
|
||||
reg = <0x0 0x02000 0x0 0x20>;
|
||||
#pwm-cells = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart_AO: serial@3000 {
|
||||
compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
|
||||
reg = <0x0 0x3000 0x0 0x18>;
|
||||
interrupts = <GIC_SPI 193 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&xtal>, <&xtal>, <&xtal>;
|
||||
clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -195,10 +523,17 @@
|
|||
compatible = "amlogic,meson-gx-uart", "amlogic,meson-ao-uart";
|
||||
reg = <0x0 0x4000 0x0 0x18>;
|
||||
interrupts = <GIC_SPI 197 IRQ_TYPE_EDGE_RISING>;
|
||||
clocks = <&xtal>, <&xtal>, <&xtal>;
|
||||
clocks = <&xtal>, <&clkc CLKID_CLK81>, <&xtal>;
|
||||
clock-names = "xtal", "pclk", "baud";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ir: ir@8000 {
|
||||
compatible = "amlogic,meson-gxbb-ir";
|
||||
reg = <0x0 0x8000 0x0 0x20>;
|
||||
interrupts = <GIC_SPI 196 IRQ_TYPE_EDGE_RISING>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -59,6 +59,18 @@
|
|||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
hdmi_5v: regulator-hdmi-5v {
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
regulator-name = "HDMI_5V";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
|
||||
gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vddio_boot: regulator-vddio_boot {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDDIO_BOOT";
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@
|
|||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
cbus: cbus@c1100000 {
|
||||
cbus: bus@c1100000 {
|
||||
compatible = "simple-bus";
|
||||
reg = <0x0 0xc1100000 0x0 0x100000>;
|
||||
#address-cells = <2>;
|
||||
|
|
@ -229,7 +229,7 @@
|
|||
|
||||
reset: reset-controller@4404 {
|
||||
compatible = "amlogic,meson-gx-reset", "amlogic,meson-gxbb-reset";
|
||||
reg = <0x0 0x04404 0x0 0x20>;
|
||||
reg = <0x0 0x04404 0x0 0x9c>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
|
|
@ -366,7 +366,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
aobus: aobus@c8100000 {
|
||||
aobus: bus@c8100000 {
|
||||
compatible = "simple-bus";
|
||||
reg = <0x0 0xc8100000 0x0 0x100000>;
|
||||
#address-cells = <2>;
|
||||
|
|
@ -377,6 +377,12 @@
|
|||
compatible = "amlogic,meson-gx-ao-sysctrl", "syscon", "simple-mfd";
|
||||
reg = <0x0 0x0 0x0 0x100>;
|
||||
|
||||
pwrc_vpu: power-controller-vpu {
|
||||
compatible = "amlogic,meson-gx-pwrc-vpu";
|
||||
#power-domain-cells = <0>;
|
||||
amlogic,hhi-sysctrl = <&sysctrl>;
|
||||
};
|
||||
|
||||
clkc_AO: clock-controller {
|
||||
compatible = "amlogic,meson-gx-aoclkc";
|
||||
#clock-cells = <1>;
|
||||
|
|
@ -447,13 +453,18 @@
|
|||
};
|
||||
};
|
||||
|
||||
hiubus: hiubus@c883c000 {
|
||||
hiubus: bus@c883c000 {
|
||||
compatible = "simple-bus";
|
||||
reg = <0x0 0xc883c000 0x0 0x2000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges = <0x0 0x0 0x0 0xc883c000 0x0 0x2000>;
|
||||
|
||||
sysctrl: system-controller@0 {
|
||||
compatible = "amlogic,meson-gx-hhi-sysctrl", "syscon", "simple-mfd";
|
||||
reg = <0 0 0 0x400>;
|
||||
};
|
||||
|
||||
mailbox: mailbox@404 {
|
||||
compatible = "amlogic,meson-gx-mhu", "amlogic,meson-gxbb-mhu";
|
||||
reg = <0 0x404 0 0x4c>;
|
||||
|
|
|
|||
|
|
@ -169,6 +169,7 @@
|
|||
/* Realtek RTL8211F (0x001cc916) */
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio_intc>;
|
||||
/* MAC_INTR on GPIOZ_15 */
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -135,6 +135,24 @@
|
|||
compatible = "mmc-pwrseq-emmc";
|
||||
reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
hdmi-connector {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_connector_in: endpoint {
|
||||
remote-endpoint = <&hdmi_tx_tmds_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cec_AO {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&ao_cec_pins>;
|
||||
pinctrl-names = "default";
|
||||
hdmi-phandle = <&hdmi_tx>;
|
||||
};
|
||||
|
||||
ðmac {
|
||||
|
|
@ -156,8 +174,10 @@
|
|||
#size-cells = <0>;
|
||||
|
||||
eth_phy0: ethernet-phy@0 {
|
||||
/* Realtek RTL8211F (0x001cc916) */
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio_intc>;
|
||||
/* MAC_INTR on GPIOZ_15 */
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
eee-broken-1000t;
|
||||
};
|
||||
|
|
@ -179,6 +199,18 @@
|
|||
};
|
||||
};
|
||||
|
||||
&hdmi_tx {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&hdmi_tx_tmds_port {
|
||||
hdmi_tx_tmds_out: endpoint {
|
||||
remote-endpoint = <&hdmi_connector_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c_A {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&i2c_a_pins>;
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@
|
|||
/* Micrel KSZ9031 (0x00221620) */
|
||||
reg = <3>;
|
||||
interrupt-parent = <&gpio_intc>;
|
||||
/* MAC_INTR on GPIOZ_15 */
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -694,14 +694,55 @@
|
|||
};
|
||||
};
|
||||
|
||||
&pwrc_vpu {
|
||||
resets = <&reset RESET_VIU>,
|
||||
<&reset RESET_VENC>,
|
||||
<&reset RESET_VCBUS>,
|
||||
<&reset RESET_BT656>,
|
||||
<&reset RESET_DVIN_RESET>,
|
||||
<&reset RESET_RDMA>,
|
||||
<&reset RESET_VENCI>,
|
||||
<&reset RESET_VENCP>,
|
||||
<&reset RESET_VDAC>,
|
||||
<&reset RESET_VDI6>,
|
||||
<&reset RESET_VENCL>,
|
||||
<&reset RESET_VID_LOCK>;
|
||||
clocks = <&clkc CLKID_VPU>,
|
||||
<&clkc CLKID_VAPB>;
|
||||
clock-names = "vpu", "vapb";
|
||||
/*
|
||||
* VPU clocking is provided by two identical clock paths
|
||||
* VPU_0 and VPU_1 muxed to a single clock by a glitch
|
||||
* free mux to safely change frequency while running.
|
||||
* Same for VAPB but with a final gate after the glitch free mux.
|
||||
*/
|
||||
assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
|
||||
<&clkc CLKID_VPU_0>,
|
||||
<&clkc CLKID_VPU>, /* Glitch free mux */
|
||||
<&clkc CLKID_VAPB_0_SEL>,
|
||||
<&clkc CLKID_VAPB_0>,
|
||||
<&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
|
||||
assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
|
||||
<0>, /* Do Nothing */
|
||||
<&clkc CLKID_VPU_0>,
|
||||
<&clkc CLKID_FCLK_DIV4>,
|
||||
<0>, /* Do Nothing */
|
||||
<&clkc CLKID_VAPB_0>;
|
||||
assigned-clock-rates = <0>, /* Do Nothing */
|
||||
<666666666>,
|
||||
<0>, /* Do Nothing */
|
||||
<0>, /* Do Nothing */
|
||||
<250000000>,
|
||||
<0>; /* Do Nothing */
|
||||
};
|
||||
|
||||
&saradc {
|
||||
compatible = "amlogic,meson-gxbb-saradc", "amlogic,meson-saradc";
|
||||
clocks = <&xtal>,
|
||||
<&clkc CLKID_SAR_ADC>,
|
||||
<&clkc CLKID_SANA>,
|
||||
<&clkc CLKID_SAR_ADC_CLK>,
|
||||
<&clkc CLKID_SAR_ADC_SEL>;
|
||||
clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel";
|
||||
clock-names = "clkin", "core", "adc_clk", "adc_sel";
|
||||
};
|
||||
|
||||
&sd_emmc_a {
|
||||
|
|
@ -763,4 +804,5 @@
|
|||
|
||||
&vpu {
|
||||
compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu";
|
||||
power-domains = <&pwrc_vpu>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -72,6 +72,18 @@
|
|||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
hdmi_5v: regulator-hdmi-5v {
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
regulator-name = "HDMI_5V";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
|
||||
gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcc_3v3: regulator-vcc_3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_3V3";
|
||||
|
|
|
|||
|
|
@ -28,6 +28,18 @@
|
|||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
hdmi_5v: regulator-hdmi-5v {
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
regulator-name = "HDMI_5V";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
|
||||
gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vddio_boot: regulator-vddio_boot {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VDDIO_BOOT";
|
||||
|
|
|
|||
|
|
@ -644,14 +644,55 @@
|
|||
};
|
||||
};
|
||||
|
||||
&pwrc_vpu {
|
||||
resets = <&reset RESET_VIU>,
|
||||
<&reset RESET_VENC>,
|
||||
<&reset RESET_VCBUS>,
|
||||
<&reset RESET_BT656>,
|
||||
<&reset RESET_DVIN_RESET>,
|
||||
<&reset RESET_RDMA>,
|
||||
<&reset RESET_VENCI>,
|
||||
<&reset RESET_VENCP>,
|
||||
<&reset RESET_VDAC>,
|
||||
<&reset RESET_VDI6>,
|
||||
<&reset RESET_VENCL>,
|
||||
<&reset RESET_VID_LOCK>;
|
||||
clocks = <&clkc CLKID_VPU>,
|
||||
<&clkc CLKID_VAPB>;
|
||||
clock-names = "vpu", "vapb";
|
||||
/*
|
||||
* VPU clocking is provided by two identical clock paths
|
||||
* VPU_0 and VPU_1 muxed to a single clock by a glitch
|
||||
* free mux to safely change frequency while running.
|
||||
* Same for VAPB but with a final gate after the glitch free mux.
|
||||
*/
|
||||
assigned-clocks = <&clkc CLKID_VPU_0_SEL>,
|
||||
<&clkc CLKID_VPU_0>,
|
||||
<&clkc CLKID_VPU>, /* Glitch free mux */
|
||||
<&clkc CLKID_VAPB_0_SEL>,
|
||||
<&clkc CLKID_VAPB_0>,
|
||||
<&clkc CLKID_VAPB_SEL>; /* Glitch free mux */
|
||||
assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
|
||||
<0>, /* Do Nothing */
|
||||
<&clkc CLKID_VPU_0>,
|
||||
<&clkc CLKID_FCLK_DIV4>,
|
||||
<0>, /* Do Nothing */
|
||||
<&clkc CLKID_VAPB_0>;
|
||||
assigned-clock-rates = <0>, /* Do Nothing */
|
||||
<666666666>,
|
||||
<0>, /* Do Nothing */
|
||||
<0>, /* Do Nothing */
|
||||
<250000000>,
|
||||
<0>; /* Do Nothing */
|
||||
};
|
||||
|
||||
&saradc {
|
||||
compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc";
|
||||
clocks = <&xtal>,
|
||||
<&clkc CLKID_SAR_ADC>,
|
||||
<&clkc CLKID_SANA>,
|
||||
<&clkc CLKID_SAR_ADC_CLK>,
|
||||
<&clkc CLKID_SAR_ADC_SEL>;
|
||||
clock-names = "clkin", "core", "sana", "adc_clk", "adc_sel";
|
||||
clock-names = "clkin", "core", "adc_clk", "adc_sel";
|
||||
};
|
||||
|
||||
&sd_emmc_a {
|
||||
|
|
@ -713,4 +754,5 @@
|
|||
|
||||
&vpu {
|
||||
compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
|
||||
power-domains = <&pwrc_vpu>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -153,6 +153,18 @@
|
|||
};
|
||||
};
|
||||
|
||||
hdmi_5v: regulator-hdmi-5v {
|
||||
compatible = "regulator-fixed";
|
||||
|
||||
regulator-name = "HDMI_5V";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
|
||||
gpio = <&gpio GPIOH_3 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcc_3v3: regulator-vcc_3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VCC_3V3";
|
||||
|
|
@ -232,6 +244,9 @@
|
|||
external_phy: ethernet-phy@0 {
|
||||
/* Realtek RTL8211F (0x001cc916) */
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio_intc>;
|
||||
/* MAC_INTR on GPIOZ_15 */
|
||||
interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -111,7 +111,8 @@
|
|||
reg = <0>;
|
||||
max-speed = <1000>;
|
||||
interrupt-parent = <&gpio_intc>;
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
/* MAC_INTR on GPIOZ_15 */
|
||||
interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,9 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Samsung's Exynos5433 SoC Memory interface and AMBA bus device tree source
|
||||
*
|
||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
||||
* Chanwoo Choi <cw00.choi@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
&soc {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Samsung's Exynos5433 SoC pin-mux and pin-config device tree source
|
||||
*
|
||||
|
|
@ -6,10 +7,6 @@
|
|||
*
|
||||
* Samsung's Exynos5433 SoC pin-mux and pin-config options are listed as device
|
||||
* tree nodes are listed in this file.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/pinctrl/samsung.h>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* SAMSUNG Exynos5433 TM2 board device tree source
|
||||
*
|
||||
|
|
@ -5,10 +6,6 @@
|
|||
*
|
||||
* Common device tree source file for Samsung's TM2 and TM2E boards
|
||||
* which are based on Samsung Exynos5433 SoC.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
|
@ -741,6 +738,19 @@
|
|||
};
|
||||
};
|
||||
|
||||
&hsi2c_4 {
|
||||
status = "okay";
|
||||
|
||||
s3fwrn5: nfc@27 {
|
||||
compatible = "samsung,s3fwrn5-i2c";
|
||||
reg = <0x27>;
|
||||
interrupt-parent = <&gpa1>;
|
||||
interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
s3fwrn5,en-gpios = <&gpf1 4 GPIO_ACTIVE_HIGH>;
|
||||
s3fwrn5,fw-gpios = <&gpj0 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&hsi2c_5 {
|
||||
status = "okay";
|
||||
|
||||
|
|
@ -756,6 +766,7 @@
|
|||
|
||||
&hsi2c_7 {
|
||||
status = "okay";
|
||||
clock-frequency = <1000000>;
|
||||
|
||||
sii8620@39 {
|
||||
reg = <0x39>;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* SAMSUNG Exynos5433 TM2 board device tree source
|
||||
*
|
||||
|
|
@ -5,10 +6,6 @@
|
|||
*
|
||||
* Device tree source file for Samsung's TM2 board which is based on
|
||||
* Samsung Exynos5433 SoC.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include "exynos5433-tm2-common.dtsi"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* SAMSUNG Exynos5433 TM2E board device tree source
|
||||
*
|
||||
|
|
@ -5,10 +6,6 @@
|
|||
*
|
||||
* Device tree source file for Samsung's TM2E(TM2 EDGE) board which is based on
|
||||
* Samsung Exynos5433 SoC.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include "exynos5433-tm2-common.dtsi"
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device tree sources for Exynos5433 TMU sensor configuration
|
||||
*
|
||||
* Copyright (c) 2016 Jonghwa Lee <jonghwa3.lee@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/thermal/thermal_exynos.h>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device tree sources for Exynos5433 TMU sensor configuration
|
||||
*
|
||||
* Copyright (c) 2016 Chanwoo Choi <cw00.choi@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/thermal/thermal_exynos.h>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device tree sources for Exynos5433 thermal zone
|
||||
*
|
||||
* Copyright (c) 2016 Chanwoo Choi <cw00.choi@samsung.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/thermal/thermal.h>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Samsung's Exynos5433 SoC device tree source
|
||||
*
|
||||
|
|
@ -10,10 +11,6 @@
|
|||
* Note: This file does not include device nodes for all the controllers in
|
||||
* Exynos5433 SoC. As device tree coverage for Exynos5433 increases,
|
||||
* additional nodes can be added to this file.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/exynos5433.h>
|
||||
|
|
@ -247,6 +244,24 @@
|
|||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x0 0x18000000>;
|
||||
|
||||
arm_a53_pmu {
|
||||
compatible = "arm,cortex-a53-pmu", "arm,armv8-pmuv3";
|
||||
interrupts = <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>;
|
||||
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
||||
};
|
||||
|
||||
arm_a57_pmu {
|
||||
compatible = "arm,cortex-a57-pmu", "arm,armv8-pmuv3";
|
||||
interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>;
|
||||
};
|
||||
|
||||
chipid@10000000 {
|
||||
compatible = "samsung,exynos4210-chipid";
|
||||
reg = <0x10000000 0x100>;
|
||||
|
|
@ -343,6 +358,7 @@
|
|||
clocks = <&xxti>,
|
||||
<&cmu_top CLK_ACLK_G2D_266>,
|
||||
<&cmu_top CLK_ACLK_G2D_400>;
|
||||
power-domains = <&pd_g2d>;
|
||||
};
|
||||
|
||||
cmu_disp: clock-controller@13b90000 {
|
||||
|
|
@ -368,6 +384,7 @@
|
|||
<&cmu_mif CLK_SCLK_DECON_ECLK_DISP>,
|
||||
<&cmu_mif CLK_SCLK_DECON_TV_VCLK_DISP>,
|
||||
<&cmu_mif CLK_ACLK_DISP_333>;
|
||||
power-domains = <&pd_disp>;
|
||||
};
|
||||
|
||||
cmu_aud: clock-controller@114c0000 {
|
||||
|
|
@ -376,6 +393,7 @@
|
|||
#clock-cells = <1>;
|
||||
clock-names = "oscclk", "fout_aud_pll";
|
||||
clocks = <&xxti>, <&cmu_top CLK_FOUT_AUD_PLL>;
|
||||
power-domains = <&pd_aud>;
|
||||
};
|
||||
|
||||
cmu_bus0: clock-controller@13600000 {
|
||||
|
|
@ -412,6 +430,7 @@
|
|||
|
||||
clock-names = "oscclk", "aclk_g3d_400";
|
||||
clocks = <&xxti>, <&cmu_top CLK_ACLK_G3D_400>;
|
||||
power-domains = <&pd_g3d>;
|
||||
};
|
||||
|
||||
cmu_gscl: clock-controller@13cf0000 {
|
||||
|
|
@ -425,6 +444,7 @@
|
|||
clocks = <&xxti>,
|
||||
<&cmu_top CLK_ACLK_GSCL_111>,
|
||||
<&cmu_top CLK_ACLK_GSCL_333>;
|
||||
power-domains = <&pd_gscl>;
|
||||
};
|
||||
|
||||
cmu_apollo: clock-controller@11900000 {
|
||||
|
|
@ -445,7 +465,7 @@
|
|||
clocks = <&xxti>, <&cmu_mif CLK_SCLK_BUS_PLL_ATLAS>;
|
||||
};
|
||||
|
||||
cmu_mscl: clock-controller@105d0000 {
|
||||
cmu_mscl: clock-controller@150d0000 {
|
||||
compatible = "samsung,exynos5433-cmu-mscl";
|
||||
reg = <0x150d0000 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
|
|
@ -456,6 +476,7 @@
|
|||
clocks = <&xxti>,
|
||||
<&cmu_top CLK_SCLK_JPEG_MSCL>,
|
||||
<&cmu_top CLK_ACLK_MSCL_400>;
|
||||
power-domains = <&pd_mscl>;
|
||||
};
|
||||
|
||||
cmu_mfc: clock-controller@15280000 {
|
||||
|
|
@ -465,6 +486,7 @@
|
|||
|
||||
clock-names = "oscclk", "aclk_mfc_400";
|
||||
clocks = <&xxti>, <&cmu_top CLK_ACLK_MFC_400>;
|
||||
power-domains = <&pd_mfc>;
|
||||
};
|
||||
|
||||
cmu_hevc: clock-controller@14f80000 {
|
||||
|
|
@ -474,6 +496,7 @@
|
|||
|
||||
clock-names = "oscclk", "aclk_hevc_400";
|
||||
clocks = <&xxti>, <&cmu_top CLK_ACLK_HEVC_400>;
|
||||
power-domains = <&pd_hevc>;
|
||||
};
|
||||
|
||||
cmu_isp: clock-controller@146d0000 {
|
||||
|
|
@ -487,6 +510,7 @@
|
|||
clocks = <&xxti>,
|
||||
<&cmu_top CLK_ACLK_ISP_DIS_400>,
|
||||
<&cmu_top CLK_ACLK_ISP_400>;
|
||||
power-domains = <&pd_isp>;
|
||||
};
|
||||
|
||||
cmu_cam0: clock-controller@120d0000 {
|
||||
|
|
@ -502,6 +526,7 @@
|
|||
<&cmu_top CLK_ACLK_CAM0_333>,
|
||||
<&cmu_top CLK_ACLK_CAM0_400>,
|
||||
<&cmu_top CLK_ACLK_CAM0_552>;
|
||||
power-domains = <&pd_cam0>;
|
||||
};
|
||||
|
||||
cmu_cam1: clock-controller@145d0000 {
|
||||
|
|
@ -523,6 +548,86 @@
|
|||
<&cmu_top CLK_ACLK_CAM1_333>,
|
||||
<&cmu_top CLK_ACLK_CAM1_400>,
|
||||
<&cmu_top CLK_ACLK_CAM1_552>;
|
||||
power-domains = <&pd_cam1>;
|
||||
};
|
||||
|
||||
pd_gscl: power-domain@105c4000 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c4000 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
label = "GSCL";
|
||||
};
|
||||
|
||||
pd_cam0: power-domain@105c4020 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c4020 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&pd_cam1>;
|
||||
label = "CAM0";
|
||||
};
|
||||
|
||||
pd_mscl: power-domain@105c4040 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c4040 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
label = "MSCL";
|
||||
};
|
||||
|
||||
pd_g3d: power-domain@105c4060 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c4060 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
label = "G3D";
|
||||
};
|
||||
|
||||
pd_disp: power-domain@105c4080 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c4080 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
label = "DISP";
|
||||
};
|
||||
|
||||
pd_cam1: power-domain@105c40a0 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c40a0 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
label = "CAM1";
|
||||
};
|
||||
|
||||
pd_aud: power-domain@105c40c0 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c40c0 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
label = "AUD";
|
||||
};
|
||||
|
||||
pd_g2d: power-domain@105c4120 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c4120 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
label = "G2D";
|
||||
};
|
||||
|
||||
pd_isp: power-domain@105c4140 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c4140 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
power-domains = <&pd_cam0>;
|
||||
label = "ISP";
|
||||
};
|
||||
|
||||
pd_mfc: power-domain@105c4180 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c4180 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
label = "MFC";
|
||||
};
|
||||
|
||||
pd_hevc: power-domain@105c41c0 {
|
||||
compatible = "samsung,exynos5433-pd";
|
||||
reg = <0x105c41c0 0x20>;
|
||||
#power-domain-cells = <0>;
|
||||
label = "HEVC";
|
||||
};
|
||||
|
||||
tmu_atlas0: tmu@10060000 {
|
||||
|
|
@ -637,6 +742,7 @@
|
|||
compatible = "samsung,exynos5433-pinctrl";
|
||||
reg = <0x114b0000 0x1000>;
|
||||
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
|
||||
power-domains = <&pd_aud>;
|
||||
};
|
||||
|
||||
pinctrl_cpif: pinctrl@10fe0000 {
|
||||
|
|
@ -728,6 +834,7 @@
|
|||
clock-names = "pclk", "aclk_decon", "aclk_smmu_decon0x",
|
||||
"aclk_xiu_decon0x", "pclk_smmu_decon0x",
|
||||
"sclk_decon_vclk", "sclk_decon_eclk";
|
||||
power-domains = <&pd_disp>;
|
||||
interrupt-names = "fifo", "vsync", "lcd_sys";
|
||||
interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
|
@ -765,6 +872,7 @@
|
|||
"aclk_xiu_decon0x", "pclk_smmu_decon0x",
|
||||
"sclk_decon_vclk", "sclk_decon_eclk";
|
||||
samsung,disp-sysreg = <&syscon_disp>;
|
||||
power-domains = <&pd_disp>;
|
||||
interrupt-names = "fifo", "vsync", "lcd_sys";
|
||||
interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
|
@ -790,6 +898,7 @@
|
|||
"phyclk_mipidphy0_rxclkesc0",
|
||||
"sclk_rgb_vclk_to_dsim0",
|
||||
"sclk_mipi";
|
||||
power-domains = <&pd_disp>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
@ -813,6 +922,7 @@
|
|||
clocks = <&cmu_disp CLK_PCLK_MIC0>,
|
||||
<&cmu_disp CLK_SCLK_RGB_VCLK_TO_MIC0>;
|
||||
clock-names = "pclk_mic0", "sclk_rgb_vclk_to_mic0";
|
||||
power-domains = <&pd_disp>;
|
||||
samsung,disp-syscon = <&syscon_disp>;
|
||||
status = "disabled";
|
||||
|
||||
|
|
@ -881,7 +991,7 @@
|
|||
reg = <0x145f0000 0x1038>;
|
||||
};
|
||||
|
||||
gsc_0: video-scaler@13C00000 {
|
||||
gsc_0: video-scaler@13c00000 {
|
||||
compatible = "samsung,exynos5433-gsc";
|
||||
reg = <0x13c00000 0x1000>;
|
||||
interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
|
@ -892,9 +1002,10 @@
|
|||
<&cmu_gscl CLK_ACLK_XIU_GSCLX>,
|
||||
<&cmu_gscl CLK_ACLK_GSCLBEND_333>;
|
||||
iommus = <&sysmmu_gscl0>;
|
||||
power-domains = <&pd_gscl>;
|
||||
};
|
||||
|
||||
gsc_1: video-scaler@13C10000 {
|
||||
gsc_1: video-scaler@13c10000 {
|
||||
compatible = "samsung,exynos5433-gsc";
|
||||
reg = <0x13c10000 0x1000>;
|
||||
interrupts = <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
|
@ -905,9 +1016,10 @@
|
|||
<&cmu_gscl CLK_ACLK_XIU_GSCLX>,
|
||||
<&cmu_gscl CLK_ACLK_GSCLBEND_333>;
|
||||
iommus = <&sysmmu_gscl1>;
|
||||
power-domains = <&pd_gscl>;
|
||||
};
|
||||
|
||||
gsc_2: video-scaler@13C20000 {
|
||||
gsc_2: video-scaler@13c20000 {
|
||||
compatible = "samsung,exynos5433-gsc";
|
||||
reg = <0x13c20000 0x1000>;
|
||||
interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
|
@ -918,6 +1030,7 @@
|
|||
<&cmu_gscl CLK_ACLK_XIU_GSCLX>,
|
||||
<&cmu_gscl CLK_ACLK_GSCLBEND_333>;
|
||||
iommus = <&sysmmu_gscl2>;
|
||||
power-domains = <&pd_gscl>;
|
||||
};
|
||||
|
||||
jpeg: codec@15020000 {
|
||||
|
|
@ -930,9 +1043,10 @@
|
|||
<&cmu_mscl CLK_ACLK_XIU_MSCLX>,
|
||||
<&cmu_mscl CLK_SCLK_JPEG>;
|
||||
iommus = <&sysmmu_jpeg>;
|
||||
power-domains = <&pd_mscl>;
|
||||
};
|
||||
|
||||
mfc: codec@152E0000 {
|
||||
mfc: codec@152e0000 {
|
||||
compatible = "samsung,exynos5433-mfc";
|
||||
reg = <0x152E0000 0x10000>;
|
||||
interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
|
@ -942,6 +1056,7 @@
|
|||
<&cmu_mfc CLK_ACLK_XIU_MFCX>;
|
||||
iommus = <&sysmmu_mfc_0>, <&sysmmu_mfc_1>;
|
||||
iommu-names = "left", "right";
|
||||
power-domains = <&pd_mfc>;
|
||||
};
|
||||
|
||||
sysmmu_decon0x: sysmmu@13a00000 {
|
||||
|
|
@ -951,6 +1066,7 @@
|
|||
clock-names = "pclk", "aclk";
|
||||
clocks = <&cmu_disp CLK_PCLK_SMMU_DECON0X>,
|
||||
<&cmu_disp CLK_ACLK_SMMU_DECON0X>;
|
||||
power-domains = <&pd_disp>;
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
|
|
@ -962,6 +1078,7 @@
|
|||
clocks = <&cmu_disp CLK_PCLK_SMMU_DECON1X>,
|
||||
<&cmu_disp CLK_ACLK_SMMU_DECON1X>;
|
||||
#iommu-cells = <0>;
|
||||
power-domains = <&pd_disp>;
|
||||
};
|
||||
|
||||
sysmmu_tv0x: sysmmu@13a20000 {
|
||||
|
|
@ -972,6 +1089,7 @@
|
|||
clocks = <&cmu_disp CLK_PCLK_SMMU_TV0X>,
|
||||
<&cmu_disp CLK_ACLK_SMMU_TV0X>;
|
||||
#iommu-cells = <0>;
|
||||
power-domains = <&pd_disp>;
|
||||
};
|
||||
|
||||
sysmmu_tv1x: sysmmu@13a30000 {
|
||||
|
|
@ -982,6 +1100,7 @@
|
|||
clocks = <&cmu_disp CLK_PCLK_SMMU_TV1X>,
|
||||
<&cmu_disp CLK_ACLK_SMMU_TV1X>;
|
||||
#iommu-cells = <0>;
|
||||
power-domains = <&pd_disp>;
|
||||
};
|
||||
|
||||
sysmmu_gscl0: sysmmu@13c80000 {
|
||||
|
|
@ -992,6 +1111,7 @@
|
|||
clocks = <&cmu_gscl CLK_ACLK_SMMU_GSCL0>,
|
||||
<&cmu_gscl CLK_PCLK_SMMU_GSCL0>;
|
||||
#iommu-cells = <0>;
|
||||
power-domains = <&pd_gscl>;
|
||||
};
|
||||
|
||||
sysmmu_gscl1: sysmmu@13c90000 {
|
||||
|
|
@ -1002,6 +1122,7 @@
|
|||
clocks = <&cmu_gscl CLK_ACLK_SMMU_GSCL1>,
|
||||
<&cmu_gscl CLK_PCLK_SMMU_GSCL1>;
|
||||
#iommu-cells = <0>;
|
||||
power-domains = <&pd_gscl>;
|
||||
};
|
||||
|
||||
sysmmu_gscl2: sysmmu@13ca0000 {
|
||||
|
|
@ -1012,6 +1133,7 @@
|
|||
clocks = <&cmu_gscl CLK_ACLK_SMMU_GSCL2>,
|
||||
<&cmu_gscl CLK_PCLK_SMMU_GSCL2>;
|
||||
#iommu-cells = <0>;
|
||||
power-domains = <&pd_gscl>;
|
||||
};
|
||||
|
||||
sysmmu_jpeg: sysmmu@15060000 {
|
||||
|
|
@ -1022,6 +1144,7 @@
|
|||
clocks = <&cmu_mscl CLK_PCLK_SMMU_JPEG>,
|
||||
<&cmu_mscl CLK_ACLK_SMMU_JPEG>;
|
||||
#iommu-cells = <0>;
|
||||
power-domains = <&pd_mscl>;
|
||||
};
|
||||
|
||||
sysmmu_mfc_0: sysmmu@15200000 {
|
||||
|
|
@ -1032,6 +1155,7 @@
|
|||
clocks = <&cmu_mfc CLK_PCLK_SMMU_MFC_0>,
|
||||
<&cmu_mfc CLK_ACLK_SMMU_MFC_0>;
|
||||
#iommu-cells = <0>;
|
||||
power-domains = <&pd_mfc>;
|
||||
};
|
||||
|
||||
sysmmu_mfc_1: sysmmu@15210000 {
|
||||
|
|
@ -1042,6 +1166,7 @@
|
|||
clocks = <&cmu_mfc CLK_PCLK_SMMU_MFC_1>,
|
||||
<&cmu_mfc CLK_ACLK_SMMU_MFC_1>;
|
||||
#iommu-cells = <0>;
|
||||
power-domains = <&pd_mfc>;
|
||||
};
|
||||
|
||||
serial_0: serial@14c10000 {
|
||||
|
|
@ -1497,6 +1622,7 @@
|
|||
clocks = <&cmu_aud CLK_PCLK_SFR0_CTRL>;
|
||||
clock-names = "sfr0_ctrl";
|
||||
samsung,pmu-syscon = <&pmu_system_controller>;
|
||||
power-domains = <&pd_aud>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
|
@ -1510,6 +1636,7 @@
|
|||
#dma-cells = <1>;
|
||||
#dma-channels = <8>;
|
||||
#dma-requests = <32>;
|
||||
power-domains = <&pd_aud>;
|
||||
};
|
||||
|
||||
i2s0: i2s0@11440000 {
|
||||
|
|
@ -1526,6 +1653,7 @@
|
|||
clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2s0_bus>;
|
||||
power-domains = <&pd_aud>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
|
@ -1538,6 +1666,7 @@
|
|||
clock-names = "uart", "clk_uart_baud0";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart_aud_bus>;
|
||||
power-domains = <&pd_aud>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,13 +1,10 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* SAMSUNG Exynos7 Espresso board device tree source
|
||||
*
|
||||
* Copyright (c) 2014 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "exynos7.dtsi"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Samsung's Exynos7 SoC pin-mux and pin-config device tree source
|
||||
*
|
||||
|
|
@ -6,11 +7,7 @@
|
|||
*
|
||||
* Samsung's Exynos7 SoC pin-mux and pin-config options are listed as
|
||||
* device tree nodes in this file.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
*/
|
||||
|
||||
#include <dt-bindings/pinctrl/samsung.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,9 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device tree sources for Exynos7 TMU sensor configuration
|
||||
*
|
||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <dt-bindings/thermal/thermal_exynos.h>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,9 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Device tree sources for default Exynos7 thermal zone definition
|
||||
*
|
||||
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
*/
|
||||
|
||||
trips {
|
||||
|
|
|
|||
|
|
@ -1,12 +1,9 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* SAMSUNG EXYNOS7 SoC device tree source
|
||||
*
|
||||
* Copyright (c) 2014 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/exynos7-clk.h>
|
||||
|
|
@ -103,7 +100,7 @@
|
|||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
pdma0: pdma@10E10000 {
|
||||
pdma0: pdma@10e10000 {
|
||||
compatible = "arm,pl330", "arm,primecell";
|
||||
reg = <0x10E10000 0x1000>;
|
||||
interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
|
@ -114,7 +111,7 @@
|
|||
#dma-requests = <32>;
|
||||
};
|
||||
|
||||
pdma1: pdma@10EB0000 {
|
||||
pdma1: pdma@10eb0000 {
|
||||
compatible = "arm,pl330", "arm,primecell";
|
||||
reg = <0x10EB0000 0x1000>;
|
||||
interrupts = <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
|
|
|||
|
|
@ -125,3 +125,11 @@
|
|||
&sata {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -166,6 +166,77 @@
|
|||
<1 10 IRQ_TYPE_LEVEL_LOW>;/* Hypervisor PPI */
|
||||
};
|
||||
|
||||
fsl_mc: fsl-mc@80c000000 {
|
||||
compatible = "fsl,qoriq-mc";
|
||||
reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
|
||||
<0x00000000 0x08340000 0 0x40000>; /* MC control reg */
|
||||
msi-parent = <&its>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/*
|
||||
* Region type 0x0 - MC portals
|
||||
* Region type 0x1 - QBMAN portals
|
||||
*/
|
||||
ranges = <0x0 0x0 0x0 0x8 0x0c000000 0x4000000
|
||||
0x1 0x0 0x0 0x8 0x18000000 0x8000000>;
|
||||
|
||||
dpmacs {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
dpmac1: dpmac@1 {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
dpmac2: dpmac@2 {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
dpmac3: dpmac@3 {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
dpmac4: dpmac@4 {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
dpmac5: dpmac@5 {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <5>;
|
||||
};
|
||||
|
||||
dpmac6: dpmac@6 {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <6>;
|
||||
};
|
||||
|
||||
dpmac7: dpmac@7 {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <7>;
|
||||
};
|
||||
|
||||
dpmac8: dpmac@8 {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <8>;
|
||||
};
|
||||
|
||||
dpmac9: dpmac@9 {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <9>;
|
||||
};
|
||||
|
||||
dpmac10: dpmac@a {
|
||||
compatible = "fsl,qoriq-mc-dpmac";
|
||||
reg = <0xa>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-0.2";
|
||||
method = "smc";
|
||||
|
|
@ -191,6 +262,12 @@
|
|||
clocks = <&sysclk>;
|
||||
};
|
||||
|
||||
dcfg: dcfg@1e00000 {
|
||||
compatible = "fsl,ls1088a-dcfg", "syscon";
|
||||
reg = <0x0 0x1e00000 0x0 0x10000>;
|
||||
little-endian;
|
||||
};
|
||||
|
||||
tmu: tmu@1f80000 {
|
||||
compatible = "fsl,qoriq-tmu";
|
||||
reg = <0x0 0x1f80000 0x0 0x10000>;
|
||||
|
|
@ -394,6 +471,26 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
usb0: usb3@3100000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3100000 0x0 0x10000>;
|
||||
interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb1: usb3@3110000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0x3110000 0x0 0x10000>;
|
||||
interrupts = <0 81 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
snps,quirk-frame-length-adjustment = <0x20>;
|
||||
snps,dis_rxdet_inp3_quirk;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sata: sata@3200000 {
|
||||
compatible = "fsl,ls1088a-ahci";
|
||||
reg = <0x0 0x3200000 0x0 0x10000>,
|
||||
|
|
|
|||
|
|
@ -95,6 +95,18 @@
|
|||
};
|
||||
};
|
||||
|
||||
i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x02>;
|
||||
|
||||
ina220@40 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x40>;
|
||||
shunt-resistor = <500>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@
|
|||
label = "user_led4";
|
||||
/* gpio_190_user_led4 */
|
||||
gpios = <&gpio23 6 0>;
|
||||
panic-indicator;
|
||||
linux,default-trigger = "cpu0";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@
|
|||
enable-method = "psci";
|
||||
next-level-cache = <&A53_L2>;
|
||||
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>;
|
||||
capacity-dmips-mhz = <592>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
|
|
@ -70,6 +71,7 @@
|
|||
enable-method = "psci";
|
||||
next-level-cache = <&A53_L2>;
|
||||
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>;
|
||||
capacity-dmips-mhz = <592>;
|
||||
};
|
||||
|
||||
cpu2: cpu@2 {
|
||||
|
|
@ -79,6 +81,7 @@
|
|||
enable-method = "psci";
|
||||
next-level-cache = <&A53_L2>;
|
||||
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>;
|
||||
capacity-dmips-mhz = <592>;
|
||||
};
|
||||
|
||||
cpu3: cpu@3 {
|
||||
|
|
@ -88,6 +91,7 @@
|
|||
enable-method = "psci";
|
||||
next-level-cache = <&A53_L2>;
|
||||
cpu-idle-states = <&CPU_SLEEP &CLUSTER_SLEEP_0>;
|
||||
capacity-dmips-mhz = <592>;
|
||||
};
|
||||
|
||||
cpu4: cpu@100 {
|
||||
|
|
@ -101,6 +105,7 @@
|
|||
&CPU_SLEEP
|
||||
&CLUSTER_SLEEP_1
|
||||
>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
};
|
||||
|
||||
cpu5: cpu@101 {
|
||||
|
|
@ -114,6 +119,7 @@
|
|||
&CPU_SLEEP
|
||||
&CLUSTER_SLEEP_1
|
||||
>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
};
|
||||
|
||||
cpu6: cpu@102 {
|
||||
|
|
@ -127,6 +133,7 @@
|
|||
&CPU_SLEEP
|
||||
&CLUSTER_SLEEP_1
|
||||
>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
};
|
||||
|
||||
cpu7: cpu@103 {
|
||||
|
|
@ -140,6 +147,7 @@
|
|||
&CPU_SLEEP
|
||||
&CLUSTER_SLEEP_1
|
||||
>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
};
|
||||
|
||||
idle-states {
|
||||
|
|
@ -203,21 +211,25 @@
|
|||
IRQ_TYPE_LEVEL_HIGH)>;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,armv8-pmuv3";
|
||||
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>,
|
||||
<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>;
|
||||
<GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&cpu0>,
|
||||
<&cpu1>,
|
||||
<&cpu2>,
|
||||
<&cpu3>,
|
||||
<&cpu4>,
|
||||
<&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>;
|
||||
|
|
|
|||
|
|
@ -146,6 +146,12 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&sd0 {
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
label = "LS-SPI0";
|
||||
|
|
|
|||
|
|
@ -192,6 +192,18 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
sd0: mmc@9820000 {
|
||||
compatible = "snps,dw-mshc";
|
||||
reg = <0x9820000 0x10000>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&crg HISTB_SDIO0_CIU_CLK>,
|
||||
<&crg HISTB_SDIO0_BIU_CLK>;
|
||||
clock-names = "ciu", "biu";
|
||||
resets = <&crg 0x9c 4>;
|
||||
reset-names = "reset";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
emmc: mmc@9830000 {
|
||||
compatible = "snps,dw-mshc";
|
||||
reg = <0x9830000 0x10000>;
|
||||
|
|
|
|||
|
|
@ -359,6 +359,7 @@
|
|||
user_led1 {
|
||||
label = "user_led1";
|
||||
gpios = <&gpio4 3 0>; /* <&gpio_user_led_4>; */
|
||||
panic-indicator;
|
||||
linux,default-trigger = "cpu0";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x1>;
|
||||
clocks = <&nb_periph_clk 16>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0>;
|
||||
clocks = <&nb_periph_clk 16>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
};
|
||||
|
|
@ -234,6 +235,12 @@
|
|||
};
|
||||
};
|
||||
|
||||
nb_pm: syscon@14000 {
|
||||
compatible = "marvell,armada-3700-nb-pm",
|
||||
"syscon";
|
||||
reg = <0x14000 0x60>;
|
||||
};
|
||||
|
||||
pinctrl_sb: pinctrl@18800 {
|
||||
compatible = "marvell,armada3710-sb-pinctrl",
|
||||
"syscon", "simple-mfd";
|
||||
|
|
@ -309,6 +316,20 @@
|
|||
};
|
||||
};
|
||||
|
||||
crypto: crypto@90000 {
|
||||
compatible = "inside-secure,safexcel-eip97";
|
||||
reg = <0x90000 0x20000>;
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mem", "ring0", "ring1",
|
||||
"ring2", "ring3", "eip";
|
||||
clocks = <&nb_periph_clk 15>;
|
||||
};
|
||||
|
||||
sdhci1: sdhci@d0000 {
|
||||
compatible = "marvell,armada-3700-sdhci",
|
||||
"marvell,sdhci-xenon";
|
||||
|
|
|
|||
|
|
@ -61,7 +61,13 @@
|
|||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
cpm_reg_usb3_0_vbus: cpm-usb3-0-vbus {
|
||||
aliases {
|
||||
ethernet0 = &cp0_eth0;
|
||||
ethernet1 = &cp0_eth1;
|
||||
ethernet2 = &cp0_eth2;
|
||||
};
|
||||
|
||||
cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb3h0-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
|
|
@ -70,7 +76,7 @@
|
|||
gpio = <&expander0 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cpm_reg_usb3_1_vbus: cpm-usb3-1-vbus {
|
||||
cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb3h1-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
|
|
@ -79,14 +85,14 @@
|
|||
gpio = <&expander0 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cpm_usb3_0_phy: cpm-usb3-0-phy {
|
||||
cp0_usb3_0_phy: cp0-usb3-0-phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
vcc-supply = <&cpm_reg_usb3_0_vbus>;
|
||||
vcc-supply = <&cp0_reg_usb3_0_vbus>;
|
||||
};
|
||||
|
||||
cpm_usb3_1_phy: cpm-usb3-1-phy {
|
||||
cp0_usb3_1_phy: cp0-usb3-1-phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
vcc-supply = <&cpm_reg_usb3_1_vbus>;
|
||||
vcc-supply = <&cp0_reg_usb3_1_vbus>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -129,11 +135,11 @@
|
|||
};
|
||||
|
||||
|
||||
&cpm_pcie2 {
|
||||
&cp0_pcie2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_i2c0 {
|
||||
&cp0_i2c0 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
|
||||
|
|
@ -156,7 +162,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cpm_nand {
|
||||
&cp0_nand {
|
||||
/*
|
||||
* SPI on CPM and NAND have common pins on this board. We can
|
||||
* use only one at a time. To enable the NAND (whihch will
|
||||
|
|
@ -186,7 +192,7 @@
|
|||
};
|
||||
|
||||
|
||||
&cpm_spi1 {
|
||||
&cp0_spi1 {
|
||||
status = "okay";
|
||||
|
||||
spi-flash@0 {
|
||||
|
|
@ -214,17 +220,17 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cpm_sata0 {
|
||||
&cp0_sata0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_usb3_0 {
|
||||
usb-phy = <&cpm_usb3_0_phy>;
|
||||
&cp0_usb3_0 {
|
||||
usb-phy = <&cp0_usb3_0_phy>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_usb3_1 {
|
||||
usb-phy = <&cpm_usb3_1_phy>;
|
||||
&cp0_usb3_1 {
|
||||
usb-phy = <&cp0_usb3_1_phy>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
@ -235,14 +241,14 @@
|
|||
non-removable;
|
||||
};
|
||||
|
||||
&cpm_sdhci0 {
|
||||
&cp0_sdhci0 {
|
||||
status = "okay";
|
||||
bus-width = <4>;
|
||||
no-1-8-v;
|
||||
cd-gpios = <&expander0 12 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&cpm_mdio {
|
||||
&cp0_mdio {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
|
|
@ -253,28 +259,28 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cpm_ethernet {
|
||||
&cp0_ethernet {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_eth0 {
|
||||
&cp0_eth0 {
|
||||
status = "okay";
|
||||
/* Network PHY */
|
||||
phy-mode = "10gbase-kr";
|
||||
/* Generic PHY, providing serdes lanes */
|
||||
phys = <&cpm_comphy2 0>;
|
||||
phys = <&cp0_comphy2 0>;
|
||||
};
|
||||
|
||||
&cpm_eth1 {
|
||||
&cp0_eth1 {
|
||||
status = "okay";
|
||||
/* Network PHY */
|
||||
phy = <&phy0>;
|
||||
phy-mode = "sgmii";
|
||||
/* Generic PHY, providing serdes lanes */
|
||||
phys = <&cpm_comphy0 1>;
|
||||
phys = <&cp0_comphy0 1>;
|
||||
};
|
||||
|
||||
&cpm_eth2 {
|
||||
&cp0_eth2 {
|
||||
status = "okay";
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii-id";
|
||||
|
|
|
|||
|
|
@ -44,25 +44,46 @@
|
|||
* Device Tree file for the Armada 70x0 SoC
|
||||
*/
|
||||
|
||||
#include "armada-cp110-master.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
gpio1 = &cpm_gpio1;
|
||||
gpio2 = &cpm_gpio2;
|
||||
gpio1 = &cp0_gpio1;
|
||||
gpio2 = &cp0_gpio2;
|
||||
spi1 = &cp0_spi0;
|
||||
spi2 = &cp0_spi1;
|
||||
};
|
||||
};
|
||||
|
||||
&cpm_gpio1 {
|
||||
/*
|
||||
* Instantiate the CP110
|
||||
*/
|
||||
#define CP110_NAME cp0
|
||||
#define CP110_BASE f2000000
|
||||
#define CP110_PCIE_IO_BASE 0xf9000000
|
||||
#define CP110_PCIE_MEM_BASE 0xf6000000
|
||||
#define CP110_PCIE0_BASE f2600000
|
||||
#define CP110_PCIE1_BASE f2620000
|
||||
#define CP110_PCIE2_BASE f2640000
|
||||
|
||||
#include "armada-cp110.dtsi"
|
||||
|
||||
#undef CP110_NAME
|
||||
#undef CP110_BASE
|
||||
#undef CP110_PCIE_IO_BASE
|
||||
#undef CP110_PCIE_MEM_BASE
|
||||
#undef CP110_PCIE0_BASE
|
||||
#undef CP110_PCIE1_BASE
|
||||
#undef CP110_PCIE2_BASE
|
||||
|
||||
&cp0_gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_gpio2 {
|
||||
&cp0_gpio2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_syscon0 {
|
||||
cpm_pinctrl: pinctrl {
|
||||
&cp0_syscon0 {
|
||||
cp0_pinctrl: pinctrl {
|
||||
compatible = "marvell,armada-7k-pinctrl";
|
||||
|
||||
nand_pins: nand-pins {
|
||||
|
|
|
|||
|
|
@ -60,6 +60,6 @@
|
|||
* oscillator so this one is let enabled.
|
||||
*/
|
||||
|
||||
&cpm_rtc {
|
||||
&cp0_rtc {
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -61,46 +61,53 @@
|
|||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
cpm_reg_usb3_0_vbus: cpm-usb3-0-vbus {
|
||||
aliases {
|
||||
ethernet0 = &cp0_eth0;
|
||||
ethernet1 = &cp0_eth2;
|
||||
ethernet2 = &cp1_eth0;
|
||||
ethernet3 = &cp1_eth1;
|
||||
};
|
||||
|
||||
cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cpm-usb3h0-vbus";
|
||||
regulator-name = "cp0-usb3h0-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
gpio = <&expander0 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cpm_reg_usb3_1_vbus: cpm-usb3-1-vbus {
|
||||
cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cpm-usb3h1-vbus";
|
||||
regulator-name = "cp0-usb3h1-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
gpio = <&expander0 1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cpm_usb3_0_phy: cpm-usb3-0-phy {
|
||||
cp0_usb3_0_phy: cp0-usb3-0-phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
vcc-supply = <&cpm_reg_usb3_0_vbus>;
|
||||
vcc-supply = <&cp0_reg_usb3_0_vbus>;
|
||||
};
|
||||
|
||||
cpm_usb3_1_phy: cpm-usb3-1-phy {
|
||||
cp0_usb3_1_phy: cp0-usb3-1-phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
vcc-supply = <&cpm_reg_usb3_1_vbus>;
|
||||
vcc-supply = <&cp0_reg_usb3_1_vbus>;
|
||||
};
|
||||
|
||||
cps_reg_usb3_0_vbus: cps-usb3-0-vbus {
|
||||
cp1_reg_usb3_0_vbus: cp1-usb3-0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "cps-usb3h0-vbus";
|
||||
regulator-name = "cp1-usb3h0-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
gpio = <&expander1 0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
cps_usb3_0_phy: cps-usb3-0-phy {
|
||||
cp1_usb3_0_phy: cp1-usb3-0-phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
vcc-supply = <&cps_reg_usb3_0_vbus>;
|
||||
vcc-supply = <&cp1_reg_usb3_0_vbus>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -144,16 +151,16 @@
|
|||
};
|
||||
|
||||
/* CON6 on CP0 expansion */
|
||||
&cpm_pcie0 {
|
||||
&cp0_pcie0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON5 on CP0 expansion */
|
||||
&cpm_pcie2 {
|
||||
&cp0_pcie2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_i2c0 {
|
||||
&cp0_i2c0 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
|
||||
|
|
@ -178,23 +185,23 @@
|
|||
};
|
||||
|
||||
/* CON4 on CP0 expansion */
|
||||
&cpm_sata0 {
|
||||
&cp0_sata0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON9 on CP0 expansion */
|
||||
&cpm_usb3_0 {
|
||||
usb-phy = <&cpm_usb3_0_phy>;
|
||||
&cp0_usb3_0 {
|
||||
usb-phy = <&cp0_usb3_0_phy>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON10 on CP0 expansion */
|
||||
&cpm_usb3_1 {
|
||||
usb-phy = <&cpm_usb3_1_phy>;
|
||||
&cp0_usb3_1 {
|
||||
usb-phy = <&cp0_usb3_1_phy>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_mdio {
|
||||
&cp0_mdio {
|
||||
status = "okay";
|
||||
|
||||
phy1: ethernet-phy@1 {
|
||||
|
|
@ -202,42 +209,42 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cpm_ethernet {
|
||||
&cp0_ethernet {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_eth0 {
|
||||
&cp0_eth0 {
|
||||
status = "okay";
|
||||
phy-mode = "10gbase-kr";
|
||||
};
|
||||
|
||||
&cpm_eth2 {
|
||||
&cp0_eth2 {
|
||||
status = "okay";
|
||||
phy = <&phy1>;
|
||||
phy-mode = "rgmii-id";
|
||||
};
|
||||
|
||||
/* CON6 on CP1 expansion */
|
||||
&cps_pcie0 {
|
||||
&cp1_pcie0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON7 on CP1 expansion */
|
||||
&cps_pcie1 {
|
||||
&cp1_pcie1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON5 on CP1 expansion */
|
||||
&cps_pcie2 {
|
||||
&cp1_pcie2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cps_i2c0 {
|
||||
&cp1_i2c0 {
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&cps_spi1 {
|
||||
&cp1_spi1 {
|
||||
status = "okay";
|
||||
|
||||
spi-flash@0 {
|
||||
|
|
@ -268,23 +275,51 @@
|
|||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* Proper NAND usage will require DPR-76 to be in position 1-2, which disables
|
||||
* MDIO signal of CP1.
|
||||
*/
|
||||
&cp1_nand {
|
||||
num-cs = <1>;
|
||||
pinctrl-0 = <&nand_pins>, <&nand_rb>;
|
||||
pinctrl-names = "default";
|
||||
nand-ecc-strength = <4>;
|
||||
nand-ecc-step-size = <512>;
|
||||
marvell,nand-enable-arbiter;
|
||||
marvell,system-controller = <&cp1_syscon0>;
|
||||
nand-on-flash-bbt;
|
||||
|
||||
partition@0 {
|
||||
label = "U-Boot";
|
||||
reg = <0 0x200000>;
|
||||
};
|
||||
partition@200000 {
|
||||
label = "Linux";
|
||||
reg = <0x200000 0xe00000>;
|
||||
};
|
||||
partition@1000000 {
|
||||
label = "Filesystem";
|
||||
reg = <0x1000000 0x3f000000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* CON4 on CP1 expansion */
|
||||
&cps_sata0 {
|
||||
&cp1_sata0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON9 on CP1 expansion */
|
||||
&cps_usb3_0 {
|
||||
usb-phy = <&cps_usb3_0_phy>;
|
||||
&cp1_usb3_0 {
|
||||
usb-phy = <&cp1_usb3_0_phy>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* CON10 on CP1 expansion */
|
||||
&cps_usb3_1 {
|
||||
&cp1_usb3_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cps_mdio {
|
||||
&cp1_mdio {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
|
|
@ -292,16 +327,16 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cps_ethernet {
|
||||
&cp1_ethernet {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cps_eth0 {
|
||||
&cp1_eth0 {
|
||||
status = "okay";
|
||||
phy-mode = "10gbase-kr";
|
||||
};
|
||||
|
||||
&cps_eth1 {
|
||||
&cp1_eth1 {
|
||||
status = "okay";
|
||||
phy = <&phy0>;
|
||||
phy-mode = "rgmii-id";
|
||||
|
|
@ -313,7 +348,7 @@
|
|||
non-removable;
|
||||
};
|
||||
|
||||
&cpm_sdhci0 {
|
||||
&cp0_sdhci0 {
|
||||
status = "okay";
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
|
|
|
|||
|
|
@ -62,6 +62,12 @@
|
|||
reg = <0x0 0x0 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
aliases {
|
||||
ethernet0 = &cp0_eth0;
|
||||
ethernet1 = &cp1_eth0;
|
||||
ethernet2 = &cp1_eth1;
|
||||
};
|
||||
|
||||
/* Regulator labels correspond with schematics */
|
||||
v_3_3: regulator-3-3v {
|
||||
compatible = "regulator-fixed";
|
||||
|
|
@ -84,9 +90,9 @@
|
|||
v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&cpm_gpio2 15 GPIO_ACTIVE_HIGH>;
|
||||
gpio = <&cp0_gpio2 15 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cpm_xhci_vbus_pins>;
|
||||
pinctrl-0 = <&cp0_xhci_vbus_pins>;
|
||||
regulator-name = "v_5v0_usb3_hst_vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
|
|
@ -120,17 +126,17 @@
|
|||
vqmmc-supply = <&v_vddo_h>;
|
||||
};
|
||||
|
||||
&cpm_i2c0 {
|
||||
&cp0_i2c0 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cpm_i2c0_pins>;
|
||||
pinctrl-0 = <&cp0_i2c0_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_i2c1 {
|
||||
&cp0_i2c1 {
|
||||
clock-frequency = <100000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cpm_i2c1_pins>;
|
||||
pinctrl-0 = <&cp0_i2c1_pins>;
|
||||
status = "okay";
|
||||
|
||||
i2c-switch@70 {
|
||||
|
|
@ -157,9 +163,9 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cpm_mdio {
|
||||
&cp0_mdio {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cpm_ge_mdio_pins>;
|
||||
pinctrl-0 = <&cp0_ge_mdio_pins>;
|
||||
status = "okay";
|
||||
|
||||
ge_phy: ethernet-phy@0 {
|
||||
|
|
@ -167,44 +173,44 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cpm_pcie0 {
|
||||
&cp0_pcie0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cpm_pcie_pins>;
|
||||
pinctrl-0 = <&cp0_pcie_pins>;
|
||||
num-lanes = <4>;
|
||||
num-viewport = <8>;
|
||||
reset-gpio = <&cpm_gpio1 20 GPIO_ACTIVE_LOW>;
|
||||
reset-gpio = <&cp0_gpio1 20 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_pinctrl {
|
||||
cpm_ge_mdio_pins: ge-mdio-pins {
|
||||
&cp0_pinctrl {
|
||||
cp0_ge_mdio_pins: ge-mdio-pins {
|
||||
marvell,pins = "mpp32", "mpp34";
|
||||
marvell,function = "ge";
|
||||
};
|
||||
cpm_i2c1_pins: i2c1-pins {
|
||||
cp0_i2c1_pins: i2c1-pins {
|
||||
marvell,pins = "mpp35", "mpp36";
|
||||
marvell,function = "i2c1";
|
||||
};
|
||||
cpm_i2c0_pins: i2c0-pins {
|
||||
cp0_i2c0_pins: i2c0-pins {
|
||||
marvell,pins = "mpp37", "mpp38";
|
||||
marvell,function = "i2c0";
|
||||
};
|
||||
cpm_xhci_vbus_pins: xhci0-vbus-pins {
|
||||
cp0_xhci_vbus_pins: xhci0-vbus-pins {
|
||||
marvell,pins = "mpp47";
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
cpm_pcie_pins: pcie-pins {
|
||||
cp0_pcie_pins: pcie-pins {
|
||||
marvell,pins = "mpp52";
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
cpm_sdhci_pins: sdhci-pins {
|
||||
cp0_sdhci_pins: sdhci-pins {
|
||||
marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59",
|
||||
"mpp60", "mpp61";
|
||||
marvell,function = "sdio";
|
||||
};
|
||||
};
|
||||
|
||||
&cpm_xmdio {
|
||||
&cp0_xmdio {
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
|
|
@ -218,83 +224,83 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cpm_ethernet {
|
||||
&cp0_ethernet {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_eth0 {
|
||||
&cp0_eth0 {
|
||||
status = "okay";
|
||||
/* Network PHY */
|
||||
phy = <&phy0>;
|
||||
phy-mode = "10gbase-kr";
|
||||
/* Generic PHY, providing serdes lanes */
|
||||
phys = <&cpm_comphy4 0>;
|
||||
phys = <&cp0_comphy4 0>;
|
||||
};
|
||||
|
||||
&cpm_sata0 {
|
||||
&cp0_sata0 {
|
||||
/* CPM Lane 0 - U29 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_sdhci0 {
|
||||
&cp0_sdhci0 {
|
||||
/* U6 */
|
||||
broken-cd;
|
||||
bus-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cpm_sdhci_pins>;
|
||||
pinctrl-0 = <&cp0_sdhci_pins>;
|
||||
status = "okay";
|
||||
vqmmc-supply = <&v_3_3>;
|
||||
};
|
||||
|
||||
&cpm_usb3_0 {
|
||||
&cp0_usb3_0 {
|
||||
/* J38? - USB2.0 only */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_usb3_1 {
|
||||
&cp0_usb3_1 {
|
||||
/* J38? - USB2.0 only */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cps_ethernet {
|
||||
&cp1_ethernet {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cps_eth0 {
|
||||
&cp1_eth0 {
|
||||
status = "okay";
|
||||
/* Network PHY */
|
||||
phy = <&phy8>;
|
||||
phy-mode = "10gbase-kr";
|
||||
/* Generic PHY, providing serdes lanes */
|
||||
phys = <&cps_comphy4 0>;
|
||||
phys = <&cp1_comphy4 0>;
|
||||
};
|
||||
|
||||
&cps_eth1 {
|
||||
&cp1_eth1 {
|
||||
/* CPS Lane 0 - J5 (Gigabit RJ45) */
|
||||
status = "okay";
|
||||
/* Network PHY */
|
||||
phy = <&ge_phy>;
|
||||
phy-mode = "sgmii";
|
||||
/* Generic PHY, providing serdes lanes */
|
||||
phys = <&cps_comphy0 1>;
|
||||
phys = <&cp1_comphy0 1>;
|
||||
};
|
||||
|
||||
&cps_pinctrl {
|
||||
cps_spi1_pins: spi1-pins {
|
||||
&cp1_pinctrl {
|
||||
cp1_spi1_pins: spi1-pins {
|
||||
marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15", "mpp16";
|
||||
marvell,function = "spi1";
|
||||
};
|
||||
};
|
||||
|
||||
&cps_sata0 {
|
||||
&cp1_sata0 {
|
||||
/* CPS Lane 1 - U32 */
|
||||
/* CPS Lane 3 - U31 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cps_spi1 {
|
||||
&cp1_spi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&cps_spi1_pins>;
|
||||
pinctrl-0 = <&cp1_spi1_pins>;
|
||||
status = "okay";
|
||||
|
||||
spi-flash@0 {
|
||||
|
|
@ -304,7 +310,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
&cps_usb3_0 {
|
||||
&cp1_usb3_0 {
|
||||
/* CPS Lane 2 - CON7 */
|
||||
usb-phy = <&usb3h0_phy>;
|
||||
status = "okay";
|
||||
|
|
|
|||
|
|
@ -59,6 +59,6 @@
|
|||
* disable it. However, the RTC clock in CP slave is connected to the
|
||||
* oscillator so this one is let enabled.
|
||||
*/
|
||||
&cpm_rtc {
|
||||
&cp0_rtc {
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -44,33 +44,104 @@
|
|||
* Device Tree file for the Armada 80x0 SoC family
|
||||
*/
|
||||
|
||||
#include "armada-cp110-master.dtsi"
|
||||
#include "armada-cp110-slave.dtsi"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
gpio1 = &cps_gpio1;
|
||||
gpio2 = &cpm_gpio2;
|
||||
gpio1 = &cp1_gpio1;
|
||||
gpio2 = &cp0_gpio2;
|
||||
spi1 = &cp0_spi0;
|
||||
spi2 = &cp0_spi1;
|
||||
spi3 = &cp1_spi0;
|
||||
spi4 = &cp1_spi1;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* Instantiate the master CP110
|
||||
*/
|
||||
#define CP110_NAME cp0
|
||||
#define CP110_BASE f2000000
|
||||
#define CP110_PCIE_IO_BASE 0xf9000000
|
||||
#define CP110_PCIE_MEM_BASE 0xf6000000
|
||||
#define CP110_PCIE0_BASE f2600000
|
||||
#define CP110_PCIE1_BASE f2620000
|
||||
#define CP110_PCIE2_BASE f2640000
|
||||
|
||||
#include "armada-cp110.dtsi"
|
||||
|
||||
#undef CP110_NAME
|
||||
#undef CP110_BASE
|
||||
#undef CP110_PCIE_IO_BASE
|
||||
#undef CP110_PCIE_MEM_BASE
|
||||
#undef CP110_PCIE0_BASE
|
||||
#undef CP110_PCIE1_BASE
|
||||
#undef CP110_PCIE2_BASE
|
||||
|
||||
/*
|
||||
* Instantiate the slave CP110
|
||||
*/
|
||||
#define CP110_NAME cp1
|
||||
#define CP110_BASE f4000000
|
||||
#define CP110_PCIE_IO_BASE 0xfd000000
|
||||
#define CP110_PCIE_MEM_BASE 0xfa000000
|
||||
#define CP110_PCIE0_BASE f4600000
|
||||
#define CP110_PCIE1_BASE f4620000
|
||||
#define CP110_PCIE2_BASE f4640000
|
||||
|
||||
#include "armada-cp110.dtsi"
|
||||
|
||||
#undef CP110_NAME
|
||||
#undef CP110_BASE
|
||||
#undef CP110_PCIE_IO_BASE
|
||||
#undef CP110_PCIE_MEM_BASE
|
||||
#undef CP110_PCIE0_BASE
|
||||
#undef CP110_PCIE1_BASE
|
||||
#undef CP110_PCIE2_BASE
|
||||
|
||||
/* The 80x0 has two CP blocks, but uses only one block from each. */
|
||||
&cps_gpio1 {
|
||||
&cp1_gpio1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_gpio2 {
|
||||
&cp0_gpio2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpm_syscon0 {
|
||||
cpm_pinctrl: pinctrl {
|
||||
&cp0_syscon0 {
|
||||
cp0_pinctrl: pinctrl {
|
||||
compatible = "marvell,armada-8k-cpm-pinctrl";
|
||||
};
|
||||
};
|
||||
|
||||
&cps_syscon0 {
|
||||
cps_pinctrl: pinctrl {
|
||||
&cp1_syscon0 {
|
||||
cp1_pinctrl: pinctrl {
|
||||
compatible = "marvell,armada-8k-cps-pinctrl";
|
||||
|
||||
nand_pins: nand-pins {
|
||||
marvell,pins =
|
||||
"mpp0", "mpp1", "mpp2", "mpp3",
|
||||
"mpp4", "mpp5", "mpp6", "mpp7",
|
||||
"mpp8", "mpp9", "mpp10", "mpp11",
|
||||
"mpp15", "mpp16", "mpp17", "mpp18",
|
||||
"mpp19", "mpp20", "mpp21", "mpp22",
|
||||
"mpp23", "mpp24", "mpp25", "mpp26",
|
||||
"mpp27";
|
||||
marvell,function = "dev";
|
||||
};
|
||||
|
||||
nand_rb: nand-rb {
|
||||
marvell,pins = "mpp13", "mpp12";
|
||||
marvell,function = "nf";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cp1_crypto {
|
||||
/*
|
||||
* The cryptographic engine found on the cp110
|
||||
* master is enabled by default at the SoC
|
||||
* level. Because it is not possible as of now
|
||||
* to enable two cryptographic engines in
|
||||
* parallel, disable this one by default.
|
||||
*/
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@
|
|||
serial0 = &uart0;
|
||||
serial1 = &uart1;
|
||||
gpio0 = &ap_gpio;
|
||||
spi0 = &spi0;
|
||||
};
|
||||
|
||||
psci {
|
||||
|
|
@ -203,7 +204,6 @@
|
|||
reg = <0x510600 0x50>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cell-index = <0>;
|
||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ap_clk 3>;
|
||||
status = "disabled";
|
||||
|
|
@ -241,7 +241,7 @@
|
|||
|
||||
};
|
||||
|
||||
watchdog: watchdog@600000 {
|
||||
watchdog: watchdog@610000 {
|
||||
compatible = "arm,sbsa-gwdt";
|
||||
reg = <0x610000 0x1000>, <0x600000 0x1000>;
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
|
@ -285,6 +285,12 @@
|
|||
gpio-ranges = <&ap_pinctrl 0 0 20>;
|
||||
};
|
||||
};
|
||||
|
||||
ap_thermal: thermal@6f808c {
|
||||
compatible = "marvell,armada-ap806-thermal";
|
||||
reg = <0x6f808c 0x4>,
|
||||
<0x6f8084 0x8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
10
arch/arm64/boot/dts/marvell/armada-common.dtsi
Normal file
10
arch/arm64/boot/dts/marvell/armada-common.dtsi
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
||||
/*
|
||||
* Copyright (C) 2016 Marvell Technology Group Ltd.
|
||||
*/
|
||||
|
||||
/* Common definitions used by Armada 7K/8K DTs */
|
||||
#define PASTER(x, y) x ## y
|
||||
#define EVALUATOR(x, y) PASTER(x, y)
|
||||
#define CP110_LABEL(name) EVALUATOR(CP110_NAME, EVALUATOR(_, name))
|
||||
#define ADDRESSIFY(addr) EVALUATOR(0x, addr)
|
||||
|
|
@ -1,446 +0,0 @@
|
|||
/*
|
||||
* 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 Master.
|
||||
*/
|
||||
|
||||
#define ICU_GRP_NSR 0x0
|
||||
|
||||
/ {
|
||||
cp110-master {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&cpm_icu>;
|
||||
ranges;
|
||||
|
||||
config-space@f2000000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x0 0x0 0xf2000000 0x2000000>;
|
||||
|
||||
cpm_ethernet: ethernet@0 {
|
||||
compatible = "marvell,armada-7k-pp22";
|
||||
reg = <0x0 0x100000>, <0x129000 0xb000>;
|
||||
clocks = <&cpm_clk 1 3>, <&cpm_clk 1 9>,
|
||||
<&cpm_clk 1 5>, <&cpm_clk 1 18>;
|
||||
clock-names = "pp_clk", "gop_clk",
|
||||
"mg_clk","axi_clk";
|
||||
marvell,system-controller = <&cpm_syscon0>;
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
|
||||
cpm_eth0: eth0 {
|
||||
interrupts = <ICU_GRP_NSR 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 47 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 51 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 55 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 129 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
|
||||
"tx-cpu3", "rx-shared", "link";
|
||||
port-id = <0>;
|
||||
gop-port-id = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_eth1: eth1 {
|
||||
interrupts = <ICU_GRP_NSR 40 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 44 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 48 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 52 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 56 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 128 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
|
||||
"tx-cpu3", "rx-shared", "link";
|
||||
port-id = <1>;
|
||||
gop-port-id = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_eth2: eth2 {
|
||||
interrupts = <ICU_GRP_NSR 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 45 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 49 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 53 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 57 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 127 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
|
||||
"tx-cpu3", "rx-shared", "link";
|
||||
port-id = <2>;
|
||||
gop-port-id = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
cpm_comphy: phy@120000 {
|
||||
compatible = "marvell,comphy-cp110";
|
||||
reg = <0x120000 0x6000>;
|
||||
marvell,system-controller = <&cpm_syscon0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpm_comphy0: phy@0 {
|
||||
reg = <0>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cpm_comphy1: phy@1 {
|
||||
reg = <1>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cpm_comphy2: phy@2 {
|
||||
reg = <2>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cpm_comphy3: phy@3 {
|
||||
reg = <3>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cpm_comphy4: phy@4 {
|
||||
reg = <4>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cpm_comphy5: phy@5 {
|
||||
reg = <5>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
cpm_mdio: mdio@12a200 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "marvell,orion-mdio";
|
||||
reg = <0x12a200 0x10>;
|
||||
clocks = <&cpm_clk 1 9>, <&cpm_clk 1 5>,
|
||||
<&cpm_clk 1 6>, <&cpm_clk 1 18>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_xmdio: mdio@12a600 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "marvell,xmdio";
|
||||
reg = <0x12a600 0x10>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_icu: interrupt-controller@1e0000 {
|
||||
compatible = "marvell,cp110-icu";
|
||||
reg = <0x1e0000 0x10>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
msi-parent = <&gicp>;
|
||||
};
|
||||
|
||||
cpm_rtc: rtc@284000 {
|
||||
compatible = "marvell,armada-8k-rtc";
|
||||
reg = <0x284000 0x20>, <0x284080 0x24>;
|
||||
reg-names = "rtc", "rtc-soc";
|
||||
interrupts = <ICU_GRP_NSR 77 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
cpm_syscon0: system-controller@440000 {
|
||||
compatible = "syscon", "simple-mfd";
|
||||
reg = <0x440000 0x2000>;
|
||||
|
||||
cpm_clk: clock {
|
||||
compatible = "marvell,cp110-clock";
|
||||
#clock-cells = <2>;
|
||||
};
|
||||
|
||||
cpm_gpio1: gpio@100 {
|
||||
compatible = "marvell,armada-8k-gpio";
|
||||
offset = <0x100>;
|
||||
ngpios = <32>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&cpm_pinctrl 0 0 32>;
|
||||
interrupt-controller;
|
||||
interrupts = <ICU_GRP_NSR 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 83 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_gpio2: gpio@140 {
|
||||
compatible = "marvell,armada-8k-gpio";
|
||||
offset = <0x140>;
|
||||
ngpios = <31>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&cpm_pinctrl 0 32 31>;
|
||||
interrupt-controller;
|
||||
interrupts = <ICU_GRP_NSR 82 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 81 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 80 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 79 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
cpm_usb3_0: usb3@500000 {
|
||||
compatible = "marvell,armada-8k-xhci",
|
||||
"generic-xhci";
|
||||
reg = <0x500000 0x4000>;
|
||||
dma-coherent;
|
||||
interrupts = <ICU_GRP_NSR 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpm_clk 1 22>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_usb3_1: usb3@510000 {
|
||||
compatible = "marvell,armada-8k-xhci",
|
||||
"generic-xhci";
|
||||
reg = <0x510000 0x4000>;
|
||||
dma-coherent;
|
||||
interrupts = <ICU_GRP_NSR 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpm_clk 1 23>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_sata0: sata@540000 {
|
||||
compatible = "marvell,armada-8k-ahci",
|
||||
"generic-ahci";
|
||||
reg = <0x540000 0x30000>;
|
||||
interrupts = <ICU_GRP_NSR 107 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpm_clk 1 15>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_xor0: xor@6a0000 {
|
||||
compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
|
||||
reg = <0x6a0000 0x1000>,
|
||||
<0x6b0000 0x1000>;
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
clocks = <&cpm_clk 1 8>;
|
||||
};
|
||||
|
||||
cpm_xor1: xor@6c0000 {
|
||||
compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
|
||||
reg = <0x6c0000 0x1000>,
|
||||
<0x6d0000 0x1000>;
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
clocks = <&cpm_clk 1 7>;
|
||||
};
|
||||
|
||||
cpm_spi0: spi@700600 {
|
||||
compatible = "marvell,armada-380-spi";
|
||||
reg = <0x700600 0x50>;
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
cell-index = <1>;
|
||||
clocks = <&cpm_clk 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_spi1: spi@700680 {
|
||||
compatible = "marvell,armada-380-spi";
|
||||
reg = <0x700680 0x50>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cell-index = <2>;
|
||||
clocks = <&cpm_clk 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_i2c0: i2c@701000 {
|
||||
compatible = "marvell,mv78230-i2c";
|
||||
reg = <0x701000 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <ICU_GRP_NSR 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpm_clk 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_i2c1: i2c@701100 {
|
||||
compatible = "marvell,mv78230-i2c";
|
||||
reg = <0x701100 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <ICU_GRP_NSR 121 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpm_clk 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_nand: nand@720000 {
|
||||
/*
|
||||
* Due to the limiation of the pin available
|
||||
* this controller is only usable on the CPM
|
||||
* for A7K and on the CPS for A8K.
|
||||
*/
|
||||
compatible = "marvell,armada-8k-nand",
|
||||
"marvell,armada370-nand";
|
||||
reg = <0x720000 0x54>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
interrupts = <ICU_GRP_NSR 115 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpm_clk 1 2>;
|
||||
marvell,system-controller = <&cpm_syscon0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_trng: trng@760000 {
|
||||
compatible = "marvell,armada-8k-rng", "inside-secure,safexcel-eip76";
|
||||
reg = <0x760000 0x7d>;
|
||||
interrupts = <ICU_GRP_NSR 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpm_clk 1 25>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
cpm_sdhci0: sdhci@780000 {
|
||||
compatible = "marvell,armada-cp110-sdhci";
|
||||
reg = <0x780000 0x300>;
|
||||
interrupts = <ICU_GRP_NSR 27 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "core","axi";
|
||||
clocks = <&cpm_clk 1 4>, <&cpm_clk 1 18>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_crypto: crypto@800000 {
|
||||
compatible = "inside-secure,safexcel-eip197";
|
||||
reg = <0x800000 0x200000>;
|
||||
interrupts = <ICU_GRP_NSR 87 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 88 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 89 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 90 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 91 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mem", "ring0", "ring1",
|
||||
"ring2", "ring3", "eip";
|
||||
clocks = <&cpm_clk 1 26>;
|
||||
dma-coherent;
|
||||
};
|
||||
};
|
||||
|
||||
cpm_pcie0: pcie@f2600000 {
|
||||
compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
|
||||
reg = <0 0xf2600000 0 0x10000>,
|
||||
<0 0xf6f00000 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 0xf9000000 0 0xf9000000 0 0x10000
|
||||
/* non-prefetchable memory */
|
||||
0x82000000 0 0xf6000000 0 0xf6000000 0 0xf00000>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &cpm_icu ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
num-lanes = <1>;
|
||||
clocks = <&cpm_clk 1 13>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_pcie1: pcie@f2620000 {
|
||||
compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
|
||||
reg = <0 0xf2620000 0 0x10000>,
|
||||
<0 0xf7f00000 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 0xf9010000 0 0xf9010000 0 0x10000
|
||||
/* non-prefetchable memory */
|
||||
0x82000000 0 0xf7000000 0 0xf7000000 0 0xf00000>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &cpm_icu ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
num-lanes = <1>;
|
||||
clocks = <&cpm_clk 1 11>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpm_pcie2: pcie@f2640000 {
|
||||
compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
|
||||
reg = <0 0xf2640000 0 0x10000>,
|
||||
<0 0xf8f00000 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 0xf9020000 0 0xf9020000 0 0x10000
|
||||
/* non-prefetchable memory */
|
||||
0x82000000 0 0xf8000000 0 0xf8000000 0 0xf00000>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &cpm_icu ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
num-lanes = <1>;
|
||||
clocks = <&cpm_clk 1 12>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -1,444 +0,0 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#define ICU_GRP_NSR 0x0
|
||||
|
||||
/ {
|
||||
cp110-slave {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&cps_icu>;
|
||||
ranges;
|
||||
|
||||
config-space@f4000000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x0 0x0 0xf4000000 0x2000000>;
|
||||
|
||||
cps_ethernet: ethernet@0 {
|
||||
compatible = "marvell,armada-7k-pp22";
|
||||
reg = <0x0 0x100000>, <0x129000 0xb000>;
|
||||
clocks = <&cps_clk 1 3>, <&cps_clk 1 9>,
|
||||
<&cps_clk 1 5>, <&cps_clk 1 18>;
|
||||
clock-names = "pp_clk", "gop_clk",
|
||||
"mg_clk", "axi_clk";
|
||||
marvell,system-controller = <&cps_syscon0>;
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
|
||||
cps_eth0: eth0 {
|
||||
interrupts = <ICU_GRP_NSR 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 47 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 51 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 55 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 129 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
|
||||
"tx-cpu3", "rx-shared", "link";
|
||||
port-id = <0>;
|
||||
gop-port-id = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_eth1: eth1 {
|
||||
interrupts = <ICU_GRP_NSR 40 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 44 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 48 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 52 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 56 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 128 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
|
||||
"tx-cpu3", "rx-shared", "link";
|
||||
port-id = <1>;
|
||||
gop-port-id = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_eth2: eth2 {
|
||||
interrupts = <ICU_GRP_NSR 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 45 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 49 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 53 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 57 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 127 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
|
||||
"tx-cpu3", "rx-shared", "link";
|
||||
port-id = <2>;
|
||||
gop-port-id = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
cps_comphy: phy@120000 {
|
||||
compatible = "marvell,comphy-cp110";
|
||||
reg = <0x120000 0x6000>;
|
||||
marvell,system-controller = <&cps_syscon0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cps_comphy0: phy@0 {
|
||||
reg = <0>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cps_comphy1: phy@1 {
|
||||
reg = <1>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cps_comphy2: phy@2 {
|
||||
reg = <2>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cps_comphy3: phy@3 {
|
||||
reg = <3>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cps_comphy4: phy@4 {
|
||||
reg = <4>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
cps_comphy5: phy@5 {
|
||||
reg = <5>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
cps_mdio: mdio@12a200 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "marvell,orion-mdio";
|
||||
reg = <0x12a200 0x10>;
|
||||
clocks = <&cps_clk 1 9>, <&cps_clk 1 5>,
|
||||
<&cps_clk 1 6>, <&cps_clk 1 18>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_xmdio: mdio@12a600 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "marvell,xmdio";
|
||||
reg = <0x12a600 0x10>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_icu: interrupt-controller@1e0000 {
|
||||
compatible = "marvell,cp110-icu";
|
||||
reg = <0x1e0000 0x10>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
msi-parent = <&gicp>;
|
||||
};
|
||||
|
||||
cps_rtc: rtc@284000 {
|
||||
compatible = "marvell,armada-8k-rtc";
|
||||
reg = <0x284000 0x20>, <0x284080 0x24>;
|
||||
reg-names = "rtc", "rtc-soc";
|
||||
interrupts = <ICU_GRP_NSR 77 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
cps_syscon0: system-controller@440000 {
|
||||
compatible = "syscon", "simple-mfd";
|
||||
reg = <0x440000 0x2000>;
|
||||
|
||||
cps_clk: clock {
|
||||
compatible = "marvell,cp110-clock";
|
||||
#clock-cells = <2>;
|
||||
};
|
||||
|
||||
cps_gpio1: gpio@100 {
|
||||
compatible = "marvell,armada-8k-gpio";
|
||||
offset = <0x100>;
|
||||
ngpios = <32>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&cps_pinctrl 0 0 32>;
|
||||
interrupt-controller;
|
||||
interrupts = <ICU_GRP_NSR 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 83 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_gpio2: gpio@140 {
|
||||
compatible = "marvell,armada-8k-gpio";
|
||||
offset = <0x140>;
|
||||
ngpios = <31>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&cps_pinctrl 0 32 31>;
|
||||
interrupt-controller;
|
||||
interrupts = <ICU_GRP_NSR 82 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 81 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 80 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 79 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
cps_usb3_0: usb3@500000 {
|
||||
compatible = "marvell,armada-8k-xhci",
|
||||
"generic-xhci";
|
||||
reg = <0x500000 0x4000>;
|
||||
dma-coherent;
|
||||
interrupts = <ICU_GRP_NSR 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_clk 1 22>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_usb3_1: usb3@510000 {
|
||||
compatible = "marvell,armada-8k-xhci",
|
||||
"generic-xhci";
|
||||
reg = <0x510000 0x4000>;
|
||||
dma-coherent;
|
||||
interrupts = <ICU_GRP_NSR 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_clk 1 23>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_sata0: sata@540000 {
|
||||
compatible = "marvell,armada-8k-ahci",
|
||||
"generic-ahci";
|
||||
reg = <0x540000 0x30000>;
|
||||
interrupts = <ICU_GRP_NSR 107 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_clk 1 15>;
|
||||
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_clk 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_clk 1 7>;
|
||||
};
|
||||
|
||||
cps_spi0: spi@700600 {
|
||||
compatible = "marvell,armada-380-spi";
|
||||
reg = <0x700600 0x50>;
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
cell-index = <3>;
|
||||
clocks = <&cps_clk 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_spi1: spi@700680 {
|
||||
compatible = "marvell,armada-380-spi";
|
||||
reg = <0x700680 0x50>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cell-index = <4>;
|
||||
clocks = <&cps_clk 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_i2c0: i2c@701000 {
|
||||
compatible = "marvell,mv78230-i2c";
|
||||
reg = <0x701000 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <ICU_GRP_NSR 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_clk 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_i2c1: i2c@701100 {
|
||||
compatible = "marvell,mv78230-i2c";
|
||||
reg = <0x701100 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <ICU_GRP_NSR 121 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_clk 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_nand: nand@720000 {
|
||||
/*
|
||||
* Due to the limiation of the pin available
|
||||
* this controller is only usable on the CPM
|
||||
* for A7K and on the CPS for A8K.
|
||||
*/
|
||||
compatible = "marvell,armada370-nand",
|
||||
"marvell,armada370-nand";
|
||||
reg = <0x720000 0x54>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
interrupts = <ICU_GRP_NSR 115 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_clk 1 2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cps_trng: trng@760000 {
|
||||
compatible = "marvell,armada-8k-rng", "inside-secure,safexcel-eip76";
|
||||
reg = <0x760000 0x7d>;
|
||||
interrupts = <ICU_GRP_NSR 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cps_clk 1 25>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
cps_crypto: crypto@800000 {
|
||||
compatible = "inside-secure,safexcel-eip197";
|
||||
reg = <0x800000 0x200000>;
|
||||
interrupts = <ICU_GRP_NSR 87 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 88 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 89 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 90 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 91 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mem", "ring0", "ring1",
|
||||
"ring2", "ring3", "eip";
|
||||
clocks = <&cps_clk 1 26>;
|
||||
dma-coherent;
|
||||
/*
|
||||
* The cryptographic engine found on the cp110
|
||||
* master is enabled by default at the SoC
|
||||
* level. Because it is not possible as of now
|
||||
* to enable two cryptographic engines in
|
||||
* parallel, disable this one by default.
|
||||
*/
|
||||
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 &cps_icu ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
num-lanes = <1>;
|
||||
clocks = <&cps_clk 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 &cps_icu ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
num-lanes = <1>;
|
||||
clocks = <&cps_clk 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 &cps_icu ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
num-lanes = <1>;
|
||||
clocks = <&cps_clk 1 12>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
};
|
||||
424
arch/arm64/boot/dts/marvell/armada-cp110.dtsi
Normal file
424
arch/arm64/boot/dts/marvell/armada-cp110.dtsi
Normal file
|
|
@ -0,0 +1,424 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
||||
/*
|
||||
* Copyright (C) 2016 Marvell Technology Group Ltd.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Device Tree file for Marvell Armada CP110.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/mvebu-icu.h>
|
||||
|
||||
#include "armada-common.dtsi"
|
||||
|
||||
#define CP110_PCIEx_IO_BASE(iface) (CP110_PCIE_IO_BASE + (iface * 0x10000))
|
||||
#define CP110_PCIEx_MEM_BASE(iface) (CP110_PCIE_MEM_BASE + (iface * 0x1000000))
|
||||
#define CP110_PCIEx_CONF_BASE(iface) (CP110_PCIEx_MEM_BASE(iface) + 0xf00000)
|
||||
|
||||
/ {
|
||||
/*
|
||||
* The contents of the node are defined below, in order to
|
||||
* save one indentation level
|
||||
*/
|
||||
CP110_NAME: CP110_NAME { };
|
||||
};
|
||||
|
||||
&CP110_NAME {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&CP110_LABEL(icu)>;
|
||||
ranges;
|
||||
|
||||
config-space@CP110_BASE {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "simple-bus";
|
||||
ranges = <0x0 0x0 ADDRESSIFY(CP110_BASE) 0x2000000>;
|
||||
|
||||
CP110_LABEL(ethernet): ethernet@0 {
|
||||
compatible = "marvell,armada-7k-pp22";
|
||||
reg = <0x0 0x100000>, <0x129000 0xb000>;
|
||||
clocks = <&CP110_LABEL(clk) 1 3>, <&CP110_LABEL(clk) 1 9>,
|
||||
<&CP110_LABEL(clk) 1 5>, <&CP110_LABEL(clk) 1 18>;
|
||||
clock-names = "pp_clk", "gop_clk",
|
||||
"mg_clk", "axi_clk";
|
||||
marvell,system-controller = <&CP110_LABEL(syscon0)>;
|
||||
status = "disabled";
|
||||
dma-coherent;
|
||||
|
||||
CP110_LABEL(eth0): eth0 {
|
||||
interrupts = <ICU_GRP_NSR 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 47 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 51 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 55 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 129 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
|
||||
"tx-cpu3", "rx-shared", "link";
|
||||
port-id = <0>;
|
||||
gop-port-id = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(eth1): eth1 {
|
||||
interrupts = <ICU_GRP_NSR 40 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 44 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 48 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 52 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 56 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 128 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
|
||||
"tx-cpu3", "rx-shared", "link";
|
||||
port-id = <1>;
|
||||
gop-port-id = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(eth2): eth2 {
|
||||
interrupts = <ICU_GRP_NSR 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 45 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 49 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 53 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 57 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 127 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "tx-cpu0", "tx-cpu1", "tx-cpu2",
|
||||
"tx-cpu3", "rx-shared", "link";
|
||||
port-id = <2>;
|
||||
gop-port-id = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
CP110_LABEL(comphy): phy@120000 {
|
||||
compatible = "marvell,comphy-cp110";
|
||||
reg = <0x120000 0x6000>;
|
||||
marvell,system-controller = <&CP110_LABEL(syscon0)>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
CP110_LABEL(comphy0): phy@0 {
|
||||
reg = <0>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
CP110_LABEL(comphy1): phy@1 {
|
||||
reg = <1>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
CP110_LABEL(comphy2): phy@2 {
|
||||
reg = <2>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
CP110_LABEL(comphy3): phy@3 {
|
||||
reg = <3>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
CP110_LABEL(comphy4): phy@4 {
|
||||
reg = <4>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
CP110_LABEL(comphy5): phy@5 {
|
||||
reg = <5>;
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
CP110_LABEL(mdio): mdio@12a200 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "marvell,orion-mdio";
|
||||
reg = <0x12a200 0x10>;
|
||||
clocks = <&CP110_LABEL(clk) 1 9>, <&CP110_LABEL(clk) 1 5>,
|
||||
<&CP110_LABEL(clk) 1 6>, <&CP110_LABEL(clk) 1 18>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(xmdio): mdio@12a600 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "marvell,xmdio";
|
||||
reg = <0x12a600 0x10>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(icu): interrupt-controller@1e0000 {
|
||||
compatible = "marvell,cp110-icu";
|
||||
reg = <0x1e0000 0x10>;
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
msi-parent = <&gicp>;
|
||||
};
|
||||
|
||||
CP110_LABEL(rtc): rtc@284000 {
|
||||
compatible = "marvell,armada-8k-rtc";
|
||||
reg = <0x284000 0x20>, <0x284080 0x24>;
|
||||
reg-names = "rtc", "rtc-soc";
|
||||
interrupts = <ICU_GRP_NSR 77 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
CP110_LABEL(thermal): thermal@400078 {
|
||||
compatible = "marvell,armada-cp110-thermal";
|
||||
reg = <0x400078 0x4>,
|
||||
<0x400070 0x8>;
|
||||
};
|
||||
|
||||
CP110_LABEL(syscon0): system-controller@440000 {
|
||||
compatible = "syscon", "simple-mfd";
|
||||
reg = <0x440000 0x2000>;
|
||||
|
||||
CP110_LABEL(clk): clock {
|
||||
compatible = "marvell,cp110-clock";
|
||||
#clock-cells = <2>;
|
||||
};
|
||||
|
||||
CP110_LABEL(gpio1): gpio@100 {
|
||||
compatible = "marvell,armada-8k-gpio";
|
||||
offset = <0x100>;
|
||||
ngpios = <32>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&CP110_LABEL(pinctrl) 0 0 32>;
|
||||
interrupt-controller;
|
||||
interrupts = <ICU_GRP_NSR 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 83 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(gpio2): gpio@140 {
|
||||
compatible = "marvell,armada-8k-gpio";
|
||||
offset = <0x140>;
|
||||
ngpios = <31>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-ranges = <&CP110_LABEL(pinctrl) 0 32 31>;
|
||||
interrupt-controller;
|
||||
interrupts = <ICU_GRP_NSR 82 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 81 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 80 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 79 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
CP110_LABEL(usb3_0): usb3@500000 {
|
||||
compatible = "marvell,armada-8k-xhci",
|
||||
"generic-xhci";
|
||||
reg = <0x500000 0x4000>;
|
||||
dma-coherent;
|
||||
interrupts = <ICU_GRP_NSR 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&CP110_LABEL(clk) 1 22>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(usb3_1): usb3@510000 {
|
||||
compatible = "marvell,armada-8k-xhci",
|
||||
"generic-xhci";
|
||||
reg = <0x510000 0x4000>;
|
||||
dma-coherent;
|
||||
interrupts = <ICU_GRP_NSR 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&CP110_LABEL(clk) 1 23>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(sata0): sata@540000 {
|
||||
compatible = "marvell,armada-8k-ahci",
|
||||
"generic-ahci";
|
||||
reg = <0x540000 0x30000>;
|
||||
interrupts = <ICU_GRP_NSR 107 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&CP110_LABEL(clk) 1 15>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(xor0): xor@6a0000 {
|
||||
compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
|
||||
reg = <0x6a0000 0x1000>, <0x6b0000 0x1000>;
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
clocks = <&CP110_LABEL(clk) 1 8>;
|
||||
};
|
||||
|
||||
CP110_LABEL(xor1): xor@6c0000 {
|
||||
compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
|
||||
reg = <0x6c0000 0x1000>, <0x6d0000 0x1000>;
|
||||
dma-coherent;
|
||||
msi-parent = <&gic_v2m0>;
|
||||
clocks = <&CP110_LABEL(clk) 1 7>;
|
||||
};
|
||||
|
||||
CP110_LABEL(spi0): spi@700600 {
|
||||
compatible = "marvell,armada-380-spi";
|
||||
reg = <0x700600 0x50>;
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
clocks = <&CP110_LABEL(clk) 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(spi1): spi@700680 {
|
||||
compatible = "marvell,armada-380-spi";
|
||||
reg = <0x700680 0x50>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&CP110_LABEL(clk) 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(i2c0): i2c@701000 {
|
||||
compatible = "marvell,mv78230-i2c";
|
||||
reg = <0x701000 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <ICU_GRP_NSR 120 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&CP110_LABEL(clk) 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(i2c1): i2c@701100 {
|
||||
compatible = "marvell,mv78230-i2c";
|
||||
reg = <0x701100 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <ICU_GRP_NSR 121 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&CP110_LABEL(clk) 1 21>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(nand): nand@720000 {
|
||||
/*
|
||||
* Due to the limitation of the pins available
|
||||
* this controller is only usable on the CPM
|
||||
* for A7K and on the CPS for A8K.
|
||||
*/
|
||||
compatible = "marvell,armada-8k-nand",
|
||||
"marvell,armada370-nand";
|
||||
reg = <0x720000 0x54>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
interrupts = <ICU_GRP_NSR 115 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&CP110_LABEL(clk) 1 2>;
|
||||
marvell,system-controller = <&CP110_LABEL(syscon0)>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(trng): trng@760000 {
|
||||
compatible = "marvell,armada-8k-rng",
|
||||
"inside-secure,safexcel-eip76";
|
||||
reg = <0x760000 0x7d>;
|
||||
interrupts = <ICU_GRP_NSR 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&CP110_LABEL(clk) 1 25>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
CP110_LABEL(sdhci0): sdhci@780000 {
|
||||
compatible = "marvell,armada-cp110-sdhci";
|
||||
reg = <0x780000 0x300>;
|
||||
interrupts = <ICU_GRP_NSR 27 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "core", "axi";
|
||||
clocks = <&CP110_LABEL(clk) 1 4>, <&CP110_LABEL(clk) 1 18>;
|
||||
dma-coherent;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(crypto): crypto@800000 {
|
||||
compatible = "inside-secure,safexcel-eip197";
|
||||
reg = <0x800000 0x200000>;
|
||||
interrupts = <ICU_GRP_NSR 87 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 88 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 89 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 90 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 91 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<ICU_GRP_NSR 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mem", "ring0", "ring1",
|
||||
"ring2", "ring3", "eip";
|
||||
clocks = <&CP110_LABEL(clk) 1 26>;
|
||||
dma-coherent;
|
||||
};
|
||||
};
|
||||
|
||||
CP110_LABEL(pcie0): pcie@CP110_PCIE0_BASE {
|
||||
compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
|
||||
reg = <0 ADDRESSIFY(CP110_PCIE0_BASE) 0 0x10000>,
|
||||
<0 CP110_PCIEx_CONF_BASE(0) 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 CP110_PCIEx_IO_BASE(0) 0 CP110_PCIEx_IO_BASE(0) 0 0x10000
|
||||
/* non-prefetchable memory */
|
||||
0x82000000 0 CP110_PCIEx_MEM_BASE(0) 0 CP110_PCIEx_MEM_BASE(0) 0 0xf00000>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &CP110_LABEL(icu) ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <ICU_GRP_NSR 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
num-lanes = <1>;
|
||||
clocks = <&CP110_LABEL(clk) 1 13>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(pcie1): pcie@CP110_PCIE1_BASE {
|
||||
compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
|
||||
reg = <0 ADDRESSIFY(CP110_PCIE1_BASE) 0 0x10000>,
|
||||
<0 CP110_PCIEx_CONF_BASE(1) 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 CP110_PCIEx_IO_BASE(1) 0 CP110_PCIEx_IO_BASE(1) 0 0x10000
|
||||
/* non-prefetchable memory */
|
||||
0x82000000 0 CP110_PCIEx_MEM_BASE(1) 0 CP110_PCIEx_MEM_BASE(1) 0 0xf00000>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &CP110_LABEL(icu) ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <ICU_GRP_NSR 24 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
num-lanes = <1>;
|
||||
clocks = <&CP110_LABEL(clk) 1 11>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
CP110_LABEL(pcie2): pcie@CP110_PCIE2_BASE {
|
||||
compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
|
||||
reg = <0 ADDRESSIFY(CP110_PCIE2_BASE) 0 0x10000>,
|
||||
<0 CP110_PCIEx_CONF_BASE(2) 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 CP110_PCIEx_IO_BASE(2) 0 CP110_PCIEx_IO_BASE(2) 0 0x10000
|
||||
/* non-prefetchable memory */
|
||||
0x82000000 0 CP110_PCIEx_MEM_BASE(2) 0 CP110_PCIEx_MEM_BASE(2) 0 0xf00000>;
|
||||
interrupt-map-mask = <0 0 0 0>;
|
||||
interrupt-map = <0 0 0 0 &CP110_LABEL(icu) ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <ICU_GRP_NSR 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
num-lanes = <1>;
|
||||
clocks = <&CP110_LABEL(clk) 1 12>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
@ -24,6 +24,33 @@
|
|||
chosen {
|
||||
stdout-path = "serial0:921600n8";
|
||||
};
|
||||
|
||||
cpus_fixed_vproc0: fixedregulator@0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vproc_buck0";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
};
|
||||
|
||||
cpus_fixed_vproc1: fixedregulator@1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vproc_buck1";
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
proc-supply = <&cpus_fixed_vproc0>;
|
||||
};
|
||||
|
||||
&cpu1 {
|
||||
proc-supply = <&cpus_fixed_vproc0>;
|
||||
};
|
||||
|
||||
&cpu2 {
|
||||
proc-supply = <&cpus_fixed_vproc1>;
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@
|
|||
* SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
*/
|
||||
|
||||
#include <dt-bindings/clock/mt2712-clk.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/power/mt2712-power.h>
|
||||
|
||||
/ {
|
||||
compatible = "mediatek,mt2712";
|
||||
|
|
@ -14,6 +16,48 @@
|
|||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
cluster0_opp: opp_table0 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
opp00 {
|
||||
opp-hz = /bits/ 64 <598000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
};
|
||||
opp01 {
|
||||
opp-hz = /bits/ 64 <702000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
};
|
||||
opp02 {
|
||||
opp-hz = /bits/ 64 <793000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1_opp: opp_table1 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
opp00 {
|
||||
opp-hz = /bits/ 64 <598000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
};
|
||||
opp01 {
|
||||
opp-hz = /bits/ 64 <702000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
};
|
||||
opp02 {
|
||||
opp-hz = /bits/ 64 <793000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
};
|
||||
opp03 {
|
||||
opp-hz = /bits/ 64 <897000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
};
|
||||
opp04 {
|
||||
opp-hz = /bits/ 64 <1001000000>;
|
||||
opp-microvolt = <1000000>;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
@ -39,6 +83,11 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a35";
|
||||
reg = <0x000>;
|
||||
clocks = <&mcucfg CLK_MCU_MP0_SEL>,
|
||||
<&topckgen CLK_TOP_F_MP0_PLL1>;
|
||||
clock-names = "cpu", "intermediate";
|
||||
proc-supply = <&cpus_fixed_vproc0>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
|
||||
};
|
||||
|
||||
|
|
@ -47,6 +96,11 @@
|
|||
compatible = "arm,cortex-a35";
|
||||
reg = <0x001>;
|
||||
enable-method = "psci";
|
||||
clocks = <&mcucfg CLK_MCU_MP0_SEL>,
|
||||
<&topckgen CLK_TOP_F_MP0_PLL1>;
|
||||
clock-names = "cpu", "intermediate";
|
||||
proc-supply = <&cpus_fixed_vproc0>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
|
||||
};
|
||||
|
||||
|
|
@ -55,6 +109,11 @@
|
|||
compatible = "arm,cortex-a72";
|
||||
reg = <0x200>;
|
||||
enable-method = "psci";
|
||||
clocks = <&mcucfg CLK_MCU_MP2_SEL>,
|
||||
<&topckgen CLK_TOP_F_BIG_PLL1>;
|
||||
clock-names = "cpu", "intermediate";
|
||||
proc-supply = <&cpus_fixed_vproc1>;
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>;
|
||||
};
|
||||
|
||||
|
|
@ -98,6 +157,48 @@
|
|||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
clk26m: oscillator@0 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <26000000>;
|
||||
clock-output-names = "clk26m";
|
||||
};
|
||||
|
||||
clk32k: oscillator@1 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <32768>;
|
||||
clock-output-names = "clk32k";
|
||||
};
|
||||
|
||||
clkfpc: oscillator@2 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <50000000>;
|
||||
clock-output-names = "clkfpc";
|
||||
};
|
||||
|
||||
clkaud_ext_i_0: oscillator@3 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <6500000>;
|
||||
clock-output-names = "clkaud_ext_i_0";
|
||||
};
|
||||
|
||||
clkaud_ext_i_1: oscillator@4 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <196608000>;
|
||||
clock-output-names = "clkaud_ext_i_1";
|
||||
};
|
||||
|
||||
clkaud_ext_i_2: oscillator@5 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <180633600>;
|
||||
clock-output-names = "clkaud_ext_i_2";
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupt-parent = <&gic>;
|
||||
|
|
@ -111,6 +212,39 @@
|
|||
(GIC_CPU_MASK_RAW(0x13) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
topckgen: syscon@10000000 {
|
||||
compatible = "mediatek,mt2712-topckgen", "syscon";
|
||||
reg = <0 0x10000000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
infracfg: syscon@10001000 {
|
||||
compatible = "mediatek,mt2712-infracfg", "syscon";
|
||||
reg = <0 0x10001000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
pericfg: syscon@10003000 {
|
||||
compatible = "mediatek,mt2712-pericfg", "syscon";
|
||||
reg = <0 0x10003000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
scpsys: scpsys@10006000 {
|
||||
compatible = "mediatek,mt2712-scpsys", "syscon";
|
||||
#power-domain-cells = <1>;
|
||||
reg = <0 0x10006000 0 0x1000>;
|
||||
clocks = <&topckgen CLK_TOP_MM_SEL>,
|
||||
<&topckgen CLK_TOP_MFG_SEL>,
|
||||
<&topckgen CLK_TOP_VENC_SEL>,
|
||||
<&topckgen CLK_TOP_JPGDEC_SEL>,
|
||||
<&topckgen CLK_TOP_A1SYS_HP_SEL>,
|
||||
<&topckgen CLK_TOP_VDEC_SEL>;
|
||||
clock-names = "mm", "mfg", "venc",
|
||||
"jpgdec", "audio", "vdec";
|
||||
infracfg = <&infracfg>;
|
||||
};
|
||||
|
||||
uart5: serial@1000f000 {
|
||||
compatible = "mediatek,mt2712-uart",
|
||||
"mediatek,mt6577-uart";
|
||||
|
|
@ -121,6 +255,18 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
apmixedsys: syscon@10209000 {
|
||||
compatible = "mediatek,mt2712-apmixedsys", "syscon";
|
||||
reg = <0 0x10209000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
mcucfg: syscon@10220000 {
|
||||
compatible = "mediatek,mt2712-mcucfg", "syscon";
|
||||
reg = <0 0x10220000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
sysirq: interrupt-controller@10220a80 {
|
||||
compatible = "mediatek,mt2712-sysirq",
|
||||
"mediatek,mt6577-sysirq";
|
||||
|
|
@ -192,5 +338,47 @@
|
|||
clock-names = "baud", "bus";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
mfgcfg: syscon@13000000 {
|
||||
compatible = "mediatek,mt2712-mfgcfg", "syscon";
|
||||
reg = <0 0x13000000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
mmsys: syscon@14000000 {
|
||||
compatible = "mediatek,mt2712-mmsys", "syscon";
|
||||
reg = <0 0x14000000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
imgsys: syscon@15000000 {
|
||||
compatible = "mediatek,mt2712-imgsys", "syscon";
|
||||
reg = <0 0x15000000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
bdpsys: syscon@15010000 {
|
||||
compatible = "mediatek,mt2712-bdpsys", "syscon";
|
||||
reg = <0 0x15010000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
vdecsys: syscon@16000000 {
|
||||
compatible = "mediatek,mt2712-vdecsys", "syscon";
|
||||
reg = <0 0x16000000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
vencsys: syscon@18000000 {
|
||||
compatible = "mediatek,mt2712-vencsys", "syscon";
|
||||
reg = <0 0x18000000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
jpgdecsys: syscon@19000000 {
|
||||
compatible = "mediatek,mt2712-jpgdecsys", "syscon";
|
||||
reg = <0 0x19000000 0 0x1000>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -74,6 +74,24 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
proc-supply = <&mt6397_vpca15_reg>;
|
||||
};
|
||||
|
||||
&cpu1 {
|
||||
proc-supply = <&mt6397_vpca15_reg>;
|
||||
};
|
||||
|
||||
&cpu2 {
|
||||
proc-supply = <&da9211_vcpu_reg>;
|
||||
sram-supply = <&mt6397_vsramca7_reg>;
|
||||
};
|
||||
|
||||
&cpu3 {
|
||||
proc-supply = <&da9211_vcpu_reg>;
|
||||
sram-supply = <&mt6397_vsramca7_reg>;
|
||||
};
|
||||
|
||||
&dpi0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -505,7 +523,7 @@
|
|||
vbus-supply = <&usb_p0_vbus>;
|
||||
extcon = <&extcon_usb>;
|
||||
dr_mode = "otg";
|
||||
mediatek,enable-wakeup;
|
||||
wakeup-source;
|
||||
pinctrl-names = "default", "id_float", "id_ground";
|
||||
pinctrl-0 = <&usb_id_pins_float>;
|
||||
pinctrl-1 = <&usb_id_pins_float>;
|
||||
|
|
|
|||
|
|
@ -51,6 +51,80 @@
|
|||
mdp_wrot1 = &mdp_wrot1;
|
||||
};
|
||||
|
||||
cluster0_opp: opp_table0 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
opp-507000000 {
|
||||
opp-hz = /bits/ 64 <507000000>;
|
||||
opp-microvolt = <859000>;
|
||||
};
|
||||
opp-702000000 {
|
||||
opp-hz = /bits/ 64 <702000000>;
|
||||
opp-microvolt = <908000>;
|
||||
};
|
||||
opp-1001000000 {
|
||||
opp-hz = /bits/ 64 <1001000000>;
|
||||
opp-microvolt = <983000>;
|
||||
};
|
||||
opp-1105000000 {
|
||||
opp-hz = /bits/ 64 <1105000000>;
|
||||
opp-microvolt = <1009000>;
|
||||
};
|
||||
opp-1209000000 {
|
||||
opp-hz = /bits/ 64 <1209000000>;
|
||||
opp-microvolt = <1034000>;
|
||||
};
|
||||
opp-1300000000 {
|
||||
opp-hz = /bits/ 64 <1300000000>;
|
||||
opp-microvolt = <1057000>;
|
||||
};
|
||||
opp-1508000000 {
|
||||
opp-hz = /bits/ 64 <1508000000>;
|
||||
opp-microvolt = <1109000>;
|
||||
};
|
||||
opp-1703000000 {
|
||||
opp-hz = /bits/ 64 <1703000000>;
|
||||
opp-microvolt = <1125000>;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1_opp: opp_table1 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
opp-507000000 {
|
||||
opp-hz = /bits/ 64 <507000000>;
|
||||
opp-microvolt = <828000>;
|
||||
};
|
||||
opp-702000000 {
|
||||
opp-hz = /bits/ 64 <702000000>;
|
||||
opp-microvolt = <867000>;
|
||||
};
|
||||
opp-1001000000 {
|
||||
opp-hz = /bits/ 64 <1001000000>;
|
||||
opp-microvolt = <927000>;
|
||||
};
|
||||
opp-1209000000 {
|
||||
opp-hz = /bits/ 64 <1209000000>;
|
||||
opp-microvolt = <968000>;
|
||||
};
|
||||
opp-1404000000 {
|
||||
opp-hz = /bits/ 64 <1404000000>;
|
||||
opp-microvolt = <1007000>;
|
||||
};
|
||||
opp-1612000000 {
|
||||
opp-hz = /bits/ 64 <1612000000>;
|
||||
opp-microvolt = <1049000>;
|
||||
};
|
||||
opp-1807000000 {
|
||||
opp-hz = /bits/ 64 <1807000000>;
|
||||
opp-microvolt = <1089000>;
|
||||
};
|
||||
opp-2106000000 {
|
||||
opp-hz = /bits/ 64 <2106000000>;
|
||||
opp-microvolt = <1125000>;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
@ -81,6 +155,11 @@
|
|||
reg = <0x000>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&CPU_SLEEP_0>;
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&infracfg CLK_INFRA_CA53SEL>,
|
||||
<&apmixedsys CLK_APMIXED_MAINPLL>;
|
||||
clock-names = "cpu", "intermediate";
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
|
|
@ -89,6 +168,10 @@
|
|||
reg = <0x001>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&CPU_SLEEP_0>;
|
||||
clocks = <&infracfg CLK_INFRA_CA53SEL>,
|
||||
<&apmixedsys CLK_APMIXED_MAINPLL>;
|
||||
clock-names = "cpu", "intermediate";
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
};
|
||||
|
||||
cpu2: cpu@100 {
|
||||
|
|
@ -97,6 +180,11 @@
|
|||
reg = <0x100>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&CPU_SLEEP_0>;
|
||||
#cooling-cells = <2>;
|
||||
clocks = <&infracfg CLK_INFRA_CA57SEL>,
|
||||
<&apmixedsys CLK_APMIXED_MAINPLL>;
|
||||
clock-names = "cpu", "intermediate";
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
cpu3: cpu@101 {
|
||||
|
|
@ -105,6 +193,10 @@
|
|||
reg = <0x101>;
|
||||
enable-method = "psci";
|
||||
cpu-idle-states = <&CPU_SLEEP_0>;
|
||||
clocks = <&infracfg CLK_INFRA_CA57SEL>,
|
||||
<&apmixedsys CLK_APMIXED_MAINPLL>;
|
||||
clock-names = "cpu", "intermediate";
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
idle-states {
|
||||
|
|
@ -731,15 +823,9 @@
|
|||
<&u3port0 PHY_TYPE_USB3>,
|
||||
<&u2port1 PHY_TYPE_USB2>;
|
||||
power-domains = <&scpsys MT8173_POWER_DOMAIN_USB>;
|
||||
clocks = <&topckgen CLK_TOP_USB30_SEL>,
|
||||
<&clk26m>,
|
||||
<&pericfg CLK_PERI_USB0>,
|
||||
<&pericfg CLK_PERI_USB1>;
|
||||
clock-names = "sys_ck",
|
||||
"ref_ck",
|
||||
"wakeup_deb_p0",
|
||||
"wakeup_deb_p1";
|
||||
mediatek,syscon-wakeup = <&pericfg>;
|
||||
clocks = <&topckgen CLK_TOP_USB30_SEL>, <&clk26m>;
|
||||
clock-names = "sys_ck", "ref_ck";
|
||||
mediatek,syscon-wakeup = <&pericfg 0x400 1>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
|
|
|||
|
|
@ -74,6 +74,43 @@
|
|||
};
|
||||
};
|
||||
|
||||
host1x@13e00000 {
|
||||
status = "okay";
|
||||
|
||||
dpaux@15040000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
display-hub@15200000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsi@15300000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sor@15540000 {
|
||||
status = "disabled";
|
||||
|
||||
nvidia,dpaux = <&dpaux1>;
|
||||
};
|
||||
|
||||
sor@15580000 {
|
||||
status = "okay";
|
||||
|
||||
avdd-io-supply = <&vdd_hdmi_1v05>;
|
||||
vdd-pll-supply = <&vdd_1v8_ap>;
|
||||
hdmi-supply = <&vdd_hdmi>;
|
||||
|
||||
nvidia,ddc-i2c-bus = <&ddc>;
|
||||
nvidia,hpd-gpio = <&gpio TEGRA_MAIN_GPIO(P, 1) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
dpaux@155c0000 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
|
|
@ -120,5 +157,19 @@
|
|||
|
||||
vin-supply = <&vdd_3v3_sys>;
|
||||
};
|
||||
|
||||
vdd_hdmi: regulator@101 {
|
||||
compatible = "regulator-fixed";
|
||||
reg = <101>;
|
||||
|
||||
regulator-name = "VDD_HDMI_5V0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
|
||||
gpio = <&exp1 14 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
|
||||
vin-supply = <&vdd_5v0_sys>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -51,6 +51,10 @@
|
|||
};
|
||||
};
|
||||
|
||||
memory-controller@2c00000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
serial@3100000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -73,7 +77,7 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
i2c@3190000 {
|
||||
ddc: i2c@3190000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
@ -88,7 +92,7 @@
|
|||
/* SDMMC1 (SD/MMC) */
|
||||
sdhci@3400000 {
|
||||
cd-gpios = <&gpio TEGRA_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&gpio TEGRA_MAIN_GPIO(P, 4) GPIO_ACTIVE_LOW>;
|
||||
wp-gpios = <&gpio TEGRA_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
|
||||
|
||||
vqmmc-supply = <&vddio_sdmmc1>;
|
||||
};
|
||||
|
|
@ -317,7 +321,7 @@
|
|||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
avdd_1v05: ldo7 {
|
||||
vdd_hdmi_1v05: ldo7 {
|
||||
regulator-name = "VDD_HDMI_1V05";
|
||||
regulator-min-microvolt = <1050000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include <dt-bindings/gpio/tegra186-gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/mailbox/tegra186-hsp.h>
|
||||
#include <dt-bindings/memory/tegra186-mc.h>
|
||||
#include <dt-bindings/power/tegra186-powergate.h>
|
||||
#include <dt-bindings/reset/tegra186-reset.h>
|
||||
#include <dt-bindings/thermal/tegra186-bpmp-thermal.h>
|
||||
|
|
@ -13,6 +14,12 @@
|
|||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
misc@100000 {
|
||||
compatible = "nvidia,tegra186-misc";
|
||||
reg = <0x0 0x00100000 0x0 0xf000>,
|
||||
<0x0 0x0010f000 0x0 0x1000>;
|
||||
};
|
||||
|
||||
gpio: gpio@2200000 {
|
||||
compatible = "nvidia,tegra186-gpio";
|
||||
reg-names = "security", "gpio";
|
||||
|
|
@ -61,6 +68,12 @@
|
|||
snps,rxpbl = <8>;
|
||||
};
|
||||
|
||||
memory-controller@2c00000 {
|
||||
compatible = "nvidia,tegra186-mc";
|
||||
reg = <0x0 0x02c00000 0x0 0xb0000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uarta: serial@3100000 {
|
||||
compatible = "nvidia,tegra186-uart", "nvidia,tegra20-uart";
|
||||
reg = <0x0 0x03100000 0x0 0x40>;
|
||||
|
|
@ -259,6 +272,13 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
fuse@3820000 {
|
||||
compatible = "nvidia,tegra186-efuse";
|
||||
reg = <0x0 0x03820000 0x0 0x10000>;
|
||||
clocks = <&bpmp TEGRA186_CLK_FUSE>;
|
||||
clock-names = "fuse";
|
||||
};
|
||||
|
||||
gic: interrupt-controller@3881000 {
|
||||
compatible = "arm,gic-400";
|
||||
#interrupt-cells = <3>;
|
||||
|
|
@ -437,6 +457,79 @@
|
|||
};
|
||||
};
|
||||
|
||||
smmu: iommu@12000000 {
|
||||
compatible = "arm,mmu-500";
|
||||
reg = <0 0x12000000 0 0x800000>;
|
||||
interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
|
||||
stream-match-mask = <0x7f80>;
|
||||
#global-interrupts = <1>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
host1x@13e00000 {
|
||||
compatible = "nvidia,tegra186-host1x", "simple-bus";
|
||||
reg = <0x0 0x13e00000 0x0 0x10000>,
|
||||
|
|
@ -453,6 +546,129 @@
|
|||
#size-cells = <1>;
|
||||
|
||||
ranges = <0x15000000 0x0 0x15000000 0x01000000>;
|
||||
iommus = <&smmu TEGRA186_SID_HOST1X>;
|
||||
|
||||
dpaux1: dpaux@15040000 {
|
||||
compatible = "nvidia,tegra186-dpaux";
|
||||
reg = <0x15040000 0x10000>;
|
||||
interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_DPAUX1>,
|
||||
<&bpmp TEGRA186_CLK_PLLDP>;
|
||||
clock-names = "dpaux", "parent";
|
||||
resets = <&bpmp TEGRA186_RESET_DPAUX1>;
|
||||
reset-names = "dpaux";
|
||||
status = "disabled";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
|
||||
state_dpaux1_aux: pinmux-aux {
|
||||
groups = "dpaux-io";
|
||||
function = "aux";
|
||||
};
|
||||
|
||||
state_dpaux1_i2c: pinmux-i2c {
|
||||
groups = "dpaux-io";
|
||||
function = "i2c";
|
||||
};
|
||||
|
||||
state_dpaux1_off: pinmux-off {
|
||||
groups = "dpaux-io";
|
||||
function = "off";
|
||||
};
|
||||
|
||||
i2c-bus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
display-hub@15200000 {
|
||||
compatible = "nvidia,tegra186-display", "simple-bus";
|
||||
resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_MISC>,
|
||||
<&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP0>,
|
||||
<&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP1>,
|
||||
<&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP2>,
|
||||
<&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP3>,
|
||||
<&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP4>,
|
||||
<&bpmp TEGRA186_RESET_NVDISPLAY0_WGRP5>;
|
||||
reset-names = "misc", "wgrp0", "wgrp1", "wgrp2",
|
||||
"wgrp3", "wgrp4", "wgrp5";
|
||||
clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_DISP>,
|
||||
<&bpmp TEGRA186_CLK_NVDISPLAY_DSC>,
|
||||
<&bpmp TEGRA186_CLK_NVDISPLAYHUB>;
|
||||
clock-names = "disp", "dsc", "hub";
|
||||
status = "disabled";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
ranges = <0x15200000 0x15200000 0x40000>;
|
||||
|
||||
display@15200000 {
|
||||
compatible = "nvidia,tegra186-dc";
|
||||
reg = <0x15200000 0x10000>;
|
||||
interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P0>;
|
||||
clock-names = "dc";
|
||||
resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD0>;
|
||||
reset-names = "dc";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
|
||||
|
||||
nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
|
||||
nvidia,head = <0>;
|
||||
};
|
||||
|
||||
display@15210000 {
|
||||
compatible = "nvidia,tegra186-dc";
|
||||
reg = <0x15210000 0x10000>;
|
||||
interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P1>;
|
||||
clock-names = "dc";
|
||||
resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD1>;
|
||||
reset-names = "dc";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPB>;
|
||||
iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
|
||||
|
||||
nvidia,outputs = <&dsia &dsib &sor0 &sor1>;
|
||||
nvidia,head = <1>;
|
||||
};
|
||||
|
||||
display@15220000 {
|
||||
compatible = "nvidia,tegra186-dc";
|
||||
reg = <0x15220000 0x10000>;
|
||||
interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_NVDISPLAY_P2>;
|
||||
clock-names = "dc";
|
||||
resets = <&bpmp TEGRA186_RESET_NVDISPLAY0_HEAD2>;
|
||||
reset-names = "dc";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISPC>;
|
||||
iommus = <&smmu TEGRA186_SID_NVDISPLAY>;
|
||||
|
||||
nvidia,outputs = <&sor0 &sor1>;
|
||||
nvidia,head = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
dsia: dsi@15300000 {
|
||||
compatible = "nvidia,tegra186-dsi";
|
||||
reg = <0x15300000 0x10000>;
|
||||
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_DSI>,
|
||||
<&bpmp TEGRA186_CLK_DSIA_LP>,
|
||||
<&bpmp TEGRA186_CLK_PLLD>;
|
||||
clock-names = "dsi", "lp", "parent";
|
||||
resets = <&bpmp TEGRA186_RESET_DSI>;
|
||||
reset-names = "dsi";
|
||||
status = "disabled";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
};
|
||||
|
||||
vic@15340000 {
|
||||
compatible = "nvidia,tegra186-vic";
|
||||
|
|
@ -465,6 +681,141 @@
|
|||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_VIC>;
|
||||
};
|
||||
|
||||
dsib: dsi@15400000 {
|
||||
compatible = "nvidia,tegra186-dsi";
|
||||
reg = <0x15400000 0x10000>;
|
||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_DSIB>,
|
||||
<&bpmp TEGRA186_CLK_DSIB_LP>,
|
||||
<&bpmp TEGRA186_CLK_PLLD>;
|
||||
clock-names = "dsi", "lp", "parent";
|
||||
resets = <&bpmp TEGRA186_RESET_DSIB>;
|
||||
reset-names = "dsi";
|
||||
status = "disabled";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
};
|
||||
|
||||
sor0: sor@15540000 {
|
||||
compatible = "nvidia,tegra186-sor";
|
||||
reg = <0x15540000 0x10000>;
|
||||
interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_SOR0>,
|
||||
<&bpmp TEGRA186_CLK_SOR0_OUT>,
|
||||
<&bpmp TEGRA186_CLK_PLLD2>,
|
||||
<&bpmp TEGRA186_CLK_PLLDP>,
|
||||
<&bpmp TEGRA186_CLK_SOR_SAFE>,
|
||||
<&bpmp TEGRA186_CLK_SOR0_PAD_CLKOUT>;
|
||||
clock-names = "sor", "out", "parent", "dp", "safe",
|
||||
"pad";
|
||||
resets = <&bpmp TEGRA186_RESET_SOR0>;
|
||||
reset-names = "sor";
|
||||
pinctrl-0 = <&state_dpaux_aux>;
|
||||
pinctrl-1 = <&state_dpaux_i2c>;
|
||||
pinctrl-2 = <&state_dpaux_off>;
|
||||
pinctrl-names = "aux", "i2c", "off";
|
||||
status = "disabled";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
nvidia,interface = <0>;
|
||||
};
|
||||
|
||||
sor1: sor@15580000 {
|
||||
compatible = "nvidia,tegra186-sor1";
|
||||
reg = <0x15580000 0x10000>;
|
||||
interrupts = <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_SOR1>,
|
||||
<&bpmp TEGRA186_CLK_SOR1_OUT>,
|
||||
<&bpmp TEGRA186_CLK_PLLD3>,
|
||||
<&bpmp TEGRA186_CLK_PLLDP>,
|
||||
<&bpmp TEGRA186_CLK_SOR_SAFE>,
|
||||
<&bpmp TEGRA186_CLK_SOR1_PAD_CLKOUT>;
|
||||
clock-names = "sor", "out", "parent", "dp", "safe",
|
||||
"pad";
|
||||
resets = <&bpmp TEGRA186_RESET_SOR1>;
|
||||
reset-names = "sor";
|
||||
pinctrl-0 = <&state_dpaux1_aux>;
|
||||
pinctrl-1 = <&state_dpaux1_i2c>;
|
||||
pinctrl-2 = <&state_dpaux1_off>;
|
||||
pinctrl-names = "aux", "i2c", "off";
|
||||
status = "disabled";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
nvidia,interface = <1>;
|
||||
};
|
||||
|
||||
dpaux: dpaux@155c0000 {
|
||||
compatible = "nvidia,tegra186-dpaux";
|
||||
reg = <0x155c0000 0x10000>;
|
||||
interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_DPAUX>,
|
||||
<&bpmp TEGRA186_CLK_PLLDP>;
|
||||
clock-names = "dpaux", "parent";
|
||||
resets = <&bpmp TEGRA186_RESET_DPAUX>;
|
||||
reset-names = "dpaux";
|
||||
status = "disabled";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
|
||||
state_dpaux_aux: pinmux-aux {
|
||||
groups = "dpaux-io";
|
||||
function = "aux";
|
||||
};
|
||||
|
||||
state_dpaux_i2c: pinmux-i2c {
|
||||
groups = "dpaux-io";
|
||||
function = "i2c";
|
||||
};
|
||||
|
||||
state_dpaux_off: pinmux-off {
|
||||
groups = "dpaux-io";
|
||||
function = "off";
|
||||
};
|
||||
|
||||
i2c-bus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
padctl@15880000 {
|
||||
compatible = "nvidia,tegra186-dsi-padctl";
|
||||
reg = <0x15880000 0x10000>;
|
||||
resets = <&bpmp TEGRA186_RESET_DSI>;
|
||||
reset-names = "dsi";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dsic: dsi@15900000 {
|
||||
compatible = "nvidia,tegra186-dsi";
|
||||
reg = <0x15900000 0x10000>;
|
||||
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_DSIC>,
|
||||
<&bpmp TEGRA186_CLK_DSIC_LP>,
|
||||
<&bpmp TEGRA186_CLK_PLLD>;
|
||||
clock-names = "dsi", "lp", "parent";
|
||||
resets = <&bpmp TEGRA186_RESET_DSIC>;
|
||||
reset-names = "dsi";
|
||||
status = "disabled";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
};
|
||||
|
||||
dsid: dsi@15940000 {
|
||||
compatible = "nvidia,tegra186-dsi";
|
||||
reg = <0x15940000 0x10000>;
|
||||
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&bpmp TEGRA186_CLK_DSID>,
|
||||
<&bpmp TEGRA186_CLK_DSID_LP>,
|
||||
<&bpmp TEGRA186_CLK_PLLD>;
|
||||
clock-names = "dsi", "lp", "parent";
|
||||
resets = <&bpmp TEGRA186_RESET_DSID>;
|
||||
reset-names = "dsi";
|
||||
status = "disabled";
|
||||
|
||||
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_DISP>;
|
||||
};
|
||||
};
|
||||
|
||||
gpu@17000000 {
|
||||
|
|
|
|||
|
|
@ -297,6 +297,29 @@
|
|||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
cpu@0 {
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
enable-method = "psci";
|
||||
};
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
regulators {
|
||||
vdd_gpu: regulator@100 {
|
||||
compatible = "pwm-regulator";
|
||||
|
|
|
|||
|
|
@ -52,4 +52,27 @@
|
|||
clock-frequency = <32768>;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
cpu@0 {
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
enable-method = "psci";
|
||||
};
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -266,11 +266,11 @@
|
|||
reg = <0x0 0x54580000 0x0 0x00040000>;
|
||||
interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&tegra_car TEGRA210_CLK_SOR1>,
|
||||
<&tegra_car TEGRA210_CLK_SOR1_SRC>,
|
||||
<&tegra_car TEGRA210_CLK_SOR1_OUT>,
|
||||
<&tegra_car TEGRA210_CLK_PLL_D2_OUT0>,
|
||||
<&tegra_car TEGRA210_CLK_PLL_DP>,
|
||||
<&tegra_car TEGRA210_CLK_SOR_SAFE>;
|
||||
clock-names = "sor", "source", "parent", "dp", "safe";
|
||||
clock-names = "sor", "out", "parent", "dp", "safe";
|
||||
resets = <&tegra_car 183>;
|
||||
reset-names = "sor";
|
||||
pinctrl-0 = <&state_dpaux1_aux>;
|
||||
|
|
|
|||
|
|
@ -324,6 +324,7 @@
|
|||
label = "apq8016-sbc:green:user4";
|
||||
gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "none";
|
||||
panic-indicator;
|
||||
default-state = "off";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@
|
|||
pinconf {
|
||||
pins = "gpio6", "gpio7";
|
||||
drive-strength = <16>;
|
||||
bias-disable = <0>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -290,7 +290,7 @@
|
|||
pinconf {
|
||||
pins = "gpio6", "gpio7";
|
||||
drive-strength = <2>;
|
||||
bias-disable = <0>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -302,7 +302,7 @@
|
|||
pinconf {
|
||||
pins = "gpio14", "gpio15";
|
||||
drive-strength = <16>;
|
||||
bias-disable = <0>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -314,7 +314,7 @@
|
|||
pinconf {
|
||||
pins = "gpio14", "gpio15";
|
||||
drive-strength = <2>;
|
||||
bias-disable = <0>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -326,7 +326,7 @@
|
|||
pinconf {
|
||||
pins = "gpio22", "gpio23";
|
||||
drive-strength = <16>;
|
||||
bias-disable = <0>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -338,32 +338,7 @@
|
|||
pinconf {
|
||||
pins = "gpio22", "gpio23";
|
||||
drive-strength = <2>;
|
||||
bias-disable = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
sdhc2_cd_pin {
|
||||
sdc2_cd_on: cd_on {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio38";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio38";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
sdc2_cd_off: cd_off {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio38";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio38";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -505,26 +480,25 @@
|
|||
};
|
||||
};
|
||||
|
||||
ext-codec-lines {
|
||||
ext_codec_lines_act: lines_on {
|
||||
pmx_sdc2_cd_pin {
|
||||
sdc2_cd_on: cd_on {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio67";
|
||||
pins = "gpio38";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio67";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
output-high;
|
||||
pins = "gpio38";
|
||||
drive-strength = <2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
ext_codec_lines_sus: lines_off {
|
||||
sdc2_cd_off: cd_off {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio67";
|
||||
pins = "gpio38";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio67";
|
||||
pins = "gpio38";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
|
@ -687,6 +661,14 @@
|
|||
};
|
||||
};
|
||||
cdc_dmic_lines_sus: dmic_lines_off {
|
||||
pinmux_dmic0_clk {
|
||||
function = "dmic0_clk";
|
||||
pins = "gpio0";
|
||||
};
|
||||
pinmux_dmic0_data {
|
||||
function = "dmic0_data";
|
||||
pins = "gpio1";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio0", "gpio1";
|
||||
drive-strength = <2>;
|
||||
|
|
@ -695,32 +677,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
cross-conn-det {
|
||||
cross_conn_det_act: lines_on {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio120";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio120";
|
||||
drive-strength = <8>;
|
||||
output-low;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
cross_conn_det_sus: lines_off {
|
||||
pinmux {
|
||||
function = "gpio";
|
||||
pins = "gpio120";
|
||||
};
|
||||
pinconf {
|
||||
pins = "gpio120";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wcnss_pin_a: wcnss-active {
|
||||
pinmux {
|
||||
pins = "gpio40", "gpio41", "gpio42", "gpio43", "gpio44";
|
||||
|
|
|
|||
|
|
@ -355,7 +355,7 @@
|
|||
|
||||
blsp_spi1: spi@78b5000 {
|
||||
compatible = "qcom,spi-qup-v2.2.1";
|
||||
reg = <0x078b5000 0x600>;
|
||||
reg = <0x078b5000 0x500>;
|
||||
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
|
|
@ -372,7 +372,7 @@
|
|||
|
||||
blsp_spi2: spi@78b6000 {
|
||||
compatible = "qcom,spi-qup-v2.2.1";
|
||||
reg = <0x078b6000 0x600>;
|
||||
reg = <0x078b6000 0x500>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
|
|
@ -389,7 +389,7 @@
|
|||
|
||||
blsp_spi3: spi@78b7000 {
|
||||
compatible = "qcom,spi-qup-v2.2.1";
|
||||
reg = <0x078b7000 0x600>;
|
||||
reg = <0x078b7000 0x500>;
|
||||
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
|
|
@ -406,7 +406,7 @@
|
|||
|
||||
blsp_spi4: spi@78b8000 {
|
||||
compatible = "qcom,spi-qup-v2.2.1";
|
||||
reg = <0x078b8000 0x600>;
|
||||
reg = <0x078b8000 0x500>;
|
||||
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
|
|
@ -423,7 +423,7 @@
|
|||
|
||||
blsp_spi5: spi@78b9000 {
|
||||
compatible = "qcom,spi-qup-v2.2.1";
|
||||
reg = <0x078b9000 0x600>;
|
||||
reg = <0x078b9000 0x500>;
|
||||
interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
|
|
@ -440,7 +440,7 @@
|
|||
|
||||
blsp_spi6: spi@78ba000 {
|
||||
compatible = "qcom,spi-qup-v2.2.1";
|
||||
reg = <0x078ba000 0x600>;
|
||||
reg = <0x078ba000 0x500>;
|
||||
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
|
||||
<&gcc GCC_BLSP1_AHB_CLK>;
|
||||
|
|
@ -457,10 +457,10 @@
|
|||
|
||||
blsp_i2c2: i2c@78b6000 {
|
||||
compatible = "qcom,i2c-qup-v2.2.1";
|
||||
reg = <0x78b6000 0x1000>;
|
||||
reg = <0x078b6000 0x500>;
|
||||
interrupts = <GIC_SPI 96 0>;
|
||||
clocks = <&gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
|
||||
<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
|
||||
clock-names = "iface", "core";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&i2c2_default>;
|
||||
|
|
@ -472,10 +472,10 @@
|
|||
|
||||
blsp_i2c4: i2c@78b8000 {
|
||||
compatible = "qcom,i2c-qup-v2.2.1";
|
||||
reg = <0x78b8000 0x1000>;
|
||||
reg = <0x078b8000 0x500>;
|
||||
interrupts = <GIC_SPI 98 0>;
|
||||
clocks = <&gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
|
||||
<&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
|
||||
clock-names = "iface", "core";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&i2c4_default>;
|
||||
|
|
@ -487,10 +487,10 @@
|
|||
|
||||
blsp_i2c6: i2c@78ba000 {
|
||||
compatible = "qcom,i2c-qup-v2.2.1";
|
||||
reg = <0x78ba000 0x1000>;
|
||||
reg = <0x078ba000 0x500>;
|
||||
interrupts = <GIC_SPI 100 0>;
|
||||
clocks = <&gcc GCC_BLSP1_AHB_CLK>,
|
||||
<&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
|
||||
<&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
|
||||
clock-names = "iface", "core";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&i2c6_default>;
|
||||
|
|
@ -906,6 +906,7 @@
|
|||
"dsi_phy_regulator";
|
||||
|
||||
#clock-cells = <1>;
|
||||
#phy-cells = <0>;
|
||||
|
||||
clocks = <&gcc GCC_MDSS_AHB_CLK>;
|
||||
clock-names = "iface_clk";
|
||||
|
|
@ -1435,8 +1436,8 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
qcom,ipc-1 = <&apcs 0 13>;
|
||||
qcom,ipc-6 = <&apcs 0 19>;
|
||||
qcom,ipc-1 = <&apcs 8 13>;
|
||||
qcom,ipc-3 = <&apcs 8 19>;
|
||||
|
||||
apps_smsm: apps@0 {
|
||||
reg = <0>;
|
||||
|
|
|
|||
|
|
@ -97,47 +97,45 @@
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
wcd_codec: codec@f000 {
|
||||
compatible = "qcom,pm8916-wcd-analog-codec";
|
||||
reg = <0xf000 0x200>;
|
||||
reg-names = "pmic-codec-core";
|
||||
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
|
||||
clock-names = "mclk";
|
||||
interrupt-parent = <&spmi_bus>;
|
||||
interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x1 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x2 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x3 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x4 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x5 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x6 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x7 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x0 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x1 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x2 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x3 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x4 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x5 IRQ_TYPE_NONE>;
|
||||
interrupt-names = "cdc_spk_cnp_int",
|
||||
"cdc_spk_clip_int",
|
||||
"cdc_spk_ocp_int",
|
||||
"mbhc_ins_rem_det1",
|
||||
"mbhc_but_rel_det",
|
||||
"mbhc_but_press_det",
|
||||
"mbhc_ins_rem_det",
|
||||
"mbhc_switch_int",
|
||||
"cdc_ear_ocp_int",
|
||||
"cdc_hphr_ocp_int",
|
||||
"cdc_hphl_ocp_det",
|
||||
"cdc_ear_cnp_int",
|
||||
"cdc_hphr_cnp_int",
|
||||
"cdc_hphl_cnp_int";
|
||||
vdd-cdc-io-supply = <&pm8916_l5>;
|
||||
vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
|
||||
vdd-micbias-supply = <&pm8916_l13>;
|
||||
#sound-dai-cells = <1>;
|
||||
|
||||
};
|
||||
|
||||
wcd_codec: codec@f000 {
|
||||
compatible = "qcom,pm8916-wcd-analog-codec";
|
||||
reg = <0xf000 0x200>;
|
||||
reg-names = "pmic-codec-core";
|
||||
clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
|
||||
clock-names = "mclk";
|
||||
interrupt-parent = <&spmi_bus>;
|
||||
interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x1 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x2 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x3 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x4 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x5 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x6 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf0 0x7 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x0 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x1 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x2 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x3 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x4 IRQ_TYPE_NONE>,
|
||||
<0x1 0xf1 0x5 IRQ_TYPE_NONE>;
|
||||
interrupt-names = "cdc_spk_cnp_int",
|
||||
"cdc_spk_clip_int",
|
||||
"cdc_spk_ocp_int",
|
||||
"mbhc_ins_rem_det1",
|
||||
"mbhc_but_rel_det",
|
||||
"mbhc_but_press_det",
|
||||
"mbhc_ins_rem_det",
|
||||
"mbhc_switch_int",
|
||||
"cdc_ear_ocp_int",
|
||||
"cdc_hphr_ocp_int",
|
||||
"cdc_hphl_ocp_det",
|
||||
"cdc_ear_cnp_int",
|
||||
"cdc_hphr_cnp_int",
|
||||
"cdc_hphl_cnp_int";
|
||||
vdd-cdc-io-supply = <&pm8916_l5>;
|
||||
vdd-cdc-tx-rx-cx-supply = <&pm8916_l5>;
|
||||
vdd-micbias-supply = <&pm8916_l13>;
|
||||
#sound-dai-cells = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,5 +6,6 @@ dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-salvator-x.dtb r8a7795-es1-h3ulcb.dtb
|
|||
dtb-$(CONFIG_ARCH_R8A7795) += r8a7795-es1-h3ulcb-kf.dtb
|
||||
dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-x.dtb r8a7796-m3ulcb.dtb
|
||||
dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-m3ulcb-kf.dtb
|
||||
dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle.dtb
|
||||
dtb-$(CONFIG_ARCH_R8A7796) += r8a7796-salvator-xs.dtb
|
||||
dtb-$(CONFIG_ARCH_R8A77970) += r8a77970-eagle.dtb r8a77970-v3msk.dtb
|
||||
dtb-$(CONFIG_ARCH_R8A77995) += r8a77995-draak.dtb
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Device Tree Source for the Salvator-X board
|
||||
* Device Tree Source for the Salvator-X board with R-Car H3 ES1.x
|
||||
*
|
||||
* Copyright (C) 2015 Renesas Electronics Corp.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -21,6 +21,26 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
/delete-node/ mmu@febe0000;
|
||||
/delete-node/ mmu@fe980000;
|
||||
/delete-node/ mmu@fd960000;
|
||||
/delete-node/ mmu@fd970000;
|
||||
|
||||
ipmmu_mp1: mmu@ec680000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xec680000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 5>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_sy: mmu@e7730000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xe7730000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 8>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/delete-node/ usb-phy@ee0e0200;
|
||||
/delete-node/ usb@ee0e0100;
|
||||
/delete-node/ usb@ee0e0000;
|
||||
|
|
@ -35,6 +55,7 @@
|
|||
clocks = <&cpg CPG_MOD 613>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 613>;
|
||||
iommus = <&ipmmu_vp0 2>;
|
||||
};
|
||||
|
||||
vspi2: vsp@fe9c0000 {
|
||||
|
|
@ -54,6 +75,7 @@
|
|||
clocks = <&cpg CPG_MOD 609>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 609>;
|
||||
iommus = <&ipmmu_vp0 10>;
|
||||
};
|
||||
|
||||
vspd3: vsp@fea38000 {
|
||||
|
|
@ -73,6 +95,7 @@
|
|||
clocks = <&cpg CPG_MOD 600>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 600>;
|
||||
iommus = <&ipmmu_vi0 11>;
|
||||
};
|
||||
|
||||
fdp1@fe948000 {
|
||||
|
|
@ -86,6 +109,68 @@
|
|||
};
|
||||
};
|
||||
|
||||
&gpio1 {
|
||||
gpio-ranges = <&pfc 0 32 28>;
|
||||
};
|
||||
|
||||
&ipmmu_vi0 {
|
||||
renesas,ipmmu-main = <&ipmmu_mm 11>;
|
||||
};
|
||||
|
||||
&ipmmu_vp0 {
|
||||
renesas,ipmmu-main = <&ipmmu_mm 12>;
|
||||
};
|
||||
|
||||
&ipmmu_vc0 {
|
||||
renesas,ipmmu-main = <&ipmmu_mm 9>;
|
||||
};
|
||||
|
||||
&ipmmu_vc1 {
|
||||
renesas,ipmmu-main = <&ipmmu_mm 10>;
|
||||
};
|
||||
|
||||
&ipmmu_rt {
|
||||
renesas,ipmmu-main = <&ipmmu_mm 7>;
|
||||
};
|
||||
|
||||
&audma0 {
|
||||
iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
|
||||
<&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
|
||||
<&ipmmu_mp1 4>, <&ipmmu_mp1 5>,
|
||||
<&ipmmu_mp1 6>, <&ipmmu_mp1 7>,
|
||||
<&ipmmu_mp1 8>, <&ipmmu_mp1 9>,
|
||||
<&ipmmu_mp1 10>, <&ipmmu_mp1 11>,
|
||||
<&ipmmu_mp1 12>, <&ipmmu_mp1 13>,
|
||||
<&ipmmu_mp1 14>, <&ipmmu_mp1 15>;
|
||||
};
|
||||
|
||||
&audma1 {
|
||||
iommus = <&ipmmu_mp1 16>, <&ipmmu_mp1 17>,
|
||||
<&ipmmu_mp1 18>, <&ipmmu_mp1 19>,
|
||||
<&ipmmu_mp1 20>, <&ipmmu_mp1 21>,
|
||||
<&ipmmu_mp1 22>, <&ipmmu_mp1 23>,
|
||||
<&ipmmu_mp1 24>, <&ipmmu_mp1 25>,
|
||||
<&ipmmu_mp1 26>, <&ipmmu_mp1 27>,
|
||||
<&ipmmu_mp1 28>, <&ipmmu_mp1 29>,
|
||||
<&ipmmu_mp1 30>, <&ipmmu_mp1 31>;
|
||||
};
|
||||
|
||||
&fcpvb1 {
|
||||
iommus = <&ipmmu_vp0 7>;
|
||||
};
|
||||
|
||||
&fcpf1 {
|
||||
iommus = <&ipmmu_vp0 1>;
|
||||
};
|
||||
|
||||
&fcpvi1 {
|
||||
iommus = <&ipmmu_vp0 9>;
|
||||
};
|
||||
|
||||
&fcpvd2 {
|
||||
iommus = <&ipmmu_vi0 10>;
|
||||
};
|
||||
|
||||
&du {
|
||||
vsps = <&vspd0 &vspd1 &vspd2 &vspd3>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Device Tree Source for the Salvator-X board
|
||||
* Device Tree Source for the Salvator-X board with R-Car H3 ES2.0
|
||||
*
|
||||
* Copyright (C) 2015 Renesas Electronics Corp.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Device Tree Source for the Salvator-X 2nd version board
|
||||
* Device Tree Source for the Salvator-X 2nd version board with R-Car H3 ES2.0
|
||||
*
|
||||
* Copyright (C) 2015-2017 Renesas Electronics Corp.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -30,11 +30,6 @@
|
|||
i2c7 = &i2c_dvfs;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
|
@ -184,6 +179,35 @@
|
|||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
pmu_a57 {
|
||||
compatible = "arm,cortex-a57-pmu";
|
||||
interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&a57_0>,
|
||||
<&a57_1>,
|
||||
<&a57_2>,
|
||||
<&a57_3>;
|
||||
};
|
||||
|
||||
pmu_a53 {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&a53_0>,
|
||||
<&a53_1>,
|
||||
<&a53_2>,
|
||||
<&a53_3>;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
soc: soc {
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&gic>;
|
||||
|
|
@ -240,7 +264,7 @@
|
|||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 32 28>;
|
||||
gpio-ranges = <&pfc 0 32 29>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 911>;
|
||||
|
|
@ -338,42 +362,6 @@
|
|||
resets = <&cpg 905>;
|
||||
};
|
||||
|
||||
pmu_a57 {
|
||||
compatible = "arm,cortex-a57-pmu";
|
||||
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&a57_0>,
|
||||
<&a57_1>,
|
||||
<&a57_2>,
|
||||
<&a57_3>;
|
||||
};
|
||||
|
||||
pmu_a53 {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&a53_0>,
|
||||
<&a53_1>,
|
||||
<&a53_2>,
|
||||
<&a53_3>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
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)>;
|
||||
};
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
compatible = "renesas,r8a7795-cpg-mssr";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
|
|
@ -421,6 +409,146 @@
|
|||
resets = <&cpg 407>;
|
||||
};
|
||||
|
||||
ipmmu_vi0: mmu@febd0000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfebd0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 14>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_vi1: mmu@febe0000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfebe0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 15>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_vp0: mmu@fe990000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfe990000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 16>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_vp1: mmu@fe980000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfe980000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 17>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_vc0: mmu@fe6b0000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfe6b0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 12>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VC>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_vc1: mmu@fe6f0000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfe6f0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 13>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VC>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_pv0: mmu@fd800000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfd800000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 6>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_pv2: mmu@fd960000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfd960000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 8>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_pv3: mmu@fd970000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfd970000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 9>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_ir: mmu@ff8b0000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xff8b0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 3>;
|
||||
power-domains = <&sysc R8A7795_PD_A3IR>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_hc: mmu@e6570000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xe6570000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 2>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_rt: mmu@ffc80000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xffc80000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 10>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_mp0: mmu@ec670000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xec670000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 4>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_ds0: mmu@e6740000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xe6740000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 0>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_ds1: mmu@e7740000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xe7740000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 1>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_mm: mmu@e67b0000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xe67b0000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
dmac0: dma-controller@e6700000 {
|
||||
compatible = "renesas,dmac-r8a7795",
|
||||
"renesas,rcar-dmac";
|
||||
|
|
@ -453,6 +581,14 @@
|
|||
resets = <&cpg 219>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_ds0 0>, <&ipmmu_ds0 1>,
|
||||
<&ipmmu_ds0 2>, <&ipmmu_ds0 3>,
|
||||
<&ipmmu_ds0 4>, <&ipmmu_ds0 5>,
|
||||
<&ipmmu_ds0 6>, <&ipmmu_ds0 7>,
|
||||
<&ipmmu_ds0 8>, <&ipmmu_ds0 9>,
|
||||
<&ipmmu_ds0 10>, <&ipmmu_ds0 11>,
|
||||
<&ipmmu_ds0 12>, <&ipmmu_ds0 13>,
|
||||
<&ipmmu_ds0 14>, <&ipmmu_ds0 15>;
|
||||
};
|
||||
|
||||
dmac1: dma-controller@e7300000 {
|
||||
|
|
@ -487,6 +623,14 @@
|
|||
resets = <&cpg 218>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_ds1 0>, <&ipmmu_ds1 1>,
|
||||
<&ipmmu_ds1 2>, <&ipmmu_ds1 3>,
|
||||
<&ipmmu_ds1 4>, <&ipmmu_ds1 5>,
|
||||
<&ipmmu_ds1 6>, <&ipmmu_ds1 7>,
|
||||
<&ipmmu_ds1 8>, <&ipmmu_ds1 9>,
|
||||
<&ipmmu_ds1 10>, <&ipmmu_ds1 11>,
|
||||
<&ipmmu_ds1 12>, <&ipmmu_ds1 13>,
|
||||
<&ipmmu_ds1 14>, <&ipmmu_ds1 15>;
|
||||
};
|
||||
|
||||
dmac2: dma-controller@e7310000 {
|
||||
|
|
@ -521,6 +665,14 @@
|
|||
resets = <&cpg 217>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_ds1 16>, <&ipmmu_ds1 17>,
|
||||
<&ipmmu_ds1 18>, <&ipmmu_ds1 19>,
|
||||
<&ipmmu_ds1 20>, <&ipmmu_ds1 21>,
|
||||
<&ipmmu_ds1 22>, <&ipmmu_ds1 23>,
|
||||
<&ipmmu_ds1 24>, <&ipmmu_ds1 25>,
|
||||
<&ipmmu_ds1 26>, <&ipmmu_ds1 27>,
|
||||
<&ipmmu_ds1 28>, <&ipmmu_ds1 29>,
|
||||
<&ipmmu_ds1 30>, <&ipmmu_ds1 31>;
|
||||
};
|
||||
|
||||
audma0: dma-controller@ec700000 {
|
||||
|
|
@ -555,6 +707,14 @@
|
|||
resets = <&cpg 502>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_mp0 0>, <&ipmmu_mp0 1>,
|
||||
<&ipmmu_mp0 2>, <&ipmmu_mp0 3>,
|
||||
<&ipmmu_mp0 4>, <&ipmmu_mp0 5>,
|
||||
<&ipmmu_mp0 6>, <&ipmmu_mp0 7>,
|
||||
<&ipmmu_mp0 8>, <&ipmmu_mp0 9>,
|
||||
<&ipmmu_mp0 10>, <&ipmmu_mp0 11>,
|
||||
<&ipmmu_mp0 12>, <&ipmmu_mp0 13>,
|
||||
<&ipmmu_mp0 14>, <&ipmmu_mp0 15>;
|
||||
};
|
||||
|
||||
audma1: dma-controller@ec720000 {
|
||||
|
|
@ -589,6 +749,14 @@
|
|||
resets = <&cpg 501>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_mp0 16>, <&ipmmu_mp0 17>,
|
||||
<&ipmmu_mp0 18>, <&ipmmu_mp0 19>,
|
||||
<&ipmmu_mp0 20>, <&ipmmu_mp0 21>,
|
||||
<&ipmmu_mp0 22>, <&ipmmu_mp0 23>,
|
||||
<&ipmmu_mp0 24>, <&ipmmu_mp0 25>,
|
||||
<&ipmmu_mp0 26>, <&ipmmu_mp0 27>,
|
||||
<&ipmmu_mp0 28>, <&ipmmu_mp0 29>,
|
||||
<&ipmmu_mp0 30>, <&ipmmu_mp0 31>;
|
||||
};
|
||||
|
||||
avb: ethernet@e6800000 {
|
||||
|
|
@ -631,6 +799,7 @@
|
|||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 812>;
|
||||
phy-mode = "rgmii-txid";
|
||||
iommus = <&ipmmu_ds0 16>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
|
@ -1459,6 +1628,20 @@
|
|||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 815>;
|
||||
status = "disabled";
|
||||
iommus = <&ipmmu_hc 2>;
|
||||
};
|
||||
|
||||
usb3_phy0: usb-phy@e65ee000 {
|
||||
compatible = "renesas,r8a7795-usb3-phy",
|
||||
"renesas,rcar-gen3-usb3-phy";
|
||||
reg = <0 0xe65ee000 0 0x90>;
|
||||
clocks = <&cpg CPG_MOD 328>, <&usb3s0_clk>,
|
||||
<&usb_extal_clk>;
|
||||
clock-names = "usb3-if", "usb3s_clk", "usb_extal";
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 328>;
|
||||
#phy-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
xhci0: usb@ee000000 {
|
||||
|
|
@ -1539,7 +1722,8 @@
|
|||
};
|
||||
|
||||
sdhi0: sd@ee100000 {
|
||||
compatible = "renesas,sdhi-r8a7795";
|
||||
compatible = "renesas,sdhi-r8a7795",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee100000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 314>;
|
||||
|
|
@ -1550,7 +1734,8 @@
|
|||
};
|
||||
|
||||
sdhi1: sd@ee120000 {
|
||||
compatible = "renesas,sdhi-r8a7795";
|
||||
compatible = "renesas,sdhi-r8a7795",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee120000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 313>;
|
||||
|
|
@ -1561,7 +1746,8 @@
|
|||
};
|
||||
|
||||
sdhi2: sd@ee140000 {
|
||||
compatible = "renesas,sdhi-r8a7795";
|
||||
compatible = "renesas,sdhi-r8a7795",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee140000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 312>;
|
||||
|
|
@ -1572,7 +1758,8 @@
|
|||
};
|
||||
|
||||
sdhi3: sd@ee160000 {
|
||||
compatible = "renesas,sdhi-r8a7795";
|
||||
compatible = "renesas,sdhi-r8a7795",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee160000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 311>;
|
||||
|
|
@ -1873,6 +2060,7 @@
|
|||
clocks = <&cpg CPG_MOD 606>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 606>;
|
||||
iommus = <&ipmmu_vp1 7>;
|
||||
};
|
||||
|
||||
fcpf0: fcp@fe950000 {
|
||||
|
|
@ -1881,6 +2069,7 @@
|
|||
clocks = <&cpg CPG_MOD 615>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 615>;
|
||||
iommus = <&ipmmu_vp0 0>;
|
||||
};
|
||||
|
||||
fcpf1: fcp@fe951000 {
|
||||
|
|
@ -1889,6 +2078,7 @@
|
|||
clocks = <&cpg CPG_MOD 614>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 614>;
|
||||
iommus = <&ipmmu_vp1 1>;
|
||||
};
|
||||
|
||||
vspbd: vsp@fe960000 {
|
||||
|
|
@ -1908,6 +2098,7 @@
|
|||
clocks = <&cpg CPG_MOD 607>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 607>;
|
||||
iommus = <&ipmmu_vp0 5>;
|
||||
};
|
||||
|
||||
vspi0: vsp@fe9a0000 {
|
||||
|
|
@ -1927,6 +2118,7 @@
|
|||
clocks = <&cpg CPG_MOD 611>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 611>;
|
||||
iommus = <&ipmmu_vp0 8>;
|
||||
};
|
||||
|
||||
vspi1: vsp@fe9b0000 {
|
||||
|
|
@ -1946,6 +2138,7 @@
|
|||
clocks = <&cpg CPG_MOD 610>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 610>;
|
||||
iommus = <&ipmmu_vp1 9>;
|
||||
};
|
||||
|
||||
vspd0: vsp@fea20000 {
|
||||
|
|
@ -1965,6 +2158,7 @@
|
|||
clocks = <&cpg CPG_MOD 603>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 603>;
|
||||
iommus = <&ipmmu_vi0 8>;
|
||||
};
|
||||
|
||||
vspd1: vsp@fea28000 {
|
||||
|
|
@ -1984,6 +2178,7 @@
|
|||
clocks = <&cpg CPG_MOD 602>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 602>;
|
||||
iommus = <&ipmmu_vi0 9>;
|
||||
};
|
||||
|
||||
vspd2: vsp@fea30000 {
|
||||
|
|
@ -2003,6 +2198,7 @@
|
|||
clocks = <&cpg CPG_MOD 601>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 601>;
|
||||
iommus = <&ipmmu_vi1 10>;
|
||||
};
|
||||
|
||||
fdp1@fe940000 {
|
||||
|
|
@ -2136,49 +2332,78 @@
|
|||
#thermal-sensor-cells = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
sensor_thermal1: sensor-thermal1 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 0>;
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts-extended = <&gic GIC_PPI 13
|
||||
(GIC_CPU_MASK_SIMPLE(8) |
|
||||
IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 14
|
||||
(GIC_CPU_MASK_SIMPLE(8) |
|
||||
IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 11
|
||||
(GIC_CPU_MASK_SIMPLE(8) |
|
||||
IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 10
|
||||
(GIC_CPU_MASK_SIMPLE(8) |
|
||||
IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
trips {
|
||||
sensor1_crit: sensor1-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
thermal-zones {
|
||||
sensor_thermal1: sensor-thermal1 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 0>;
|
||||
|
||||
trips {
|
||||
sensor1_crit: sensor1-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor_thermal2: sensor-thermal2 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 1>;
|
||||
sensor_thermal2: sensor-thermal2 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 1>;
|
||||
|
||||
trips {
|
||||
sensor2_crit: sensor2-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
trips {
|
||||
sensor2_crit: sensor2-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor_thermal3: sensor-thermal3 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 2>;
|
||||
sensor_thermal3: sensor-thermal3 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 2>;
|
||||
|
||||
trips {
|
||||
sensor3_crit: sensor3-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
trips {
|
||||
sensor3_crit: sensor3-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* External USB clocks - can be overridden by the board */
|
||||
usb3s0_clk: usb3s0 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
usb_extal_clk: usb_extal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Device Tree Source for the Salvator-X board
|
||||
* Device Tree Source for the Salvator-X board with R-Car M3-W
|
||||
*
|
||||
* Copyright (C) 2016 Renesas Electronics Corp.
|
||||
*
|
||||
|
|
|
|||
58
arch/arm64/boot/dts/renesas/r8a7796-salvator-xs.dts
Normal file
58
arch/arm64/boot/dts/renesas/r8a7796-salvator-xs.dts
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Device Tree Source for the Salvator-X 2nd version board with R-Car M3-W
|
||||
*
|
||||
* Copyright (C) 2015-2017 Renesas Electronics Corp.
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public License
|
||||
* version 2. This program is licensed "as is" without any warranty of any
|
||||
* kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "r8a7796.dtsi"
|
||||
#include "salvator-xs.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Renesas Salvator-X 2nd version board based on r8a7796";
|
||||
compatible = "renesas,salvator-xs", "renesas,r8a7796";
|
||||
|
||||
memory@48000000 {
|
||||
device_type = "memory";
|
||||
/* first 128MB is reserved for secure area. */
|
||||
reg = <0x0 0x48000000 0x0 0x78000000>;
|
||||
};
|
||||
|
||||
memory@600000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x6 0x00000000 0x0 0x80000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&du {
|
||||
clocks = <&cpg CPG_MOD 724>,
|
||||
<&cpg CPG_MOD 723>,
|
||||
<&cpg CPG_MOD 722>,
|
||||
<&cpg CPG_MOD 727>,
|
||||
<&versaclock6 1>,
|
||||
<&x21_clk>,
|
||||
<&versaclock6 2>;
|
||||
clock-names = "du.0", "du.1", "du.2", "lvds.0",
|
||||
"dclkin.0", "dclkin.1", "dclkin.2";
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
rcar_dw_hdmi0_out: endpoint {
|
||||
remote-endpoint = <&hdmi0_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi0_con {
|
||||
remote-endpoint = <&rcar_dw_hdmi0_out>;
|
||||
};
|
||||
|
|
@ -30,9 +30,34 @@
|
|||
i2c7 = &i2c_dvfs;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
method = "smc";
|
||||
/*
|
||||
* The external audio clocks are configured as 0 Hz fixed frequency
|
||||
* clocks by default.
|
||||
* Boards that provide audio clocks should override them.
|
||||
*/
|
||||
audio_clk_a: audio_clk_a {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
audio_clk_b: audio_clk_b {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
audio_clk_c: audio_clk_c {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External CAN clock - to be overridden by boards that provide it */
|
||||
can_clk: can {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
cpus {
|
||||
|
|
@ -122,34 +147,32 @@
|
|||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The external audio clocks are configured as 0 Hz fixed frequency
|
||||
* clocks by default.
|
||||
* Boards that provide audio clocks should override them.
|
||||
*/
|
||||
audio_clk_a: audio_clk_a {
|
||||
/* External PCIe clock - can be overridden by the board */
|
||||
pcie_bus_clk: pcie_bus {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
audio_clk_b: audio_clk_b {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
pmu_a57 {
|
||||
compatible = "arm,cortex-a57-pmu";
|
||||
interrupts-extended = <&gic GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&a57_0>, <&a57_1>;
|
||||
};
|
||||
|
||||
audio_clk_c: audio_clk_c {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
pmu_a53 {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&gic GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&a53_0>, <&a53_1>, <&a53_2>, <&a53_3>;
|
||||
};
|
||||
|
||||
/* External CAN clock - to be overridden by boards that provide it */
|
||||
can_clk: can {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
psci {
|
||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
/* External SCIF clock - to be overridden by boards that provide it */
|
||||
|
|
@ -159,13 +182,6 @@
|
|||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External PCIe clock - can be overridden by the board */
|
||||
pcie_bus_clk: pcie_bus {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&gic>;
|
||||
|
|
@ -190,18 +206,6 @@
|
|||
resets = <&cpg 408>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13
|
||||
(GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14
|
||||
(GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11
|
||||
(GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 10
|
||||
(GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
wdt0: watchdog@e6020000 {
|
||||
compatible = "renesas,r8a7796-wdt",
|
||||
"renesas,rcar-gen3-wdt";
|
||||
|
|
@ -337,24 +341,98 @@
|
|||
reg = <0 0xe6060000 0 0x50c>;
|
||||
};
|
||||
|
||||
pmu_a57 {
|
||||
compatible = "arm,cortex-a57-pmu";
|
||||
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&a57_0>,
|
||||
<&a57_1>;
|
||||
ipmmu_vi0: mmu@febd0000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xfebd0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 9>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
pmu_a53 {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&a53_0>,
|
||||
<&a53_1>,
|
||||
<&a53_2>,
|
||||
<&a53_3>;
|
||||
ipmmu_vc0: mmu@fe6b0000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xfe6b0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 8>;
|
||||
power-domains = <&sysc R8A7796_PD_A3VC>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_pv0: mmu@fd800000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xfd800000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 5>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_pv1: mmu@fd950000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xfd950000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 6>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_ir: mmu@ff8b0000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xff8b0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 3>;
|
||||
power-domains = <&sysc R8A7796_PD_A3IR>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_hc: mmu@e6570000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xe6570000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 2>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_rt: mmu@ffc80000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xffc80000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 7>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_mp: mmu@ec670000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xec670000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 4>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_ds0: mmu@e6740000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xe6740000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 0>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_ds1: mmu@e7740000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xe7740000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 1>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_mm: mmu@e67b0000 {
|
||||
compatible = "renesas,ipmmu-r8a7796";
|
||||
reg = <0 0xe67b0000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
|
|
@ -817,6 +895,7 @@
|
|||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 812>;
|
||||
phy-mode = "rgmii-txid";
|
||||
iommus = <&ipmmu_ds0 16>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
|
@ -1101,6 +1180,14 @@
|
|||
resets = <&cpg 219>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_ds0 0>, <&ipmmu_ds0 1>,
|
||||
<&ipmmu_ds0 2>, <&ipmmu_ds0 3>,
|
||||
<&ipmmu_ds0 4>, <&ipmmu_ds0 5>,
|
||||
<&ipmmu_ds0 6>, <&ipmmu_ds0 7>,
|
||||
<&ipmmu_ds0 8>, <&ipmmu_ds0 9>,
|
||||
<&ipmmu_ds0 10>, <&ipmmu_ds0 11>,
|
||||
<&ipmmu_ds0 12>, <&ipmmu_ds0 13>,
|
||||
<&ipmmu_ds0 14>, <&ipmmu_ds0 15>;
|
||||
};
|
||||
|
||||
dmac1: dma-controller@e7300000 {
|
||||
|
|
@ -1135,6 +1222,14 @@
|
|||
resets = <&cpg 218>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_ds1 0>, <&ipmmu_ds1 1>,
|
||||
<&ipmmu_ds1 2>, <&ipmmu_ds1 3>,
|
||||
<&ipmmu_ds1 4>, <&ipmmu_ds1 5>,
|
||||
<&ipmmu_ds1 6>, <&ipmmu_ds1 7>,
|
||||
<&ipmmu_ds1 8>, <&ipmmu_ds1 9>,
|
||||
<&ipmmu_ds1 10>, <&ipmmu_ds1 11>,
|
||||
<&ipmmu_ds1 12>, <&ipmmu_ds1 13>,
|
||||
<&ipmmu_ds1 14>, <&ipmmu_ds1 15>;
|
||||
};
|
||||
|
||||
dmac2: dma-controller@e7310000 {
|
||||
|
|
@ -1169,6 +1264,14 @@
|
|||
resets = <&cpg 217>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_ds1 16>, <&ipmmu_ds1 17>,
|
||||
<&ipmmu_ds1 18>, <&ipmmu_ds1 19>,
|
||||
<&ipmmu_ds1 20>, <&ipmmu_ds1 21>,
|
||||
<&ipmmu_ds1 22>, <&ipmmu_ds1 23>,
|
||||
<&ipmmu_ds1 24>, <&ipmmu_ds1 25>,
|
||||
<&ipmmu_ds1 26>, <&ipmmu_ds1 27>,
|
||||
<&ipmmu_ds1 28>, <&ipmmu_ds1 29>,
|
||||
<&ipmmu_ds1 30>, <&ipmmu_ds1 31>;
|
||||
};
|
||||
|
||||
audma0: dma-controller@ec700000 {
|
||||
|
|
@ -1203,6 +1306,14 @@
|
|||
resets = <&cpg 502>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_mp 0>, <&ipmmu_mp 1>,
|
||||
<&ipmmu_mp 2>, <&ipmmu_mp 3>,
|
||||
<&ipmmu_mp 4>, <&ipmmu_mp 5>,
|
||||
<&ipmmu_mp 6>, <&ipmmu_mp 7>,
|
||||
<&ipmmu_mp 8>, <&ipmmu_mp 9>,
|
||||
<&ipmmu_mp 10>, <&ipmmu_mp 11>,
|
||||
<&ipmmu_mp 12>, <&ipmmu_mp 13>,
|
||||
<&ipmmu_mp 14>, <&ipmmu_mp 15>;
|
||||
};
|
||||
|
||||
audma1: dma-controller@ec720000 {
|
||||
|
|
@ -1237,6 +1348,14 @@
|
|||
resets = <&cpg 501>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <16>;
|
||||
iommus = <&ipmmu_mp 16>, <&ipmmu_mp 17>,
|
||||
<&ipmmu_mp 18>, <&ipmmu_mp 19>,
|
||||
<&ipmmu_mp 20>, <&ipmmu_mp 21>,
|
||||
<&ipmmu_mp 22>, <&ipmmu_mp 23>,
|
||||
<&ipmmu_mp 24>, <&ipmmu_mp 25>,
|
||||
<&ipmmu_mp 26>, <&ipmmu_mp 27>,
|
||||
<&ipmmu_mp 28>, <&ipmmu_mp 29>,
|
||||
<&ipmmu_mp 30>, <&ipmmu_mp 31>;
|
||||
};
|
||||
|
||||
usb_dmac0: dma-controller@e65a0000 {
|
||||
|
|
@ -1284,6 +1403,19 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
usb3_phy0: usb-phy@e65ee000 {
|
||||
compatible = "renesas,r8a7796-usb3-phy",
|
||||
"renesas,rcar-gen3-usb3-phy";
|
||||
reg = <0 0xe65ee000 0 0x90>;
|
||||
clocks = <&cpg CPG_MOD 328>, <&usb3s0_clk>,
|
||||
<&usb_extal_clk>;
|
||||
clock-names = "usb3-if", "usb3s_clk", "usb_extal";
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 328>;
|
||||
#phy-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
xhci0: usb@ee000000 {
|
||||
compatible = "renesas,xhci-r8a7796",
|
||||
"renesas,rcar-gen3-xhci";
|
||||
|
|
@ -1380,7 +1512,8 @@
|
|||
};
|
||||
|
||||
sdhi0: sd@ee100000 {
|
||||
compatible = "renesas,sdhi-r8a7796";
|
||||
compatible = "renesas,sdhi-r8a7796",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee100000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 314>;
|
||||
|
|
@ -1391,7 +1524,8 @@
|
|||
};
|
||||
|
||||
sdhi1: sd@ee120000 {
|
||||
compatible = "renesas,sdhi-r8a7796";
|
||||
compatible = "renesas,sdhi-r8a7796",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee120000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 313>;
|
||||
|
|
@ -1402,7 +1536,8 @@
|
|||
};
|
||||
|
||||
sdhi2: sd@ee140000 {
|
||||
compatible = "renesas,sdhi-r8a7796";
|
||||
compatible = "renesas,sdhi-r8a7796",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee140000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 312>;
|
||||
|
|
@ -1413,7 +1548,8 @@
|
|||
};
|
||||
|
||||
sdhi3: sd@ee160000 {
|
||||
compatible = "renesas,sdhi-r8a7796";
|
||||
compatible = "renesas,sdhi-r8a7796",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee160000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 311>;
|
||||
|
|
@ -1438,50 +1574,6 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
sensor_thermal1: sensor-thermal1 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 0>;
|
||||
|
||||
trips {
|
||||
sensor1_crit: sensor1-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor_thermal2: sensor-thermal2 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 1>;
|
||||
|
||||
trips {
|
||||
sensor2_crit: sensor2-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor_thermal3: sensor-thermal3 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 2>;
|
||||
|
||||
trips {
|
||||
sensor3_crit: sensor3-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
/*
|
||||
* #sound-dai-cells is required
|
||||
|
|
@ -1679,10 +1771,12 @@
|
|||
};
|
||||
|
||||
pciec0: pcie@fe000000 {
|
||||
reg = <0 0xfe000000 0 0x80000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pciec1: pcie@ee800000 {
|
||||
reg = <0 0xee800000 0 0x80000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
|
|
@ -1740,6 +1834,7 @@
|
|||
clocks = <&cpg CPG_MOD 611>;
|
||||
power-domains = <&sysc R8A7796_PD_A3VC>;
|
||||
resets = <&cpg 611>;
|
||||
iommus = <&ipmmu_vc0 19>;
|
||||
};
|
||||
|
||||
vspd0: vsp@fea20000 {
|
||||
|
|
@ -1759,6 +1854,7 @@
|
|||
clocks = <&cpg CPG_MOD 603>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 603>;
|
||||
iommus = <&ipmmu_vi0 8>;
|
||||
};
|
||||
|
||||
vspd1: vsp@fea28000 {
|
||||
|
|
@ -1778,6 +1874,7 @@
|
|||
clocks = <&cpg CPG_MOD 602>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 602>;
|
||||
iommus = <&ipmmu_vi0 9>;
|
||||
};
|
||||
|
||||
vspd2: vsp@fea30000 {
|
||||
|
|
@ -1797,6 +1894,7 @@
|
|||
clocks = <&cpg CPG_MOD 601>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 601>;
|
||||
iommus = <&ipmmu_vi0 10>;
|
||||
};
|
||||
|
||||
hdmi0: hdmi@fead0000 {
|
||||
|
|
@ -1884,4 +1982,69 @@
|
|||
resets = <&cpg 822>;
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
sensor_thermal1: sensor-thermal1 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 0>;
|
||||
|
||||
trips {
|
||||
sensor1_crit: sensor1-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor_thermal2: sensor-thermal2 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 1>;
|
||||
|
||||
trips {
|
||||
sensor2_crit: sensor2-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor_thermal3: sensor-thermal3 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 2>;
|
||||
|
||||
trips {
|
||||
sensor3_crit: sensor3-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* External USB clocks - can be overridden by the board */
|
||||
usb3s0_clk: usb3s0 {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
usb_extal_clk: usb_extal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -33,18 +33,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
clock-frequency = <16666666>;
|
||||
};
|
||||
|
||||
&extalr_clk {
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
&scif0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&avb {
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
|
|
@ -55,3 +43,20 @@
|
|||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
clock-frequency = <16666666>;
|
||||
};
|
||||
|
||||
&extalr_clk {
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
&rwdt {
|
||||
timeout-sec = <60>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&scif0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
|||
55
arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts
Normal file
55
arch/arm64/boot/dts/renesas/r8a77970-v3msk.dts
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* Device Tree Source for the V3M Starter Kit board
|
||||
*
|
||||
* Copyright (C) 2017 Renesas Electronics Corp.
|
||||
* Copyright (C) 2017 Cogent Embedded, Inc.
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public License
|
||||
* version 2. This program is licensed "as is" without any warranty of any
|
||||
* kind, whether express or implied.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "r8a77970.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Renesas V3M Starter Kit board";
|
||||
compatible = "renesas,v3msk", "renesas,r8a77970";
|
||||
|
||||
aliases {
|
||||
serial0 = &scif0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory@48000000 {
|
||||
device_type = "memory";
|
||||
/* first 128MB is reserved for secure area. */
|
||||
reg = <0x0 0x48000000 0x0 0x38000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&avb {
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
rxc-skew-ps = <1500>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
clock-frequency = <16666666>;
|
||||
};
|
||||
|
||||
&extalr_clk {
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
&scif0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -9,9 +9,10 @@
|
|||
* kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/clock/r8a77970-cpg-mssr.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/renesas-cpg-mssr.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/power/r8a77970-sysc.h>
|
||||
|
||||
/ {
|
||||
compatible = "renesas,r8a77970";
|
||||
|
|
@ -31,15 +32,15 @@
|
|||
device_type = "cpu";
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0>;
|
||||
clocks = <&cpg CPG_CORE 0>;
|
||||
power-domains = <&sysc 5>;
|
||||
clocks = <&cpg CPG_CORE R8A77970_CLK_Z2>;
|
||||
power-domains = <&sysc R8A77970_PD_CA53_CPU0>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
L2_CA53: cache-controller {
|
||||
compatible = "cache";
|
||||
power-domains = <&sysc 21>;
|
||||
power-domains = <&sysc R8A77970_PD_CA53_SCU>;
|
||||
cache-unified;
|
||||
cache-level = <2>;
|
||||
};
|
||||
|
|
@ -87,7 +88,7 @@
|
|||
IRQ_TYPE_LEVEL_HIGH)>;
|
||||
clocks = <&cpg CPG_MOD 408>;
|
||||
clock-names = "clk";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 408>;
|
||||
};
|
||||
|
||||
|
|
@ -103,6 +104,16 @@
|
|||
IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
rwdt: watchdog@e6020000 {
|
||||
compatible = "renesas,r8a77970-wdt",
|
||||
"renesas,rcar-gen3-wdt";
|
||||
reg = <0 0xe6020000 0 0x0c>;
|
||||
clocks = <&cpg CPG_MOD 402>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 402>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
compatible = "renesas,r8a77970-cpg-mssr";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
|
|
@ -124,6 +135,49 @@
|
|||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_vi0: mmu@febd0000 {
|
||||
compatible = "renesas,ipmmu-r8a77970";
|
||||
reg = <0 0xfebd0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 9>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_ir: mmu@ff8b0000 {
|
||||
compatible = "renesas,ipmmu-r8a77970";
|
||||
reg = <0 0xff8b0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 3>;
|
||||
power-domains = <&sysc R8A77970_PD_A3IR>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_rt: mmu@ffc80000 {
|
||||
compatible = "renesas,ipmmu-r8a77970";
|
||||
reg = <0 0xffc80000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 7>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_ds1: mmu@e7740000 {
|
||||
compatible = "renesas,ipmmu-r8a77970";
|
||||
reg = <0 0xe7740000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 1>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
ipmmu_mm: mmu@e67b0000 {
|
||||
compatible = "renesas,ipmmu-r8a77970";
|
||||
reg = <0 0xe67b0000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
#iommu-cells = <1>;
|
||||
};
|
||||
|
||||
intc_ex: interrupt-controller@e61c0000 {
|
||||
compatible = "renesas,intc-ex-r8a77970", "renesas,irqc";
|
||||
#interrupt-cells = <2>;
|
||||
|
|
@ -136,7 +190,7 @@
|
|||
GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 407>;
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 407>;
|
||||
};
|
||||
|
||||
|
|
@ -163,10 +217,14 @@
|
|||
"ch4", "ch5", "ch6", "ch7";
|
||||
clocks = <&cpg CPG_MOD 218>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 218>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <8>;
|
||||
iommus = <&ipmmu_ds1 0>, <&ipmmu_ds1 1>,
|
||||
<&ipmmu_ds1 2>, <&ipmmu_ds1 3>,
|
||||
<&ipmmu_ds1 4>, <&ipmmu_ds1 5>,
|
||||
<&ipmmu_ds1 6>, <&ipmmu_ds1 7>;
|
||||
};
|
||||
|
||||
dmac2: dma-controller@e7310000 {
|
||||
|
|
@ -187,10 +245,14 @@
|
|||
"ch4", "ch5", "ch6", "ch7";
|
||||
clocks = <&cpg CPG_MOD 217>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 217>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <8>;
|
||||
iommus = <&ipmmu_ds1 16>, <&ipmmu_ds1 17>,
|
||||
<&ipmmu_ds1 18>, <&ipmmu_ds1 19>,
|
||||
<&ipmmu_ds1 20>, <&ipmmu_ds1 21>,
|
||||
<&ipmmu_ds1 22>, <&ipmmu_ds1 23>;
|
||||
};
|
||||
|
||||
hscif0: serial@e6540000 {
|
||||
|
|
@ -200,13 +262,13 @@
|
|||
reg = <0 0xe6540000 0 96>;
|
||||
interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 520>,
|
||||
<&cpg CPG_CORE 9>,
|
||||
<&cpg CPG_CORE R8A77970_CLK_S2D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x31>, <&dmac1 0x30>,
|
||||
<&dmac2 0x31>, <&dmac2 0x30>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 520>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -218,13 +280,13 @@
|
|||
reg = <0 0xe6550000 0 96>;
|
||||
interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 519>,
|
||||
<&cpg CPG_CORE 9>,
|
||||
<&cpg CPG_CORE R8A77970_CLK_S2D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x33>, <&dmac1 0x32>,
|
||||
<&dmac2 0x33>, <&dmac2 0x32>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 519>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -236,13 +298,13 @@
|
|||
reg = <0 0xe6560000 0 96>;
|
||||
interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 518>,
|
||||
<&cpg CPG_CORE 9>,
|
||||
<&cpg CPG_CORE R8A77970_CLK_S2D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x35>, <&dmac1 0x34>,
|
||||
<&dmac2 0x35>, <&dmac2 0x34>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 518>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -253,13 +315,13 @@
|
|||
reg = <0 0xe66a0000 0 96>;
|
||||
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 517>,
|
||||
<&cpg CPG_CORE 9>,
|
||||
<&cpg CPG_CORE R8A77970_CLK_S2D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x37>, <&dmac1 0x36>,
|
||||
<&dmac2 0x37>, <&dmac2 0x36>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 517>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -271,13 +333,13 @@
|
|||
reg = <0 0xe6e60000 0 64>;
|
||||
interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 207>,
|
||||
<&cpg CPG_CORE 9>,
|
||||
<&cpg CPG_CORE R8A77970_CLK_S2D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x51>, <&dmac1 0x50>,
|
||||
<&dmac2 0x51>, <&dmac2 0x50>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 207>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -289,13 +351,13 @@
|
|||
reg = <0 0xe6e68000 0 64>;
|
||||
interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 206>,
|
||||
<&cpg CPG_CORE 9>,
|
||||
<&cpg CPG_CORE R8A77970_CLK_S2D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x53>, <&dmac1 0x52>,
|
||||
<&dmac2 0x53>, <&dmac2 0x52>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 206>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -307,13 +369,13 @@
|
|||
reg = <0 0xe6c50000 0 64>;
|
||||
interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 204>,
|
||||
<&cpg CPG_CORE 9>,
|
||||
<&cpg CPG_CORE R8A77970_CLK_S2D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x57>, <&dmac1 0x56>,
|
||||
<&dmac2 0x57>, <&dmac2 0x56>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 204>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -324,13 +386,13 @@
|
|||
reg = <0 0xe6c40000 0 64>;
|
||||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 203>,
|
||||
<&cpg CPG_CORE 9>,
|
||||
<&cpg CPG_CORE R8A77970_CLK_S2D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x59>, <&dmac1 0x58>,
|
||||
<&dmac2 0x59>, <&dmac2 0x58>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 203>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
|
@ -372,9 +434,10 @@
|
|||
"ch20", "ch21", "ch22", "ch23",
|
||||
"ch24";
|
||||
clocks = <&cpg CPG_MOD 812>;
|
||||
power-domains = <&sysc 32>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 812>;
|
||||
phy-mode = "rgmii-id";
|
||||
iommus = <&ipmmu_rt 3>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -51,6 +51,13 @@
|
|||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External CAN clock - to be overridden by boards that provide it */
|
||||
can_clk: can {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
|
|
@ -108,6 +115,88 @@
|
|||
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
ipmmu_vi0: mmu@febd0000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xfebd0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 14>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_vp0: mmu@fe990000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xfe990000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 16>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_vc0: mmu@fe6b0000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xfe6b0000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 12>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_pv0: mmu@fd800000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xfd800000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 6>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_hc: mmu@e6570000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xe6570000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 2>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_rt: mmu@ffc80000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xffc80000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 10>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_mp: mmu@ec670000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xec670000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 4>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_ds0: mmu@e6740000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xe6740000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 0>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_ds1: mmu@e7740000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xe7740000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 1>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ipmmu_mm: mmu@e67b0000 {
|
||||
compatible = "renesas,ipmmu-r8a77995";
|
||||
reg = <0 0xe67b0000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#iommu-cells = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
compatible = "renesas,r8a77995-cpg-mssr";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
|
|
@ -155,6 +244,78 @@
|
|||
resets = <&cpg 407>;
|
||||
};
|
||||
|
||||
dmac0: dma-controller@e6700000 {
|
||||
compatible = "renesas,dmac-r8a77995",
|
||||
"renesas,rcar-dmac";
|
||||
reg = <0 0xe6700000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7";
|
||||
clocks = <&cpg CPG_MOD 219>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 219>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <8>;
|
||||
};
|
||||
|
||||
dmac1: dma-controller@e7300000 {
|
||||
compatible = "renesas,dmac-r8a77995",
|
||||
"renesas,rcar-dmac";
|
||||
reg = <0 0xe7300000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7";
|
||||
clocks = <&cpg CPG_MOD 218>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 218>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <8>;
|
||||
};
|
||||
|
||||
dmac2: dma-controller@e7310000 {
|
||||
compatible = "renesas,dmac-r8a77995",
|
||||
"renesas,rcar-dmac";
|
||||
reg = <0 0xe7310000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "error",
|
||||
"ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7";
|
||||
clocks = <&cpg CPG_MOD 217>;
|
||||
clock-names = "fck";
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 217>;
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <8>;
|
||||
};
|
||||
|
||||
gpio0: gpio@e6050000 {
|
||||
compatible = "renesas,gpio-r8a77995",
|
||||
"renesas,rcar-gen3-gpio",
|
||||
|
|
@ -267,6 +428,63 @@
|
|||
resets = <&cpg 906>;
|
||||
};
|
||||
|
||||
can0: can@e6c30000 {
|
||||
compatible = "renesas,can-r8a77995",
|
||||
"renesas,rcar-gen3-can";
|
||||
reg = <0 0xe6c30000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 916>,
|
||||
<&cpg CPG_CORE R8A77995_CLK_CANFD>,
|
||||
<&can_clk>;
|
||||
clock-names = "clkp1", "clkp2", "can_clk";
|
||||
assigned-clocks = <&cpg CPG_CORE R8A77995_CLK_CANFD>;
|
||||
assigned-clock-rates = <40000000>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 916>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
can1: can@e6c38000 {
|
||||
compatible = "renesas,can-r8a77995",
|
||||
"renesas,rcar-gen3-can";
|
||||
reg = <0 0xe6c38000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 915>,
|
||||
<&cpg CPG_CORE R8A77995_CLK_CANFD>,
|
||||
<&can_clk>;
|
||||
clock-names = "clkp1", "clkp2", "can_clk";
|
||||
assigned-clocks = <&cpg CPG_CORE R8A77995_CLK_CANFD>;
|
||||
assigned-clock-rates = <40000000>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 915>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
canfd: can@e66c0000 {
|
||||
compatible = "renesas,r8a77995-canfd",
|
||||
"renesas,rcar-gen3-canfd";
|
||||
reg = <0 0xe66c0000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 914>,
|
||||
<&cpg CPG_CORE R8A77995_CLK_CANFD>,
|
||||
<&can_clk>;
|
||||
clock-names = "fck", "canfd", "can_clk";
|
||||
assigned-clocks = <&cpg CPG_CORE R8A77995_CLK_CANFD>;
|
||||
assigned-clock-rates = <40000000>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 914>;
|
||||
status = "disabled";
|
||||
|
||||
channel0 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
channel1 {
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
avb: ethernet@e6800000 {
|
||||
compatible = "renesas,etheravb-r8a77995",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
|
|
@ -307,6 +525,7 @@
|
|||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 812>;
|
||||
phy-mode = "rgmii-txid";
|
||||
iommus = <&ipmmu_ds0 16>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
|
@ -321,6 +540,9 @@
|
|||
<&cpg CPG_CORE R8A77995_CLK_S3D1C>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x13>, <&dmac1 0x12>,
|
||||
<&dmac2 0x13>, <&dmac2 0x12>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 310>;
|
||||
status = "disabled";
|
||||
|
|
@ -366,6 +588,18 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi2: sd@ee140000 {
|
||||
compatible = "renesas,sdhi-r8a77995",
|
||||
"renesas,rcar-gen3-sdhi";
|
||||
reg = <0 0xee140000 0 0x2000>;
|
||||
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 312>;
|
||||
max-frequency = <200000000>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 312>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ehci0: usb@ee080100 {
|
||||
compatible = "generic-ehci";
|
||||
reg = <0 0xee080100 0 0x100>;
|
||||
|
|
|
|||
|
|
@ -263,6 +263,7 @@
|
|||
reg = <0>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -354,6 +355,30 @@
|
|||
|
||||
&i2c_dvfs {
|
||||
status = "okay";
|
||||
|
||||
pmic: pmic@30 {
|
||||
pinctrl-0 = <&irq0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
compatible = "rohm,bd9571mwv";
|
||||
reg = <0x30>;
|
||||
interrupt-parent = <&intc_ex>;
|
||||
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
regulators {
|
||||
dvfs: dvfs {
|
||||
regulator-name = "dvfs";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1030000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ohci0 {
|
||||
|
|
@ -409,6 +434,11 @@
|
|||
function = "i2c2";
|
||||
};
|
||||
|
||||
irq0_pins: irq0 {
|
||||
groups = "intc_ex_irq0";
|
||||
function = "intc_ex";
|
||||
};
|
||||
|
||||
pwm1_pins: pwm1 {
|
||||
groups = "pwm1_a";
|
||||
function = "pwm1";
|
||||
|
|
@ -595,6 +625,7 @@
|
|||
bus-width = <8>;
|
||||
mmc-hs200-1_8v;
|
||||
non-removable;
|
||||
fixed-emmc-driver-type = <1>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
@ -616,6 +647,10 @@
|
|||
shared-pin;
|
||||
};
|
||||
|
||||
&usb_extal_clk {
|
||||
clock-frequency = <50000000>;
|
||||
};
|
||||
|
||||
&usb2_phy0 {
|
||||
pinctrl-0 = <&usb0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
|
@ -631,6 +666,21 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_peri0 {
|
||||
phys = <&usb3_phy0>;
|
||||
phy-names = "usb";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3_phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb3s0_clk {
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
&wdt0 {
|
||||
timeout-sec = <60>;
|
||||
status = "okay";
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
};
|
||||
|
||||
&ehci0 {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
@ -41,6 +42,7 @@
|
|||
};
|
||||
|
||||
&hsusb {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
@ -67,6 +69,20 @@
|
|||
output-high;
|
||||
line-name = "HUB rst";
|
||||
};
|
||||
|
||||
otg_offvbusn {
|
||||
gpio-hog;
|
||||
gpios = <8 GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "OTG OFFVBUSn";
|
||||
};
|
||||
|
||||
otg_extlpn {
|
||||
gpio-hog;
|
||||
gpios = <9 GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "OTG EXTLPn";
|
||||
};
|
||||
};
|
||||
|
||||
gpio_exp_75: gpio@75 {
|
||||
|
|
@ -119,6 +135,7 @@
|
|||
};
|
||||
|
||||
&ohci0 {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
|
@ -154,6 +171,11 @@
|
|||
groups = "scif1_data_b", "scif1_ctrl";
|
||||
function = "scif1";
|
||||
};
|
||||
|
||||
usb0_pins: usb0 {
|
||||
groups = "usb0";
|
||||
function = "usb0";
|
||||
};
|
||||
};
|
||||
|
||||
&scif1 {
|
||||
|
|
@ -164,6 +186,13 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2_phy0 {
|
||||
pinctrl-0 = <&usb0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&xhci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -153,6 +153,7 @@
|
|||
reg = <0>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -531,6 +531,31 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
efuse: efuse@ff260000 {
|
||||
compatible = "rockchip,rk3328-efuse";
|
||||
reg = <0x0 0xff260000 0x0 0x50>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
clocks = <&cru SCLK_EFUSE>;
|
||||
clock-names = "pclk_efuse";
|
||||
rockchip,efuse-size = <0x20>;
|
||||
|
||||
/* Data cells */
|
||||
efuse_id: id@7 {
|
||||
reg = <0x07 0x10>;
|
||||
};
|
||||
cpu_leakage: cpu-leakage@17 {
|
||||
reg = <0x17 0x1>;
|
||||
};
|
||||
logic_leakage: logic-leakage@19 {
|
||||
reg = <0x19 0x1>;
|
||||
};
|
||||
efuse_cpu_version: cpu-version@1a {
|
||||
reg = <0x1a 0x1>;
|
||||
bits = <3 3>;
|
||||
};
|
||||
};
|
||||
|
||||
saradc: adc@ff280000 {
|
||||
compatible = "rockchip,rk3328-saradc", "rockchip,rk3399-saradc";
|
||||
reg = <0x0 0xff280000 0x0 0x100>;
|
||||
|
|
@ -543,6 +568,28 @@
|
|||
status = "disabled";
|
||||
};
|
||||
|
||||
gpu: gpu@ff300000 {
|
||||
compatible = "rockchip,rk3328-mali", "arm,mali-450";
|
||||
reg = <0x0 0xff300000 0x0 0x40000>;
|
||||
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "gp",
|
||||
"gpmmu",
|
||||
"pp",
|
||||
"pp0",
|
||||
"ppmmu0",
|
||||
"pp1",
|
||||
"ppmmu1";
|
||||
clocks = <&cru ACLK_GPU>, <&cru ACLK_GPU>;
|
||||
clock-names = "bus", "core";
|
||||
resets = <&cru SRST_GPU_A>;
|
||||
};
|
||||
|
||||
h265e_mmu: iommu@ff330200 {
|
||||
compatible = "rockchip,iommu";
|
||||
reg = <0x0 0xff330200 0 0x100>;
|
||||
|
|
|
|||
|
|
@ -93,6 +93,18 @@
|
|||
pwm-delay-us = <10000>;
|
||||
};
|
||||
|
||||
edp_panel: edp-panel {
|
||||
compatible = "sharp,lq123p1jx31", "simple-panel";
|
||||
backlight = <&backlight>;
|
||||
power-supply = <&pp3300_disp>;
|
||||
|
||||
ports {
|
||||
panel_in_edp: endpoint {
|
||||
remote-endpoint = <&edp_out_panel>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
thermistor_ppvar_bigcpu: thermistor-ppvar-bigcpu {
|
||||
compatible = "murata,ncp15wb473";
|
||||
pullup-uv = <1800000>;
|
||||
|
|
@ -268,6 +280,23 @@ ap_i2c_dig: &i2c2 {
|
|||
};
|
||||
};
|
||||
|
||||
&edp {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
edp_out: port@1 {
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
edp_out_panel: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&panel_in_edp>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ppvar_bigcpu_pwm {
|
||||
regulator-min-microvolt = <798674>;
|
||||
regulator-max-microvolt = <1302172>;
|
||||
|
|
|
|||
|
|
@ -855,6 +855,20 @@ ap_i2c_audio: &i2c8 {
|
|||
compatible = "google,cros-ec-pwm";
|
||||
#pwm-cells = <1>;
|
||||
};
|
||||
|
||||
usbc_extcon0: extcon@0 {
|
||||
compatible = "google,extcon-usbc-cros-ec";
|
||||
google,usb-port-id = <0>;
|
||||
|
||||
#extcon-cells = <0>;
|
||||
};
|
||||
|
||||
usbc_extcon1: extcon@1 {
|
||||
compatible = "google,extcon-usbc-cros-ec";
|
||||
google,usb-port-id = <1>;
|
||||
|
||||
#extcon-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -865,6 +879,16 @@ ap_i2c_audio: &i2c8 {
|
|||
rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */
|
||||
};
|
||||
|
||||
&tcphy0 {
|
||||
status = "okay";
|
||||
extcon = <&usbc_extcon0>;
|
||||
};
|
||||
|
||||
&tcphy1 {
|
||||
status = "okay";
|
||||
extcon = <&usbc_extcon1>;
|
||||
};
|
||||
|
||||
&u2phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
|
@ -911,6 +935,7 @@ ap_i2c_audio: &i2c8 {
|
|||
|
||||
&usbdrd3_0 {
|
||||
status = "okay";
|
||||
extcon = <&usbc_extcon0>;
|
||||
};
|
||||
|
||||
&usbdrd_dwc3_0 {
|
||||
|
|
@ -920,6 +945,7 @@ ap_i2c_audio: &i2c8 {
|
|||
|
||||
&usbdrd3_1 {
|
||||
status = "okay";
|
||||
extcon = <&usbc_extcon1>;
|
||||
};
|
||||
|
||||
&usbdrd_dwc3_1 {
|
||||
|
|
@ -927,6 +953,22 @@ ap_i2c_audio: &i2c8 {
|
|||
dr_mode = "host";
|
||||
};
|
||||
|
||||
&vopb {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopb_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopl {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vopl_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
#include <arm/cros-ec-keyboard.dtsi>
|
||||
#include <arm/cros-ec-sbs.dtsi>
|
||||
|
||||
|
|
|
|||
|
|
@ -397,9 +397,13 @@
|
|||
#size-cells = <2>;
|
||||
ranges;
|
||||
clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>,
|
||||
<&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_GRF>;
|
||||
<&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_RKSOC_AXI_PERF>,
|
||||
<&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>;
|
||||
clock-names = "ref_clk", "suspend_clk",
|
||||
"bus_clk", "grf_clk";
|
||||
"bus_clk", "aclk_usb3_rksoc_axi_perf",
|
||||
"aclk_usb3", "grf_clk";
|
||||
resets = <&cru SRST_A_USB3_OTG0>;
|
||||
reset-names = "usb3-otg";
|
||||
status = "disabled";
|
||||
|
||||
usbdrd_dwc3_0: dwc3 {
|
||||
|
|
@ -407,14 +411,15 @@
|
|||
reg = <0x0 0xfe800000 0x0 0x100000>;
|
||||
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
dr_mode = "otg";
|
||||
phys = <&u2phy0_otg>;
|
||||
phy-names = "usb2-phy";
|
||||
phys = <&u2phy0_otg>, <&tcphy0_usb3>;
|
||||
phy-names = "usb2-phy", "usb3-phy";
|
||||
phy_type = "utmi_wide";
|
||||
snps,dis_enblslpm_quirk;
|
||||
snps,dis-u2-freeclk-exists-quirk;
|
||||
snps,dis_u2_susphy_quirk;
|
||||
snps,dis-del-phy-power-chg-quirk;
|
||||
snps,dis-tx-ipgap-linecheck-quirk;
|
||||
power-domains = <&power RK3399_PD_USB3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
@ -425,9 +430,13 @@
|
|||
#size-cells = <2>;
|
||||
ranges;
|
||||
clocks = <&cru SCLK_USB3OTG1_REF>, <&cru SCLK_USB3OTG1_SUSPEND>,
|
||||
<&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_GRF>;
|
||||
<&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_RKSOC_AXI_PERF>,
|
||||
<&cru ACLK_USB3>, <&cru ACLK_USB3_GRF>;
|
||||
clock-names = "ref_clk", "suspend_clk",
|
||||
"bus_clk", "grf_clk";
|
||||
"bus_clk", "aclk_usb3_rksoc_axi_perf",
|
||||
"aclk_usb3", "grf_clk";
|
||||
resets = <&cru SRST_A_USB3_OTG1>;
|
||||
reset-names = "usb3-otg";
|
||||
status = "disabled";
|
||||
|
||||
usbdrd_dwc3_1: dwc3 {
|
||||
|
|
@ -435,14 +444,15 @@
|
|||
reg = <0x0 0xfe900000 0x0 0x100000>;
|
||||
interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
dr_mode = "otg";
|
||||
phys = <&u2phy1_otg>;
|
||||
phy-names = "usb2-phy";
|
||||
phys = <&u2phy1_otg>, <&tcphy1_usb3>;
|
||||
phy-names = "usb2-phy", "usb3-phy";
|
||||
phy_type = "utmi_wide";
|
||||
snps,dis_enblslpm_quirk;
|
||||
snps,dis-u2-freeclk-exists-quirk;
|
||||
snps,dis_u2_susphy_quirk;
|
||||
snps,dis-del-phy-power-chg-quirk;
|
||||
snps,dis-tx-ipgap-linecheck-quirk;
|
||||
power-domains = <&power RK3399_PD_USB3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
|
@ -991,6 +1001,12 @@
|
|||
clocks = <&cru HCLK_SDIO>;
|
||||
pm_qos = <&qos_sdioaudio>;
|
||||
};
|
||||
pd_usb3@RK3399_PD_USB3 {
|
||||
reg = <RK3399_PD_USB3>;
|
||||
clocks = <&cru ACLK_USB3>;
|
||||
pm_qos = <&qos_usb_otg0>,
|
||||
<&qos_usb_otg1>;
|
||||
};
|
||||
pd_vio@RK3399_PD_VIO {
|
||||
reg = <RK3399_PD_VIO>;
|
||||
#address-cells = <1>;
|
||||
|
|
@ -1526,6 +1542,11 @@
|
|||
reg = <2>;
|
||||
remote-endpoint = <&hdmi_in_vopl>;
|
||||
};
|
||||
|
||||
vopl_out_mipi1: endpoint@3 {
|
||||
reg = <3>;
|
||||
remote-endpoint = <&mipi1_in_vopl>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -1573,6 +1594,11 @@
|
|||
reg = <2>;
|
||||
remote-endpoint = <&hdmi_in_vopb>;
|
||||
};
|
||||
|
||||
vopb_out_mipi1: endpoint@3 {
|
||||
reg = <3>;
|
||||
remote-endpoint = <&mipi1_in_vopb>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -1648,11 +1674,17 @@
|
|||
<&cru SCLK_DPHY_TX0_CFG>, <&cru PCLK_VIO_GRF>;
|
||||
clock-names = "ref", "pclk", "phy_cfg", "grf";
|
||||
power-domains = <&power RK3399_PD_VIO>;
|
||||
resets = <&cru SRST_P_MIPI_DSI0>;
|
||||
reset-names = "apb";
|
||||
rockchip,grf = <&grf>;
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
mipi_in: port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mipi_in: port@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
|
|
@ -1668,6 +1700,41 @@
|
|||
};
|
||||
};
|
||||
|
||||
mipi_dsi1: mipi@ff968000 {
|
||||
compatible = "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi";
|
||||
reg = <0x0 0xff968000 0x0 0x8000>;
|
||||
interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru SCLK_DPHY_PLL>, <&cru PCLK_MIPI_DSI1>,
|
||||
<&cru SCLK_DPHY_TX1RX1_CFG>, <&cru PCLK_VIO_GRF>;
|
||||
clock-names = "ref", "pclk", "phy_cfg", "grf";
|
||||
power-domains = <&power RK3399_PD_VIO>;
|
||||
resets = <&cru SRST_P_MIPI_DSI1>;
|
||||
reset-names = "apb";
|
||||
rockchip,grf = <&grf>;
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mipi1_in: port@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mipi1_in_vopb: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&vopb_out_mipi1>;
|
||||
};
|
||||
|
||||
mipi1_in_vopl: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&vopl_out_mipi1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
edp: edp@ff970000 {
|
||||
compatible = "rockchip,rk3399-edp";
|
||||
reg = <0x0 0xff970000 0x0 0x8000>;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
&gpio {
|
||||
xirq0 {
|
||||
gpio-hog;
|
||||
gpios = <120 0>;
|
||||
gpios = <UNIPHIER_GPIO_IRQ(0) 0>;
|
||||
input;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue