mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Compare commits
246 Commits
v2018.07-r
...
v2018.07-r
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5742efa20 | ||
|
|
4e899d868d | ||
|
|
897a1d947e | ||
|
|
e3f7c4f851 | ||
|
|
2e668af553 | ||
|
|
c0fc1e215c | ||
|
|
0ba089baab | ||
|
|
0421c9809a | ||
|
|
018e8637b8 | ||
|
|
b53777d28f | ||
|
|
20b016a336 | ||
|
|
487b5fa6de | ||
|
|
7f13b374fd | ||
|
|
fe996ec066 | ||
|
|
fb95283931 | ||
|
|
8a682e03d7 | ||
|
|
dd0ee9ea85 | ||
|
|
e178db1d77 | ||
|
|
af880e247d | ||
|
|
c2e4e7e631 | ||
|
|
b4c3fb087b | ||
|
|
bd8a9c14c9 | ||
|
|
6fef62cc47 | ||
|
|
a1b73c1872 | ||
|
|
845936792b | ||
|
|
d146a7b9c6 | ||
|
|
28b538b69d | ||
|
|
3eb0fa4c93 | ||
|
|
8e51c0f254 | ||
|
|
92a14a4772 | ||
|
|
95a773005c | ||
|
|
e0212dfa13 | ||
|
|
501c89d330 | ||
|
|
7e9be3ea3a | ||
|
|
9508ecfbcb | ||
|
|
1b65c86e87 | ||
|
|
af14d0dd24 | ||
|
|
6d0043a623 | ||
|
|
f96c9482e6 | ||
|
|
e883ffe00b | ||
|
|
5d4fd87773 | ||
|
|
60b2f9e7b9 | ||
|
|
3af30e4443 | ||
|
|
3330584d2c | ||
|
|
d8f9d2af96 | ||
|
|
378b29cbc6 | ||
|
|
0102023966 | ||
|
|
3ebd892fda | ||
|
|
d441ec8298 | ||
|
|
4a08c74697 | ||
|
|
d1fe992746 | ||
|
|
252d41f1ae | ||
|
|
93c7b879c7 | ||
|
|
32151d4017 | ||
|
|
3773c6a20a | ||
|
|
4f1dacd43f | ||
|
|
9efeb3f4db | ||
|
|
9f0b0113c9 | ||
|
|
e3ec0d03bb | ||
|
|
103c45fb0d | ||
|
|
a715415bb5 | ||
|
|
891bf67611 | ||
|
|
75b573fe23 | ||
|
|
c267952c41 | ||
|
|
6d82ed8d37 | ||
|
|
29904b923e | ||
|
|
bc19d28e6d | ||
|
|
ef6765ca62 | ||
|
|
65dcc809cd | ||
|
|
e183a6c7f2 | ||
|
|
c599de372f | ||
|
|
b08a704ddc | ||
|
|
f58e779513 | ||
|
|
d94e89c765 | ||
|
|
3b4410dde3 | ||
|
|
9ddcfef6d4 | ||
|
|
b729ed0d95 | ||
|
|
a673025535 | ||
|
|
e90d2659e4 | ||
|
|
c9a2c47b91 | ||
|
|
01fcf01e81 | ||
|
|
e3c26b8d95 | ||
|
|
1e3e68f109 | ||
|
|
b6911780b5 | ||
|
|
1471fadf69 | ||
|
|
1a7414f626 | ||
|
|
c7df098a71 | ||
|
|
343671e483 | ||
|
|
56c0e646c4 | ||
|
|
3c1eaec012 | ||
|
|
bc0f4ed133 | ||
|
|
0ecd14e636 | ||
|
|
4b334b6054 | ||
|
|
910db6c3a1 | ||
|
|
c29d2a2432 | ||
|
|
2519a293d5 | ||
|
|
252c8b45c9 | ||
|
|
bf8d2dab38 | ||
|
|
9d0dc69235 | ||
|
|
2e975d8628 | ||
|
|
6995fc3aca | ||
|
|
0f4ab201fa | ||
|
|
e1ccb2c34c | ||
|
|
606fddd76c | ||
|
|
b9f34757db | ||
|
|
58bc69d20a | ||
|
|
2f61b13d6a | ||
|
|
44ab2d325b | ||
|
|
2d2b5b2d00 | ||
|
|
e4679489c3 | ||
|
|
de452c04c3 | ||
|
|
5b2c9a6ce3 | ||
|
|
7674b64d78 | ||
|
|
b33d4a5fc7 | ||
|
|
5194ed7edc | ||
|
|
c61221948c | ||
|
|
3cb51dad0d | ||
|
|
199b27bb70 | ||
|
|
a8927795ef | ||
|
|
ff114e0f76 | ||
|
|
98017a1fb5 | ||
|
|
d48d40a091 | ||
|
|
286bea2e85 | ||
|
|
60177b2617 | ||
|
|
552e7c57d0 | ||
|
|
6e35686d89 | ||
|
|
6f0dc0ca31 | ||
|
|
5e9d9abe08 | ||
|
|
3ce4304205 | ||
|
|
2d8f25ed7b | ||
|
|
66398944f5 | ||
|
|
acaee30608 | ||
|
|
e3b1aaa4e0 | ||
|
|
eae8291913 | ||
|
|
32651e4fb8 | ||
|
|
8df430d09b | ||
|
|
919d25c920 | ||
|
|
94b233f443 | ||
|
|
2aa686775b | ||
|
|
f8c987f8f1 | ||
|
|
f559180176 | ||
|
|
5b3da7fa12 | ||
|
|
6e2151c729 | ||
|
|
11bb62768d | ||
|
|
56830cee3a | ||
|
|
1ed9c11188 | ||
|
|
b62cdbdded | ||
|
|
bee053e248 | ||
|
|
51050ff0a2 | ||
|
|
dcec5d565a | ||
|
|
558f3ed9c8 | ||
|
|
6f95d89c71 | ||
|
|
f2825f6ec0 | ||
|
|
16dde8945e | ||
|
|
b8038a1cdb | ||
|
|
fcfc8a82b1 | ||
|
|
594d089c8a | ||
|
|
bc728b1bc0 | ||
|
|
0a6fb5b577 | ||
|
|
8407f5fcdc | ||
|
|
a8542ad81f | ||
|
|
7d0bc172e5 | ||
|
|
fb05f0b02b | ||
|
|
80abc8165e | ||
|
|
b173b4ea34 | ||
|
|
9fddf6c7dd | ||
|
|
341dda352d | ||
|
|
919c1c1204 | ||
|
|
acc2482fd8 | ||
|
|
920be88e92 | ||
|
|
c511147cf4 | ||
|
|
b75422f362 | ||
|
|
ccad5e86e2 | ||
|
|
be9437fb49 | ||
|
|
e7168819f4 | ||
|
|
7868909ed5 | ||
|
|
7a4a3503d5 | ||
|
|
ae28a5f830 | ||
|
|
2d91b53331 | ||
|
|
9629ccdde7 | ||
|
|
7191d45348 | ||
|
|
73dc91f9c4 | ||
|
|
4911948ec7 | ||
|
|
d93a18f77c | ||
|
|
813d1fb56d | ||
|
|
8da19df5b5 | ||
|
|
8f48cf9f17 | ||
|
|
71002b508a | ||
|
|
5c890b1bc8 | ||
|
|
e94b93d5bb | ||
|
|
b5e0e360fd | ||
|
|
a74440b27b | ||
|
|
b559c4af80 | ||
|
|
948f32c856 | ||
|
|
844e5b20f2 | ||
|
|
c8d48efb2b | ||
|
|
3b0c3821d6 | ||
|
|
7ae5f315b3 | ||
|
|
084059a31f | ||
|
|
258fb0e677 | ||
|
|
1854695bd8 | ||
|
|
badf0ec6e4 | ||
|
|
25ac0e61fe | ||
|
|
f55382b5e5 | ||
|
|
8f1da50ccc | ||
|
|
dd57c13bbc | ||
|
|
48ae412424 | ||
|
|
0ddc510ea3 | ||
|
|
bf6226c3c4 | ||
|
|
4225a4e4a9 | ||
|
|
46960ad6d0 | ||
|
|
66a00be287 | ||
|
|
d78ecc7339 | ||
|
|
173ec35191 | ||
|
|
3eceff642c | ||
|
|
5b2e9a8cf9 | ||
|
|
78306cba11 | ||
|
|
6b6255cd8a | ||
|
|
d3671dfcdb | ||
|
|
942bb6e2ad | ||
|
|
ff2b2ba845 | ||
|
|
0899bd269e | ||
|
|
86fbad2492 | ||
|
|
955575c8dc | ||
|
|
f203a479e7 | ||
|
|
71eb63e7ee | ||
|
|
98ada4b3f0 | ||
|
|
648e87a1ec | ||
|
|
1374d88bf3 | ||
|
|
89d811eee6 | ||
|
|
d4899b0f5d | ||
|
|
84035fccbe | ||
|
|
3789b3dd15 | ||
|
|
54e3316ffa | ||
|
|
87a62bce28 | ||
|
|
2c3c6bc6fb | ||
|
|
134a6b6884 | ||
|
|
5886b77942 | ||
|
|
4ea813d333 | ||
|
|
d6db446f70 | ||
|
|
28be54dc59 | ||
|
|
b1f2b72e39 | ||
|
|
8ff4130deb | ||
|
|
6c353674bd | ||
|
|
105e3d84e5 | ||
|
|
631bacefb3 |
32
.gitignore
vendored
32
.gitignore
vendored
@@ -3,29 +3,31 @@
|
||||
# subdirectories here. Add them in the ".gitignore" file
|
||||
# in that subdirectory instead.
|
||||
#
|
||||
# Normal rules
|
||||
# Normal rules (sorted alphabetically)
|
||||
#
|
||||
.*
|
||||
*.o
|
||||
*.o.*
|
||||
*.a
|
||||
*.s
|
||||
*.su
|
||||
*.mod.c
|
||||
*.bin
|
||||
*.cfgtmp
|
||||
*.dtb
|
||||
*.dtb.S
|
||||
*.elf
|
||||
*.exe
|
||||
*.gcda
|
||||
*.gcno
|
||||
*.i
|
||||
*.lex.c
|
||||
*.lst
|
||||
*.mod.c
|
||||
*.o
|
||||
*.o.*
|
||||
*.order
|
||||
*.elf
|
||||
*.swp
|
||||
*.bin
|
||||
*.patch
|
||||
*.cfgtmp
|
||||
*.s
|
||||
*.su
|
||||
*.swp
|
||||
*.tab.[ch]
|
||||
|
||||
# host programs on Cygwin
|
||||
*.exe
|
||||
|
||||
# Build tree
|
||||
/build-*
|
||||
|
||||
@@ -86,7 +88,3 @@ GTAGS
|
||||
*.orig
|
||||
*~
|
||||
\#*#
|
||||
|
||||
# gcc code coverage files
|
||||
*.gcda
|
||||
*.gcno
|
||||
|
||||
@@ -184,7 +184,7 @@ F: arch/arm/mach-s5pc1xx/
|
||||
F: arch/arm/cpu/armv7/s5p-common/
|
||||
|
||||
ARM SNAPDRAGON
|
||||
M: Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
|
||||
M: Ramon Fried <ramon.fried@gmail.com>
|
||||
S: Maintained
|
||||
F: arch/arm/mach-snapdragon/
|
||||
|
||||
|
||||
2
Makefile
2
Makefile
@@ -3,7 +3,7 @@
|
||||
VERSION = 2018
|
||||
PATCHLEVEL = 07
|
||||
SUBLEVEL =
|
||||
EXTRAVERSION = -rc1
|
||||
EXTRAVERSION = -rc2
|
||||
NAME =
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
||||
1
arch/arc/dts/.gitignore
vendored
1
arch/arc/dts/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
*.dtb
|
||||
@@ -1034,6 +1034,19 @@ config TARGET_LS1012A2G5RDB
|
||||
development platform that supports the QorIQ LS1012A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
config TARGET_LS1012AFRWY
|
||||
bool "Support ls1012afrwy"
|
||||
select ARCH_LS1012A
|
||||
select BOARD_LATE_INIT
|
||||
select ARM64
|
||||
imply SCSI
|
||||
imply SCSI_AHCI
|
||||
help
|
||||
Support for Freescale LS1012AFRWY platform.
|
||||
The LS1012A FRWY board (FRWY) is a high-performance
|
||||
development platform that supports the QorIQ LS1012A
|
||||
Layerscape Architecture processor.
|
||||
|
||||
config TARGET_LS1012AFRDM
|
||||
bool "Support ls1012afrdm"
|
||||
select ARCH_LS1012A
|
||||
|
||||
@@ -91,6 +91,7 @@ config PSCI_RESET
|
||||
!TARGET_LS1088ARDB && !TARGET_LS1088AQDS && \
|
||||
!TARGET_LS1012ARDB && !TARGET_LS1012AFRDM && \
|
||||
!TARGET_LS1012A2G5RDB && !TARGET_LS1012AQDS && \
|
||||
!TARGET_LS1012AFRWY && \
|
||||
!TARGET_LS1043ARDB && !TARGET_LS1043AQDS && \
|
||||
!TARGET_LS1046ARDB && !TARGET_LS1046AQDS && \
|
||||
!TARGET_LS2081ARDB && \
|
||||
|
||||
@@ -261,40 +261,6 @@ config SYS_LS_PPA_FW_IN_NAND
|
||||
|
||||
endchoice
|
||||
|
||||
config SYS_LS_PPA_FW_ADDR
|
||||
hex "Address of PPA firmware loading from"
|
||||
depends on FSL_LS_PPA
|
||||
default 0x20400000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT && ARCH_LS2080A
|
||||
default 0x40400000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT
|
||||
default 0x580400000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A
|
||||
default 0x20400000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1088A
|
||||
default 0x60400000 if SYS_LS_PPA_FW_IN_XIP
|
||||
default 0x400000 if SYS_LS_PPA_FW_IN_MMC
|
||||
default 0x400000 if SYS_LS_PPA_FW_IN_NAND
|
||||
|
||||
help
|
||||
If the PPA firmware locate at XIP flash, such as NOR or
|
||||
QSPI flash, this address is a directly memory-mapped.
|
||||
If it is in a serial accessed flash, such as NAND and SD
|
||||
card, it is a byte offset.
|
||||
|
||||
config SYS_LS_PPA_ESBC_ADDR
|
||||
hex "hdr address of PPA firmware loading from"
|
||||
depends on FSL_LS_PPA && CHAIN_OF_TRUST
|
||||
default 0x60680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1043A
|
||||
default 0x40680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1046A
|
||||
default 0x40680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1012A
|
||||
default 0x20680000 if SYS_LS_PPA_FW_IN_XIP && QSPI_BOOT && ARCH_LS2080A
|
||||
default 0x580680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS2080A
|
||||
default 0x20680000 if SYS_LS_PPA_FW_IN_XIP && ARCH_LS1088A
|
||||
default 0x680000 if SYS_LS_PPA_FW_IN_MMC
|
||||
default 0x680000 if SYS_LS_PPA_FW_IN_NAND
|
||||
help
|
||||
If the PPA header firmware locate at XIP flash, such as NOR or
|
||||
QSPI flash, this address is a directly memory-mapped.
|
||||
If it is in a serial accessed flash, such as NAND and SD
|
||||
card, it is a byte offset.
|
||||
|
||||
config LS_PPA_ESBC_HDR_SIZE
|
||||
hex "Length of PPA ESBC header"
|
||||
depends on FSL_LS_PPA && CHAIN_OF_TRUST && !SYS_LS_PPA_FW_IN_XIP
|
||||
|
||||
@@ -191,14 +191,14 @@ int is_core_online(u64 cpu_id)
|
||||
return table[SPIN_TABLE_ELEM_STATUS_IDX] == 1;
|
||||
}
|
||||
|
||||
int cpu_reset(int nr)
|
||||
int cpu_reset(u32 nr)
|
||||
{
|
||||
puts("Feature is not implemented.\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_disable(int nr)
|
||||
int cpu_disable(u32 nr)
|
||||
{
|
||||
puts("Feature is not implemented.\n");
|
||||
|
||||
@@ -231,7 +231,7 @@ static int core_to_pos(int nr)
|
||||
return i;
|
||||
}
|
||||
|
||||
int cpu_status(int nr)
|
||||
int cpu_status(u32 nr)
|
||||
{
|
||||
u64 *table;
|
||||
int pos;
|
||||
@@ -257,7 +257,7 @@ int cpu_status(int nr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_release(int nr, int argc, char * const argv[])
|
||||
int cpu_release(u32 nr, int argc, char * const argv[])
|
||||
{
|
||||
u64 boot_addr;
|
||||
u64 *table = (u64 *)get_spin_tbl_addr();
|
||||
|
||||
@@ -143,15 +143,12 @@ void __efi_runtime EFIAPI efi_reset_system(
|
||||
efi_status_t reset_status,
|
||||
unsigned long data_size, void *reset_data)
|
||||
{
|
||||
switch (reset_type) {
|
||||
case EFI_RESET_COLD:
|
||||
case EFI_RESET_WARM:
|
||||
case EFI_RESET_PLATFORM_SPECIFIC:
|
||||
if (reset_type == EFI_RESET_COLD ||
|
||||
reset_type == EFI_RESET_WARM ||
|
||||
reset_type == EFI_RESET_PLATFORM_SPECIFIC) {
|
||||
psci_system_reset();
|
||||
break;
|
||||
case EFI_RESET_SHUTDOWN:
|
||||
} else if (reset_type == EFI_RESET_SHUTDOWN) {
|
||||
psci_system_off();
|
||||
break;
|
||||
}
|
||||
|
||||
while (1) { }
|
||||
|
||||
@@ -212,8 +212,12 @@ static int zynqmp_mmio_rawwrite(const u32 address,
|
||||
{
|
||||
u32 data;
|
||||
u32 value_local = value;
|
||||
int ret;
|
||||
|
||||
ret = zynqmp_mmio_read(address, &data);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
zynqmp_mmio_read(address, &data);
|
||||
data &= ~mask;
|
||||
value_local &= mask;
|
||||
value_local |= data;
|
||||
|
||||
@@ -45,7 +45,7 @@ int is_core_valid(unsigned int core)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_reset(int nr)
|
||||
int cpu_reset(u32 nr)
|
||||
{
|
||||
puts("Feature is not implemented.\n");
|
||||
return 0;
|
||||
@@ -131,7 +131,7 @@ static void enable_clock_r5(void)
|
||||
udelay(0x500);
|
||||
}
|
||||
|
||||
int cpu_disable(int nr)
|
||||
int cpu_disable(u32 nr)
|
||||
{
|
||||
if (nr >= ZYNQMP_CORE_APU0 && nr <= ZYNQMP_CORE_APU3) {
|
||||
u32 val = readl(&crfapb_base->rst_fpd_apu);
|
||||
@@ -144,7 +144,7 @@ int cpu_disable(int nr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_status(int nr)
|
||||
int cpu_status(u32 nr)
|
||||
{
|
||||
if (nr >= ZYNQMP_CORE_APU0 && nr <= ZYNQMP_CORE_APU3) {
|
||||
u32 addr_low = readl(((u8 *)&apu_base->rvbar_addr0_l) + nr * 8);
|
||||
@@ -220,7 +220,7 @@ void initialize_tcm(bool mode)
|
||||
}
|
||||
}
|
||||
|
||||
int cpu_release(int nr, int argc, char * const argv[])
|
||||
int cpu_release(u32 nr, int argc, char * const argv[])
|
||||
{
|
||||
if (nr >= ZYNQMP_CORE_APU0 && nr <= ZYNQMP_CORE_APU3) {
|
||||
u64 boot_addr = simple_strtoull(argv[0], NULL, 16);
|
||||
|
||||
1
arch/arm/dts/.gitignore
vendored
1
arch/arm/dts/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
*.dtb
|
||||
@@ -91,6 +91,7 @@ dtb-$(CONFIG_ARCH_MVEBU) += \
|
||||
armada-375-db.dtb \
|
||||
armada-388-clearfog.dtb \
|
||||
armada-388-gp.dtb \
|
||||
armada-388-helios4.dtb \
|
||||
armada-385-amc.dtb \
|
||||
armada-7040-db.dtb \
|
||||
armada-7040-db-nand.dtb \
|
||||
@@ -146,7 +147,8 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
|
||||
zynq-zturn.dtb \
|
||||
zynq-zybo.dtb
|
||||
dtb-$(CONFIG_ARCH_ZYNQMP) += \
|
||||
zynqmp-mini-emmc.dtb \
|
||||
zynqmp-mini-emmc0.dtb \
|
||||
zynqmp-mini-emmc1.dtb \
|
||||
zynqmp-mini-nand.dtb \
|
||||
zynqmp-zcu100-revC.dtb \
|
||||
zynqmp-zcu102-revA.dtb \
|
||||
@@ -228,7 +230,8 @@ dtb-$(CONFIG_FSL_LSCH2) += fsl-ls1043a-qds-duart.dtb \
|
||||
fsl-ls1012a-qds.dtb \
|
||||
fsl-ls1012a-rdb.dtb \
|
||||
fsl-ls1012a-2g5rdb.dtb \
|
||||
fsl-ls1012a-frdm.dtb
|
||||
fsl-ls1012a-frdm.dtb \
|
||||
fsl-ls1012a-frwy.dtb
|
||||
|
||||
dtb-$(CONFIG_TARGET_DRAGONBOARD410C) += dragonboard410c.dtb
|
||||
dtb-$(CONFIG_TARGET_DRAGONBOARD820C) += dragonboard820c.dtb
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
interrupt-names = "mc";
|
||||
};
|
||||
|
||||
davinci_emac: ethernet@0x5c000000 {
|
||||
davinci_emac: ethernet@5c000000 {
|
||||
compatible = "ti,am3517-emac";
|
||||
ti,hwmods = "davinci_emac";
|
||||
status = "disabled";
|
||||
@@ -41,7 +41,7 @@
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
};
|
||||
|
||||
davinci_mdio: ethernet@0x5c030000 {
|
||||
davinci_mdio: ethernet@5c030000 {
|
||||
compatible = "ti,davinci_mdio";
|
||||
ti,hwmods = "davinci_mdio";
|
||||
status = "disabled";
|
||||
@@ -99,9 +99,5 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
&smartreflex_mpu_iva {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/include/ "am35xx-clocks.dtsi"
|
||||
/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
|
||||
|
||||
@@ -62,6 +62,8 @@
|
||||
ethernet2 = ð1;
|
||||
ethernet3 = ð2;
|
||||
spi1 = &spi1;
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
|
||||
314
arch/arm/dts/armada-388-helios4.dts
Normal file
314
arch/arm/dts/armada-388-helios4.dts
Normal file
@@ -0,0 +1,314 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/*
|
||||
* Device Tree file for Helios4
|
||||
* based on SolidRun Clearfog revision A1 rev 2.0 (88F6828)
|
||||
*
|
||||
* Copyright (C) 2017 Aditya Prayoga <aditya@kobol.io>
|
||||
*
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "armada-388.dtsi"
|
||||
#include "armada-38x-solidrun-microsom.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Helios4";
|
||||
compatible = "kobol,helios4", "marvell,armada388",
|
||||
"marvell,armada385", "marvell,armada380";
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x80000000>; /* 2 GB */
|
||||
};
|
||||
|
||||
aliases {
|
||||
/* So that mvebu u-boot can update the MAC addresses */
|
||||
ethernet1 = ð0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
reg_12v: regulator-12v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "power_brick_12V";
|
||||
regulator-min-microvolt = <12000000>;
|
||||
regulator-max-microvolt = <12000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator-3p3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "3P3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
vin-supply = <®_12v>;
|
||||
};
|
||||
|
||||
reg_5p0v_hdd: regulator-5v-hdd {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "5V_HDD";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-always-on;
|
||||
vin-supply = <®_12v>;
|
||||
};
|
||||
|
||||
reg_5p0v_usb: regulator-5v-usb {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "USB-PWR";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
enable-active-high;
|
||||
gpio = <&expander0 6 GPIO_ACTIVE_HIGH>;
|
||||
vin-supply = <®_12v>;
|
||||
};
|
||||
|
||||
system-leds {
|
||||
compatible = "gpio-leds";
|
||||
status-led {
|
||||
label = "helios4:green:status";
|
||||
gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
default-state = "on";
|
||||
};
|
||||
|
||||
fault-led {
|
||||
label = "helios4:red:fault";
|
||||
gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
|
||||
default-state = "keep";
|
||||
};
|
||||
};
|
||||
|
||||
io-leds {
|
||||
compatible = "gpio-leds";
|
||||
sata1-led {
|
||||
label = "helios4:green:ata1";
|
||||
gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "ata1";
|
||||
default-state = "off";
|
||||
};
|
||||
sata2-led {
|
||||
label = "helios4:green:ata2";
|
||||
gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "ata2";
|
||||
default-state = "off";
|
||||
};
|
||||
sata3-led {
|
||||
label = "helios4:green:ata3";
|
||||
gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "ata3";
|
||||
default-state = "off";
|
||||
};
|
||||
sata4-led {
|
||||
label = "helios4:green:ata4";
|
||||
gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "ata4";
|
||||
default-state = "off";
|
||||
};
|
||||
usb-led {
|
||||
label = "helios4:green:usb";
|
||||
gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
|
||||
linux,default-trigger = "usb-host";
|
||||
default-state = "off";
|
||||
};
|
||||
};
|
||||
|
||||
fan1: j10-pwm {
|
||||
compatible = "pwm-fan";
|
||||
pwms = <&gpio1 9 40000>; /* Target freq:25 kHz */
|
||||
};
|
||||
|
||||
fan2: j17-pwm {
|
||||
compatible = "pwm-fan";
|
||||
pwms = <&gpio1 23 40000>; /* Target freq:25 kHz */
|
||||
};
|
||||
|
||||
usb2_phy: usb2-phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
vbus-regulator = <®_5p0v_usb>;
|
||||
};
|
||||
|
||||
usb3_phy: usb3-phy {
|
||||
compatible = "usb-nop-xceiv";
|
||||
};
|
||||
|
||||
soc {
|
||||
internal-regs {
|
||||
i2c@11000 {
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
/*
|
||||
* PCA9655 GPIO expander, up to 1MHz clock.
|
||||
* 0-Board Revision bit 0 #
|
||||
* 1-Board Revision bit 1 #
|
||||
* 5-USB3 overcurrent
|
||||
* 6-USB3 power
|
||||
*/
|
||||
expander0: gpio-expander@20 {
|
||||
/*
|
||||
* This is how it should be:
|
||||
* compatible = "onnn,pca9655",
|
||||
* "nxp,pca9555";
|
||||
* but you can't do this because of
|
||||
* the way I2C works.
|
||||
*/
|
||||
compatible = "nxp,pca9555";
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
reg = <0x20>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pca0_pins>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
board_rev_bit_0 {
|
||||
gpio-hog;
|
||||
gpios = <0 GPIO_ACTIVE_LOW>;
|
||||
input;
|
||||
line-name = "board-rev-0";
|
||||
};
|
||||
board_rev_bit_1 {
|
||||
gpio-hog;
|
||||
gpios = <1 GPIO_ACTIVE_LOW>;
|
||||
input;
|
||||
line-name = "board-rev-1";
|
||||
};
|
||||
usb3_ilimit {
|
||||
gpio-hog;
|
||||
gpios = <5 GPIO_ACTIVE_HIGH>;
|
||||
input;
|
||||
line-name =
|
||||
"usb-overcurrent-status";
|
||||
};
|
||||
};
|
||||
|
||||
temp_sensor: temp@4c {
|
||||
compatible = "ti,lm75";
|
||||
reg = <0x4c>;
|
||||
vcc-supply = <®_3p3v>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@11100 {
|
||||
/*
|
||||
* External I2C Bus for user peripheral
|
||||
*/
|
||||
clock-frequency = <400000>;
|
||||
pinctrl-0 = <&helios_i2c1_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sata@a8000 {
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sata0: sata-port@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
sata1: sata-port@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
sata@e0000 {
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sata2: sata-port@0 {
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
sata3: sata-port@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
spi@10680 {
|
||||
pinctrl-0 = <&spi1_pins
|
||||
µsom_spi1_cs_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sdhci@d8000 {
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
|
||||
no-1-8-v;
|
||||
pinctrl-0 = <&helios_sdhci_pins
|
||||
&helios_sdhci_cd_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
vmmc = <®_3p3v>;
|
||||
wp-inverted;
|
||||
};
|
||||
|
||||
usb@58000 {
|
||||
usb-phy = <&usb2_phy>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb3@f0000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb3@f8000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
pinctrl@18000 {
|
||||
pca0_pins: pca0-pins {
|
||||
marvell,pins = "mpp23";
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
microsom_phy0_int_pins: microsom-phy0-int-pins {
|
||||
marvell,pins = "mpp18";
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
helios_i2c1_pins: i2c1-pins {
|
||||
marvell,pins = "mpp26", "mpp27";
|
||||
marvell,function = "i2c1";
|
||||
};
|
||||
helios_sdhci_cd_pins: helios-sdhci-cd-pins {
|
||||
marvell,pins = "mpp20";
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
helios_sdhci_pins: helios-sdhci-pins {
|
||||
marvell,pins = "mpp21", "mpp28",
|
||||
"mpp37", "mpp38",
|
||||
"mpp39", "mpp40";
|
||||
marvell,function = "sd0";
|
||||
};
|
||||
helios_led_pins: helios-led-pins {
|
||||
marvell,pins = "mpp24", "mpp25",
|
||||
"mpp49", "mpp50",
|
||||
"mpp52", "mpp53",
|
||||
"mpp54";
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
helios_fan_pins: helios-fan-pins {
|
||||
marvell,pins = "mpp41", "mpp43",
|
||||
"mpp48", "mpp55";
|
||||
marvell,function = "gpio";
|
||||
};
|
||||
microsom_spi1_cs_pins: spi1-cs-pins {
|
||||
marvell,pins = "mpp59";
|
||||
marvell,function = "spi1";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
101
arch/arm/dts/armada-38x-solidrun-microsom.dtsi
Normal file
101
arch/arm/dts/armada-38x-solidrun-microsom.dtsi
Normal file
@@ -0,0 +1,101 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
|
||||
/*
|
||||
* Device Tree file for SolidRun Armada 38x Microsom
|
||||
*
|
||||
* Copyright (C) 2015 Russell King
|
||||
*
|
||||
* This board is in development; the contents of this file work with
|
||||
* the A1 rev 2.0 of the board, which does not represent final
|
||||
* production board. Things will change, don't expect this file to
|
||||
* remain compatible info the future.
|
||||
*/
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x10000000>; /* 256 MB */
|
||||
};
|
||||
|
||||
soc {
|
||||
ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
|
||||
MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
|
||||
MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
|
||||
MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
|
||||
MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
|
||||
|
||||
internal-regs {
|
||||
rtc@a3800 {
|
||||
/*
|
||||
* If the rtc doesn't work, run "date reset"
|
||||
* twice in u-boot.
|
||||
*/
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ð0 {
|
||||
/* ethernet@70000 */
|
||||
mac-address = [00 50 43 02 02 01];
|
||||
pinctrl-0 = <&ge0_rgmii_pins>;
|
||||
pinctrl-names = "default";
|
||||
phy = <&phy_dedicated>;
|
||||
phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
/*
|
||||
* Add the phy clock here, so the phy can be accessed to read its
|
||||
* IDs prior to binding with the driver.
|
||||
*/
|
||||
pinctrl-0 = <&mdio_pins µsom_phy_clk_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
phy_dedicated: ethernet-phy@0 {
|
||||
/*
|
||||
* Annoyingly, the marvell phy driver configures the LED
|
||||
* register, rather than preserving reset-loaded setting.
|
||||
* We undo that rubbish here.
|
||||
*/
|
||||
marvell,reg-init = <3 16 0 0x101e>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
microsom_phy_clk_pins: microsom-phy-clk-pins {
|
||||
marvell,pins = "mpp45";
|
||||
marvell,function = "ref";
|
||||
};
|
||||
/* Optional eMMC */
|
||||
microsom_sdhci_pins: microsom-sdhci-pins {
|
||||
marvell,pins = "mpp21", "mpp28", "mpp37",
|
||||
"mpp38", "mpp39", "mpp40";
|
||||
marvell,function = "sd0";
|
||||
};
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
/* The microsom has an optional W25Q32 on board, connected to CS0 */
|
||||
pinctrl-0 = <&spi1_pins>;
|
||||
|
||||
w25q32: spi-flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "w25q32", "jedec,spi-nor";
|
||||
reg = <0>; /* Chip select 0 */
|
||||
spi-max-frequency = <3000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-0 = <&uart0_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
@@ -6,10 +6,6 @@
|
||||
*/
|
||||
|
||||
/ {
|
||||
config {
|
||||
u-boot,mmc-env-partition = "boot";
|
||||
};
|
||||
|
||||
soc {
|
||||
u-boot,dm-pre-reloc;
|
||||
|
||||
@@ -21,14 +17,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
qcom,gcc@1800000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
serial@78b0000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
qcom,gcc@1800000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
serial@78b0000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
/ {
|
||||
compatible = "samsung,exynos5";
|
||||
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
combiner: interrupt-controller@10440000 {
|
||||
compatible = "samsung,exynos4210-combiner";
|
||||
#interrupt-cells = <2>;
|
||||
@@ -44,33 +46,6 @@
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
combiner: interrupt-controller@10440000 {
|
||||
compatible = "samsung,exynos4210-combiner";
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
samsung,combiner-nr = <32>;
|
||||
reg = <0x10440000 0x1000>;
|
||||
interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
|
||||
<0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
|
||||
<0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
|
||||
<0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>,
|
||||
<0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>,
|
||||
<0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>,
|
||||
<0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>,
|
||||
<0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@10481000 {
|
||||
compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0x10481000 0x1000>,
|
||||
<0x10482000 0x1000>,
|
||||
<0x10484000 0x2000>,
|
||||
<0x10486000 0x2000>;
|
||||
interrupts = <1 9 0xf04>;
|
||||
};
|
||||
|
||||
i2c_0: i2c@12C60000 {
|
||||
compatible = "samsung,s3c2440-i2c";
|
||||
reg = <0x12C60000 0x100>;
|
||||
|
||||
43
arch/arm/dts/fsl-ls1012a-frwy.dts
Normal file
43
arch/arm/dts/fsl-ls1012a-frwy.dts
Normal file
@@ -0,0 +1,43 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+ OR X11
|
||||
/*
|
||||
* NXP ls1012a FRWY board device tree source
|
||||
*
|
||||
* Copyright 2018 NXP
|
||||
*
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "fsl-ls1012a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "FRWY-LS1012A Board";
|
||||
|
||||
aliases {
|
||||
spi0 = &qspi;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = &duart0;
|
||||
};
|
||||
};
|
||||
|
||||
&qspi {
|
||||
bus-num = <0>;
|
||||
status = "okay";
|
||||
|
||||
qflash0: w25q16dw@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "spi-flash";
|
||||
spi-max-frequency = <20000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&duart0 {
|
||||
status = "okay";
|
||||
};
|
||||
133
arch/arm/dts/kirkwood-atl-sbx81lifkw.dts
Normal file
133
arch/arm/dts/kirkwood-atl-sbx81lifkw.dts
Normal file
@@ -0,0 +1,133 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/dts-v1/;
|
||||
|
||||
#include "kirkwood.dtsi"
|
||||
#include "kirkwood-6281.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Allied Telesis SBx81LIFKW Board";
|
||||
compatible = "atl,SBx81LIFKW", "marvell,kirkwood-88f6281",
|
||||
"marvell,kirkwood";
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <0x00000000 0x08000000>; /* 128 MB */
|
||||
};
|
||||
|
||||
chosen {
|
||||
bootargs = "console=ttyS0,115200n8 earlyprintk";
|
||||
stdout-path = &uart0;
|
||||
};
|
||||
|
||||
aliases {
|
||||
ethernet0 = ð0;
|
||||
i2c0 = &i2c0;
|
||||
spi0 = &spi0;
|
||||
};
|
||||
|
||||
dsa {
|
||||
compatible = "marvell,dsa";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
dsa,ethernet = <ð0>;
|
||||
dsa,mii-bus = <&mdio>;
|
||||
status = "okay";
|
||||
|
||||
switch@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1 0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "internal0";
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "internal1";
|
||||
};
|
||||
port@8 {
|
||||
reg = <8>;
|
||||
label = "internal8";
|
||||
phy-mode = "rgmii-id";
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
port@9 {
|
||||
reg = <9>;
|
||||
label = "internal9";
|
||||
phy-mode = "rgmii-id";
|
||||
fixed-link {
|
||||
speed = <1000>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
port@10 {
|
||||
reg = <10>;
|
||||
label = "cpu";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "st,m25p128", "jedec,spi-nor", "spi-flash";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
mode = <0>;
|
||||
|
||||
partition@u-boot {
|
||||
reg = <0x00000000 0x00c00000>;
|
||||
label = "u-boot";
|
||||
};
|
||||
partition@u-boot-env {
|
||||
reg = <0x00c00000 0x00040000>;
|
||||
label = "u-boot-env";
|
||||
};
|
||||
partition@unused {
|
||||
reg = <0x00100000 0x00f00000>;
|
||||
label = "unused";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
eeprom@52 {
|
||||
compatible = "atmel,24c04";
|
||||
reg = <0x52>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ð0 {
|
||||
status = "okay";
|
||||
|
||||
ethernet0-port@0 {
|
||||
speed = <1000>;
|
||||
duplex = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&pciec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -8,6 +8,10 @@
|
||||
stdout-path = &uart0;
|
||||
};
|
||||
|
||||
aliases {
|
||||
spi0 = &spi0;
|
||||
};
|
||||
|
||||
ocp@f1000000 {
|
||||
pinctrl: pin-controller@10000 {
|
||||
pmx_power_hdd: pmx-power-hdd {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2016 Andreas Färber
|
||||
*
|
||||
@@ -6,44 +7,6 @@
|
||||
*
|
||||
* Copyright (c) 2016 Endless Computers, Inc.
|
||||
* Author: Carlo Caione <carlo@endlessm.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
@@ -169,6 +132,7 @@
|
||||
compatible = "amlogic,meson-gx-efuse", "amlogic,meson-gxbb-efuse";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
read-only;
|
||||
|
||||
sn: sn@14 {
|
||||
reg = <0x14 0x10>;
|
||||
|
||||
@@ -1,45 +1,8 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2016 Andreas Färber
|
||||
* Copyright (c) 2016 BayLibre, Inc.
|
||||
* Author: Kevin Hilman <khilman@kernel.org>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
@@ -53,6 +16,7 @@
|
||||
|
||||
aliases {
|
||||
serial0 = &uart_AO;
|
||||
ethernet0 = ðmac;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -310,7 +274,7 @@
|
||||
pinctrl-names = "default", "clk-gate";
|
||||
|
||||
bus-width = <8>;
|
||||
max-frequency = <200000000>;
|
||||
max-frequency = <100000000>;
|
||||
non-removable;
|
||||
disable-wp;
|
||||
cap-mmc-highspeed;
|
||||
|
||||
@@ -1,43 +1,6 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2016 Andreas Färber
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "meson-gx.dtsi"
|
||||
@@ -284,14 +247,17 @@
|
||||
* MALI_0 and MALI_1 muxed to a single clock by a glitch
|
||||
* free mux to safely change frequency while running.
|
||||
*/
|
||||
assigned-clocks = <&clkc CLKID_MALI_0_SEL>,
|
||||
assigned-clocks = <&clkc CLKID_GP0_PLL>,
|
||||
<&clkc CLKID_MALI_0_SEL>,
|
||||
<&clkc CLKID_MALI_0>,
|
||||
<&clkc CLKID_MALI>; /* Glitch free mux */
|
||||
assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
|
||||
assigned-clock-parents = <0>, /* Do Nothing */
|
||||
<&clkc CLKID_GP0_PLL>,
|
||||
<0>, /* Do Nothing */
|
||||
<&clkc CLKID_MALI_0>;
|
||||
assigned-clock-rates = <0>, /* Do Nothing */
|
||||
<666666666>,
|
||||
assigned-clock-rates = <744000000>,
|
||||
<0>, /* Do Nothing */
|
||||
<744000000>,
|
||||
<0>; /* Do Nothing */
|
||||
};
|
||||
};
|
||||
|
||||
@@ -29,14 +29,17 @@
|
||||
* MALI_0 and MALI_1 muxed to a single clock by a glitch
|
||||
* free mux to safely change frequency while running.
|
||||
*/
|
||||
assigned-clocks = <&clkc CLKID_MALI_0_SEL>,
|
||||
assigned-clocks = <&clkc CLKID_GP0_PLL>,
|
||||
<&clkc CLKID_MALI_0_SEL>,
|
||||
<&clkc CLKID_MALI_0>,
|
||||
<&clkc CLKID_MALI>; /* Glitch free mux */
|
||||
assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>,
|
||||
assigned-clock-parents = <0>, /* Do Nothing */
|
||||
<&clkc CLKID_GP0_PLL>,
|
||||
<0>, /* Do Nothing */
|
||||
<&clkc CLKID_MALI_0>;
|
||||
assigned-clock-rates = <0>, /* Do Nothing */
|
||||
<666666666>,
|
||||
assigned-clock-rates = <744000000>,
|
||||
<0>, /* Do Nothing */
|
||||
<744000000>,
|
||||
<0>; /* Do Nothing */
|
||||
};
|
||||
};
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
aliases {
|
||||
serial2 = &uart_AO_B;
|
||||
ethernet0 = ðmac;
|
||||
};
|
||||
|
||||
gpio-keys-polled {
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
|
||||
aliases {
|
||||
serial0 = &uart_AO;
|
||||
ethernet0 = ðmac;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -270,3 +271,15 @@
|
||||
pinctrl-0 = <&uart_ao_a_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2_phy0 {
|
||||
/*
|
||||
* even though the schematics don't show it:
|
||||
* HDMI_5V is also used as supply for the USB VBUS.
|
||||
*/
|
||||
phy-supply = <&hdmi_5v>;
|
||||
};
|
||||
|
||||
@@ -1,44 +1,7 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2016 Endless Computers, Inc.
|
||||
* Author: Carlo Caione <carlo@endlessm.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
aliases {
|
||||
serial0 = &uart_AO;
|
||||
serial1 = &uart_A;
|
||||
ethernet0 = ðmac;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -184,3 +185,7 @@
|
||||
pinctrl-0 = <&uart_ao_a_pins>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -1,44 +1,7 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2016 Endless Computers, Inc.
|
||||
* Author: Carlo Caione <carlo@endlessm.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "meson-gxl.dtsi"
|
||||
|
||||
@@ -1,44 +1,7 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2016 Endless Computers, Inc.
|
||||
* Author: Carlo Caione <carlo@endlessm.com>
|
||||
*
|
||||
* This file is dual-licensed: you can use it either under the terms
|
||||
* of the GPL or the X11 license, at your option. Note that this dual
|
||||
* licensing only applies to this file, and not this project as a
|
||||
* whole.
|
||||
*
|
||||
* a) This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* Or, alternatively,
|
||||
*
|
||||
* b) Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use,
|
||||
* copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the
|
||||
* Software is furnished to do so, subject to the following
|
||||
* conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "meson-gx.dtsi"
|
||||
@@ -57,6 +20,67 @@
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
usb0: usb@c9000000 {
|
||||
status = "disabled";
|
||||
compatible = "amlogic,meson-gxl-dwc3";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
clocks = <&clkc CLKID_USB>;
|
||||
clock-names = "usb_general";
|
||||
resets = <&reset RESET_USB_OTG>;
|
||||
reset-names = "usb_otg";
|
||||
|
||||
dwc3: dwc3@c9000000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0xc9000000 0x0 0x100000>;
|
||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "host";
|
||||
maximum-speed = "high-speed";
|
||||
snps,dis_u2_susphy_quirk;
|
||||
phys = <&usb3_phy>, <&usb2_phy0>, <&usb2_phy1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&apb {
|
||||
usb2_phy0: phy@78000 {
|
||||
compatible = "amlogic,meson-gxl-usb2-phy";
|
||||
#phy-cells = <0>;
|
||||
reg = <0x0 0x78000 0x0 0x20>;
|
||||
clocks = <&clkc CLKID_USB>;
|
||||
clock-names = "phy";
|
||||
resets = <&reset RESET_USB_OTG>;
|
||||
reset-names = "phy";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb2_phy1: phy@78020 {
|
||||
compatible = "amlogic,meson-gxl-usb2-phy";
|
||||
#phy-cells = <0>;
|
||||
reg = <0x0 0x78020 0x0 0x20>;
|
||||
clocks = <&clkc CLKID_USB>;
|
||||
clock-names = "phy";
|
||||
resets = <&reset RESET_USB_OTG>;
|
||||
reset-names = "phy";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb3_phy: phy@78080 {
|
||||
compatible = "amlogic,meson-gxl-usb3-phy";
|
||||
#phy-cells = <0>;
|
||||
reg = <0x0 0x78080 0x0 0x20>;
|
||||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clkc CLKID_USB>, <&clkc_AO CLKID_AO_CEC_32K>;
|
||||
clock-names = "phy", "peripheral";
|
||||
resets = <&reset RESET_USB_OTG>, <&reset RESET_USB_OTG>;
|
||||
reset-names = "phy", "peripheral";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
ðmac {
|
||||
|
||||
@@ -48,8 +48,11 @@
|
||||
serial0 = &scif0;
|
||||
serial1 = &scifa1;
|
||||
i2c8 = &gpioi2c1;
|
||||
i2c9 = &gpioi2c2;
|
||||
i2c10 = &i2cexio0;
|
||||
i2c11 = &i2cexio1;
|
||||
i2c12 = &i2chdmi;
|
||||
i2c13 = &i2cpwr;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -241,6 +244,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
cec_clock: cec-clock {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
|
||||
hdmi-out {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
@@ -269,9 +278,18 @@
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
gpios = <&gpio1 17 GPIO_ACTIVE_HIGH /* sda */
|
||||
&gpio1 16 GPIO_ACTIVE_HIGH /* scl */
|
||||
>;
|
||||
scl-gpios = <&gpio1 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio1 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
gpioi2c2: i2c-9 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
scl-gpios = <&gpio5 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio5 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
@@ -306,6 +324,138 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
/*
|
||||
* IIC2 and I2C2 may be switched using pinmux.
|
||||
* A fallback to GPIO is also provided.
|
||||
*/
|
||||
i2chdmi: i2c-12 {
|
||||
compatible = "i2c-demux-pinctrl";
|
||||
i2c-parent = <&iic2>, <&i2c2>, <&gpioi2c2>;
|
||||
i2c-bus-name = "i2c-hdmi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ak4643: codec@12 {
|
||||
compatible = "asahi-kasei,ak4643";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin1>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin1ep0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&cec_clock>;
|
||||
clock-names = "cec";
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&lvds0_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi-in@4c {
|
||||
compatible = "adi,adv7612";
|
||||
reg = <0x4c>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
|
||||
default-input = <0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7612_in: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
adv7612_out: endpoint {
|
||||
remote-endpoint = <&vin0ep2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* IIC3 and I2C3 may be switched using pinmux.
|
||||
* IIC3/I2C3 does not appear to support fallback to GPIO.
|
||||
*/
|
||||
i2cpwr: i2c-13 {
|
||||
compatible = "i2c-demux-pinctrl";
|
||||
i2c-parent = <&iic3>, <&i2c3>;
|
||||
i2c-bus-name = "i2c-pwr";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pmic@58 {
|
||||
compatible = "dlg,da9063";
|
||||
reg = <0x58>;
|
||||
interrupt-parent = <&irqc0>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
|
||||
rtc {
|
||||
compatible = "dlg,da9063-rtc";
|
||||
};
|
||||
|
||||
wdt {
|
||||
compatible = "dlg,da9063-watchdog";
|
||||
};
|
||||
};
|
||||
|
||||
vdd_dvfs: regulator@68 {
|
||||
compatible = "dlg,da9210";
|
||||
reg = <0x68>;
|
||||
interrupt-parent = <&irqc0>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&du {
|
||||
@@ -314,10 +464,8 @@
|
||||
status = "okay";
|
||||
|
||||
clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 722>,
|
||||
<&cpg CPG_MOD 726>, <&cpg CPG_MOD 725>,
|
||||
<&x13_clk>, <&x2_clk>;
|
||||
clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1",
|
||||
"dclkin.0", "dclkin.1";
|
||||
clock-names = "du.0", "du.1", "du.2", "dclkin.0", "dclkin.1";
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
@@ -325,12 +473,26 @@
|
||||
remote-endpoint = <&adv7123_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lvds0 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
endpoint {
|
||||
remote-endpoint = <&adv7511_in>;
|
||||
};
|
||||
};
|
||||
port@2 {
|
||||
};
|
||||
};
|
||||
|
||||
&lvds1 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
lvds_connector: endpoint {
|
||||
};
|
||||
};
|
||||
@@ -435,11 +597,21 @@
|
||||
function = "iic1";
|
||||
};
|
||||
|
||||
i2c2_pins: i2c2 {
|
||||
groups = "i2c2";
|
||||
function = "i2c2";
|
||||
};
|
||||
|
||||
iic2_pins: iic2 {
|
||||
groups = "iic2";
|
||||
function = "iic2";
|
||||
};
|
||||
|
||||
i2c3_pins: i2c3 {
|
||||
groups = "i2c3";
|
||||
function = "i2c3";
|
||||
};
|
||||
|
||||
iic3_pins: iic3 {
|
||||
groups = "iic3";
|
||||
function = "iic3";
|
||||
@@ -641,124 +813,28 @@
|
||||
pinctrl-names = "i2c-exio1";
|
||||
};
|
||||
|
||||
&iic2 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <&iic2_pins>;
|
||||
pinctrl-names = "default";
|
||||
&i2c2 {
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
pinctrl-names = "i2c-hdmi";
|
||||
|
||||
clock-frequency = <100000>;
|
||||
|
||||
ak4643: codec@12 {
|
||||
compatible = "asahi-kasei,ak4643";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin1>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin1ep0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_lvds0>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi-in@4c {
|
||||
compatible = "adi,adv7612";
|
||||
reg = <0x4c>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
|
||||
default-input = <0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7612_in: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
adv7612_out: endpoint {
|
||||
remote-endpoint = <&vin0ep2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&iic3 {
|
||||
pinctrl-names = "default";
|
||||
&iic2 {
|
||||
pinctrl-0 = <&iic2_pins>;
|
||||
pinctrl-names = "i2c-hdmi";
|
||||
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
pinctrl-0 = <&i2c3_pins>;
|
||||
pinctrl-names = "i2c-pwr";
|
||||
};
|
||||
|
||||
&iic3 {
|
||||
pinctrl-0 = <&iic3_pins>;
|
||||
status = "okay";
|
||||
|
||||
pmic@58 {
|
||||
compatible = "dlg,da9063";
|
||||
reg = <0x58>;
|
||||
interrupt-parent = <&irqc0>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
interrupt-controller;
|
||||
|
||||
rtc {
|
||||
compatible = "dlg,da9063-rtc";
|
||||
};
|
||||
|
||||
wdt {
|
||||
compatible = "dlg,da9063-watchdog";
|
||||
};
|
||||
};
|
||||
|
||||
vdd_dvfs: regulator@68 {
|
||||
compatible = "dlg,da9210";
|
||||
reg = <0x68>;
|
||||
interrupt-parent = <&irqc0>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
regulator-min-microvolt = <1000000>;
|
||||
regulator-max-microvolt = <1000000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
pinctrl-names = "i2c-pwr";
|
||||
};
|
||||
|
||||
&pci0 {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -48,7 +48,11 @@
|
||||
serial0 = &scif0;
|
||||
serial1 = &scif1;
|
||||
i2c9 = &gpioi2c1;
|
||||
i2c10 = &gpioi2c2;
|
||||
i2c11 = &gpioi2c4;
|
||||
i2c12 = &i2cexio1;
|
||||
i2c13 = &i2chdmi;
|
||||
i2c14 = &i2cexio4;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -275,6 +279,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
cec_clock: cec-clock {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
|
||||
hdmi-out {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
@@ -303,9 +313,28 @@
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
gpios = <&gpio7 16 GPIO_ACTIVE_HIGH /* sda */
|
||||
&gpio7 15 GPIO_ACTIVE_HIGH /* scl */
|
||||
>;
|
||||
scl-gpios = <&gpio7 15 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio7 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
gpioi2c2: i2c-10 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
gpioi2c4: i2c-11 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
@@ -320,6 +349,115 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
/*
|
||||
* A fallback to GPIO is provided for I2C2.
|
||||
*/
|
||||
i2chdmi: i2c-13 {
|
||||
compatible = "i2c-demux-pinctrl";
|
||||
i2c-parent = <&i2c2>, <&gpioi2c2>;
|
||||
i2c-bus-name = "i2c-hdmi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ak4643: codec@12 {
|
||||
compatible = "asahi-kasei,ak4643";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin1>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin1ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&cec_clock>;
|
||||
clock-names = "cec";
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi-in@4c {
|
||||
compatible = "adi,adv7612";
|
||||
reg = <0x4c>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
default-input = <0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7612_in: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
adv7612_out: endpoint {
|
||||
remote-endpoint = <&vin0ep2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "renesas,r1ex24002", "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
|
||||
* A fallback to GPIO is provided.
|
||||
*/
|
||||
i2cexio4: i2c-14 {
|
||||
compatible = "i2c-demux-pinctrl";
|
||||
i2c-parent = <&i2c4>, <&gpioi2c4>;
|
||||
i2c-bus-name = "i2c-exio4";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&du {
|
||||
@@ -327,10 +465,9 @@
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 726>,
|
||||
clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
|
||||
<&x13_clk>, <&x2_clk>;
|
||||
clock-names = "du.0", "du.1", "lvds.0",
|
||||
"dclkin.0", "dclkin.1";
|
||||
clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
@@ -338,6 +475,13 @@
|
||||
remote-endpoint = <&adv7511_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lvds0 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
lvds_connector: endpoint {
|
||||
};
|
||||
@@ -363,6 +507,11 @@
|
||||
function = "i2c2";
|
||||
};
|
||||
|
||||
i2c4_pins: i2c4 {
|
||||
groups = "i2c4_c";
|
||||
function = "i2c4";
|
||||
};
|
||||
|
||||
du_pins: du {
|
||||
groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
|
||||
function = "du";
|
||||
@@ -613,102 +762,14 @@
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-names = "i2c-hdmi";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
};
|
||||
|
||||
ak4643: codec@12 {
|
||||
compatible = "asahi-kasei,ak4643";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin1>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin1ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cec_clock: cec-clock {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&cec_clock>;
|
||||
clock-names = "cec";
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi-in@4c {
|
||||
compatible = "adi,adv7612";
|
||||
reg = <0x4c>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
default-input = <0>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7612_in: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
adv7612_out: endpoint {
|
||||
remote-endpoint = <&vin0ep2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "renesas,24c02", "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
&i2c4 {
|
||||
pinctrl-0 = <&i2c4_pins>;
|
||||
pinctrl-names = "i2c-exio4";
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
aliases {
|
||||
serial0 = &scif0;
|
||||
i2c9 = &gpioi2c2;
|
||||
i2c10 = &i2chdmi;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -132,6 +134,78 @@
|
||||
clocks = <&x14_clk>;
|
||||
};
|
||||
};
|
||||
|
||||
gpioi2c2: i2c-9 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
/*
|
||||
* A fallback to GPIO is provided for I2C2.
|
||||
*/
|
||||
i2chdmi: i2c-10 {
|
||||
compatible = "i2c-demux-pinctrl";
|
||||
i2c-parent = <&i2c2>, <&gpioi2c2>;
|
||||
i2c-bus-name = "i2c-hdmi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ak4642: codec@12 {
|
||||
compatible = "asahi-kasei,ak4642";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin0>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin0ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
@@ -293,65 +367,8 @@
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-names = "i2c-hdmi";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
ak4642: codec@12 {
|
||||
compatible = "asahi-kasei,ak4642";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin0>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin0ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
};
|
||||
|
||||
@@ -421,15 +438,25 @@
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 726>,
|
||||
clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
|
||||
<&x3_clk>, <&x16_clk>;
|
||||
clock-names = "du.0", "du.1", "lvds.0",
|
||||
"dclkin.0", "dclkin.1";
|
||||
clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
endpoint {
|
||||
remote-endpoint = <&adv7511_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lvds0 {
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@1 {
|
||||
endpoint {
|
||||
remote-endpoint = <&adv7511_in>;
|
||||
lvds_connector: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -33,6 +33,14 @@
|
||||
vin5 = &vin5;
|
||||
};
|
||||
|
||||
/* External CAN clock */
|
||||
can_clk: can {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board. */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -66,6 +74,22 @@
|
||||
};
|
||||
};
|
||||
|
||||
/* External root clock */
|
||||
extal_clk: extal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board. */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External SCIF clock */
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board. */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&gic>;
|
||||
@@ -74,75 +98,6 @@
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
apmu@e6152000 {
|
||||
compatible = "renesas,r8a7792-apmu", "renesas,apmu";
|
||||
reg = <0 0xe6152000 0 0x188>;
|
||||
cpus = <&cpu0 &cpu1>;
|
||||
};
|
||||
|
||||
gic: interrupt-controller@f1001000 {
|
||||
compatible = "arm,gic-400";
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0 0xf1001000 0 0x1000>,
|
||||
<0 0xf1002000 0 0x2000>,
|
||||
<0 0xf1004000 0 0x2000>,
|
||||
<0 0xf1006000 0 0x2000>;
|
||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) |
|
||||
IRQ_TYPE_LEVEL_HIGH)>;
|
||||
clocks = <&cpg CPG_MOD 408>;
|
||||
clock-names = "clk";
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 408>;
|
||||
};
|
||||
|
||||
irqc: interrupt-controller@e61c0000 {
|
||||
compatible = "renesas,irqc-r8a7792", "renesas,irqc";
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
reg = <0 0xe61c0000 0 0x200>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 407>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 407>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv7-timer";
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) |
|
||||
IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) |
|
||||
IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) |
|
||||
IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) |
|
||||
IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
rst: reset-controller@e6160000 {
|
||||
compatible = "renesas,r8a7792-rst";
|
||||
reg = <0 0xe6160000 0 0x0100>;
|
||||
};
|
||||
|
||||
prr: chipid@ff000044 {
|
||||
compatible = "renesas,prr";
|
||||
reg = <0 0xff000044 0 4>;
|
||||
};
|
||||
|
||||
sysc: system-controller@e6180000 {
|
||||
compatible = "renesas,r8a7792-sysc";
|
||||
reg = <0 0xe6180000 0 0x0200>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
pfc: pin-controller@e6060000 {
|
||||
compatible = "renesas,pfc-r8a7792";
|
||||
reg = <0 0xe6060000 0 0x144>;
|
||||
};
|
||||
|
||||
gpio0: gpio@e6050000 {
|
||||
compatible = "renesas,gpio-r8a7792",
|
||||
"renesas,rcar-gen2-gpio";
|
||||
@@ -323,6 +278,155 @@
|
||||
resets = <&cpg 913>;
|
||||
};
|
||||
|
||||
pfc: pin-controller@e6060000 {
|
||||
compatible = "renesas,pfc-r8a7792";
|
||||
reg = <0 0xe6060000 0 0x144>;
|
||||
};
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
compatible = "renesas,r8a7792-cpg-mssr";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
clocks = <&extal_clk>;
|
||||
clock-names = "extal";
|
||||
#clock-cells = <2>;
|
||||
#power-domain-cells = <0>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
apmu@e6152000 {
|
||||
compatible = "renesas,r8a7792-apmu", "renesas,apmu";
|
||||
reg = <0 0xe6152000 0 0x188>;
|
||||
cpus = <&cpu0 &cpu1>;
|
||||
};
|
||||
|
||||
rst: reset-controller@e6160000 {
|
||||
compatible = "renesas,r8a7792-rst";
|
||||
reg = <0 0xe6160000 0 0x0100>;
|
||||
};
|
||||
|
||||
sysc: system-controller@e6180000 {
|
||||
compatible = "renesas,r8a7792-sysc";
|
||||
reg = <0 0xe6180000 0 0x0200>;
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
irqc: interrupt-controller@e61c0000 {
|
||||
compatible = "renesas,irqc-r8a7792", "renesas,irqc";
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
reg = <0 0xe61c0000 0 0x200>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 407>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 407>;
|
||||
};
|
||||
|
||||
icram0: sram@e63a0000 {
|
||||
compatible = "mmio-sram";
|
||||
reg = <0 0xe63a0000 0 0x12000>;
|
||||
};
|
||||
|
||||
icram1: sram@e63c0000 {
|
||||
compatible = "mmio-sram";
|
||||
reg = <0 0xe63c0000 0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0xe63c0000 0x1000>;
|
||||
|
||||
smp-sram@0 {
|
||||
compatible = "renesas,smp-sram";
|
||||
reg = <0 0x10>;
|
||||
};
|
||||
};
|
||||
|
||||
/* I2C doesn't need pinmux */
|
||||
i2c0: i2c@e6508000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6508000 0 0x40>;
|
||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 931>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 931>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@e6518000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6518000 0 0x40>;
|
||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 930>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 930>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@e6530000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6530000 0 0x40>;
|
||||
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 929>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 929>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@e6540000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6540000 0 0x40>;
|
||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 928>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 928>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c4: i2c@e6520000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6520000 0 0x40>;
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 927>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 927>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c5: i2c@e6528000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6528000 0 0x40>;
|
||||
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 925>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 925>;
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
dmac0: dma-controller@e6700000 {
|
||||
compatible = "renesas,dmac-r8a7792",
|
||||
"renesas,rcar-dmac";
|
||||
@@ -389,6 +493,35 @@
|
||||
dma-channels = <15>;
|
||||
};
|
||||
|
||||
avb: ethernet@e6800000 {
|
||||
compatible = "renesas,etheravb-r8a7792",
|
||||
"renesas,etheravb-rcar-gen2";
|
||||
reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
|
||||
interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 812>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 812>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
qspi: spi@e6b10000 {
|
||||
compatible = "renesas,qspi-r8a7792", "renesas,qspi";
|
||||
reg = <0 0xe6b10000 0 0x2c>;
|
||||
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 917>;
|
||||
dmas = <&dmac0 0x17>, <&dmac0 0x18>,
|
||||
<&dmac1 0x17>, <&dmac1 0x18>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 917>;
|
||||
num-cs = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
scif0: serial@e6e60000 {
|
||||
compatible = "renesas,scif-r8a7792",
|
||||
"renesas,rcar-gen2-scif", "renesas,scif";
|
||||
@@ -485,161 +618,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
icram0: sram@e63a0000 {
|
||||
compatible = "mmio-sram";
|
||||
reg = <0 0xe63a0000 0 0x12000>;
|
||||
};
|
||||
|
||||
icram1: sram@e63c0000 {
|
||||
compatible = "mmio-sram";
|
||||
reg = <0 0xe63c0000 0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0xe63c0000 0x1000>;
|
||||
|
||||
smp-sram@0 {
|
||||
compatible = "renesas,smp-sram";
|
||||
reg = <0 0x10>;
|
||||
};
|
||||
};
|
||||
|
||||
sdhi0: sd@ee100000 {
|
||||
compatible = "renesas,sdhi-r8a7792";
|
||||
reg = <0 0xee100000 0 0x328>;
|
||||
interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
|
||||
<&dmac1 0xcd>, <&dmac1 0xce>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
clocks = <&cpg CPG_MOD 314>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 314>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
jpu: jpeg-codec@fe980000 {
|
||||
compatible = "renesas,jpu-r8a7792",
|
||||
"renesas,rcar-gen2-jpu";
|
||||
reg = <0 0xfe980000 0 0x10300>;
|
||||
interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 106>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 106>;
|
||||
};
|
||||
|
||||
avb: ethernet@e6800000 {
|
||||
compatible = "renesas,etheravb-r8a7792",
|
||||
"renesas,etheravb-rcar-gen2";
|
||||
reg = <0 0xe6800000 0 0x800>, <0 0xee0e8000 0 0x4000>;
|
||||
interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 812>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 812>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* I2C doesn't need pinmux */
|
||||
i2c0: i2c@e6508000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6508000 0 0x40>;
|
||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 931>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 931>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@e6518000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6518000 0 0x40>;
|
||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 930>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 930>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@e6530000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6530000 0 0x40>;
|
||||
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 929>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 929>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@e6540000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6540000 0 0x40>;
|
||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 928>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 928>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c4: i2c@e6520000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6520000 0 0x40>;
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 927>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 927>;
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c5: i2c@e6528000 {
|
||||
compatible = "renesas,i2c-r8a7792",
|
||||
"renesas,rcar-gen2-i2c";
|
||||
reg = <0 0xe6528000 0 0x40>;
|
||||
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 925>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 925>;
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
qspi: spi@e6b10000 {
|
||||
compatible = "renesas,qspi-r8a7792", "renesas,qspi";
|
||||
reg = <0 0xe6b10000 0 0x2c>;
|
||||
interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 917>;
|
||||
dmas = <&dmac0 0x17>, <&dmac0 0x18>,
|
||||
<&dmac1 0x17>, <&dmac1 0x18>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 917>;
|
||||
num-cs = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
msiof0: spi@e6e20000 {
|
||||
compatible = "renesas,msiof-r8a7792",
|
||||
"renesas,rcar-gen2-msiof";
|
||||
@@ -672,34 +650,6 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
du: display@feb00000 {
|
||||
compatible = "renesas,du-r8a7792";
|
||||
reg = <0 0xfeb00000 0 0x40000>;
|
||||
reg-names = "du";
|
||||
interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 724>,
|
||||
<&cpg CPG_MOD 723>;
|
||||
clock-names = "du.0", "du.1";
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
du_out_rgb0: endpoint {
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
du_out_rgb1: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
can0: can@e6e80000 {
|
||||
compatible = "renesas,can-r8a7792",
|
||||
"renesas,rcar-gen2-can";
|
||||
@@ -792,6 +742,36 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi0: sd@ee100000 {
|
||||
compatible = "renesas,sdhi-r8a7792",
|
||||
"renesas,rcar-gen2-sdhi";
|
||||
reg = <0 0xee100000 0 0x328>;
|
||||
interrupts = <0 165 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dmas = <&dmac0 0xcd>, <&dmac0 0xce>,
|
||||
<&dmac1 0xcd>, <&dmac1 0xce>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
clocks = <&cpg CPG_MOD 314>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 314>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gic: interrupt-controller@f1001000 {
|
||||
compatible = "arm,gic-400";
|
||||
#interrupt-cells = <3>;
|
||||
interrupt-controller;
|
||||
reg = <0 0xf1001000 0 0x1000>,
|
||||
<0 0xf1002000 0 0x2000>,
|
||||
<0 0xf1004000 0 0x2000>,
|
||||
<0 0xf1006000 0 0x2000>;
|
||||
interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) |
|
||||
IRQ_TYPE_LEVEL_HIGH)>;
|
||||
clocks = <&cpg CPG_MOD 408>;
|
||||
clock-names = "clk";
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 408>;
|
||||
};
|
||||
|
||||
vsp@fe928000 {
|
||||
compatible = "renesas,vsp1";
|
||||
reg = <0 0xfe928000 0 0x8000>;
|
||||
@@ -819,38 +799,55 @@
|
||||
resets = <&cpg 127>;
|
||||
};
|
||||
|
||||
cpg: clock-controller@e6150000 {
|
||||
compatible = "renesas,r8a7792-cpg-mssr";
|
||||
reg = <0 0xe6150000 0 0x1000>;
|
||||
clocks = <&extal_clk>;
|
||||
clock-names = "extal";
|
||||
#clock-cells = <2>;
|
||||
#power-domain-cells = <0>;
|
||||
#reset-cells = <1>;
|
||||
jpu: jpeg-codec@fe980000 {
|
||||
compatible = "renesas,jpu-r8a7792",
|
||||
"renesas,rcar-gen2-jpu";
|
||||
reg = <0 0xfe980000 0 0x10300>;
|
||||
interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 106>;
|
||||
power-domains = <&sysc R8A7792_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 106>;
|
||||
};
|
||||
|
||||
du: display@feb00000 {
|
||||
compatible = "renesas,du-r8a7792";
|
||||
reg = <0 0xfeb00000 0 0x40000>;
|
||||
reg-names = "du";
|
||||
interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 724>,
|
||||
<&cpg CPG_MOD 723>;
|
||||
clock-names = "du.0", "du.1";
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
du_out_rgb0: endpoint {
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
du_out_rgb1: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
prr: chipid@ff000044 {
|
||||
compatible = "renesas,prr";
|
||||
reg = <0 0xff000044 0 4>;
|
||||
};
|
||||
};
|
||||
|
||||
/* External root clock */
|
||||
extal_clk: extal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board. */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External SCIF clock */
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board. */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External CAN clock */
|
||||
can_clk: can {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board. */
|
||||
clock-frequency = <0>;
|
||||
timer {
|
||||
compatible = "arm,armv7-timer";
|
||||
interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -45,6 +45,10 @@
|
||||
aliases {
|
||||
serial0 = &scif0;
|
||||
serial1 = &scif1;
|
||||
i2c9 = &gpioi2c2;
|
||||
i2c10 = &gpioi2c4;
|
||||
i2c11 = &i2chdmi;
|
||||
i2c12 = &i2cexio4;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -293,6 +297,146 @@
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <148500000>;
|
||||
};
|
||||
|
||||
gpioi2c2: i2c-9 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
scl-gpios = <&gpio2 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio2 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
gpioi2c4: i2c-10 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
scl-gpios = <&gpio7 13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio7 14 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
/*
|
||||
* A fallback to GPIO is provided for I2C2.
|
||||
*/
|
||||
i2chdmi: i2c-11 {
|
||||
compatible = "i2c-demux-pinctrl";
|
||||
i2c-parent = <&i2c2>, <&gpioi2c2>;
|
||||
i2c-bus-name = "i2c-hdmi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ak4643: codec@12 {
|
||||
compatible = "asahi-kasei,ak4643";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180cp";
|
||||
reg = <0x20>;
|
||||
remote = <&vin1>;
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7180_in: endpoint {
|
||||
remote-endpoint = <&composite_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
adv7180_out: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin1ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi-in@4c {
|
||||
compatible = "adi,adv7612";
|
||||
reg = <0x4c>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
default-input = <0>;
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7612_in: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
adv7612_out: endpoint {
|
||||
remote-endpoint = <&vin0ep2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "renesas,r1ex24002", "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* I2C4 is routed to EXIO connector E, pins 37 (SCL) + 39 (SDA).
|
||||
* A fallback to GPIO is provided.
|
||||
*/
|
||||
i2cexio4: i2c-12 {
|
||||
compatible = "i2c-demux-pinctrl";
|
||||
i2c-parent = <&i2c4>, <&gpioi2c4>;
|
||||
i2c-bus-name = "i2c-exio4";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&du {
|
||||
@@ -300,10 +444,9 @@
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&cpg CPG_MOD 726>,
|
||||
clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
|
||||
<&x13_clk>, <&x2_clk>;
|
||||
clock-names = "du.0", "du.1", "lvds.0",
|
||||
"dclkin.0", "dclkin.1";
|
||||
clock-names = "du.0", "du.1", "dclkin.0", "dclkin.1";
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
@@ -311,6 +454,11 @@
|
||||
remote-endpoint = <&adv7511_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lvds0 {
|
||||
ports {
|
||||
port@1 {
|
||||
lvds_connector: endpoint {
|
||||
};
|
||||
@@ -331,6 +479,11 @@
|
||||
function = "i2c2";
|
||||
};
|
||||
|
||||
i2c4_pins: i2c4 {
|
||||
groups = "i2c4_c";
|
||||
function = "i2c4";
|
||||
};
|
||||
|
||||
du_pins: du {
|
||||
groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
|
||||
function = "du";
|
||||
@@ -541,107 +694,11 @@
|
||||
|
||||
&i2c2 {
|
||||
pinctrl-0 = <&i2c2_pins>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-names = "i2c-hdmi";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <100000>;
|
||||
|
||||
ak4643: codec@12 {
|
||||
compatible = "asahi-kasei,ak4643";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180cp";
|
||||
reg = <0x20>;
|
||||
remote = <&vin1>;
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7180_in: endpoint {
|
||||
remote-endpoint = <&composite_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
adv7180_out: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin1ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi-in@4c {
|
||||
compatible = "adi,adv7612";
|
||||
reg = <0x4c>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
|
||||
default-input = <0>;
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7612_in: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
adv7612_out: endpoint {
|
||||
remote-endpoint = <&vin0ep2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "renesas,r1ex24002", "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
@@ -665,6 +722,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
pinctrl-0 = <&i2c4_pins>;
|
||||
pinctrl-names = "i2c-exio4";
|
||||
};
|
||||
|
||||
&rcar_sound {
|
||||
pinctrl-0 = <&sound_pins &sound_clk_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,9 @@
|
||||
|
||||
aliases {
|
||||
serial0 = &scif2;
|
||||
i2c9 = &gpioi2c1;
|
||||
i2c10 = &gpioi2c4;
|
||||
i2c11 = &i2chdmi;
|
||||
i2c12 = &i2cexio4;
|
||||
};
|
||||
|
||||
@@ -135,17 +137,49 @@
|
||||
clock-frequency = <148500000>;
|
||||
};
|
||||
|
||||
gpioi2c1: i2c-9 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
scl-gpios = <&gpio4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
};
|
||||
|
||||
gpioi2c4: i2c-10 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
gpios = <&gpio4 9 GPIO_ACTIVE_HIGH /* sda */
|
||||
&gpio4 8 GPIO_ACTIVE_HIGH /* scl */
|
||||
>;
|
||||
scl-gpios = <&gpio4 8 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio4 9 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
/*
|
||||
* A fallback to GPIO is provided for I2C1.
|
||||
*/
|
||||
i2chdmi: i2c-11 {
|
||||
compatible = "i2c-demux-pinctrl";
|
||||
i2c-parent = <&i2c1>, <&gpioi2c1>;
|
||||
i2c-bus-name = "i2c-hdmi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin0>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin0ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* I2C4 is routed to EXIO connector B, pins 73 (SCL) + 74 (SDA).
|
||||
* A fallback to GPIO is provided.
|
||||
@@ -322,23 +356,9 @@
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-names = "i2c-hdmi";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin0>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin0ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
/dts-v1/;
|
||||
#include "r8a7794.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "SILK";
|
||||
@@ -28,6 +29,8 @@
|
||||
|
||||
aliases {
|
||||
serial0 = &scif2;
|
||||
i2c9 = &gpioi2c1;
|
||||
i2c10 = &i2chdmi;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -40,6 +43,60 @@
|
||||
reg = <0 0x40000000 0 0x40000000>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
key-3 {
|
||||
gpios = <&gpio5 10 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_3>;
|
||||
label = "SW3";
|
||||
wakeup-source;
|
||||
debounce-interval = <20>;
|
||||
};
|
||||
key-4 {
|
||||
gpios = <&gpio5 11 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_4>;
|
||||
label = "SW4";
|
||||
wakeup-source;
|
||||
debounce-interval = <20>;
|
||||
};
|
||||
key-6 {
|
||||
gpios = <&gpio5 12 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_6>;
|
||||
label = "SW6";
|
||||
wakeup-source;
|
||||
debounce-interval = <20>;
|
||||
};
|
||||
key-a {
|
||||
gpios = <&gpio3 9 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_A>;
|
||||
label = "SW12-1";
|
||||
wakeup-source;
|
||||
debounce-interval = <20>;
|
||||
};
|
||||
key-b {
|
||||
gpios = <&gpio3 10 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_B>;
|
||||
label = "SW12-2";
|
||||
wakeup-source;
|
||||
debounce-interval = <20>;
|
||||
};
|
||||
key-c {
|
||||
gpios = <&gpio3 11 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_C>;
|
||||
label = "SW12-3";
|
||||
wakeup-source;
|
||||
debounce-interval = <20>;
|
||||
};
|
||||
key-d {
|
||||
gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_D>;
|
||||
label = "SW12-4";
|
||||
wakeup-source;
|
||||
debounce-interval = <20>;
|
||||
};
|
||||
};
|
||||
|
||||
d3_3v: regulator-d3-3v {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "D3.3V";
|
||||
@@ -150,6 +207,84 @@
|
||||
clocks = <&x9_clk>;
|
||||
};
|
||||
};
|
||||
|
||||
gpioi2c1: i2c-9 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "i2c-gpio";
|
||||
status = "disabled";
|
||||
scl-gpios = <&gpio4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
sda-gpios = <&gpio4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
};
|
||||
|
||||
/*
|
||||
* A fallback to GPIO is provided for I2C1.
|
||||
*/
|
||||
i2chdmi: i2c-10 {
|
||||
compatible = "i2c-demux-pinctrl";
|
||||
i2c-parent = <&i2c1>, <&gpioi2c1>;
|
||||
i2c-bus-name = "i2c-hdmi";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ak4643: codec@12 {
|
||||
compatible = "asahi-kasei,ak4643";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin0>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin0ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb0>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "renesas,r1ex24002", "atmel,24c02";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
@@ -265,61 +400,9 @@
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-names = "i2c-hdmi";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
ak4643: codec@12 {
|
||||
compatible = "asahi-kasei,ak4643";
|
||||
#sound-dai-cells = <0>;
|
||||
reg = <0x12>;
|
||||
};
|
||||
|
||||
composite-in@20 {
|
||||
compatible = "adi,adv7180";
|
||||
reg = <0x20>;
|
||||
remote = <&vin0>;
|
||||
|
||||
port {
|
||||
adv7180: endpoint {
|
||||
bus-width = <8>;
|
||||
remote-endpoint = <&vin0ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hdmi@39 {
|
||||
compatible = "adi,adv7511w";
|
||||
reg = <0x39>;
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
|
||||
|
||||
adi,input-depth = <8>;
|
||||
adi,input-colorspace = "rgb";
|
||||
adi,input-clock = "1x";
|
||||
adi,input-style = <1>;
|
||||
adi,input-justification = "evenly";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7511_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb0>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7511_out: endpoint {
|
||||
remote-endpoint = <&hdmi_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mmcif0 {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -27,11 +27,6 @@
|
||||
i2c7 = &i2c_dvfs;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -43,6 +38,9 @@
|
||||
power-domains = <&sysc R8A7795_PD_CA57_CPU0>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7795_CLK_Z>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
a57_1: cpu@1 {
|
||||
@@ -52,6 +50,9 @@
|
||||
power-domains = <&sysc R8A7795_PD_CA57_CPU1>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7795_CLK_Z>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
a57_2: cpu@2 {
|
||||
@@ -61,6 +62,9 @@
|
||||
power-domains = <&sysc R8A7795_PD_CA57_CPU2>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7795_CLK_Z>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
a57_3: cpu@3 {
|
||||
@@ -70,6 +74,9 @@
|
||||
power-domains = <&sysc R8A7795_PD_CA57_CPU3>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7795_CLK_Z>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
a53_0: cpu@100 {
|
||||
@@ -79,6 +86,8 @@
|
||||
power-domains = <&sysc R8A7795_PD_CA53_CPU0>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7795_CLK_Z2>;
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
a53_1: cpu@101 {
|
||||
@@ -88,6 +97,8 @@
|
||||
power-domains = <&sysc R8A7795_PD_CA53_CPU1>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7795_CLK_Z2>;
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
a53_2: cpu@102 {
|
||||
@@ -97,6 +108,8 @@
|
||||
power-domains = <&sysc R8A7795_PD_CA53_CPU2>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7795_CLK_Z2>;
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
a53_3: cpu@103 {
|
||||
@@ -106,6 +119,8 @@
|
||||
power-domains = <&sysc R8A7795_PD_CA53_CPU3>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7795_CLK_Z2>;
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
L2_CA57: cache-controller-0 {
|
||||
@@ -167,15 +182,99 @@
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External SCIF clock - to be overridden by boards that provide it */
|
||||
scif_clk: scif {
|
||||
cluster0_opp: opp_table0 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp-500000000 {
|
||||
opp-hz = /bits/ 64 <500000000>;
|
||||
opp-microvolt = <830000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1000000000 {
|
||||
opp-hz = /bits/ 64 <1000000000>;
|
||||
opp-microvolt = <830000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1500000000 {
|
||||
opp-hz = /bits/ 64 <1500000000>;
|
||||
opp-microvolt = <830000>;
|
||||
clock-latency-ns = <300000>;
|
||||
opp-suspend;
|
||||
};
|
||||
opp-1600000000 {
|
||||
opp-hz = /bits/ 64 <1600000000>;
|
||||
opp-microvolt = <900000>;
|
||||
clock-latency-ns = <300000>;
|
||||
turbo-mode;
|
||||
};
|
||||
opp-1700000000 {
|
||||
opp-hz = /bits/ 64 <1700000000>;
|
||||
opp-microvolt = <960000>;
|
||||
clock-latency-ns = <300000>;
|
||||
turbo-mode;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1_opp: opp_table1 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp-800000000 {
|
||||
opp-hz = /bits/ 64 <800000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1000000000 {
|
||||
opp-hz = /bits/ 64 <1000000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
};
|
||||
|
||||
/* External PCIe clock - can be overridden by the board */
|
||||
pcie_bus_clk: pcie_bus {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External PCIe clock - can be overridden by the board */
|
||||
pcie_bus_clk: pcie_bus {
|
||||
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";
|
||||
};
|
||||
|
||||
/* External SCIF clock - to be overridden by boards that provide it */
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
@@ -217,7 +316,7 @@
|
||||
|
||||
gpio0: gpio@e6050000 {
|
||||
compatible = "renesas,gpio-r8a7795",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6050000 0 0x50>;
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -232,12 +331,12 @@
|
||||
|
||||
gpio1: gpio@e6051000 {
|
||||
compatible = "renesas,gpio-r8a7795",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6051000 0 0x50>;
|
||||
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>;
|
||||
@@ -247,7 +346,7 @@
|
||||
|
||||
gpio2: gpio@e6052000 {
|
||||
compatible = "renesas,gpio-r8a7795",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6052000 0 0x50>;
|
||||
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -262,7 +361,7 @@
|
||||
|
||||
gpio3: gpio@e6053000 {
|
||||
compatible = "renesas,gpio-r8a7795",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6053000 0 0x50>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -277,7 +376,7 @@
|
||||
|
||||
gpio4: gpio@e6054000 {
|
||||
compatible = "renesas,gpio-r8a7795",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6054000 0 0x50>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -292,7 +391,7 @@
|
||||
|
||||
gpio5: gpio@e6055000 {
|
||||
compatible = "renesas,gpio-r8a7795",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055000 0 0x50>;
|
||||
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -307,7 +406,7 @@
|
||||
|
||||
gpio6: gpio@e6055400 {
|
||||
compatible = "renesas,gpio-r8a7795",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055400 0 0x50>;
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -322,7 +421,7 @@
|
||||
|
||||
gpio7: gpio@e6055800 {
|
||||
compatible = "renesas,gpio-r8a7795",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055800 0 0x50>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -335,42 +434,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>;
|
||||
@@ -418,6 +481,155 @@
|
||||
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_pv1: mmu@fd950000 {
|
||||
compatible = "renesas,ipmmu-r8a7795";
|
||||
reg = <0 0xfd950000 0 0x1000>;
|
||||
renesas,ipmmu-main = <&ipmmu_mm 7>;
|
||||
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";
|
||||
@@ -450,6 +662,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 {
|
||||
@@ -484,6 +704,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 {
|
||||
@@ -518,6 +746,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 {
|
||||
@@ -552,6 +788,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 {
|
||||
@@ -586,6 +830,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 {
|
||||
@@ -627,7 +879,8 @@
|
||||
clocks = <&cpg CPG_MOD 812>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 812>;
|
||||
phy-mode = "rgmii-txid";
|
||||
phy-mode = "rgmii";
|
||||
iommus = <&ipmmu_ds0 16>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -820,8 +1073,9 @@
|
||||
<&cpg CPG_CORE R8A7795_CLK_S3D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x31>, <&dmac1 0x30>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x31>, <&dmac1 0x30>,
|
||||
<&dmac2 0x31>, <&dmac2 0x30>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 520>;
|
||||
status = "disabled";
|
||||
@@ -837,8 +1091,9 @@
|
||||
<&cpg CPG_CORE R8A7795_CLK_S3D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x33>, <&dmac1 0x32>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x33>, <&dmac1 0x32>,
|
||||
<&dmac2 0x33>, <&dmac2 0x32>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 519>;
|
||||
status = "disabled";
|
||||
@@ -854,8 +1109,9 @@
|
||||
<&cpg CPG_CORE R8A7795_CLK_S3D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x35>, <&dmac1 0x34>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x35>, <&dmac1 0x34>,
|
||||
<&dmac2 0x35>, <&dmac2 0x34>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 518>;
|
||||
status = "disabled";
|
||||
@@ -966,8 +1222,9 @@
|
||||
<&cpg CPG_CORE R8A7795_CLK_S3D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x51>, <&dmac1 0x50>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x51>, <&dmac1 0x50>,
|
||||
<&dmac2 0x51>, <&dmac2 0x50>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 207>;
|
||||
status = "disabled";
|
||||
@@ -982,8 +1239,9 @@
|
||||
<&cpg CPG_CORE R8A7795_CLK_S3D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x53>, <&dmac1 0x52>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x53>, <&dmac1 0x52>,
|
||||
<&dmac2 0x53>, <&dmac2 0x52>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 206>;
|
||||
status = "disabled";
|
||||
@@ -998,8 +1256,9 @@
|
||||
<&cpg CPG_CORE R8A7795_CLK_S3D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x13>, <&dmac1 0x12>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x13>, <&dmac1 0x12>,
|
||||
<&dmac2 0x13>, <&dmac2 0x12>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 310>;
|
||||
status = "disabled";
|
||||
@@ -1046,8 +1305,9 @@
|
||||
<&cpg CPG_CORE R8A7795_CLK_S3D1>,
|
||||
<&scif_clk>;
|
||||
clock-names = "fck", "brg_int", "scif_clk";
|
||||
dmas = <&dmac1 0x5b>, <&dmac1 0x5a>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x5b>, <&dmac1 0x5a>,
|
||||
<&dmac2 0x5b>, <&dmac2 0x5a>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 202>;
|
||||
status = "disabled";
|
||||
@@ -1079,8 +1339,9 @@
|
||||
clocks = <&cpg CPG_MOD 931>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 931>;
|
||||
dmas = <&dmac1 0x91>, <&dmac1 0x90>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x91>, <&dmac1 0x90>,
|
||||
<&dmac2 0x91>, <&dmac2 0x90>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <110>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1095,8 +1356,9 @@
|
||||
clocks = <&cpg CPG_MOD 930>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 930>;
|
||||
dmas = <&dmac1 0x93>, <&dmac1 0x92>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x93>, <&dmac1 0x92>,
|
||||
<&dmac2 0x93>, <&dmac2 0x92>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1111,8 +1373,9 @@
|
||||
clocks = <&cpg CPG_MOD 929>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 929>;
|
||||
dmas = <&dmac1 0x95>, <&dmac1 0x94>;
|
||||
dma-names = "tx", "rx";
|
||||
dmas = <&dmac1 0x95>, <&dmac1 0x94>,
|
||||
<&dmac2 0x95>, <&dmac2 0x94>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1456,6 +1719,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 {
|
||||
@@ -1468,6 +1745,17 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb3_peri0: usb@ee020000 {
|
||||
compatible = "renesas,r8a7795-usb3-peri",
|
||||
"renesas,rcar-gen3-usb3-peri";
|
||||
reg = <0 0xee020000 0 0x400>;
|
||||
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 328>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 328>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb_dmac0: dma-controller@e65a0000 {
|
||||
compatible = "renesas,r8a7795-usb-dmac",
|
||||
"renesas,usb-dmac";
|
||||
@@ -1533,7 +1821,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>;
|
||||
@@ -1544,7 +1833,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>;
|
||||
@@ -1555,7 +1845,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>;
|
||||
@@ -1566,7 +1857,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>;
|
||||
@@ -1867,6 +2159,7 @@
|
||||
clocks = <&cpg CPG_MOD 606>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 606>;
|
||||
iommus = <&ipmmu_vp1 7>;
|
||||
};
|
||||
|
||||
fcpf0: fcp@fe950000 {
|
||||
@@ -1875,6 +2168,7 @@
|
||||
clocks = <&cpg CPG_MOD 615>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 615>;
|
||||
iommus = <&ipmmu_vp0 0>;
|
||||
};
|
||||
|
||||
fcpf1: fcp@fe951000 {
|
||||
@@ -1883,6 +2177,7 @@
|
||||
clocks = <&cpg CPG_MOD 614>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 614>;
|
||||
iommus = <&ipmmu_vp1 1>;
|
||||
};
|
||||
|
||||
vspbd: vsp@fe960000 {
|
||||
@@ -1902,6 +2197,7 @@
|
||||
clocks = <&cpg CPG_MOD 607>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 607>;
|
||||
iommus = <&ipmmu_vp0 5>;
|
||||
};
|
||||
|
||||
vspi0: vsp@fe9a0000 {
|
||||
@@ -1921,6 +2217,7 @@
|
||||
clocks = <&cpg CPG_MOD 611>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 611>;
|
||||
iommus = <&ipmmu_vp0 8>;
|
||||
};
|
||||
|
||||
vspi1: vsp@fe9b0000 {
|
||||
@@ -1940,11 +2237,12 @@
|
||||
clocks = <&cpg CPG_MOD 610>;
|
||||
power-domains = <&sysc R8A7795_PD_A3VP>;
|
||||
resets = <&cpg 610>;
|
||||
iommus = <&ipmmu_vp1 9>;
|
||||
};
|
||||
|
||||
vspd0: vsp@fea20000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfea20000 0 0x4000>;
|
||||
reg = <0 0xfea20000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 623>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
@@ -1959,11 +2257,12 @@
|
||||
clocks = <&cpg CPG_MOD 603>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 603>;
|
||||
iommus = <&ipmmu_vi0 8>;
|
||||
};
|
||||
|
||||
vspd1: vsp@fea28000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfea28000 0 0x4000>;
|
||||
reg = <0 0xfea28000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 622>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
@@ -1978,11 +2277,12 @@
|
||||
clocks = <&cpg CPG_MOD 602>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 602>;
|
||||
iommus = <&ipmmu_vi0 9>;
|
||||
};
|
||||
|
||||
vspd2: vsp@fea30000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfea30000 0 0x4000>;
|
||||
reg = <0 0xfea30000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 621>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
@@ -1997,6 +2297,7 @@
|
||||
clocks = <&cpg CPG_MOD 601>;
|
||||
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 601>;
|
||||
iommus = <&ipmmu_vi1 10>;
|
||||
};
|
||||
|
||||
fdp1@fe940000 {
|
||||
@@ -2019,7 +2320,7 @@
|
||||
renesas,fcp = <&fcpf1>;
|
||||
};
|
||||
|
||||
hdmi0: hdmi0@fead0000 {
|
||||
hdmi0: hdmi@fead0000 {
|
||||
compatible = "renesas,r8a7795-hdmi", "renesas,rcar-gen3-hdmi";
|
||||
reg = <0 0xfead0000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 389 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -2044,7 +2345,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
hdmi1: hdmi1@feae0000 {
|
||||
hdmi1: hdmi@feae0000 {
|
||||
compatible = "renesas,r8a7795-hdmi", "renesas,rcar-gen3-hdmi";
|
||||
reg = <0 0xfeae0000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -2118,9 +2419,9 @@
|
||||
|
||||
tsc: thermal@e6198000 {
|
||||
compatible = "renesas,r8a7795-thermal";
|
||||
reg = <0 0xe6198000 0 0x68>,
|
||||
<0 0xe61a0000 0 0x5c>,
|
||||
<0 0xe61a8000 0 0x5c>;
|
||||
reg = <0 0xe6198000 0 0x100>,
|
||||
<0 0xe61a0000 0 0x100>,
|
||||
<0 0xe61a8000 0 0x100>;
|
||||
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -2130,49 +2431,114 @@
|
||||
#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_passive: sensor1-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
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>;
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&sensor1_passive>;
|
||||
cooling-device = <&a57_0 4 4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
trips {
|
||||
sensor2_crit: sensor2-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
sensor_thermal2: sensor-thermal2 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 1>;
|
||||
|
||||
trips {
|
||||
sensor2_passive: sensor2-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
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>;
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&sensor2_passive>;
|
||||
cooling-device = <&a57_0 4 4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
trips {
|
||||
sensor3_crit: sensor3-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
sensor_thermal3: sensor-thermal3 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 2>;
|
||||
|
||||
trips {
|
||||
sensor3_passive: sensor3-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
sensor3_crit: sensor3-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&sensor3_passive>;
|
||||
cooling-device = <&a57_0 4 4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* 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>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -27,98 +27,6 @@
|
||||
i2c7 = &i2c_dvfs;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
method = "smc";
|
||||
};
|
||||
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
a57_0: cpu@0 {
|
||||
compatible = "arm,cortex-a57", "arm,armv8";
|
||||
reg = <0x0>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA57_CPU0>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
a57_1: cpu@1 {
|
||||
compatible = "arm,cortex-a57","arm,armv8";
|
||||
reg = <0x1>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA57_CPU1>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
a53_0: cpu@100 {
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0x100>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_CPU0>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
a53_1: cpu@101 {
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x101>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_CPU1>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
a53_2: cpu@102 {
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x102>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_CPU2>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
a53_3: cpu@103 {
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x103>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_CPU3>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
L2_CA57: cache-controller-0 {
|
||||
compatible = "cache";
|
||||
power-domains = <&sysc R8A7796_PD_CA57_SCU>;
|
||||
cache-unified;
|
||||
cache-level = <2>;
|
||||
};
|
||||
|
||||
L2_CA53: cache-controller-1 {
|
||||
compatible = "cache";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_SCU>;
|
||||
cache-unified;
|
||||
cache-level = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
extal_clk: extal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
extalr_clk: extalr {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/*
|
||||
* The external audio clocks are configured as 0 Hz fixed frequency
|
||||
* clocks by default.
|
||||
@@ -149,15 +57,203 @@
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External SCIF clock - to be overridden by boards that provide it */
|
||||
scif_clk: scif {
|
||||
cpus {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
a57_0: cpu@0 {
|
||||
compatible = "arm,cortex-a57", "arm,armv8";
|
||||
reg = <0x0>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA57_CPU0>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7796_CLK_Z>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
a57_1: cpu@1 {
|
||||
compatible = "arm,cortex-a57","arm,armv8";
|
||||
reg = <0x1>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA57_CPU1>;
|
||||
next-level-cache = <&L2_CA57>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7796_CLK_Z>;
|
||||
operating-points-v2 = <&cluster0_opp>;
|
||||
#cooling-cells = <2>;
|
||||
};
|
||||
|
||||
a53_0: cpu@100 {
|
||||
compatible = "arm,cortex-a53", "arm,armv8";
|
||||
reg = <0x100>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_CPU0>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7796_CLK_Z2>;
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
a53_1: cpu@101 {
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x101>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_CPU1>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7796_CLK_Z2>;
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
a53_2: cpu@102 {
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x102>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_CPU2>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7796_CLK_Z2>;
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
a53_3: cpu@103 {
|
||||
compatible = "arm,cortex-a53","arm,armv8";
|
||||
reg = <0x103>;
|
||||
device_type = "cpu";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_CPU3>;
|
||||
next-level-cache = <&L2_CA53>;
|
||||
enable-method = "psci";
|
||||
clocks =<&cpg CPG_CORE R8A7796_CLK_Z2>;
|
||||
operating-points-v2 = <&cluster1_opp>;
|
||||
};
|
||||
|
||||
L2_CA57: cache-controller-0 {
|
||||
compatible = "cache";
|
||||
power-domains = <&sysc R8A7796_PD_CA57_SCU>;
|
||||
cache-unified;
|
||||
cache-level = <2>;
|
||||
};
|
||||
|
||||
L2_CA53: cache-controller-1 {
|
||||
compatible = "cache";
|
||||
power-domains = <&sysc R8A7796_PD_CA53_SCU>;
|
||||
cache-unified;
|
||||
cache-level = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
extal_clk: extal {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
extalr_clk: extalr {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
/* This value must be overridden by the board */
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
cluster0_opp: opp_table0 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp-500000000 {
|
||||
opp-hz = /bits/ 64 <500000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1000000000 {
|
||||
opp-hz = /bits/ 64 <1000000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1500000000 {
|
||||
opp-hz = /bits/ 64 <1500000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1600000000 {
|
||||
opp-hz = /bits/ 64 <1600000000>;
|
||||
opp-microvolt = <900000>;
|
||||
clock-latency-ns = <300000>;
|
||||
turbo-mode;
|
||||
};
|
||||
opp-1700000000 {
|
||||
opp-hz = /bits/ 64 <1700000000>;
|
||||
opp-microvolt = <900000>;
|
||||
clock-latency-ns = <300000>;
|
||||
turbo-mode;
|
||||
};
|
||||
opp-1800000000 {
|
||||
opp-hz = /bits/ 64 <1800000000>;
|
||||
opp-microvolt = <960000>;
|
||||
clock-latency-ns = <300000>;
|
||||
turbo-mode;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1_opp: opp_table1 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp-800000000 {
|
||||
opp-hz = /bits/ 64 <800000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1000000000 {
|
||||
opp-hz = /bits/ 64 <1000000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1200000000 {
|
||||
opp-hz = /bits/ 64 <1200000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
};
|
||||
opp-1300000000 {
|
||||
opp-hz = /bits/ 64 <1300000000>;
|
||||
opp-microvolt = <820000>;
|
||||
clock-latency-ns = <300000>;
|
||||
turbo-mode;
|
||||
};
|
||||
};
|
||||
|
||||
/* External PCIe clock - can be overridden by the board */
|
||||
pcie_bus_clk: pcie_bus {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
/* External PCIe clock - can be overridden by the board */
|
||||
pcie_bus_clk: pcie_bus {
|
||||
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>;
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
|
||||
/* External SCIF clock - to be overridden by boards that provide it */
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <0>;
|
||||
@@ -187,18 +283,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";
|
||||
@@ -211,7 +295,7 @@
|
||||
|
||||
gpio0: gpio@e6050000 {
|
||||
compatible = "renesas,gpio-r8a7796",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6050000 0 0x50>;
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -226,7 +310,7 @@
|
||||
|
||||
gpio1: gpio@e6051000 {
|
||||
compatible = "renesas,gpio-r8a7796",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6051000 0 0x50>;
|
||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -241,7 +325,7 @@
|
||||
|
||||
gpio2: gpio@e6052000 {
|
||||
compatible = "renesas,gpio-r8a7796",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6052000 0 0x50>;
|
||||
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -256,7 +340,7 @@
|
||||
|
||||
gpio3: gpio@e6053000 {
|
||||
compatible = "renesas,gpio-r8a7796",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6053000 0 0x50>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -271,7 +355,7 @@
|
||||
|
||||
gpio4: gpio@e6054000 {
|
||||
compatible = "renesas,gpio-r8a7796",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6054000 0 0x50>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -286,7 +370,7 @@
|
||||
|
||||
gpio5: gpio@e6055000 {
|
||||
compatible = "renesas,gpio-r8a7796",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055000 0 0x50>;
|
||||
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -301,7 +385,7 @@
|
||||
|
||||
gpio6: gpio@e6055400 {
|
||||
compatible = "renesas,gpio-r8a7796",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055400 0 0x50>;
|
||||
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -316,7 +400,7 @@
|
||||
|
||||
gpio7: gpio@e6055800 {
|
||||
compatible = "renesas,gpio-r8a7796",
|
||||
"renesas,gpio-rcar";
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055800 0 0x50>;
|
||||
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
@@ -334,24 +418,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 {
|
||||
@@ -380,6 +538,22 @@
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
intc_ex: interrupt-controller@e61c0000 {
|
||||
compatible = "renesas,intc-ex-r8a7796", "renesas,irqc";
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
reg = <0 0xe61c0000 0 0x200>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 407>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 407>;
|
||||
};
|
||||
|
||||
i2c_dvfs: i2c@e60b0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -797,7 +971,8 @@
|
||||
clocks = <&cpg CPG_MOD 812>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 812>;
|
||||
phy-mode = "rgmii-txid";
|
||||
phy-mode = "rgmii";
|
||||
iommus = <&ipmmu_ds0 16>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -1082,6 +1257,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 {
|
||||
@@ -1116,6 +1299,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 {
|
||||
@@ -1150,6 +1341,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 {
|
||||
@@ -1184,6 +1383,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 {
|
||||
@@ -1218,6 +1425,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 {
|
||||
@@ -1265,6 +1480,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";
|
||||
@@ -1276,6 +1504,17 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb3_peri0: usb@ee020000 {
|
||||
compatible = "renesas,r8a7796-usb3-peri",
|
||||
"renesas,rcar-gen3-usb3-peri";
|
||||
reg = <0 0xee020000 0 0x400>;
|
||||
interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 328>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 328>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci0: usb@ee080000 {
|
||||
compatible = "generic-ohci";
|
||||
reg = <0 0xee080000 0 0x100>;
|
||||
@@ -1358,7 +1597,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>;
|
||||
@@ -1369,7 +1609,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>;
|
||||
@@ -1380,7 +1621,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>;
|
||||
@@ -1391,7 +1633,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>;
|
||||
@@ -1403,9 +1646,9 @@
|
||||
|
||||
tsc: thermal@e6198000 {
|
||||
compatible = "renesas,r8a7796-thermal";
|
||||
reg = <0 0xe6198000 0 0x68>,
|
||||
<0 0xe61a0000 0 0x5c>,
|
||||
<0 0xe61a8000 0 0x5c>;
|
||||
reg = <0 0xe6198000 0 0x100>,
|
||||
<0 0xe61a0000 0 0x100>,
|
||||
<0 0xe61a8000 0 0x100>;
|
||||
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -1416,50 +1659,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
|
||||
@@ -1657,13 +1856,25 @@
|
||||
};
|
||||
|
||||
pciec0: pcie@fe000000 {
|
||||
reg = <0 0xfe000000 0 0x80000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pciec1: pcie@ee800000 {
|
||||
reg = <0 0xee800000 0 0x80000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
fdp1@fe940000 {
|
||||
compatible = "renesas,fdp1";
|
||||
reg = <0 0xfe940000 0 0x2400>;
|
||||
interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 119>;
|
||||
power-domains = <&sysc R8A7796_PD_A3VC>;
|
||||
resets = <&cpg 119>;
|
||||
renesas,fcp = <&fcpf0>;
|
||||
};
|
||||
|
||||
fcpf0: fcp@fe950000 {
|
||||
compatible = "renesas,fcpf";
|
||||
reg = <0 0xfe950000 0 0x200>;
|
||||
@@ -1708,11 +1919,12 @@
|
||||
clocks = <&cpg CPG_MOD 611>;
|
||||
power-domains = <&sysc R8A7796_PD_A3VC>;
|
||||
resets = <&cpg 611>;
|
||||
iommus = <&ipmmu_vc0 19>;
|
||||
};
|
||||
|
||||
vspd0: vsp@fea20000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfea20000 0 0x4000>;
|
||||
reg = <0 0xfea20000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 623>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
@@ -1727,11 +1939,12 @@
|
||||
clocks = <&cpg CPG_MOD 603>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 603>;
|
||||
iommus = <&ipmmu_vi0 8>;
|
||||
};
|
||||
|
||||
vspd1: vsp@fea28000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfea28000 0 0x4000>;
|
||||
reg = <0 0xfea28000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 622>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
@@ -1746,11 +1959,12 @@
|
||||
clocks = <&cpg CPG_MOD 602>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 602>;
|
||||
iommus = <&ipmmu_vi0 9>;
|
||||
};
|
||||
|
||||
vspd2: vsp@fea30000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfea30000 0 0x4000>;
|
||||
reg = <0 0xfea30000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 621>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
@@ -1765,6 +1979,7 @@
|
||||
clocks = <&cpg CPG_MOD 601>;
|
||||
power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 601>;
|
||||
iommus = <&ipmmu_vi0 10>;
|
||||
};
|
||||
|
||||
hdmi0: hdmi@fead0000 {
|
||||
@@ -1852,4 +2067,105 @@
|
||||
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_passive: sensor1-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
sensor1_crit: sensor1-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&sensor1_passive>;
|
||||
cooling-device = <&a57_0 5 5>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor_thermal2: sensor-thermal2 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 1>;
|
||||
|
||||
trips {
|
||||
sensor2_passive: sensor2-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
sensor2_crit: sensor2-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&sensor2_passive>;
|
||||
cooling-device = <&a57_0 5 5>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
sensor_thermal3: sensor-thermal3 {
|
||||
polling-delay-passive = <250>;
|
||||
polling-delay = <1000>;
|
||||
thermal-sensors = <&tsc 2>;
|
||||
|
||||
trips {
|
||||
sensor3_passive: sensor3-passive {
|
||||
temperature = <95000>;
|
||||
hysteresis = <2000>;
|
||||
type = "passive";
|
||||
};
|
||||
sensor3_crit: sensor3-crit {
|
||||
temperature = <120000>;
|
||||
hysteresis = <2000>;
|
||||
type = "critical";
|
||||
};
|
||||
};
|
||||
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&sensor3_passive>;
|
||||
cooling-device = <&a57_0 5 5>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* 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>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -18,6 +18,10 @@
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
i2c7 = &i2c_dvfs;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
method = "smc";
|
||||
@@ -47,7 +51,6 @@
|
||||
|
||||
L2_CA57: cache-controller-0 {
|
||||
compatible = "cache";
|
||||
reg = <0>;
|
||||
power-domains = <&sysc 12>;
|
||||
cache-unified;
|
||||
cache-level = <2>;
|
||||
@@ -317,7 +320,19 @@
|
||||
};
|
||||
|
||||
intc_ex: interrupt-controller@e61c0000 {
|
||||
/* placeholder */
|
||||
compatible = "renesas,intc-ex-r8a77965", "renesas,irqc";
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
reg = <0 0xe61c0000 0 0x200>;
|
||||
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH
|
||||
GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 407>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 407>;
|
||||
};
|
||||
|
||||
dmac0: dma-controller@e6700000 {
|
||||
@@ -523,56 +538,109 @@
|
||||
compatible = "renesas,etheravb-r8a77965",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<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>,
|
||||
<GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "ch0", "ch1", "ch2", "ch3",
|
||||
"ch4", "ch5", "ch6", "ch7",
|
||||
"ch8", "ch9", "ch10", "ch11",
|
||||
"ch12", "ch13", "ch14", "ch15",
|
||||
"ch16", "ch17", "ch18", "ch19",
|
||||
"ch20", "ch21", "ch22", "ch23",
|
||||
"ch24";
|
||||
clocks = <&cpg CPG_MOD 812>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 812>;
|
||||
phy-mode = "rgmii-txid";
|
||||
phy-mode = "rgmii";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
csi20: csi2@fea80000 {
|
||||
reg = <0 0xfea80000 0 0x10000>;
|
||||
/* placeholder */
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
csi40: csi2@feaa0000 {
|
||||
reg = <0 0xfeaa0000 0 0x10000>;
|
||||
/* placeholder */
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
vin0: video@e6ef0000 {
|
||||
reg = <0 0xe6ef0000 0 0x1000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin1: video@e6ef1000 {
|
||||
reg = <0 0xe6ef1000 0 0x1000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin2: video@e6ef2000 {
|
||||
reg = <0 0xe6ef2000 0 0x1000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin3: video@e6ef3000 {
|
||||
reg = <0 0xe6ef3000 0 0x1000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin4: video@e6ef4000 {
|
||||
reg = <0 0xe6ef4000 0 0x1000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin5: video@e6ef5000 {
|
||||
reg = <0 0xe6ef5000 0 0x1000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin6: video@e6ef6000 {
|
||||
reg = <0 0xe6ef6000 0 0x1000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
vin7: video@e6ef7000 {
|
||||
reg = <0 0xe6ef7000 0 0x1000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
ohci0: usb@ee080000 {
|
||||
reg = <0 0xee080000 0 0x100>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
@@ -602,6 +670,7 @@
|
||||
};
|
||||
|
||||
ohci1: usb@ee0a0000 {
|
||||
reg = <0 0xee0a0000 0 0x100>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
@@ -619,69 +688,107 @@
|
||||
};
|
||||
|
||||
i2c0: i2c@e6500000 {
|
||||
reg = <0 0xe6500000 0 0x40>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c1: i2c@e6508000 {
|
||||
reg = <0 0xe6508000 0 0x40>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c2: i2c@e6510000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
reg = <0 0xe6510000 0 0x40>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c3: i2c@e66d0000 {
|
||||
reg = <0 0xe66d0000 0 0x40>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c4: i2c@e66d8000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
reg = <0 0xe66d8000 0 0x40>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c5: i2c@e66e0000 {
|
||||
reg = <0 0xe66e0000 0 0x40>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c6: i2c@e66e8000 {
|
||||
reg = <0 0xe66e8000 0 0x40>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
i2c_dvfs: i2c@e60b0000 {
|
||||
/* placeholder */
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,iic-r8a77965",
|
||||
"renesas,rcar-gen3-iic",
|
||||
"renesas,rmobile-iic";
|
||||
reg = <0 0xe60b0000 0 0x425>;
|
||||
interrupts = <GIC_SPI 173 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 926>;
|
||||
power-domains = <&sysc 32>;
|
||||
resets = <&cpg 926>;
|
||||
dmas = <&dmac0 0x11>, <&dmac0 0x10>;
|
||||
dma-names = "tx", "rx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm0: pwm@e6e30000 {
|
||||
reg = <0 0xe6e30000 0 8>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm1: pwm@e6e31000 {
|
||||
reg = <0 0xe6e31000 0 8>;
|
||||
#pwm-cells = <2>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm2: pwm@e6e32000 {
|
||||
reg = <0 0xe6e32000 0 8>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm3: pwm@e6e33000 {
|
||||
reg = <0 0xe6e33000 0 8>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm4: pwm@e6e34000 {
|
||||
reg = <0 0xe6e34000 0 8>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm5: pwm@e6e35000 {
|
||||
reg = <0 0xe6e35000 0 8>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pwm6: pwm@e6e36000 {
|
||||
reg = <0 0xe6e36000 0 8>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
du: display@feb00000 {
|
||||
reg = <0 0xfeb00000 0 0x80000>,
|
||||
<0 0xfeb90000 0 0x14>;
|
||||
/* placeholder */
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
du_out_rgb: endpoint {
|
||||
@@ -701,18 +808,26 @@
|
||||
};
|
||||
|
||||
hsusb: usb@e6590000 {
|
||||
reg = <0 0xe6590000 0 0x100>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pciec0: pcie@fe000000 {
|
||||
reg = <0 0xfe000000 0 0x80000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
pciec1: pcie@ee800000 {
|
||||
reg = <0 0xee800000 0 0x80000>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
rcar_sound: sound@ec500000 {
|
||||
reg = <0 0xec500000 0 0x1000>, /* SCU */
|
||||
<0 0xec5a0000 0 0x100>, /* ADG */
|
||||
<0 0xec540000 0 0x1000>, /* SSIU */
|
||||
<0 0xec541000 0 0x280>, /* SSI */
|
||||
<0 0xec740000 0 0x200>; /* Audio DMAC peri peri*/
|
||||
/* placeholder */
|
||||
|
||||
rcar_sound,dvc {
|
||||
@@ -801,10 +916,13 @@
|
||||
};
|
||||
|
||||
usb3_phy0: usb-phy@e65ee000 {
|
||||
reg = <0 0xe65ee000 0 0x90>;
|
||||
#phy-cells = <0>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
usb3_peri0: usb@ee020000 {
|
||||
reg = <0 0xee020000 0 0x400>;
|
||||
/* placeholder */
|
||||
};
|
||||
|
||||
@@ -820,6 +938,7 @@
|
||||
};
|
||||
|
||||
wdt0: watchdog@e6020000 {
|
||||
reg = <0 0xe6020000 0 0x0c>;
|
||||
/* placeholder */
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
/dts-v1/;
|
||||
#include "r8a77970.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/ {
|
||||
model = "Renesas Eagle board based on r8a77970";
|
||||
@@ -31,6 +32,23 @@
|
||||
};
|
||||
};
|
||||
|
||||
&avb {
|
||||
pinctrl-0 = <&avb0_pins>;
|
||||
pinctrl-names = "default";
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
rxc-skew-ps = <1500>;
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
clock-frequency = <16666666>;
|
||||
};
|
||||
@@ -39,24 +57,38 @@
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
&pfc {
|
||||
pinctrl-0 = <&scif_clk_pins>;
|
||||
&i2c0 {
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
clock-frequency = <400000>;
|
||||
|
||||
io_expander: gpio@20 {
|
||||
compatible = "onnn,pca9654";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
};
|
||||
|
||||
&pfc {
|
||||
avb0_pins: avb {
|
||||
mux {
|
||||
groups = "avb0_link", "avb0_mdio", "avb0_rgmii", "avb0_txcrefclk";
|
||||
function = "avb0";
|
||||
};
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0 {
|
||||
groups = "i2c0";
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
scif0_pins: scif0 {
|
||||
groups = "scif0_data";
|
||||
function = "scif0";
|
||||
};
|
||||
|
||||
scif_clk_pins: scif_clk {
|
||||
groups = "scif_clk_b";
|
||||
function = "scif_clk";
|
||||
};
|
||||
|
||||
avb_pins: avb {
|
||||
groups = "avb0_mdc";
|
||||
function = "avb0";
|
||||
};
|
||||
};
|
||||
|
||||
&rpc {
|
||||
@@ -78,27 +110,14 @@
|
||||
};
|
||||
};
|
||||
|
||||
&rwdt {
|
||||
timeout-sec = <60>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&scif0 {
|
||||
pinctrl-0 = <&scif0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&scif_clk {
|
||||
clock-frequency = <14745600>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&avb {
|
||||
pinctrl-0 = <&avb_pins>;
|
||||
pinctrl-names = "default";
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
rxc-skew-ps = <1500>;
|
||||
reg = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -6,18 +6,22 @@
|
||||
* Copyright (C) 2017 Cogent Embedded, Inc.
|
||||
*/
|
||||
|
||||
#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";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0", "arm,psci-0.2";
|
||||
method = "smc";
|
||||
aliases {
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
i2c3 = &i2c3;
|
||||
i2c4 = &i2c4;
|
||||
};
|
||||
|
||||
cpus {
|
||||
@@ -28,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>;
|
||||
};
|
||||
@@ -56,6 +60,11 @@
|
||||
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 */
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
@@ -84,20 +93,18 @@
|
||||
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>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) |
|
||||
IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) |
|
||||
IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) |
|
||||
IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) |
|
||||
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 {
|
||||
@@ -121,9 +128,142 @@
|
||||
#power-domain-cells = <1>;
|
||||
};
|
||||
|
||||
pfc: pfc@e6060000 {
|
||||
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>;
|
||||
};
|
||||
|
||||
pfc: pin-controller@e6060000 {
|
||||
compatible = "renesas,pfc-r8a77970";
|
||||
reg = <0 0xe6060000 0 0x50c>;
|
||||
reg = <0 0xe6060000 0 0x504>;
|
||||
};
|
||||
|
||||
gpio0: gpio@e6050000 {
|
||||
compatible = "renesas,gpio-r8a77970",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6050000 0 0x50>;
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 0 22>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 912>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 912>;
|
||||
};
|
||||
|
||||
gpio1: gpio@e6051000 {
|
||||
compatible = "renesas,gpio-r8a77970",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6051000 0 0x50>;
|
||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 32 28>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 911>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 911>;
|
||||
};
|
||||
|
||||
gpio2: gpio@e6052000 {
|
||||
compatible = "renesas,gpio-r8a77970",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6052000 0 0x50>;
|
||||
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 64 17>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 910>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 910>;
|
||||
};
|
||||
|
||||
gpio3: gpio@e6053000 {
|
||||
compatible = "renesas,gpio-r8a77970",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6053000 0 0x50>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 96 17>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 909>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 909>;
|
||||
};
|
||||
|
||||
gpio4: gpio@e6054000 {
|
||||
compatible = "renesas,gpio-r8a77970",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6054000 0 0x50>;
|
||||
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 128 6>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 908>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 908>;
|
||||
};
|
||||
|
||||
gpio5: gpio@e6055000 {
|
||||
compatible = "renesas,gpio-r8a77970",
|
||||
"renesas,rcar-gen3-gpio";
|
||||
reg = <0 0xe6055000 0 0x50>;
|
||||
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
gpio-ranges = <&pfc 0 160 15>;
|
||||
#interrupt-cells = <2>;
|
||||
interrupt-controller;
|
||||
clocks = <&cpg CPG_MOD 907>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 907>;
|
||||
};
|
||||
|
||||
intc_ex: interrupt-controller@e61c0000 {
|
||||
@@ -138,7 +278,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>;
|
||||
};
|
||||
|
||||
@@ -165,10 +305,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 {
|
||||
@@ -189,10 +333,99 @@
|
||||
"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>;
|
||||
};
|
||||
|
||||
i2c0: i2c@e6500000 {
|
||||
compatible = "renesas,i2c-r8a77970",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6500000 0 0x40>;
|
||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 931>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 931>;
|
||||
dmas = <&dmac1 0x91>, <&dmac1 0x90>,
|
||||
<&dmac2 0x91>, <&dmac2 0x90>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@e6508000 {
|
||||
compatible = "renesas,i2c-r8a77970",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6508000 0 0x40>;
|
||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 930>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 930>;
|
||||
dmas = <&dmac1 0x93>, <&dmac1 0x92>,
|
||||
<&dmac2 0x93>, <&dmac2 0x92>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@e6510000 {
|
||||
compatible = "renesas,i2c-r8a77970",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6510000 0 0x40>;
|
||||
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 929>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 929>;
|
||||
dmas = <&dmac1 0x95>, <&dmac1 0x94>,
|
||||
<&dmac2 0x95>, <&dmac2 0x94>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@e66d0000 {
|
||||
compatible = "renesas,i2c-r8a77970",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66d0000 0 0x40>;
|
||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 928>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 928>;
|
||||
dmas = <&dmac1 0x97>, <&dmac1 0x96>,
|
||||
<&dmac2 0x97>, <&dmac2 0x96>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c4: i2c@e66d8000 {
|
||||
compatible = "renesas,i2c-r8a77970",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66d8000 0 0x40>;
|
||||
interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 927>;
|
||||
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 927>;
|
||||
dmas = <&dmac1 0x99>, <&dmac1 0x98>,
|
||||
<&dmac2 0x99>, <&dmac2 0x98>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
hscif0: serial@e6540000 {
|
||||
@@ -202,13 +435,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";
|
||||
};
|
||||
@@ -220,13 +453,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";
|
||||
};
|
||||
@@ -238,13 +471,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";
|
||||
};
|
||||
@@ -255,13 +488,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";
|
||||
};
|
||||
@@ -273,13 +506,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";
|
||||
};
|
||||
@@ -291,13 +524,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";
|
||||
};
|
||||
@@ -309,13 +542,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";
|
||||
};
|
||||
@@ -326,13 +559,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";
|
||||
};
|
||||
@@ -340,7 +573,7 @@
|
||||
avb: ethernet@e6800000 {
|
||||
compatible = "renesas,etheravb-r8a77970",
|
||||
"renesas,etheravb-rcar-gen3";
|
||||
reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
|
||||
reg = <0 0xe6800000 0 0x800>;
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
@@ -374,9 +607,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";
|
||||
phy-mode = "rgmii";
|
||||
iommus = <&ipmmu_rt 3>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
@@ -389,4 +623,12 @@
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -52,14 +52,44 @@
|
||||
};
|
||||
|
||||
&pfc {
|
||||
pinctrl-0 = <&scif_clk_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
avb_pins: avb {
|
||||
mux {
|
||||
groups = "avb_link", "avb_mii";
|
||||
function = "avb";
|
||||
};
|
||||
};
|
||||
|
||||
scif2_pins: scif2 {
|
||||
groups = "scif2_data_a";
|
||||
function = "scif2";
|
||||
};
|
||||
|
||||
scif_clk_pins: scif_clk {
|
||||
groups = "scif_clk_a";
|
||||
function = "scif_clk";
|
||||
};
|
||||
};
|
||||
|
||||
&sdhi0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhi1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhi3 {
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&scif2 {
|
||||
pinctrl-0 = <&scif2_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -185,6 +185,30 @@
|
||||
reg = <0 0xe6160000 0 0x0200>;
|
||||
};
|
||||
|
||||
sdhi0: sd@ee100000 {
|
||||
compatible = "renesas,sdhi-r8a77990";
|
||||
reg = <0 0xee100000 0 0x2000>;
|
||||
clocks = <&cpg CPG_MOD 314>;
|
||||
max-frequency = <200000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi1: sd@ee120000 {
|
||||
compatible = "renesas,sdhi-r8a77990";
|
||||
reg = <0 0xee120000 0 0x2000>;
|
||||
clocks = <&cpg CPG_MOD 313>;
|
||||
max-frequency = <200000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhi3: sd@ee160000 {
|
||||
compatible = "renesas,sdhi-r8a77990";
|
||||
reg = <0 0xee160000 0 0x2000>;
|
||||
clocks = <&cpg CPG_MOD 311>;
|
||||
max-frequency = <200000000>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sysc: system-controller@e6180000 {
|
||||
compatible = "renesas,r8a77990-sysc";
|
||||
reg = <0 0xe6180000 0 0x0400>;
|
||||
@@ -269,6 +293,14 @@
|
||||
compatible = "renesas,prr";
|
||||
reg = <0 0xfff00044 0 4>;
|
||||
};
|
||||
|
||||
rpc: rpc@0xee200000 {
|
||||
compatible = "renesas,rpc-r8a77990", "renesas,rpc";
|
||||
reg = <0 0xee200000 0 0x100>, <0 0x08000000 0 0>;
|
||||
clocks = <&cpg CPG_MOD 917>;
|
||||
bank-width = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
|
||||
@@ -24,11 +24,61 @@
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
vga {
|
||||
compatible = "vga-connector";
|
||||
|
||||
port {
|
||||
vga_in: endpoint {
|
||||
remote-endpoint = <&adv7123_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
vga-encoder {
|
||||
compatible = "adi,adv7123";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
adv7123_in: endpoint {
|
||||
remote-endpoint = <&du_out_rgb>;
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
adv7123_out: endpoint {
|
||||
remote-endpoint = <&vga_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
memory@48000000 {
|
||||
device_type = "memory";
|
||||
/* first 128MB is reserved for secure area. */
|
||||
reg = <0x0 0x48000000 0x0 0x18000000>;
|
||||
};
|
||||
|
||||
reg_1p8v: regulator0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
reg_3p3v: regulator1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "fixed-3.3V";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
|
||||
&extal_clk {
|
||||
@@ -43,6 +93,21 @@
|
||||
};
|
||||
};
|
||||
|
||||
du_pins: du {
|
||||
groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
|
||||
function = "du";
|
||||
};
|
||||
|
||||
i2c0_pins: i2c0 {
|
||||
groups = "i2c0";
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
i2c1_pins: i2c1 {
|
||||
groups = "i2c1";
|
||||
function = "i2c1";
|
||||
};
|
||||
|
||||
pwm0_pins: pwm0 {
|
||||
groups = "pwm0_c";
|
||||
function = "pwm0";
|
||||
@@ -58,12 +123,56 @@
|
||||
function = "scif2";
|
||||
};
|
||||
|
||||
sdhi2_pins: sd2 {
|
||||
groups = "mmc_data8", "mmc_ctrl";
|
||||
function = "mmc";
|
||||
power-source = <1800>;
|
||||
};
|
||||
|
||||
sdhi2_pins_uhs: sd2_uhs {
|
||||
groups = "mmc_data8", "mmc_ctrl";
|
||||
function = "mmc";
|
||||
power-source = <1800>;
|
||||
};
|
||||
|
||||
usb0_pins: usb0 {
|
||||
groups = "usb0";
|
||||
function = "usb0";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-0 = <&i2c0_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "rohm,br24t01", "atmel,24c01";
|
||||
reg = <0x50>;
|
||||
pagesize = <8>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-0 = <&i2c1_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&du {
|
||||
pinctrl-0 = <&du_pins>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
|
||||
ports {
|
||||
port@0 {
|
||||
endpoint {
|
||||
remote-endpoint = <&adv7123_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -77,6 +186,7 @@
|
||||
pinctrl-names = "default";
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
phy-mode = "rgmii-txid";
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
@@ -94,6 +204,20 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhi2 {
|
||||
/* used for on-board eMMC */
|
||||
pinctrl-0 = <&sdhi2_pins>;
|
||||
pinctrl-1 = <&sdhi2_pins_uhs>;
|
||||
pinctrl-names = "default", "state_uhs";
|
||||
|
||||
vmmc-supply = <®_3p3v>;
|
||||
vqmmc-supply = <®_1p8v>;
|
||||
bus-width = <8>;
|
||||
mmc-hs200-1_8v;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2_phy0 {
|
||||
pinctrl-0 = <&usb0_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
@@ -48,6 +48,18 @@
|
||||
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>;
|
||||
};
|
||||
|
||||
pmu_a53 {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts-extended = <&gic GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
scif_clk: scif {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
@@ -78,18 +90,6 @@
|
||||
resets = <&cpg 408>;
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts = <GIC_PPI 13
|
||||
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 14
|
||||
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 11
|
||||
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<GIC_PPI 10
|
||||
(GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
|
||||
rwdt: watchdog@e6020000 {
|
||||
compatible = "renesas,r8a77995-wdt",
|
||||
"renesas,rcar-gen3-wdt";
|
||||
@@ -100,11 +100,88 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pmu_a53 {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
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>;
|
||||
@@ -152,6 +229,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",
|
||||
@@ -264,10 +413,67 @@
|
||||
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";
|
||||
reg = <0 0xe6800000 0 0x800>, <0 0xe6a00000 0 0x10000>;
|
||||
reg = <0 0xe6800000 0 0x800>;
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
|
||||
@@ -303,7 +509,8 @@
|
||||
clocks = <&cpg CPG_MOD 812>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 812>;
|
||||
phy-mode = "rgmii-txid";
|
||||
phy-mode = "rgmii";
|
||||
iommus = <&ipmmu_ds0 16>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -318,11 +525,81 @@
|
||||
<&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";
|
||||
};
|
||||
|
||||
i2c0: i2c@e6500000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a77995",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6500000 0 0x40>;
|
||||
interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 931>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 931>;
|
||||
dmas = <&dmac1 0x91>, <&dmac1 0x90>,
|
||||
<&dmac2 0x91>, <&dmac2 0x90>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c1: i2c@e6508000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a77995",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6508000 0 0x40>;
|
||||
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 930>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 930>;
|
||||
dmas = <&dmac1 0x93>, <&dmac1 0x92>,
|
||||
<&dmac2 0x93>, <&dmac2 0x92>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c2: i2c@e6510000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a77995",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe6510000 0 0x40>;
|
||||
interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 929>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 929>;
|
||||
dmas = <&dmac1 0x95>, <&dmac1 0x94>,
|
||||
<&dmac2 0x95>, <&dmac2 0x94>;
|
||||
dma-names = "tx", "rx", "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
i2c3: i2c@e66d0000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "renesas,i2c-r8a77995",
|
||||
"renesas,rcar-gen3-i2c";
|
||||
reg = <0 0xe66d0000 0 0x40>;
|
||||
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 928>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 928>;
|
||||
dmas = <&dmac0 0x97>, <&dmac0 0x96>;
|
||||
dma-names = "tx", "rx";
|
||||
i2c-scl-internal-delay-ns = <6>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
pwm0: pwm@e6e30000 {
|
||||
compatible = "renesas,pwm-r8a77995", "renesas,pwm-rcar";
|
||||
reg = <0 0xe6e30000 0 0x8>;
|
||||
@@ -363,6 +640,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>;
|
||||
@@ -400,6 +689,98 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
vspbs: vsp@fe960000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfe960000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 627>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 627>;
|
||||
renesas,fcp = <&fcpvb0>;
|
||||
};
|
||||
|
||||
fcpvb0: fcp@fe96f000 {
|
||||
compatible = "renesas,fcpv";
|
||||
reg = <0 0xfe96f000 0 0x200>;
|
||||
clocks = <&cpg CPG_MOD 607>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 607>;
|
||||
iommus = <&ipmmu_vp0 5>;
|
||||
};
|
||||
|
||||
vspd0: vsp@fea20000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfea20000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 623>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 623>;
|
||||
renesas,fcp = <&fcpvd0>;
|
||||
};
|
||||
|
||||
fcpvd0: fcp@fea27000 {
|
||||
compatible = "renesas,fcpv";
|
||||
reg = <0 0xfea27000 0 0x200>;
|
||||
clocks = <&cpg CPG_MOD 603>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 603>;
|
||||
iommus = <&ipmmu_vi0 8>;
|
||||
};
|
||||
|
||||
vspd1: vsp@fea28000 {
|
||||
compatible = "renesas,vsp2";
|
||||
reg = <0 0xfea28000 0 0x8000>;
|
||||
interrupts = <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 622>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 622>;
|
||||
renesas,fcp = <&fcpvd1>;
|
||||
};
|
||||
|
||||
fcpvd1: fcp@fea2f000 {
|
||||
compatible = "renesas,fcpv";
|
||||
reg = <0 0xfea2f000 0 0x200>;
|
||||
clocks = <&cpg CPG_MOD 602>;
|
||||
power-domains = <&sysc R8A77995_PD_ALWAYS_ON>;
|
||||
resets = <&cpg 602>;
|
||||
iommus = <&ipmmu_vi0 9>;
|
||||
};
|
||||
|
||||
du: display@feb00000 {
|
||||
compatible = "renesas,du-r8a77995";
|
||||
reg = <0 0xfeb00000 0 0x80000>;
|
||||
interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cpg CPG_MOD 724>,
|
||||
<&cpg CPG_MOD 723>;
|
||||
clock-names = "du.0", "du.1";
|
||||
vsps = <&vspd0 0 &vspd1 0>;
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
du_out_rgb: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
du_out_lvds0: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
du_out_lvds1: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
rpc: rpc@0xee200000 {
|
||||
compatible = "renesas,rpc-r8a77995", "renesas,rpc";
|
||||
reg = <0 0xee200000 0 0x100>, <0 0x08000000 0 0>;
|
||||
@@ -408,4 +789,12 @@
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupts-extended = <&gic GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>,
|
||||
<&gic GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(1) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
*/
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <11289600>;
|
||||
clock-frequency = <12288000>;
|
||||
};
|
||||
|
||||
backlight: backlight {
|
||||
@@ -255,9 +255,8 @@
|
||||
&avb {
|
||||
pinctrl-0 = <&avb_pins>;
|
||||
pinctrl-names = "default";
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
||||
phy-mode = "rgmii-txid";
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
@@ -265,6 +264,7 @@
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -283,6 +283,7 @@
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -295,6 +296,7 @@
|
||||
};
|
||||
|
||||
&hsusb {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -337,6 +339,13 @@
|
||||
&i2c4 {
|
||||
status = "okay";
|
||||
|
||||
pca9654: gpio@20 {
|
||||
compatible = "onnn,pca9654";
|
||||
reg = <0x20>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
csa_vdd: adc@7c {
|
||||
compatible = "maxim,max9611";
|
||||
reg = <0x7c>;
|
||||
@@ -354,9 +363,34 @@
|
||||
|
||||
&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 {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -382,8 +416,7 @@
|
||||
|
||||
avb_pins: avb {
|
||||
mux {
|
||||
groups = "avb_link", "avb_phy_int", "avb_mdc",
|
||||
"avb_mii";
|
||||
groups = "avb_link", "avb_mdc", "avb_mii";
|
||||
function = "avb";
|
||||
};
|
||||
|
||||
@@ -409,6 +442,11 @@
|
||||
function = "i2c2";
|
||||
};
|
||||
|
||||
irq0_pins: irq0 {
|
||||
groups = "intc_ex_irq0";
|
||||
function = "intc_ex";
|
||||
};
|
||||
|
||||
pwm1_pins: pwm1 {
|
||||
groups = "pwm1_a";
|
||||
function = "pwm1";
|
||||
@@ -497,6 +535,11 @@
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
usb30_pins: usb30 {
|
||||
groups = "usb30";
|
||||
function = "usb30";
|
||||
};
|
||||
};
|
||||
|
||||
&pwm1 {
|
||||
@@ -576,10 +619,7 @@
|
||||
wp-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
|
||||
bus-width = <4>;
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
status = "okay";
|
||||
|
||||
max-frequency = <208000000>;
|
||||
};
|
||||
|
||||
&sdhi2 {
|
||||
@@ -591,12 +631,10 @@
|
||||
vmmc-supply = <®_3p3v>;
|
||||
vqmmc-supply = <®_1p8v>;
|
||||
bus-width = <8>;
|
||||
mmc-ddr-1_8v;
|
||||
mmc-hs200-1_8v;
|
||||
non-removable;
|
||||
fixed-emmc-driver-type = <1>;
|
||||
status = "okay";
|
||||
|
||||
max-frequency = <200000000>;
|
||||
};
|
||||
|
||||
&sdhi3 {
|
||||
@@ -610,16 +648,17 @@
|
||||
wp-gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
|
||||
bus-width = <4>;
|
||||
sd-uhs-sdr50;
|
||||
sd-uhs-sdr104;
|
||||
status = "okay";
|
||||
|
||||
max-frequency = <208000000>;
|
||||
};
|
||||
|
||||
&ssi1 {
|
||||
shared-pin;
|
||||
};
|
||||
|
||||
&usb_extal_clk {
|
||||
clock-frequency = <50000000>;
|
||||
};
|
||||
|
||||
&usb2_phy0 {
|
||||
pinctrl-0 = <&usb0_pins>;
|
||||
pinctrl-names = "default";
|
||||
@@ -635,11 +674,29 @@
|
||||
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";
|
||||
};
|
||||
|
||||
&xhci0 {
|
||||
pinctrl-0 = <&usb30_pins>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -24,15 +24,6 @@
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
cpld {
|
||||
compatible = "renesas,ulcb-cpld";
|
||||
status = "okay";
|
||||
gpio-sck = <&gpio6 8 0>;
|
||||
gpio-mosi = <&gpio6 7 0>;
|
||||
gpio-miso = <&gpio6 10 0>;
|
||||
gpio-sstbz = <&gpio2 3 0>;
|
||||
};
|
||||
|
||||
audio_clkout: audio-clkout {
|
||||
/*
|
||||
* This is same as <&rcar_sound 0>
|
||||
@@ -40,7 +31,7 @@
|
||||
*/
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <11289600>;
|
||||
clock-frequency = <12288000>;
|
||||
};
|
||||
|
||||
hdmi0-out {
|
||||
@@ -154,9 +145,8 @@
|
||||
&avb {
|
||||
pinctrl-0 = <&avb_pins>;
|
||||
pinctrl-names = "default";
|
||||
renesas,no-ether-link;
|
||||
phy-handle = <&phy0>;
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
||||
phy-mode = "rgmii-txid";
|
||||
status = "okay";
|
||||
|
||||
phy0: ethernet-phy@0 {
|
||||
@@ -164,9 +154,14 @@
|
||||
reg = <0>;
|
||||
interrupt-parent = <&gpio2>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||||
reset-gpios = <&gpio2 10 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&du {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -260,8 +255,7 @@
|
||||
|
||||
avb_pins: avb {
|
||||
mux {
|
||||
groups = "avb_link", "avb_phy_int", "avb_mdc",
|
||||
"avb_mii";
|
||||
groups = "avb_link", "avb_mdc", "avb_mii";
|
||||
function = "avb";
|
||||
};
|
||||
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
autorepeat;
|
||||
sw14 {
|
||||
label = "sw14";
|
||||
|
||||
@@ -49,8 +49,6 @@
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
autorepeat;
|
||||
K1 {
|
||||
label = "K1";
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
aliases {
|
||||
serial0 = &dcc;
|
||||
mmc0 = &sdhci0;
|
||||
mmc1 = &sdhci1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -36,6 +35,12 @@
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
clk_xin: clk_xin {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <200000000>;
|
||||
};
|
||||
|
||||
amba: amba {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
@@ -50,15 +55,6 @@
|
||||
clock-names = "clk_xin", "clk_ahb";
|
||||
xlnx,device_id = <0>;
|
||||
};
|
||||
|
||||
sdhci1: sdhci@ff170000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
|
||||
status = "disabled";
|
||||
reg = <0x0 0xff170000 0x0 0x1000>;
|
||||
clock-names = "clk_xin", "clk_ahb";
|
||||
xlnx,device_id = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -69,7 +65,3 @@
|
||||
&sdhci0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci1 {
|
||||
status = "okay";
|
||||
};
|
||||
67
arch/arm/dts/zynqmp-mini-emmc1.dts
Normal file
67
arch/arm/dts/zynqmp-mini-emmc1.dts
Normal file
@@ -0,0 +1,67 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* dts file for Xilinx ZynqMP Mini Configuration
|
||||
*
|
||||
* (C) Copyright 2018, Xilinx, Inc.
|
||||
*
|
||||
* Siva Durga Prasad <siva.durga.paladugu@xilinx.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
model = "ZynqMP MINI EMMC";
|
||||
compatible = "xlnx,zynqmp";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
aliases {
|
||||
serial0 = &dcc;
|
||||
mmc0 = &sdhci1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
memory@0 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0x0 0x0 0x20000000>;
|
||||
};
|
||||
|
||||
dcc: dcc {
|
||||
compatible = "arm,dcc";
|
||||
status = "disabled";
|
||||
u-boot,dm-pre-reloc;
|
||||
};
|
||||
|
||||
clk_xin: clk_xin {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <200000000>;
|
||||
};
|
||||
|
||||
amba: amba {
|
||||
compatible = "simple-bus";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
sdhci1: sdhci@ff170000 {
|
||||
u-boot,dm-pre-reloc;
|
||||
compatible = "xlnx,zynqmp-8.9a", "arasan,sdhci-8.9a";
|
||||
status = "disabled";
|
||||
reg = <0x0 0xff170000 0x0 0x1000>;
|
||||
clock-names = "clk_xin", "clk_xin";
|
||||
xlnx,device_id = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&dcc {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci1 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -48,8 +48,6 @@
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
autorepeat;
|
||||
sw4 {
|
||||
label = "sw4";
|
||||
|
||||
@@ -45,8 +45,6 @@
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
autorepeat;
|
||||
sw19 {
|
||||
label = "sw19";
|
||||
|
||||
@@ -45,8 +45,6 @@
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
autorepeat;
|
||||
sw19 {
|
||||
label = "sw19";
|
||||
|
||||
@@ -45,8 +45,6 @@
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
autorepeat;
|
||||
sw19 {
|
||||
label = "sw19";
|
||||
|
||||
117
arch/arm/include/asm/arch-meson/clock.h
Normal file
117
arch/arm/include/asm/arch-meson/clock.h
Normal file
@@ -0,0 +1,117 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0+ */
|
||||
/*
|
||||
* Copyright 2016 - AmLogic, Inc.
|
||||
* Copyright 2018 - Beniamino Galvani <b.galvani@gmail.com>
|
||||
*/
|
||||
#ifndef _ARCH_MESON_CLOCK_H_
|
||||
#define _ARCH_MESON_CLOCK_H_
|
||||
|
||||
/*
|
||||
* Clock controller register offsets
|
||||
*
|
||||
* Register offsets from the data sheet are listed in comment blocks below.
|
||||
* Those offsets must be multiplied by 4 before adding them to the base address
|
||||
* to get the right value
|
||||
*/
|
||||
#define SCR 0x2C /* 0x0b offset in data sheet */
|
||||
#define TIMEOUT_VALUE 0x3c /* 0x0f offset in data sheet */
|
||||
|
||||
#define HHI_GP0_PLL_CNTL 0x40 /* 0x10 offset in data sheet */
|
||||
#define HHI_GP0_PLL_CNTL2 0x44 /* 0x11 offset in data sheet */
|
||||
#define HHI_GP0_PLL_CNTL3 0x48 /* 0x12 offset in data sheet */
|
||||
#define HHI_GP0_PLL_CNTL4 0x4c /* 0x13 offset in data sheet */
|
||||
#define HHI_GP0_PLL_CNTL5 0x50 /* 0x14 offset in data sheet */
|
||||
#define HHI_GP0_PLL_CNTL1 0x58 /* 0x16 offset in data sheet */
|
||||
|
||||
#define HHI_XTAL_DIVN_CNTL 0xbc /* 0x2f offset in data sheet */
|
||||
#define HHI_TIMER90K 0xec /* 0x3b offset in data sheet */
|
||||
|
||||
#define HHI_MEM_PD_REG0 0x100 /* 0x40 offset in data sheet */
|
||||
#define HHI_MEM_PD_REG1 0x104 /* 0x41 offset in data sheet */
|
||||
#define HHI_VPU_MEM_PD_REG1 0x108 /* 0x42 offset in data sheet */
|
||||
#define HHI_VIID_CLK_DIV 0x128 /* 0x4a offset in data sheet */
|
||||
#define HHI_VIID_CLK_CNTL 0x12c /* 0x4b offset in data sheet */
|
||||
|
||||
#define HHI_GCLK_MPEG0 0x140 /* 0x50 offset in data sheet */
|
||||
#define HHI_GCLK_MPEG1 0x144 /* 0x51 offset in data sheet */
|
||||
#define HHI_GCLK_MPEG2 0x148 /* 0x52 offset in data sheet */
|
||||
#define HHI_GCLK_OTHER 0x150 /* 0x54 offset in data sheet */
|
||||
#define HHI_GCLK_AO 0x154 /* 0x55 offset in data sheet */
|
||||
#define HHI_SYS_OSCIN_CNTL 0x158 /* 0x56 offset in data sheet */
|
||||
#define HHI_SYS_CPU_CLK_CNTL1 0x15c /* 0x57 offset in data sheet */
|
||||
#define HHI_SYS_CPU_RESET_CNTL 0x160 /* 0x58 offset in data sheet */
|
||||
#define HHI_VID_CLK_DIV 0x164 /* 0x59 offset in data sheet */
|
||||
|
||||
#define HHI_MPEG_CLK_CNTL 0x174 /* 0x5d offset in data sheet */
|
||||
#define HHI_AUD_CLK_CNTL 0x178 /* 0x5e offset in data sheet */
|
||||
#define HHI_VID_CLK_CNTL 0x17c /* 0x5f offset in data sheet */
|
||||
#define HHI_AUD_CLK_CNTL2 0x190 /* 0x64 offset in data sheet */
|
||||
#define HHI_VID_CLK_CNTL2 0x194 /* 0x65 offset in data sheet */
|
||||
#define HHI_SYS_CPU_CLK_CNTL0 0x19c /* 0x67 offset in data sheet */
|
||||
#define HHI_VID_PLL_CLK_DIV 0x1a0 /* 0x68 offset in data sheet */
|
||||
#define HHI_AUD_CLK_CNTL3 0x1a4 /* 0x69 offset in data sheet */
|
||||
#define HHI_MALI_CLK_CNTL 0x1b0 /* 0x6c offset in data sheet */
|
||||
#define HHI_VPU_CLK_CNTL 0x1bC /* 0x6f offset in data sheet */
|
||||
|
||||
#define HHI_HDMI_CLK_CNTL 0x1CC /* 0x73 offset in data sheet */
|
||||
#define HHI_VDEC_CLK_CNTL 0x1E0 /* 0x78 offset in data sheet */
|
||||
#define HHI_VDEC2_CLK_CNTL 0x1E4 /* 0x79 offset in data sheet */
|
||||
#define HHI_VDEC3_CLK_CNTL 0x1E8 /* 0x7a offset in data sheet */
|
||||
#define HHI_VDEC4_CLK_CNTL 0x1EC /* 0x7b offset in data sheet */
|
||||
#define HHI_HDCP22_CLK_CNTL 0x1F0 /* 0x7c offset in data sheet */
|
||||
#define HHI_VAPBCLK_CNTL 0x1F4 /* 0x7d offset in data sheet */
|
||||
|
||||
#define HHI_VPU_CLKB_CNTL 0x20C /* 0x83 offset in data sheet */
|
||||
#define HHI_USB_CLK_CNTL 0x220 /* 0x88 offset in data sheet */
|
||||
#define HHI_32K_CLK_CNTL 0x224 /* 0x89 offset in data sheet */
|
||||
#define HHI_GEN_CLK_CNTL 0x228 /* 0x8a offset in data sheet */
|
||||
#define HHI_GEN_CLK_CNTL 0x228 /* 0x8a offset in data sheet */
|
||||
|
||||
#define HHI_PCM_CLK_CNTL 0x258 /* 0x96 offset in data sheet */
|
||||
#define HHI_NAND_CLK_CNTL 0x25C /* 0x97 offset in data sheet */
|
||||
#define HHI_SD_EMMC_CLK_CNTL 0x264 /* 0x99 offset in data sheet */
|
||||
|
||||
#define HHI_MPLL_CNTL 0x280 /* 0xa0 offset in data sheet */
|
||||
#define HHI_MPLL_CNTL2 0x284 /* 0xa1 offset in data sheet */
|
||||
#define HHI_MPLL_CNTL3 0x288 /* 0xa2 offset in data sheet */
|
||||
#define HHI_MPLL_CNTL4 0x28C /* 0xa3 offset in data sheet */
|
||||
#define HHI_MPLL_CNTL5 0x290 /* 0xa4 offset in data sheet */
|
||||
#define HHI_MPLL_CNTL6 0x294 /* 0xa5 offset in data sheet */
|
||||
#define HHI_MPLL_CNTL7 0x298 /* 0xa6 offset in data sheet */
|
||||
#define HHI_MPLL_CNTL8 0x29C /* 0xa7 offset in data sheet */
|
||||
#define HHI_MPLL_CNTL9 0x2A0 /* 0xa8 offset in data sheet */
|
||||
#define HHI_MPLL_CNTL10 0x2A4 /* 0xa9 offset in data sheet */
|
||||
|
||||
#define HHI_MPLL3_CNTL0 0x2E0 /* 0xb8 offset in data sheet */
|
||||
#define HHI_MPLL3_CNTL1 0x2E4 /* 0xb9 offset in data sheet */
|
||||
#define HHI_VDAC_CNTL0 0x2F4 /* 0xbd offset in data sheet */
|
||||
#define HHI_VDAC_CNTL1 0x2F8 /* 0xbe offset in data sheet */
|
||||
|
||||
#define HHI_SYS_PLL_CNTL 0x300 /* 0xc0 offset in data sheet */
|
||||
#define HHI_SYS_PLL_CNTL2 0x304 /* 0xc1 offset in data sheet */
|
||||
#define HHI_SYS_PLL_CNTL3 0x308 /* 0xc2 offset in data sheet */
|
||||
#define HHI_SYS_PLL_CNTL4 0x30c /* 0xc3 offset in data sheet */
|
||||
#define HHI_SYS_PLL_CNTL5 0x310 /* 0xc4 offset in data sheet */
|
||||
#define HHI_DPLL_TOP_I 0x318 /* 0xc6 offset in data sheet */
|
||||
#define HHI_DPLL_TOP2_I 0x31C /* 0xc7 offset in data sheet */
|
||||
#define HHI_HDMI_PLL_CNTL 0x320 /* 0xc8 offset in data sheet */
|
||||
#define HHI_HDMI_PLL_CNTL2 0x324 /* 0xc9 offset in data sheet */
|
||||
#define HHI_HDMI_PLL_CNTL3 0x328 /* 0xca offset in data sheet */
|
||||
#define HHI_HDMI_PLL_CNTL4 0x32C /* 0xcb offset in data sheet */
|
||||
#define HHI_HDMI_PLL_CNTL5 0x330 /* 0xcc offset in data sheet */
|
||||
#define HHI_HDMI_PLL_CNTL6 0x334 /* 0xcd offset in data sheet */
|
||||
#define HHI_HDMI_PLL_CNTL_I 0x338 /* 0xce offset in data sheet */
|
||||
#define HHI_HDMI_PLL_CNTL7 0x33C /* 0xcf offset in data sheet */
|
||||
|
||||
#define HHI_HDMI_PHY_CNTL0 0x3A0 /* 0xe8 offset in data sheet */
|
||||
#define HHI_HDMI_PHY_CNTL1 0x3A4 /* 0xe9 offset in data sheet */
|
||||
#define HHI_HDMI_PHY_CNTL2 0x3A8 /* 0xea offset in data sheet */
|
||||
#define HHI_HDMI_PHY_CNTL3 0x3AC /* 0xeb offset in data sheet */
|
||||
|
||||
#define HHI_VID_LOCK_CLK_CNTL 0x3C8 /* 0xf2 offset in data sheet */
|
||||
#define HHI_BT656_CLK_CNTL 0x3D4 /* 0xf5 offset in data sheet */
|
||||
#define HHI_SAR_CLK_CNTL 0x3D8 /* 0xf6 offset in data sheet */
|
||||
|
||||
ulong meson_measure_clk_rate(unsigned int clk);
|
||||
|
||||
#endif
|
||||
@@ -56,14 +56,4 @@
|
||||
/* Ethernet memory power domain */
|
||||
#define GX_MEM_PD_REG_0_ETH_MASK (BIT(2) | BIT(3))
|
||||
|
||||
/* Clock gates */
|
||||
#define GX_GCLK_MPEG_0 GX_HIU_ADDR(0x50)
|
||||
#define GX_GCLK_MPEG_1 GX_HIU_ADDR(0x51)
|
||||
#define GX_GCLK_MPEG_2 GX_HIU_ADDR(0x52)
|
||||
#define GX_GCLK_MPEG_OTHER GX_HIU_ADDR(0x53)
|
||||
#define GX_GCLK_MPEG_AO GX_HIU_ADDR(0x54)
|
||||
|
||||
#define GX_GCLK_MPEG_0_I2C BIT(9)
|
||||
#define GX_GCLK_MPEG_1_ETH BIT(3)
|
||||
|
||||
#endif /* __GX_H__ */
|
||||
|
||||
@@ -280,8 +280,10 @@ struct sunxi_ccm_reg {
|
||||
#define AHB_GATE_OFFSET_USB_EHCI1 26
|
||||
#define AHB_GATE_OFFSET_USB_EHCI0 24
|
||||
#elif defined(CONFIG_MACH_SUN50I)
|
||||
#define AHB_GATE_OFFSET_USB_OHCI0 29
|
||||
#define AHB_GATE_OFFSET_USB_EHCI0 25
|
||||
#define AHB_GATE_OFFSET_USB_OHCI0 28
|
||||
#define AHB_GATE_OFFSET_USB_OHCI1 29
|
||||
#define AHB_GATE_OFFSET_USB_EHCI0 24
|
||||
#define AHB_GATE_OFFSET_USB_EHCI1 25
|
||||
#else
|
||||
#define AHB_GATE_OFFSET_USB_OHCI1 30
|
||||
#define AHB_GATE_OFFSET_USB_OHCI0 29
|
||||
|
||||
@@ -26,7 +26,8 @@ struct Image_header {
|
||||
uint32_t res5;
|
||||
};
|
||||
|
||||
int booti_setup(ulong image, ulong *relocated_addr, ulong *size)
|
||||
int booti_setup(ulong image, ulong *relocated_addr, ulong *size,
|
||||
bool force_reloc)
|
||||
{
|
||||
struct Image_header *ih;
|
||||
uint64_t dst;
|
||||
@@ -63,7 +64,7 @@ int booti_setup(ulong image, ulong *relocated_addr, ulong *size)
|
||||
* images->ep. Otherwise, relocate the image to the base of RAM
|
||||
* since memory below it is not accessible via the linear mapping.
|
||||
*/
|
||||
if (le64_to_cpu(ih->flags) & BIT(3))
|
||||
if (!force_reloc && (le64_to_cpu(ih->flags) & BIT(3)))
|
||||
dst = image - text_offset;
|
||||
else
|
||||
dst = gd->bd->bi_dram[0].start;
|
||||
|
||||
@@ -133,7 +133,7 @@ not_used:
|
||||
irq:
|
||||
fiq:
|
||||
1:
|
||||
bl 1b /* hang and never return */
|
||||
b 1b /* hang and never return */
|
||||
|
||||
#else /* !CONFIG_SPL_BUILD */
|
||||
|
||||
|
||||
@@ -59,13 +59,11 @@ void __efi_runtime EFIAPI efi_reset_system(
|
||||
{
|
||||
u32 val;
|
||||
|
||||
switch (reset_type) {
|
||||
case EFI_RESET_COLD:
|
||||
case EFI_RESET_WARM:
|
||||
case EFI_RESET_PLATFORM_SPECIFIC:
|
||||
if (reset_type == EFI_RESET_COLD ||
|
||||
reset_type == EFI_RESET_WARM ||
|
||||
reset_type == EFI_RESET_PLATFORM_SPECIFIC) {
|
||||
reset_cpu(0);
|
||||
break;
|
||||
case EFI_RESET_SHUTDOWN:
|
||||
} else if (reset_type == EFI_RESET_SHUTDOWN) {
|
||||
/*
|
||||
* We set the watchdog hard reset bit here to distinguish this reset
|
||||
* from the normal (full) reset. bootcode.bin will not reboot after a
|
||||
@@ -76,7 +74,6 @@ void __efi_runtime EFIAPI efi_reset_system(
|
||||
val |= BCM2835_WDOG_RSTS_RASPBERRYPI_HALT;
|
||||
writel(val, &wdog_regs->rsts);
|
||||
reset_cpu(0);
|
||||
break;
|
||||
}
|
||||
|
||||
while (1) { }
|
||||
|
||||
@@ -39,7 +39,7 @@ struct davinci_gpio_bank {
|
||||
unsigned int irq_num;
|
||||
unsigned int irq_mask;
|
||||
unsigned long *in_use;
|
||||
unsigned long base;
|
||||
struct davinci_gpio *base;
|
||||
};
|
||||
|
||||
#define davinci_gpio_bank01 ((struct davinci_gpio *)DAVINCI_GPIO_BANK01)
|
||||
@@ -48,7 +48,9 @@ struct davinci_gpio_bank {
|
||||
#define davinci_gpio_bank67 ((struct davinci_gpio *)DAVINCI_GPIO_BANK67)
|
||||
#define davinci_gpio_bank8 ((struct davinci_gpio *)DAVINCI_GPIO_BANK8)
|
||||
|
||||
#ifndef CONFIG_DM_GPIO
|
||||
#define gpio_status() gpio_info()
|
||||
#endif
|
||||
#define GPIO_NAME_SIZE 20
|
||||
#if defined(CONFIG_SOC_DM644X)
|
||||
/* GPIO0 to GPIO53, omit the V3.3 volts one */
|
||||
@@ -63,4 +65,14 @@ struct davinci_gpio_bank {
|
||||
|
||||
void gpio_info(void);
|
||||
|
||||
#ifdef CONFIG_DM_GPIO
|
||||
|
||||
/* Information about a GPIO bank */
|
||||
struct davinci_gpio_platdata {
|
||||
int bank_index;
|
||||
ulong base; /* address of registers in physical memory */
|
||||
const char *port_name;
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -29,20 +29,20 @@ static uint32_t cpu_ctrl_mask[MAX_CPUS] = {
|
||||
SRC_SCR_CORE_3_ENABLE_MASK
|
||||
};
|
||||
|
||||
int cpu_reset(int nr)
|
||||
int cpu_reset(u32 nr)
|
||||
{
|
||||
/* Software reset of the CPU N */
|
||||
src->scr |= cpu_reset_mask[nr];
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_status(int nr)
|
||||
int cpu_status(u32 nr)
|
||||
{
|
||||
printf("core %d => %d\n", nr, !!(src->scr & cpu_ctrl_mask[nr]));
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_release(int nr, int argc, char *const argv[])
|
||||
int cpu_release(u32 nr, int argc, char *const argv[])
|
||||
{
|
||||
uint32_t boot_addr;
|
||||
|
||||
@@ -78,7 +78,7 @@ int is_core_valid(unsigned int core)
|
||||
return 1;
|
||||
}
|
||||
|
||||
int cpu_disable(int nr)
|
||||
int cpu_disable(u32 nr)
|
||||
{
|
||||
/* Disable the CPU N */
|
||||
src->scr &= ~cpu_ctrl_mask[nr];
|
||||
|
||||
@@ -59,6 +59,9 @@ config TARGET_NAS220
|
||||
config TARGET_NSA310S
|
||||
bool "Zyxel NSA310S"
|
||||
|
||||
config TARGET_SBx81LIFKW
|
||||
bool "Allied Telesis SBx81GS24/SBx81GT40/SBx81XS6/SBx81XS16"
|
||||
|
||||
endchoice
|
||||
|
||||
config SYS_SOC
|
||||
@@ -81,5 +84,6 @@ source "board/Seagate/dockstar/Kconfig"
|
||||
source "board/Seagate/goflexhome/Kconfig"
|
||||
source "board/Seagate/nas220/Kconfig"
|
||||
source "board/zyxel/nsa310s/Kconfig"
|
||||
source "board/alliedtelesis/SBx81LIFKW/Kconfig"
|
||||
|
||||
endif
|
||||
|
||||
@@ -59,7 +59,6 @@
|
||||
* SPI Flash configuration
|
||||
*/
|
||||
#ifdef CONFIG_CMD_SF
|
||||
#define CONFIG_HARD_SPI 1
|
||||
#ifndef CONFIG_ENV_SPI_BUS
|
||||
# define CONFIG_ENV_SPI_BUS 0
|
||||
#endif
|
||||
@@ -116,7 +115,7 @@
|
||||
/*
|
||||
* I2C related stuff
|
||||
*/
|
||||
#ifdef CONFIG_CMD_I2C
|
||||
#if defined(CONFIG_CMD_I2C) && !defined(CONFIG_DM_I2C)
|
||||
#ifndef CONFIG_SYS_I2C_SOFT
|
||||
#define CONFIG_SYS_I2C
|
||||
#define CONFIG_SYS_I2C_MVTWSI
|
||||
|
||||
@@ -3,6 +3,7 @@ if ARCH_MESON
|
||||
config MESON_GXBB
|
||||
bool "Support Meson GXBaby"
|
||||
select ARM64
|
||||
select CLK
|
||||
select DM
|
||||
select DM_SERIAL
|
||||
help
|
||||
@@ -12,6 +13,7 @@ config MESON_GXBB
|
||||
config MESON_GXL
|
||||
bool "Support Meson GXL"
|
||||
select ARM64
|
||||
select CLK
|
||||
select DM
|
||||
select DM_SERIAL
|
||||
help
|
||||
|
||||
@@ -48,7 +48,6 @@ void meson_gx_eth_init(phy_interface_t mode, unsigned int flags)
|
||||
return;
|
||||
}
|
||||
|
||||
/* Enable power and clock gate */
|
||||
setbits_le32(GX_GCLK_MPEG_1, GX_GCLK_MPEG_1_ETH);
|
||||
/* Enable power gate */
|
||||
clrbits_le32(GX_MEM_PD_REG_0, GX_MEM_PD_REG_0_ETH_MASK);
|
||||
}
|
||||
|
||||
@@ -75,6 +75,10 @@ config TARGET_CLEARFOG
|
||||
bool "Support ClearFog"
|
||||
select 88F6820
|
||||
|
||||
config TARGET_HELIOS4
|
||||
bool "Support Helios4"
|
||||
select 88F6820
|
||||
|
||||
config TARGET_MVEBU_ARMADA_37XX
|
||||
bool "Support Armada 37xx platforms"
|
||||
select ARMADA_3700
|
||||
@@ -132,6 +136,7 @@ endchoice
|
||||
|
||||
config SYS_BOARD
|
||||
default "clearfog" if TARGET_CLEARFOG
|
||||
default "helios4" if TARGET_HELIOS4
|
||||
default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
|
||||
default "db-88f6720" if TARGET_DB_88F6720
|
||||
default "db-88f6820-gp" if TARGET_DB_88F6820_GP
|
||||
@@ -146,6 +151,7 @@ config SYS_BOARD
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "clearfog" if TARGET_CLEARFOG
|
||||
default "helios4" if TARGET_HELIOS4
|
||||
default "mvebu_armada-37xx" if TARGET_MVEBU_ARMADA_37XX
|
||||
default "db-88f6720" if TARGET_DB_88F6720
|
||||
default "db-88f6820-gp" if TARGET_DB_88F6820_GP
|
||||
@@ -166,6 +172,7 @@ config SYS_VENDOR
|
||||
default "Marvell" if TARGET_DB_88F6820_AMC
|
||||
default "Marvell" if TARGET_MVEBU_ARMADA_8K
|
||||
default "solidrun" if TARGET_CLEARFOG
|
||||
default "kobol" if TARGET_HELIOS4
|
||||
default "Synology" if TARGET_DS414
|
||||
default "CZ.NIC" if TARGET_TURRIS_OMNIA
|
||||
default "CZ.NIC" if TARGET_TURRIS_MOX
|
||||
|
||||
@@ -597,6 +597,8 @@ struct op_params pex_electrical_config_serdes_rev2_params[] = {
|
||||
{LANE_CFG4_REG, 0x800, 0x8, {0x8}, 0, 0},
|
||||
/* tximpcal_th and rximpcal_th */
|
||||
{VTHIMPCAL_CTRL_REG, 0x800, 0xff00, {0x3000}, 0, 0},
|
||||
/* Force receiver detected */
|
||||
{LANE_CFG0_REG, 0x800, 0x8000, {0x8000}, 0, 0},
|
||||
};
|
||||
|
||||
/* PEX - configuration seq for REF_CLOCK_25MHz */
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
#define RX_REG3 0xa0188
|
||||
#define PCIE_REG1 0xa0288
|
||||
#define PCIE_REG3 0xa0290
|
||||
#define LANE_CFG0_REG 0xa0600
|
||||
#define LANE_CFG1_REG 0xa0604
|
||||
#define LANE_CFG4_REG 0xa0620
|
||||
#define LANE_CFG5_REG 0xa0624
|
||||
|
||||
@@ -750,23 +750,23 @@ void per_clocks_enable(void)
|
||||
setbits_le32(&prcm_base->iclken_per, 0x00000800);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OMAP3_GPIO_2
|
||||
#if (CONFIG_IS_ENABLED(OMAP3_GPIO_2) || CONFIG_IS_ENABLED(CMD_GPIO))
|
||||
setbits_le32(&prcm_base->fclken_per, 0x00002000);
|
||||
setbits_le32(&prcm_base->iclken_per, 0x00002000);
|
||||
#endif
|
||||
#ifdef CONFIG_OMAP3_GPIO_3
|
||||
#if (CONFIG_IS_ENABLED(OMAP3_GPIO_3) || CONFIG_IS_ENABLED(CMD_GPIO))
|
||||
setbits_le32(&prcm_base->fclken_per, 0x00004000);
|
||||
setbits_le32(&prcm_base->iclken_per, 0x00004000);
|
||||
#endif
|
||||
#ifdef CONFIG_OMAP3_GPIO_4
|
||||
#if (CONFIG_IS_ENABLED(OMAP3_GPIO_4) || CONFIG_IS_ENABLED(CMD_GPIO))
|
||||
setbits_le32(&prcm_base->fclken_per, 0x00008000);
|
||||
setbits_le32(&prcm_base->iclken_per, 0x00008000);
|
||||
#endif
|
||||
#ifdef CONFIG_OMAP3_GPIO_5
|
||||
#if (CONFIG_IS_ENABLED(OMAP3_GPIO_5) || CONFIG_IS_ENABLED(CMD_GPIO))
|
||||
setbits_le32(&prcm_base->fclken_per, 0x00010000);
|
||||
setbits_le32(&prcm_base->iclken_per, 0x00010000);
|
||||
#endif
|
||||
#ifdef CONFIG_OMAP3_GPIO_6
|
||||
#if (CONFIG_IS_ENABLED(OMAP3_GPIO_6) || CONFIG_IS_ENABLED(CMD_GPIO))
|
||||
setbits_le32(&prcm_base->fclken_per, 0x00020000);
|
||||
setbits_le32(&prcm_base->iclken_per, 0x00020000);
|
||||
#endif
|
||||
|
||||
@@ -71,67 +71,67 @@ lowlevel_init:
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
|
||||
/* Use 'r4 as the base for internal register accesses */
|
||||
ldr r4, =ORION5X_REGS_PHY_BASE
|
||||
/* Use 'r2 as the base for internal register accesses */
|
||||
ldr r2, =ORION5X_REGS_PHY_BASE
|
||||
|
||||
/* move internal registers from the default 0xD0000000
|
||||
* to their intended location, defined by SoC */
|
||||
ldr r3, =0xD0000000
|
||||
add r3, r3, #0x20000
|
||||
str r4, [r3, #0x80]
|
||||
str r2, [r3, #0x80]
|
||||
|
||||
/* Use R3 as the base for DRAM registers */
|
||||
add r3, r4, #0x01000
|
||||
add r3, r2, #0x01000
|
||||
|
||||
/*DDR SDRAM Initialization Control */
|
||||
ldr r6, =0x00000001
|
||||
str r6, [r3, #0x480]
|
||||
ldr r0, =0x00000001
|
||||
str r0, [r3, #0x480]
|
||||
|
||||
/* Use R3 as the base for PCI registers */
|
||||
add r3, r4, #0x31000
|
||||
add r3, r2, #0x31000
|
||||
|
||||
/* Disable arbiter */
|
||||
ldr r6, =0x00000030
|
||||
str r6, [r3, #0xd00]
|
||||
ldr r0, =0x00000030
|
||||
str r0, [r3, #0xd00]
|
||||
|
||||
/* Use R3 as the base for DRAM registers */
|
||||
add r3, r4, #0x01000
|
||||
add r3, r2, #0x01000
|
||||
|
||||
/* set all dram windows to 0 */
|
||||
mov r6, #0
|
||||
str r6, [r3, #0x504]
|
||||
str r6, [r3, #0x50C]
|
||||
str r6, [r3, #0x514]
|
||||
str r6, [r3, #0x51C]
|
||||
mov r0, #0
|
||||
str r0, [r3, #0x504]
|
||||
str r0, [r3, #0x50C]
|
||||
str r0, [r3, #0x514]
|
||||
str r0, [r3, #0x51C]
|
||||
|
||||
/* 1) Configure SDRAM */
|
||||
ldr r6, =SDRAM_CONFIG
|
||||
str r6, [r3, #0x400]
|
||||
ldr r0, =SDRAM_CONFIG
|
||||
str r0, [r3, #0x400]
|
||||
|
||||
/* 2) Set SDRAM Control reg */
|
||||
ldr r6, =SDRAM_CONTROL
|
||||
str r6, [r3, #0x404]
|
||||
ldr r0, =SDRAM_CONTROL
|
||||
str r0, [r3, #0x404]
|
||||
|
||||
/* 3) Write SDRAM address control register */
|
||||
ldr r6, =SDRAM_ADDR_CTRL
|
||||
str r6, [r3, #0x410]
|
||||
ldr r0, =SDRAM_ADDR_CTRL
|
||||
str r0, [r3, #0x410]
|
||||
|
||||
/* 4) Write SDRAM bank 0 size register */
|
||||
ldr r6, =SDRAM_BANK0_SIZE
|
||||
str r6, [r3, #0x504]
|
||||
ldr r0, =SDRAM_BANK0_SIZE
|
||||
str r0, [r3, #0x504]
|
||||
/* keep other banks disabled */
|
||||
|
||||
/* 5) Write SDRAM open pages control register */
|
||||
ldr r6, =SDRAM_OPEN_PAGE_EN
|
||||
str r6, [r3, #0x414]
|
||||
ldr r0, =SDRAM_OPEN_PAGE_EN
|
||||
str r0, [r3, #0x414]
|
||||
|
||||
/* 6) Write SDRAM timing Low register */
|
||||
ldr r6, =SDRAM_TIME_CTRL_LOW
|
||||
str r6, [r3, #0x408]
|
||||
ldr r0, =SDRAM_TIME_CTRL_LOW
|
||||
str r0, [r3, #0x408]
|
||||
|
||||
/* 7) Write SDRAM timing High register */
|
||||
ldr r6, =SDRAM_TIME_CTRL_HI
|
||||
str r6, [r3, #0x40C]
|
||||
ldr r0, =SDRAM_TIME_CTRL_HI
|
||||
str r0, [r3, #0x40C]
|
||||
|
||||
/* 8) Write SDRAM mode register */
|
||||
/* The CPU must not attempt to change the SDRAM Mode register setting */
|
||||
@@ -142,73 +142,73 @@ lowlevel_init:
|
||||
/* and then sets SDRAM Mode register to its new value. */
|
||||
|
||||
/* 8.1 write 'nop' to SDRAM operation */
|
||||
ldr r6, =SDRAM_OP_NOP
|
||||
str r6, [r3, #0x418]
|
||||
ldr r0, =SDRAM_OP_NOP
|
||||
str r0, [r3, #0x418]
|
||||
|
||||
/* 8.2 poll SDRAM operation until back in 'normal' mode. */
|
||||
1:
|
||||
ldr r6, [r3, #0x418]
|
||||
cmp r6, #0
|
||||
ldr r0, [r3, #0x418]
|
||||
cmp r0, #0
|
||||
bne 1b
|
||||
|
||||
/* 8.3 Now its safe to write new value to SDRAM Mode register */
|
||||
ldr r6, =SDRAM_MODE
|
||||
str r6, [r3, #0x41C]
|
||||
ldr r0, =SDRAM_MODE
|
||||
str r0, [r3, #0x41C]
|
||||
|
||||
/* 8.4 Set new mode */
|
||||
ldr r6, =SDRAM_OP_SETMODE
|
||||
str r6, [r3, #0x418]
|
||||
ldr r0, =SDRAM_OP_SETMODE
|
||||
str r0, [r3, #0x418]
|
||||
|
||||
/* 8.5 poll SDRAM operation until back in 'normal' mode. */
|
||||
2:
|
||||
ldr r6, [r3, #0x418]
|
||||
cmp r6, #0
|
||||
ldr r0, [r3, #0x418]
|
||||
cmp r0, #0
|
||||
bne 2b
|
||||
|
||||
/* DDR SDRAM Address/Control Pads Calibration */
|
||||
ldr r6, [r3, #0x4C0]
|
||||
ldr r0, [r3, #0x4C0]
|
||||
|
||||
/* Set Bit [31] to make the register writable */
|
||||
orr r6, r6, #SDRAM_PAD_CTRL_WR_EN
|
||||
str r6, [r3, #0x4C0]
|
||||
orr r0, r0, #SDRAM_PAD_CTRL_WR_EN
|
||||
str r0, [r3, #0x4C0]
|
||||
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_WR_EN
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_TUNE_EN
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_DRVN_MASK
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_DRVP_MASK
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_WR_EN
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_TUNE_EN
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_DRVN_MASK
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_DRVP_MASK
|
||||
|
||||
/* Get the final N locked value of driving strength [22:17] */
|
||||
mov r1, r6
|
||||
mov r1, r0
|
||||
mov r1, r1, LSL #9
|
||||
mov r1, r1, LSR #26 /* r1[5:0]<DrvN> = r3[22:17]<LockN> */
|
||||
orr r1, r1, r1, LSL #6 /* r1[11:6]<DrvP> = r1[5:0]<DrvN> */
|
||||
|
||||
/* Write to both <DrvN> bits [5:0] and <DrvP> bits [11:6] */
|
||||
orr r6, r6, r1
|
||||
str r6, [r3, #0x4C0]
|
||||
orr r0, r0, r1
|
||||
str r0, [r3, #0x4C0]
|
||||
|
||||
/* DDR SDRAM Data Pads Calibration */
|
||||
ldr r6, [r3, #0x4C4]
|
||||
ldr r0, [r3, #0x4C4]
|
||||
|
||||
/* Set Bit [31] to make the register writable */
|
||||
orr r6, r6, #SDRAM_PAD_CTRL_WR_EN
|
||||
str r6, [r3, #0x4C4]
|
||||
orr r0, r0, #SDRAM_PAD_CTRL_WR_EN
|
||||
str r0, [r3, #0x4C4]
|
||||
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_WR_EN
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_TUNE_EN
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_DRVN_MASK
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_DRVP_MASK
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_WR_EN
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_TUNE_EN
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_DRVN_MASK
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_DRVP_MASK
|
||||
|
||||
/* Get the final N locked value of driving strength [22:17] */
|
||||
mov r1, r6
|
||||
mov r1, r0
|
||||
mov r1, r1, LSL #9
|
||||
mov r1, r1, LSR #26
|
||||
orr r1, r1, r1, LSL #6 /* r1[5:0] = r3[22:17]<LockN> */
|
||||
|
||||
/* Write to both <DrvN> bits [5:0] and <DrvP> bits [11:6] */
|
||||
orr r6, r6, r1
|
||||
orr r0, r0, r1
|
||||
|
||||
str r6, [r3, #0x4C4]
|
||||
str r0, [r3, #0x4C4]
|
||||
|
||||
/* Implement Guideline (GL# MEM-3) Drive Strength Value */
|
||||
/* Relevant for: 88F5181-A1/B0/B1 and 88F5281-A0/B0 */
|
||||
@@ -216,37 +216,37 @@ lowlevel_init:
|
||||
ldr r1, =DDR1_PAD_STRENGTH_DEFAULT
|
||||
|
||||
/* Enable writes to DDR SDRAM Addr/Ctrl Pads Calibration register */
|
||||
ldr r6, [r3, #0x4C0]
|
||||
orr r6, r6, #SDRAM_PAD_CTRL_WR_EN
|
||||
str r6, [r3, #0x4C0]
|
||||
ldr r0, [r3, #0x4C0]
|
||||
orr r0, r0, #SDRAM_PAD_CTRL_WR_EN
|
||||
str r0, [r3, #0x4C0]
|
||||
|
||||
/* Correct strength and disable writes again */
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_WR_EN
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_DRV_STR_MASK
|
||||
orr r6, r6, r1
|
||||
str r6, [r3, #0x4C0]
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_WR_EN
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_DRV_STR_MASK
|
||||
orr r0, r0, r1
|
||||
str r0, [r3, #0x4C0]
|
||||
|
||||
/* Enable writes to DDR SDRAM Data Pads Calibration register */
|
||||
ldr r6, [r3, #0x4C4]
|
||||
orr r6, r6, #SDRAM_PAD_CTRL_WR_EN
|
||||
str r6, [r3, #0x4C4]
|
||||
ldr r0, [r3, #0x4C4]
|
||||
orr r0, r0, #SDRAM_PAD_CTRL_WR_EN
|
||||
str r0, [r3, #0x4C4]
|
||||
|
||||
/* Correct strength and disable writes again */
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_DRV_STR_MASK
|
||||
bic r6, r6, #SDRAM_PAD_CTRL_WR_EN
|
||||
orr r6, r6, r1
|
||||
str r6, [r3, #0x4C4]
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_DRV_STR_MASK
|
||||
bic r0, r0, #SDRAM_PAD_CTRL_WR_EN
|
||||
orr r0, r0, r1
|
||||
str r0, [r3, #0x4C4]
|
||||
|
||||
/* Implement Guideline (GL# MEM-4) DQS Reference Delay Tuning */
|
||||
/* Relevant for: 88F5181-A1/B0/B1 and 88F5281-A0/B0 */
|
||||
|
||||
/* Get the "sample on reset" register for the DDR frequancy */
|
||||
ldr r3, =0x10000
|
||||
ldr r6, [r3, #0x010]
|
||||
ldr r0, [r3, #0x010]
|
||||
ldr r1, =MSAR_ARMDDRCLCK_MASK
|
||||
and r1, r6, r1
|
||||
and r1, r0, r1
|
||||
|
||||
ldr r6, =FTDLL_DDR1_166MHZ
|
||||
ldr r0, =FTDLL_DDR1_166MHZ
|
||||
cmp r1, #MSAR_ARMDDRCLCK_333_167
|
||||
beq 3f
|
||||
cmp r1, #MSAR_ARMDDRCLCK_500_167
|
||||
@@ -254,7 +254,7 @@ lowlevel_init:
|
||||
cmp r1, #MSAR_ARMDDRCLCK_667_167
|
||||
beq 3f
|
||||
|
||||
ldr r6, =FTDLL_DDR1_200MHZ
|
||||
ldr r0, =FTDLL_DDR1_200MHZ
|
||||
cmp r1, #MSAR_ARMDDRCLCK_400_200_1
|
||||
beq 3f
|
||||
cmp r1, #MSAR_ARMDDRCLCK_400_200
|
||||
@@ -264,21 +264,21 @@ lowlevel_init:
|
||||
cmp r1, #MSAR_ARMDDRCLCK_800_200
|
||||
beq 3f
|
||||
|
||||
ldr r6, =0
|
||||
ldr r0, =0
|
||||
|
||||
3:
|
||||
/* Use R3 as the base for DRAM registers */
|
||||
add r3, r4, #0x01000
|
||||
add r3, r2, #0x01000
|
||||
|
||||
ldr r2, [r3, #0x484]
|
||||
orr r2, r2, r6
|
||||
orr r2, r2, r0
|
||||
str r2, [r3, #0x484]
|
||||
|
||||
/* enable for 2 GB DDR; detection should find out real amount */
|
||||
sub r6, r6, r6
|
||||
str r6, [r3, #0x500]
|
||||
ldr r6, =0x7fff0001
|
||||
str r6, [r3, #0x504]
|
||||
sub r0, r0, r0
|
||||
str r0, [r3, #0x500]
|
||||
ldr r0, =0x7fff0001
|
||||
str r0, [r3, #0x504]
|
||||
|
||||
#endif /* CONFIG_SPL_BUILD */
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ config STM32F7
|
||||
imply SPL_OS_BOOT
|
||||
select SPL_PINCTRL
|
||||
select SPL_RAM
|
||||
select SPL_RESET_SUPPORT
|
||||
select SPL_SERIAL_SUPPORT
|
||||
select SPL_SYS_MALLOC_SIMPLE
|
||||
select SPL_TIMER
|
||||
|
||||
@@ -207,9 +207,6 @@ void s_init(void)
|
||||
eth_init_board();
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
#endif
|
||||
|
||||
/* The sunxi internal brom will try to loader external bootloader
|
||||
* from mmc0, nand flash, mmc2.
|
||||
*/
|
||||
|
||||
@@ -11,8 +11,4 @@ n:
|
||||
/* Macros for setting and retrieving special purpose registers */
|
||||
#define setvbr(v) asm volatile("movec %0,%%VBR" : : "r" (v))
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#endif /* ifndef ASSEMBLY*/
|
||||
|
||||
#endif /* __ASM_M68K_PROCESSOR_H */
|
||||
|
||||
1
arch/microblaze/dts/.gitignore
vendored
1
arch/microblaze/dts/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
*.dtb
|
||||
1
arch/mips/dts/.gitignore
vendored
1
arch/mips/dts/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
*.dtb
|
||||
1
arch/nios2/dts/.gitignore
vendored
1
arch/nios2/dts/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
*.dtb
|
||||
@@ -42,7 +42,7 @@ int hold_cores_in_reset(int verbose)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_reset(int nr)
|
||||
int cpu_reset(u32 nr)
|
||||
{
|
||||
volatile ccsr_pic_t *pic = (void *)(CONFIG_SYS_MPC8xxx_PIC_ADDR);
|
||||
out_be32(&pic->pir, 1 << nr);
|
||||
@@ -53,7 +53,7 @@ int cpu_reset(int nr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_status(int nr)
|
||||
int cpu_status(u32 nr)
|
||||
{
|
||||
u32 *table, id = get_my_id();
|
||||
|
||||
@@ -79,7 +79,7 @@ int cpu_status(int nr)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_FSL_CORENET
|
||||
int cpu_disable(int nr)
|
||||
int cpu_disable(u32 nr)
|
||||
{
|
||||
volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||
|
||||
@@ -95,7 +95,7 @@ int is_core_disabled(int nr) {
|
||||
return (coredisrl & (1 << nr));
|
||||
}
|
||||
#else
|
||||
int cpu_disable(int nr)
|
||||
int cpu_disable(u32 nr)
|
||||
{
|
||||
volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
|
||||
|
||||
@@ -137,7 +137,7 @@ static u8 boot_entry_map[4] = {
|
||||
BOOT_ENTRY_R3_LOWER,
|
||||
};
|
||||
|
||||
int cpu_release(int nr, int argc, char * const argv[])
|
||||
int cpu_release(u32 nr, int argc, char * const argv[])
|
||||
{
|
||||
u32 i, val, *table = (u32 *)&__spin_table + nr * NUM_BOOT_ENTRY;
|
||||
u64 boot_addr;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
int cpu_reset(int nr)
|
||||
int cpu_reset(u32 nr)
|
||||
{
|
||||
/* dummy function so common/cmd_mp.c will build
|
||||
* should be implemented in the future, when cpu_release()
|
||||
@@ -23,13 +23,13 @@ int cpu_reset(int nr)
|
||||
return 1;
|
||||
}
|
||||
|
||||
int cpu_status(int nr)
|
||||
int cpu_status(u32 nr)
|
||||
{
|
||||
/* dummy function so common/cmd_mp.c will build */
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_disable(int nr)
|
||||
int cpu_disable(u32 nr)
|
||||
{
|
||||
volatile immap_t *immap = (immap_t *) CONFIG_SYS_CCSRBAR;
|
||||
volatile ccsr_gur_t *gur = &immap->im_gur;
|
||||
@@ -66,7 +66,7 @@ int is_core_disabled(int nr) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int cpu_release(int nr, int argc, char * const argv[])
|
||||
int cpu_release(u32 nr, int argc, char * const argv[])
|
||||
{
|
||||
/* dummy function so common/cmd_mp.c will build
|
||||
* should be implemented in the future */
|
||||
|
||||
1
arch/sandbox/dts/.gitignore
vendored
1
arch/sandbox/dts/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
*.dtb
|
||||
@@ -112,6 +112,7 @@ source "arch/x86/cpu/braswell/Kconfig"
|
||||
source "arch/x86/cpu/broadwell/Kconfig"
|
||||
source "arch/x86/cpu/coreboot/Kconfig"
|
||||
source "arch/x86/cpu/ivybridge/Kconfig"
|
||||
source "arch/x86/cpu/efi/Kconfig"
|
||||
source "arch/x86/cpu/qemu/Kconfig"
|
||||
source "arch/x86/cpu/quark/Kconfig"
|
||||
source "arch/x86/cpu/queensbay/Kconfig"
|
||||
@@ -735,6 +736,12 @@ config I8259_PIC
|
||||
slave) interrupt controllers. Include this to have U-Boot set up
|
||||
the interrupt correctly.
|
||||
|
||||
config PINCTRL_ICH6
|
||||
bool
|
||||
help
|
||||
Intel ICH6 compatible chipset pinctrl driver. It needs to work
|
||||
together with the ICH6 compatible gpio driver.
|
||||
|
||||
config I8254_TIMER
|
||||
bool
|
||||
default y
|
||||
@@ -766,6 +773,4 @@ config HIGH_TABLE_SIZE
|
||||
Increse it if the default size does not fit the board's needs.
|
||||
This is most likely due to a large ACPI DSDT table is used.
|
||||
|
||||
source "arch/x86/lib/efi/Kconfig"
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -18,7 +18,8 @@ obj-y += cpu.o cpu_x86.o
|
||||
ifndef CONFIG_$(SPL_)X86_64
|
||||
AFLAGS_REMOVE_call32.o := -mregparm=3 \
|
||||
$(if $(CONFIG_EFI_STUB_64BIT),-march=i386 -m32)
|
||||
AFLAGS_call32.o := -fpic -fshort-wchar
|
||||
AFLAGS_call32.o := -fpic -fshort-wchar \
|
||||
$(if $(CONFIG_EFI_STUB_64BIT),-m64)
|
||||
|
||||
extra-y += call32.o
|
||||
endif
|
||||
@@ -28,7 +29,7 @@ obj-$(CONFIG_INTEL_BAYTRAIL) += baytrail/
|
||||
obj-$(CONFIG_INTEL_BRASWELL) += braswell/
|
||||
obj-$(CONFIG_INTEL_BROADWELL) += broadwell/
|
||||
obj-$(CONFIG_SYS_COREBOOT) += coreboot/
|
||||
obj-$(CONFIG_EFI_APP) += efi/
|
||||
obj-$(CONFIG_EFI) += efi/
|
||||
obj-$(CONFIG_QEMU) += qemu/
|
||||
obj-$(CONFIG_NORTHBRIDGE_INTEL_IVYBRIDGE) += ivybridge/
|
||||
obj-$(CONFIG_INTEL_QUARK) += quark/
|
||||
|
||||
@@ -4,14 +4,15 @@
|
||||
|
||||
config INTEL_BAYTRAIL
|
||||
bool
|
||||
select HAVE_FSP if !EFI
|
||||
select ARCH_MISC_INIT if !EFI
|
||||
select HAVE_FSP
|
||||
select ARCH_MISC_INIT
|
||||
select CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED
|
||||
imply HAVE_INTEL_ME if !EFI
|
||||
imply HAVE_INTEL_ME
|
||||
imply ENABLE_MRC_CACHE
|
||||
imply AHCI_PCI
|
||||
imply ICH_SPI
|
||||
imply INTEL_ICH6_GPIO
|
||||
imply PINCTRL_ICH6
|
||||
imply MMC
|
||||
imply MMC_PCI
|
||||
imply MMC_SDHCI
|
||||
|
||||
@@ -80,7 +80,7 @@ static void set_max_freq(void)
|
||||
perf_ctl.lo = (msr.lo & 0x3f0000) >> 8;
|
||||
|
||||
/*
|
||||
* Set guaranteed vid [21:16] from IACORE_VIDS to bits [7:0] of
|
||||
* Set guaranteed vid [22:16] from IACORE_VIDS to bits [7:0] of
|
||||
* the PERF_CTL
|
||||
*/
|
||||
msr = msr_read(MSR_IACORE_VIDS);
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
#define BYT_TRIG_LVL BIT(24)
|
||||
#define BYT_TRIG_POS BIT(25)
|
||||
|
||||
#ifndef CONFIG_EFI_APP
|
||||
int arch_cpu_init(void)
|
||||
{
|
||||
post_code(POST_CPU_INIT);
|
||||
@@ -57,8 +56,6 @@ int arch_misc_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void reset_cpu(ulong addr)
|
||||
{
|
||||
/* cold reset */
|
||||
|
||||
@@ -2,5 +2,12 @@
|
||||
#
|
||||
# Copyright (c) 2015 Google, Inc
|
||||
|
||||
obj-y += efi.o
|
||||
ifdef CONFIG_EFI_APP
|
||||
obj-y += app.o
|
||||
obj-y += sdram.o
|
||||
endif
|
||||
|
||||
ifdef CONFIG_EFI_STUB
|
||||
obj-y += car.o
|
||||
obj-y += payload.o
|
||||
endif
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
int arch_cpu_init(void)
|
||||
{
|
||||
return 0;
|
||||
return x86_cpu_init_f();
|
||||
}
|
||||
|
||||
int checkcpu(void)
|
||||
@@ -5,11 +5,9 @@
|
||||
*/
|
||||
|
||||
#include <common.h>
|
||||
#include <debug_uart.h>
|
||||
#include <efi.h>
|
||||
#include <errno.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/types.h>
|
||||
#include <asm/post.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
@@ -126,6 +124,13 @@ int dram_init_banksize(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int arch_cpu_init(void)
|
||||
{
|
||||
post_code(POST_CPU_INIT);
|
||||
|
||||
return x86_cpu_init_f();
|
||||
}
|
||||
|
||||
int checkcpu(void)
|
||||
{
|
||||
return 0;
|
||||
@@ -10,7 +10,7 @@ obj-$(CONFIG_$(SPL_)X86_32BIT_INIT) += mrc.o
|
||||
endif
|
||||
obj-y += cpu.o
|
||||
obj-y += lpc.o
|
||||
ifndef CONFIG_TARGET_EFI
|
||||
ifndef CONFIG_TARGET_EFI_APP
|
||||
obj-y += microcode.o
|
||||
endif
|
||||
obj-y += pch.o
|
||||
|
||||
@@ -242,11 +242,6 @@ static int sdram_initialise(struct udevice *dev, struct udevice *me_dev,
|
||||
version >> 24 , (version >> 16) & 0xff,
|
||||
(version >> 8) & 0xff, version & 0xff);
|
||||
|
||||
#if CONFIG_USBDEBUG
|
||||
/* mrc.bin reconfigures USB, so reinit it to have debug */
|
||||
early_usbdebug_init();
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user