Merge tag 'v5.8-rc1' into fixes
Linux 5.8-rc1
This commit is contained in:
9
arch/arm/boot/compressed/.gitignore
vendored
9
arch/arm/boot/compressed/.gitignore
vendored
@@ -7,12 +7,3 @@ hyp-stub.S
|
||||
piggy_data
|
||||
vmlinux
|
||||
vmlinux.lds
|
||||
|
||||
# borrowed libfdt files
|
||||
fdt.c
|
||||
fdt.h
|
||||
fdt_ro.c
|
||||
fdt_rw.c
|
||||
fdt_wip.c
|
||||
libfdt.h
|
||||
libfdt_internal.h
|
||||
|
@@ -76,29 +76,30 @@ compress-$(CONFIG_KERNEL_LZMA) = lzma
|
||||
compress-$(CONFIG_KERNEL_XZ) = xzkern
|
||||
compress-$(CONFIG_KERNEL_LZ4) = lz4
|
||||
|
||||
# Borrowed libfdt files for the ATAG compatibility mode
|
||||
|
||||
libfdt := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c
|
||||
libfdt_hdrs := fdt.h libfdt.h libfdt_internal.h
|
||||
|
||||
libfdt_objs := $(addsuffix .o, $(basename $(libfdt)))
|
||||
|
||||
$(addprefix $(obj)/,$(libfdt) $(libfdt_hdrs)): $(obj)/%: $(srctree)/scripts/dtc/libfdt/%
|
||||
$(call cmd,shipped)
|
||||
|
||||
$(addprefix $(obj)/,$(libfdt_objs) atags_to_fdt.o): \
|
||||
$(addprefix $(obj)/,$(libfdt_hdrs))
|
||||
libfdt_objs := fdt_rw.o fdt_ro.o fdt_wip.o fdt.o
|
||||
|
||||
ifeq ($(CONFIG_ARM_ATAG_DTB_COMPAT),y)
|
||||
OBJS += $(libfdt_objs) atags_to_fdt.o
|
||||
endif
|
||||
|
||||
# -fstack-protector-strong triggers protection checks in this code,
|
||||
# but it is being used too early to link to meaningful stack_chk logic.
|
||||
nossp-flags-$(CONFIG_CC_HAS_STACKPROTECTOR_NONE) := -fno-stack-protector
|
||||
$(foreach o, $(libfdt_objs) atags_to_fdt.o, \
|
||||
$(eval CFLAGS_$(o) := -I $(srctree)/scripts/dtc/libfdt $(nossp-flags-y)))
|
||||
|
||||
# These were previously generated C files. When you are building the kernel
|
||||
# with O=, make sure to remove the stale files in the output tree. Otherwise,
|
||||
# the build system wrongly compiles the stale ones.
|
||||
ifdef building_out_of_srctree
|
||||
$(shell rm -f $(addprefix $(obj)/, fdt_rw.c fdt_ro.c fdt_wip.c fdt.c))
|
||||
endif
|
||||
|
||||
targets := vmlinux vmlinux.lds piggy_data piggy.o \
|
||||
lib1funcs.o ashldi3.o bswapsdi2.o \
|
||||
head.o $(OBJS)
|
||||
|
||||
clean-files += piggy_data lib1funcs.S ashldi3.S bswapsdi2.S \
|
||||
$(libfdt) $(libfdt_hdrs) hyp-stub.S
|
||||
clean-files += piggy_data lib1funcs.S ashldi3.S bswapsdi2.S hyp-stub.S
|
||||
|
||||
KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
|
||||
|
||||
@@ -107,15 +108,6 @@ ORIG_CFLAGS := $(KBUILD_CFLAGS)
|
||||
KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
|
||||
endif
|
||||
|
||||
# -fstack-protector-strong triggers protection checks in this code,
|
||||
# but it is being used too early to link to meaningful stack_chk logic.
|
||||
nossp-flags-$(CONFIG_CC_HAS_STACKPROTECTOR_NONE) := -fno-stack-protector
|
||||
CFLAGS_atags_to_fdt.o := $(nossp-flags-y)
|
||||
CFLAGS_fdt.o := $(nossp-flags-y)
|
||||
CFLAGS_fdt_ro.o := $(nossp-flags-y)
|
||||
CFLAGS_fdt_rw.o := $(nossp-flags-y)
|
||||
CFLAGS_fdt_wip.o := $(nossp-flags-y)
|
||||
|
||||
ccflags-y := -fpic $(call cc-option,-mno-single-pic-base,) -fno-builtin \
|
||||
-I$(obj) $(DISABLE_ARM_SSP_PER_TASK_PLUGIN)
|
||||
asflags-y := -DZIMAGE
|
||||
|
@@ -1,4 +1,5 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <linux/libfdt_env.h>
|
||||
#include <asm/setup.h>
|
||||
#include <libfdt.h>
|
||||
|
||||
|
@@ -60,7 +60,7 @@ optional_header:
|
||||
.long __pecoff_code_size @ SizeOfCode
|
||||
.long __pecoff_data_size @ SizeOfInitializedData
|
||||
.long 0 @ SizeOfUninitializedData
|
||||
.long efi_entry - start @ AddressOfEntryPoint
|
||||
.long efi_pe_entry - start @ AddressOfEntryPoint
|
||||
.long start_offset @ BaseOfCode
|
||||
.long __pecoff_data_start - start @ BaseOfData
|
||||
|
||||
|
2
arch/arm/boot/compressed/fdt.c
Normal file
2
arch/arm/boot/compressed/fdt.c
Normal file
@@ -0,0 +1,2 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
#include "../../../../lib/fdt.c"
|
2
arch/arm/boot/compressed/fdt_ro.c
Normal file
2
arch/arm/boot/compressed/fdt_ro.c
Normal file
@@ -0,0 +1,2 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
#include "../../../../lib/fdt_ro.c"
|
2
arch/arm/boot/compressed/fdt_rw.c
Normal file
2
arch/arm/boot/compressed/fdt_rw.c
Normal file
@@ -0,0 +1,2 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
#include "../../../../lib/fdt_rw.c"
|
2
arch/arm/boot/compressed/fdt_wip.c
Normal file
2
arch/arm/boot/compressed/fdt_wip.c
Normal file
@@ -0,0 +1,2 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
#include "../../../../lib/fdt_wip.c"
|
@@ -287,28 +287,22 @@ not_angel:
|
||||
*/
|
||||
mov r0, pc
|
||||
cmp r0, r4
|
||||
ldrcc r0, LC0+28
|
||||
ldrcc r0, .Lheadroom
|
||||
addcc r0, r0, pc
|
||||
cmpcc r4, r0
|
||||
orrcc r4, r4, #1 @ remember we skipped cache_on
|
||||
blcs cache_on
|
||||
|
||||
restart: adr r0, LC0
|
||||
ldmia r0, {r1, r2, r3, r6, r11, r12}
|
||||
ldr sp, [r0, #24]
|
||||
|
||||
/*
|
||||
* We might be running at a different address. We need
|
||||
* to fix up various pointers.
|
||||
*/
|
||||
sub r0, r0, r1 @ calculate the delta offset
|
||||
add r6, r6, r0 @ _edata
|
||||
restart: adr r0, LC1
|
||||
ldr sp, [r0]
|
||||
ldr r6, [r0, #4]
|
||||
add sp, sp, r0
|
||||
add r6, r6, r0
|
||||
|
||||
get_inflated_image_size r9, r10, lr
|
||||
|
||||
#ifndef CONFIG_ZBOOT_ROM
|
||||
/* malloc space is above the relocated stack (64k max) */
|
||||
add sp, sp, r0
|
||||
add r10, sp, #0x10000
|
||||
#else
|
||||
/*
|
||||
@@ -322,9 +316,6 @@ restart: adr r0, LC0
|
||||
mov r5, #0 @ init dtb size to 0
|
||||
#ifdef CONFIG_ARM_APPENDED_DTB
|
||||
/*
|
||||
* r0 = delta
|
||||
* r2 = BSS start
|
||||
* r3 = BSS end
|
||||
* r4 = final kernel address (possibly with LSB set)
|
||||
* r5 = appended dtb size (still unknown)
|
||||
* r6 = _edata
|
||||
@@ -332,8 +323,6 @@ restart: adr r0, LC0
|
||||
* r8 = atags/device tree pointer
|
||||
* r9 = size of decompressed image
|
||||
* r10 = end of this image, including bss/stack/malloc space if non XIP
|
||||
* r11 = GOT start
|
||||
* r12 = GOT end
|
||||
* sp = stack pointer
|
||||
*
|
||||
* if there are device trees (dtb) appended to zImage, advance r10 so that the
|
||||
@@ -381,7 +370,6 @@ restart: adr r0, LC0
|
||||
/* temporarily relocate the stack past the DTB work space */
|
||||
add sp, sp, r5
|
||||
|
||||
stmfd sp!, {r0-r3, ip, lr}
|
||||
mov r0, r8
|
||||
mov r1, r6
|
||||
mov r2, r5
|
||||
@@ -400,7 +388,6 @@ restart: adr r0, LC0
|
||||
mov r2, r5
|
||||
bleq atags_to_fdt
|
||||
|
||||
ldmfd sp!, {r0-r3, ip, lr}
|
||||
sub sp, sp, r5
|
||||
#endif
|
||||
|
||||
@@ -537,6 +524,10 @@ dtb_check_done:
|
||||
mov pc, r0
|
||||
|
||||
wont_overwrite:
|
||||
adr r0, LC0
|
||||
ldmia r0, {r1, r2, r3, r11, r12}
|
||||
sub r0, r0, r1 @ calculate the delta offset
|
||||
|
||||
/*
|
||||
* If delta is zero, we are running at the address we were linked at.
|
||||
* r0 = delta
|
||||
@@ -660,13 +651,18 @@ not_relocated: mov r0, #0
|
||||
LC0: .word LC0 @ r1
|
||||
.word __bss_start @ r2
|
||||
.word _end @ r3
|
||||
.word _edata @ r6
|
||||
.word _got_start @ r11
|
||||
.word _got_end @ ip
|
||||
.word .L_user_stack_end @ sp
|
||||
.word _end - restart + 16384 + 1024*1024
|
||||
.size LC0, . - LC0
|
||||
|
||||
.type LC1, #object
|
||||
LC1: .word .L_user_stack_end - LC1 @ sp
|
||||
.word _edata - LC1 @ r6
|
||||
.size LC1, . - LC1
|
||||
|
||||
.Lheadroom:
|
||||
.word _end - restart + 16384 + 1024*1024
|
||||
|
||||
.Linflated_image_size_offset:
|
||||
.long (input_data_end - 4) - .
|
||||
|
||||
@@ -1414,7 +1410,11 @@ memdump: mov r12, r0
|
||||
__hyp_reentry_vectors:
|
||||
W(b) . @ reset
|
||||
W(b) . @ undef
|
||||
#ifdef CONFIG_EFI_STUB
|
||||
W(b) __enter_kernel_from_hyp @ hvc from HYP
|
||||
#else
|
||||
W(b) . @ svc
|
||||
#endif
|
||||
W(b) . @ pabort
|
||||
W(b) . @ dabort
|
||||
W(b) __enter_kernel @ hyp
|
||||
@@ -1433,39 +1433,85 @@ __enter_kernel:
|
||||
reloc_code_end:
|
||||
|
||||
#ifdef CONFIG_EFI_STUB
|
||||
__enter_kernel_from_hyp:
|
||||
mrc p15, 4, r0, c1, c0, 0 @ read HSCTLR
|
||||
bic r0, r0, #0x5 @ disable MMU and caches
|
||||
mcr p15, 4, r0, c1, c0, 0 @ write HSCTLR
|
||||
isb
|
||||
b __enter_kernel
|
||||
|
||||
ENTRY(efi_enter_kernel)
|
||||
mov r7, r0 @ preserve image base
|
||||
mov r4, r1 @ preserve DT pointer
|
||||
mov r4, r0 @ preserve image base
|
||||
mov r8, r1 @ preserve DT pointer
|
||||
|
||||
mov r0, r4 @ DT start
|
||||
add r1, r4, r2 @ DT end
|
||||
bl cache_clean_flush
|
||||
|
||||
mov r0, r7 @ relocated zImage
|
||||
ldr r1, =_edata @ size of zImage
|
||||
add r1, r1, r0 @ end of zImage
|
||||
bl cache_clean_flush
|
||||
|
||||
@ The PE/COFF loader might not have cleaned the code we are
|
||||
@ running beyond the PoU, and so calling cache_off below from
|
||||
@ inside the PE/COFF loader allocated region is unsafe unless
|
||||
@ we explicitly clean it to the PoC.
|
||||
ARM( adrl r0, call_cache_fn )
|
||||
THUMB( adr r0, call_cache_fn ) @ region of code we will
|
||||
adr r1, 0f @ run with MMU off
|
||||
bl cache_clean_flush
|
||||
bl cache_off
|
||||
THUMB( adr r0, call_cache_fn )
|
||||
adr r1, 0f @ clean the region of code we
|
||||
bl cache_clean_flush @ may run with the MMU off
|
||||
|
||||
@ Set parameters for booting zImage according to boot protocol
|
||||
@ put FDT address in r2, it was returned by efi_entry()
|
||||
@ r1 is the machine type, and r0 needs to be 0
|
||||
mov r0, #0
|
||||
mov r1, #0xFFFFFFFF
|
||||
mov r2, r4
|
||||
add r7, r7, #(__efi_start - start)
|
||||
mov pc, r7 @ no mode switch
|
||||
#ifdef CONFIG_ARM_VIRT_EXT
|
||||
@
|
||||
@ The EFI spec does not support booting on ARM in HYP mode,
|
||||
@ since it mandates that the MMU and caches are on, with all
|
||||
@ 32-bit addressable DRAM mapped 1:1 using short descriptors.
|
||||
@
|
||||
@ While the EDK2 reference implementation adheres to this,
|
||||
@ U-Boot might decide to enter the EFI stub in HYP mode
|
||||
@ anyway, with the MMU and caches either on or off.
|
||||
@
|
||||
mrs r0, cpsr @ get the current mode
|
||||
msr spsr_cxsf, r0 @ record boot mode
|
||||
and r0, r0, #MODE_MASK @ are we running in HYP mode?
|
||||
cmp r0, #HYP_MODE
|
||||
bne .Lefi_svc
|
||||
|
||||
mrc p15, 4, r1, c1, c0, 0 @ read HSCTLR
|
||||
tst r1, #0x1 @ MMU enabled at HYP?
|
||||
beq 1f
|
||||
|
||||
@
|
||||
@ When running in HYP mode with the caches on, we're better
|
||||
@ off just carrying on using the cached 1:1 mapping that the
|
||||
@ firmware provided. Set up the HYP vectors so HVC instructions
|
||||
@ issued from HYP mode take us to the correct handler code. We
|
||||
@ will disable the MMU before jumping to the kernel proper.
|
||||
@
|
||||
adr r0, __hyp_reentry_vectors
|
||||
mcr p15, 4, r0, c12, c0, 0 @ set HYP vector base (HVBAR)
|
||||
isb
|
||||
b .Lefi_hyp
|
||||
|
||||
@
|
||||
@ When running in HYP mode with the caches off, we need to drop
|
||||
@ into SVC mode now, and let the decompressor set up its cached
|
||||
@ 1:1 mapping as usual.
|
||||
@
|
||||
1: mov r9, r4 @ preserve image base
|
||||
bl __hyp_stub_install @ install HYP stub vectors
|
||||
safe_svcmode_maskall r1 @ drop to SVC mode
|
||||
msr spsr_cxsf, r0 @ record boot mode
|
||||
orr r4, r9, #1 @ restore image base and set LSB
|
||||
b .Lefi_hyp
|
||||
.Lefi_svc:
|
||||
#endif
|
||||
mrc p15, 0, r0, c1, c0, 0 @ read SCTLR
|
||||
tst r0, #0x1 @ MMU enabled?
|
||||
orreq r4, r4, #1 @ set LSB if not
|
||||
|
||||
.Lefi_hyp:
|
||||
mov r0, r8 @ DT start
|
||||
add r1, r8, r2 @ DT end
|
||||
bl cache_clean_flush
|
||||
|
||||
adr r0, 0f @ switch to our stack
|
||||
ldr sp, [r0]
|
||||
add sp, sp, r0
|
||||
|
||||
mov r5, #0 @ appended DTB size
|
||||
mov r7, #0xFFFFFFFF @ machine ID
|
||||
b wont_overwrite
|
||||
ENDPROC(efi_enter_kernel)
|
||||
0:
|
||||
0: .long .L_user_stack_end - .
|
||||
#endif
|
||||
|
||||
.align
|
||||
|
@@ -1,24 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _ARM_LIBFDT_ENV_H
|
||||
#define _ARM_LIBFDT_ENV_H
|
||||
|
||||
#include <linux/limits.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/string.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#define INT32_MAX S32_MAX
|
||||
#define UINT32_MAX U32_MAX
|
||||
|
||||
typedef __be16 fdt16_t;
|
||||
typedef __be32 fdt32_t;
|
||||
typedef __be64 fdt64_t;
|
||||
|
||||
#define fdt16_to_cpu(x) be16_to_cpu(x)
|
||||
#define cpu_to_fdt16(x) cpu_to_be16(x)
|
||||
#define fdt32_to_cpu(x) be32_to_cpu(x)
|
||||
#define cpu_to_fdt32(x) cpu_to_be32(x)
|
||||
#define fdt64_to_cpu(x) be64_to_cpu(x)
|
||||
#define cpu_to_fdt64(x) cpu_to_be64(x)
|
||||
|
||||
#endif
|
@@ -63,9 +63,11 @@ SECTIONS
|
||||
_etext = .;
|
||||
|
||||
.got.plt : { *(.got.plt) }
|
||||
#ifndef CONFIG_EFI_STUB
|
||||
_got_start = .;
|
||||
.got : { *(.got) }
|
||||
_got_end = .;
|
||||
#endif
|
||||
|
||||
/* ensure the zImage file size is always a multiple of 64 bits */
|
||||
/* (without a dummy byte, ld just ignores the empty section) */
|
||||
@@ -74,11 +76,14 @@ SECTIONS
|
||||
#ifdef CONFIG_EFI_STUB
|
||||
.data : ALIGN(4096) {
|
||||
__pecoff_data_start = .;
|
||||
_got_start = .;
|
||||
*(.got)
|
||||
_got_end = .;
|
||||
/*
|
||||
* The EFI stub always executes from RAM, and runs strictly before the
|
||||
* decompressor, so we can make an exception for its r/w data, and keep it
|
||||
*/
|
||||
*(.data.efistub)
|
||||
*(.data.efistub .bss.efistub)
|
||||
__pecoff_data_end = .;
|
||||
|
||||
/*
|
||||
|
@@ -56,7 +56,7 @@ trap 'rm -f "$XIPIMAGE.tmp"; exit 1' 1 2 3
|
||||
# substitute the data section by a compressed version
|
||||
$DD if="$XIPIMAGE" count=$data_start iflag=count_bytes of="$XIPIMAGE.tmp"
|
||||
$DD if="$XIPIMAGE" skip=$data_start iflag=skip_bytes |
|
||||
gzip -9 >> "$XIPIMAGE.tmp"
|
||||
$KGZIP -9 >> "$XIPIMAGE.tmp"
|
||||
|
||||
# replace kernel binary
|
||||
mv -f "$XIPIMAGE.tmp" "$XIPIMAGE"
|
||||
|
@@ -55,6 +55,7 @@ dtb-$(CONFIG_SOC_SAM_V7) += \
|
||||
at91-nattis-2-natte-2.dtb \
|
||||
at91-sama5d27_som1_ek.dtb \
|
||||
at91-sama5d27_wlsom1_ek.dtb \
|
||||
at91-sama5d2_icp.dtb \
|
||||
at91-sama5d2_ptc_ek.dtb \
|
||||
at91-sama5d2_xplained.dtb \
|
||||
at91-sama5d3_xplained.dtb \
|
||||
@@ -181,6 +182,7 @@ dtb-$(CONFIG_ARCH_EXYNOS3) += \
|
||||
exynos3250-monk.dtb \
|
||||
exynos3250-rinato.dtb
|
||||
dtb-$(CONFIG_ARCH_EXYNOS4) += \
|
||||
exynos4210-i9100.dtb \
|
||||
exynos4210-origen.dtb \
|
||||
exynos4210-smdkv310.dtb \
|
||||
exynos4210-trats.dtb \
|
||||
@@ -237,6 +239,7 @@ dtb-$(CONFIG_ARCH_HIX5HD2) += \
|
||||
hisi-x5hd2-dkb.dtb
|
||||
dtb-$(CONFIG_ARCH_INTEGRATOR) += \
|
||||
integratorap.dtb \
|
||||
integratorap-im-pd1.dtb \
|
||||
integratorcp.dtb
|
||||
dtb-$(CONFIG_ARCH_IXP4XX) += \
|
||||
intel-ixp42x-linksys-nslu2.dtb \
|
||||
@@ -279,6 +282,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
|
||||
kirkwood-iomega_ix2_200.dtb \
|
||||
kirkwood-is2.dtb \
|
||||
kirkwood-km_kirkwood.dtb \
|
||||
kirkwood-l-50.dtb \
|
||||
kirkwood-laplug.dtb \
|
||||
kirkwood-linkstation-lsqvl.dtb \
|
||||
kirkwood-linkstation-lsvl.dtb \
|
||||
@@ -412,6 +416,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
|
||||
imx6dl-aristainetos2_4.dtb \
|
||||
imx6dl-aristainetos2_7.dtb \
|
||||
imx6dl-colibri-eval-v3.dtb \
|
||||
imx6dl-colibri-v1_1-eval-v3.dtb \
|
||||
imx6dl-cubox-i.dtb \
|
||||
imx6dl-cubox-i-emmc-som-v15.dtb \
|
||||
imx6dl-cubox-i-som-v15.dtb \
|
||||
@@ -897,6 +902,9 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||
dtb-$(CONFIG_ARCH_RDA) += \
|
||||
rda8810pl-orangepi-2g-iot.dtb \
|
||||
rda8810pl-orangepi-i96.dtb
|
||||
dtb-$(CONFIG_ARCH_REALTEK) += \
|
||||
rtd1195-horseradish.dtb \
|
||||
rtd1195-mele-x1000.dtb
|
||||
dtb-$(CONFIG_ARCH_REALVIEW) += \
|
||||
arm-realview-pb1176.dtb \
|
||||
arm-realview-pb11mp.dtb \
|
||||
@@ -918,6 +926,7 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
|
||||
r7s9210-rza2mevb.dtb \
|
||||
r8a73a4-ape6evm.dtb \
|
||||
r8a7740-armadillo800eva.dtb \
|
||||
r8a7742-iwg21d-q7.dtb \
|
||||
r8a7743-iwg20d-q7.dtb \
|
||||
r8a7743-iwg20d-q7-dbcm-ca.dtb \
|
||||
r8a7743-sk-rzg1m.dtb \
|
||||
@@ -1030,11 +1039,15 @@ dtb-$(CONFIG_ARCH_STM32) += \
|
||||
stm32h743i-eval.dtb \
|
||||
stm32h743i-disco.dtb \
|
||||
stm32mp157a-avenger96.dtb \
|
||||
stm32mp157a-dhcor-avenger96.dtb \
|
||||
stm32mp157a-dk1.dtb \
|
||||
stm32mp157a-iot-box.dtb \
|
||||
stm32mp157a-stinger96.dtb \
|
||||
stm32mp157c-dhcom-pdk2.dtb \
|
||||
stm32mp157c-dk2.dtb \
|
||||
stm32mp157c-ed1.dtb \
|
||||
stm32mp157c-ev1.dtb
|
||||
stm32mp157c-ev1.dtb \
|
||||
stm32mp157c-lxa-mc1.dtb
|
||||
dtb-$(CONFIG_MACH_SUN4I) += \
|
||||
sun4i-a10-a1000.dtb \
|
||||
sun4i-a10-ba10-tvbox.dtb \
|
||||
@@ -1111,6 +1124,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
|
||||
sun7i-a20-olimex-som204-evb.dtb \
|
||||
sun7i-a20-olimex-som204-evb-emmc.dtb \
|
||||
sun7i-a20-olinuxino-lime.dtb \
|
||||
sun7i-a20-olinuxino-lime-emmc.dtb \
|
||||
sun7i-a20-olinuxino-lime2.dtb \
|
||||
sun7i-a20-olinuxino-lime2-emmc.dtb \
|
||||
sun7i-a20-olinuxino-micro.dtb \
|
||||
@@ -1340,6 +1354,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
|
||||
aspeed-bmc-facebook-wedge40.dtb \
|
||||
aspeed-bmc-facebook-wedge100.dtb \
|
||||
aspeed-bmc-facebook-yamp.dtb \
|
||||
aspeed-bmc-facebook-yosemitev2.dtb \
|
||||
aspeed-bmc-ibm-rainier.dtb \
|
||||
aspeed-bmc-intel-s2600wf.dtb \
|
||||
aspeed-bmc-inspur-fp5280g2.dtb \
|
||||
@@ -1348,6 +1363,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
|
||||
aspeed-bmc-microsoft-olympus.dtb \
|
||||
aspeed-bmc-opp-lanyang.dtb \
|
||||
aspeed-bmc-opp-mihawk.dtb \
|
||||
aspeed-bmc-opp-nicole.dtb \
|
||||
aspeed-bmc-opp-palmetto.dtb \
|
||||
aspeed-bmc-opp-romulus.dtb \
|
||||
aspeed-bmc-opp-swift.dtb \
|
||||
|
@@ -330,9 +330,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
target-module@31000 { /* 0x44e31000, ap 25 40.0 */
|
||||
timer1_target: target-module@31000 { /* 0x44e31000, ap 25 40.0 */
|
||||
compatible = "ti,sysc-omap2-timer", "ti,sysc";
|
||||
ti,hwmods = "timer1";
|
||||
reg = <0x31000 0x4>,
|
||||
<0x31010 0x4>,
|
||||
<0x31014 0x4>;
|
||||
@@ -1117,9 +1116,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
target-module@40000 { /* 0x48040000, ap 22 1e.0 */
|
||||
timer2_target: target-module@40000 { /* 0x48040000, ap 22 1e.0 */
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
ti,hwmods = "timer2";
|
||||
reg = <0x40000 0x4>,
|
||||
<0x40010 0x4>,
|
||||
<0x40014 0x4>;
|
||||
|
@@ -619,3 +619,23 @@
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred always-on timer for clocksource */
|
||||
&timer1_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&timer1_fck>;
|
||||
assigned-clock-parents = <&sys_clkin_ck>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred timer for clockevent */
|
||||
&timer2_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&timer2_fck>;
|
||||
assigned-clock-parents = <&sys_clkin_ck>;
|
||||
};
|
||||
};
|
||||
|
@@ -169,5 +169,25 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/include/ "am35xx-clocks.dtsi"
|
||||
/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
|
||||
#include "am35xx-clocks.dtsi"
|
||||
#include "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
|
||||
|
||||
/* Preferred always-on timer for clocksource */
|
||||
&timer1_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&gpt1_fck>;
|
||||
assigned-clock-parents = <&sys_ck>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred timer for clockevent */
|
||||
&timer2_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&gpt2_fck>;
|
||||
assigned-clock-parents = <&sys_ck>;
|
||||
};
|
||||
};
|
||||
|
@@ -553,3 +553,23 @@
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred always-on timer for clocksource */
|
||||
&timer1_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&timer1_fck>;
|
||||
assigned-clock-parents = <&sys_clkin_ck>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred timer for clockevent */
|
||||
&timer2_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&timer2_fck>;
|
||||
assigned-clock-parents = <&sys_clkin_ck>;
|
||||
};
|
||||
};
|
||||
|
@@ -328,9 +328,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
target-module@31000 { /* 0x44e31000, ap 24 40.0 */
|
||||
timer1_target: target-module@31000 { /* 0x44e31000, ap 24 40.0 */
|
||||
compatible = "ti,sysc-omap2-timer", "ti,sysc";
|
||||
ti,hwmods = "timer1";
|
||||
reg = <0x31000 0x4>,
|
||||
<0x31010 0x4>,
|
||||
<0x31014 0x4>;
|
||||
@@ -450,7 +449,6 @@
|
||||
|
||||
target-module@86000 { /* 0x44e86000, ap 40 70.0 */
|
||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||
ti,hwmods = "counter_32k";
|
||||
reg = <0x86000 0x4>,
|
||||
<0x86004 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
@@ -868,9 +866,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
target-module@40000 { /* 0x48040000, ap 18 1e.0 */
|
||||
timer2_target: target-module@40000 { /* 0x48040000, ap 18 1e.0 */
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
ti,hwmods = "timer2";
|
||||
reg = <0x40000 0x4>,
|
||||
<0x40010 0x4>,
|
||||
<0x40014 0x4>;
|
||||
|
@@ -10,6 +10,7 @@
|
||||
#include "dra7-mmc-iodelay.dtsi"
|
||||
#include "dra72x-mmc-iodelay.dtsi"
|
||||
#include "am57xx-idk-common.dtsi"
|
||||
#include "dra7-ipu-dsp-common.dtsi"
|
||||
|
||||
/ {
|
||||
model = "TI AM5718 IDK";
|
||||
@@ -20,6 +21,33 @@
|
||||
reg = <0x0 0x80000000 0x0 0x40000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ipu2_memory_region: ipu2-memory@95800000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x95800000 0x0 0x3800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp1_memory_region: dsp1-memory@99000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x99000000 0x0 0x4000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ipu1_memory_region: ipu1-memory@9d000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9d000000 0x0 0x2000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
cpu0-led {
|
||||
@@ -148,21 +176,19 @@
|
||||
load-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
&ipu2 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
memory-region = <&ipu2_memory_region>;
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
&ipu1 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
memory-region = <&ipu1_memory_region>;
|
||||
};
|
||||
|
||||
&dsp1 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp1_memory_region>;
|
||||
};
|
||||
|
||||
&pcie1_rc {
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include "am57xx-idk-common.dtsi"
|
||||
#include "dra74-ipu-dsp-common.dtsi"
|
||||
|
||||
/ {
|
||||
memory@0 {
|
||||
@@ -13,6 +14,40 @@
|
||||
reg = <0x0 0x80000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ipu2_memory_region: ipu2-memory@95800000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x95800000 0x0 0x3800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp1_memory_region: dsp1-memory@99000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x99000000 0x0 0x4000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ipu1_memory_region: ipu1-memory@9d000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9d000000 0x0 0x2000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp2_memory_region: dsp2-memory@9f000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9f000000 0x0 0x800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
status-leds {
|
||||
compatible = "gpio-leds";
|
||||
cpu0-led {
|
||||
@@ -147,22 +182,22 @@
|
||||
gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
&ipu2 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
memory-region = <&ipu2_memory_region>;
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
&ipu1 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
memory-region = <&ipu1_memory_region>;
|
||||
};
|
||||
|
||||
&dsp1 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp1_memory_region>;
|
||||
};
|
||||
|
||||
&dsp2 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp2_memory_region>;
|
||||
};
|
||||
|
@@ -7,6 +7,7 @@
|
||||
#include "am5728.dtsi"
|
||||
#include "am57xx-commercial-grade.dtsi"
|
||||
#include "dra74x-mmc-iodelay.dtsi"
|
||||
#include "dra74-ipu-dsp-common.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
@@ -50,6 +51,40 @@
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ipu2_memory_region: ipu2-memory@95800000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x95800000 0x0 0x3800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp1_memory_region: dsp1-memory@99000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x99000000 0x0 0x4000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ipu1_memory_region: ipu1-memory@9d000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9d000000 0x0 0x2000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp2_memory_region: dsp2-memory@9f000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9f000000 0x0 0x800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
vdd_3v3: fixedregulator-vdd_3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vdd_3v3";
|
||||
@@ -584,22 +619,22 @@
|
||||
rx-num-evt = <32>;
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
&ipu2 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
memory-region = <&ipu2_memory_region>;
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
&ipu1 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
memory-region = <&ipu1_memory_region>;
|
||||
};
|
||||
|
||||
&dsp1 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp1_memory_region>;
|
||||
};
|
||||
|
||||
&dsp2 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp2_memory_region>;
|
||||
};
|
||||
|
@@ -114,7 +114,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <31>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -124,7 +123,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <32>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@@ -236,7 +236,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -247,7 +246,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@@ -153,7 +153,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -164,7 +163,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@@ -108,7 +108,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -119,7 +118,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -130,7 +128,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -141,7 +138,6 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&coreclk 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
@@ -213,3 +213,7 @@
|
||||
&i2c15 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&fsim0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "aspeed-g5.dtsi"
|
||||
#include <dt-bindings/gpio/aspeed-gpio.h>
|
||||
#include <dt-bindings/i2c/i2c.h>
|
||||
|
||||
/ {
|
||||
model = "Facebook TiogaPass BMC";
|
||||
@@ -112,13 +113,76 @@
|
||||
&kcs2 {
|
||||
// BMC KCS channel 2
|
||||
status = "okay";
|
||||
kcs_addr = <0xca8>;
|
||||
aspeed,lpc-io-reg = <0xca8>;
|
||||
};
|
||||
|
||||
&kcs3 {
|
||||
// BMC KCS channel 3
|
||||
status = "okay";
|
||||
kcs_addr = <0xca2>;
|
||||
aspeed,lpc-io-reg = <0xca2>;
|
||||
};
|
||||
|
||||
&gpio {
|
||||
status = "okay";
|
||||
gpio-line-names =
|
||||
/*A0-A7*/ "BMC_CPLD_FPGA_SEL","","","","","","","",
|
||||
/*B0-B7*/ "","BMC_DEBUG_EN","","","","BMC_PPIN","PS_PWROK",
|
||||
"IRQ_PVDDQ_GHJ_VRHOT_LVT3",
|
||||
/*C0-C7*/ "","","","","","","","",
|
||||
/*D0-D7*/ "BIOS_MRC_DEBUG_MSG_DIS","BOARD_REV_ID0","",
|
||||
"BOARD_REV_ID1","IRQ_DIMM_SAVE_LVT3","BOARD_REV_ID2",
|
||||
"CPU_ERR0_LVT3_BMC","CPU_ERR1_LVT3_BMC",
|
||||
/*E0-E7*/ "RESET_BUTTON","RESET_OUT","POWER_BUTTON",
|
||||
"POWER_OUT","NMI_BUTTON","","CPU0_PROCHOT_LVT3_ BMC",
|
||||
"CPU1_PROCHOT_LVT3_ BMC",
|
||||
/*F0-F7*/ "IRQ_PVDDQ_ABC_VRHOT_LVT3","",
|
||||
"IRQ_PVCCIN_CPU0_VRHOT_LVC3",
|
||||
"IRQ_PVCCIN_CPU1_VRHOT_LVC3",
|
||||
"IRQ_PVDDQ_KLM_VRHOT_LVT3","","P3VBAT_BRIDGE_EN","",
|
||||
/*G0-G7*/ "CPU_ERR2_LVT3","CPU_CATERR_LVT3","PCH_BMC_THERMTRIP",
|
||||
"CPU0_SKTOCC_LVT3","","","","BIOS_SMI_ACTIVE",
|
||||
/*H0-H7*/ "LED_POST_CODE_0","LED_POST_CODE_1","LED_POST_CODE_2",
|
||||
"LED_POST_CODE_3","LED_POST_CODE_4","LED_POST_CODE_5",
|
||||
"LED_POST_CODE_6","LED_POST_CODE_7",
|
||||
/*I0-I7*/ "CPU0_FIVR_FAULT_LVT3","CPU1_FIVR_FAULT_LVT3",
|
||||
"FORCE_ADR","UV_ADR_TRIGGER_EN","","","","",
|
||||
/*J0-J7*/ "","","","","","","","",
|
||||
/*K0-K7*/ "","","","","","","","",
|
||||
/*L0-L7*/ "IRQ_UV_DETECT","IRQ_OC_DETECT","HSC_TIMER_EXP","",
|
||||
"MEM_THERM_EVENT_PCH","PMBUS_ALERT_BUF_EN","","",
|
||||
/*M0-M7*/ "CPU0_RC_ERROR","CPU1_RC_ERROR","","OC_DETECT_EN",
|
||||
"CPU0_THERMTRIP_LATCH_LVT3",
|
||||
"CPU1_THERMTRIP_LATCH_LVT3","","",
|
||||
/*N0-N7*/ "","","","CPU_MSMI_LVT3","","BIOS_SPI_BMC_CTRL","","",
|
||||
/*O0-O7*/ "","","","","","","","",
|
||||
/*P0-P7*/ "BOARD_SKU_ID0","BOARD_SKU_ID1","BOARD_SKU_ID2",
|
||||
"BOARD_SKU_ID3","BOARD_SKU_ID4","BMC_PREQ",
|
||||
"BMC_PWR_DEBUG","RST_RSMRST",
|
||||
/*Q0-Q7*/ "","","","","UARTSW_LSB","UARTSW_MSB",
|
||||
"POST_CARD_PRES_BMC","PE_BMC_WAKE",
|
||||
/*R0-R7*/ "","","BMC_TCK_MUX_SEL","BMC_PRDY",
|
||||
"BMC_XDP_PRSNT_IN","RST_BMC_PLTRST_BUF","SLT_CFG0",
|
||||
"SLT_CFG1",
|
||||
/*S0-S7*/ "THROTTLE","BMC_READY","","HSC_SMBUS_SWITCH_EN","",
|
||||
"","","",
|
||||
/*T0-T7*/ "","","","","","","","",
|
||||
/*U0-U7*/ "","","","","","BMC_FAULT","","",
|
||||
/*V0-V7*/ "","","","FAST_PROCHOT_EN","","","","",
|
||||
/*W0-W7*/ "","","","","","","","",
|
||||
/*X0-X7*/ "","","","GLOBAL_RST_WARN",
|
||||
"CPU0_MEMABC_MEMHOT_LVT3_BMC",
|
||||
"CPU0_MEMDEF_MEMHOT_LVT3_BMC",
|
||||
"CPU1_MEMGHJ_MEMHOT_LVT3_BMC",
|
||||
"CPU1_MEMKLM_MEMHOT_LVT3_BMC",
|
||||
/*Y0-Y7*/ "SIO_S3","SIO_S5","BMC_JTAG_SEL","SIO_ONCONTROL","",
|
||||
"","","",
|
||||
/*Z0-Z7*/ "","SIO_POWER_GOOD","IRQ_PVDDQ_DEF_VRHOT_LVT3","",
|
||||
"","","","",
|
||||
/*AA0-AA7*/ "CPU1_SKTOCC_LVT3","IRQ_SML1_PMBUS_ALERT",
|
||||
"SERVER_POWER_LED","","PECI_MUX_SELECT","UV_HIGH_SET",
|
||||
"","POST_COMPLETE",
|
||||
/*AB0-AB7*/ "IRQ_HSC_FAULT","OCP_MEZZA_PRES","","","","","","",
|
||||
/*AC0-AC7*/ "","","","","","","","";
|
||||
};
|
||||
|
||||
&mac0 {
|
||||
@@ -368,6 +432,11 @@
|
||||
&i2c4 {
|
||||
status = "okay";
|
||||
// BMC Debug Header
|
||||
ipmb0@10 {
|
||||
compatible = "ipmb-dev";
|
||||
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
|
||||
i2c-protocol;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
@@ -449,6 +518,11 @@
|
||||
&i2c9 {
|
||||
status = "okay";
|
||||
//USB Debug Connector
|
||||
ipmb0@10 {
|
||||
compatible = "ipmb-dev";
|
||||
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
|
||||
i2c-protocol;
|
||||
};
|
||||
};
|
||||
|
||||
&pwm_tacho {
|
||||
|
231
arch/arm/boot/dts/aspeed-bmc-facebook-yosemitev2.dts
Normal file
231
arch/arm/boot/dts/aspeed-bmc-facebook-yosemitev2.dts
Normal file
@@ -0,0 +1,231 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
// Copyright (c) 2018 Facebook Inc.
|
||||
/dts-v1/;
|
||||
#include "aspeed-g5.dtsi"
|
||||
#include <dt-bindings/i2c/i2c.h>
|
||||
|
||||
/ {
|
||||
model = "Facebook Yosemitev2 BMC";
|
||||
compatible = "facebook,yosemitev2-bmc", "aspeed,ast2500";
|
||||
aliases {
|
||||
serial4 = &uart5;
|
||||
};
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
reg = <0x80000000 0x20000000>;
|
||||
};
|
||||
|
||||
iio-hwmon {
|
||||
// VOLATAGE SENSOR
|
||||
compatible = "iio-hwmon";
|
||||
io-channels = <&adc 0> , <&adc 1> , <&adc 2> , <&adc 3> ,
|
||||
<&adc 4> , <&adc 5> , <&adc 6> , <&adc 7> ,
|
||||
<&adc 8> , <&adc 9> , <&adc 10>, <&adc 11> ,
|
||||
<&adc 12> , <&adc 13> , <&adc 14> , <&adc 15> ;
|
||||
};
|
||||
};
|
||||
|
||||
&fmc {
|
||||
status = "okay";
|
||||
flash@0 {
|
||||
status = "okay";
|
||||
m25p,fast-read;
|
||||
#include "openbmc-flash-layout.dtsi"
|
||||
};
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi1_default>;
|
||||
flash@0 {
|
||||
status = "okay";
|
||||
m25p,fast-read;
|
||||
label = "pnor";
|
||||
};
|
||||
};
|
||||
&uart1 {
|
||||
// Host1 Console
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_txd1_default
|
||||
&pinctrl_rxd1_default>;
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
// Host2 Console
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_txd2_default
|
||||
&pinctrl_rxd2_default>;
|
||||
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
// Host3 Console
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_txd3_default
|
||||
&pinctrl_rxd3_default>;
|
||||
};
|
||||
|
||||
&uart4 {
|
||||
// Host4 Console
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_txd4_default
|
||||
&pinctrl_rxd4_default>;
|
||||
};
|
||||
|
||||
&uart5 {
|
||||
// BMC Console
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vuart {
|
||||
// Virtual UART
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mac0 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_rmii1_default>;
|
||||
use-ncsi;
|
||||
mlx,multi-host;
|
||||
};
|
||||
|
||||
&adc {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_adc0_default
|
||||
&pinctrl_adc1_default
|
||||
&pinctrl_adc2_default
|
||||
&pinctrl_adc3_default
|
||||
&pinctrl_adc4_default
|
||||
&pinctrl_adc5_default
|
||||
&pinctrl_adc6_default
|
||||
&pinctrl_adc7_default
|
||||
&pinctrl_adc8_default
|
||||
&pinctrl_adc9_default
|
||||
&pinctrl_adc10_default
|
||||
&pinctrl_adc11_default
|
||||
&pinctrl_adc12_default
|
||||
&pinctrl_adc13_default
|
||||
&pinctrl_adc14_default
|
||||
&pinctrl_adc15_default>;
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
//Host1 IPMB bus
|
||||
status = "okay";
|
||||
multi-master;
|
||||
ipmb1@10 {
|
||||
compatible = "ipmb-dev";
|
||||
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
|
||||
i2c-protocol;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
//Host2 IPMB bus
|
||||
status = "okay";
|
||||
multi-master;
|
||||
ipmb3@10 {
|
||||
compatible = "ipmb-dev";
|
||||
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
|
||||
i2c-protocol;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
//Host3 IPMB bus
|
||||
status = "okay";
|
||||
multi-master;
|
||||
ipmb5@10 {
|
||||
compatible = "ipmb-dev";
|
||||
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
|
||||
i2c-protocol;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c7 {
|
||||
//Host4 IPMB bus
|
||||
status = "okay";
|
||||
multi-master;
|
||||
ipmb7@10 {
|
||||
compatible = "ipmb-dev";
|
||||
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
|
||||
i2c-protocol;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c8 {
|
||||
status = "okay";
|
||||
//FRU EEPROM
|
||||
eeprom@51 {
|
||||
compatible = "atmel,24c64";
|
||||
reg = <0x51>;
|
||||
pagesize = <32>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c9 {
|
||||
status = "okay";
|
||||
tmp421@4e {
|
||||
//INLET TEMP
|
||||
compatible = "ti,tmp421";
|
||||
reg = <0x4e>;
|
||||
};
|
||||
//OUTLET TEMP
|
||||
tmp421@4f {
|
||||
compatible = "ti,tmp421";
|
||||
reg = <0x4f>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c10 {
|
||||
status = "okay";
|
||||
//HSC
|
||||
adm1278@40 {
|
||||
compatible = "adi,adm1278";
|
||||
reg = <0x40>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c11 {
|
||||
status = "okay";
|
||||
//MEZZ_TEMP_SENSOR
|
||||
tmp421@1f {
|
||||
compatible = "ti,tmp421";
|
||||
reg = <0x1f>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c12 {
|
||||
status = "okay";
|
||||
//MEZZ_FRU
|
||||
eeprom@51 {
|
||||
compatible = "atmel,24c64";
|
||||
reg = <0x51>;
|
||||
pagesize = <32>;
|
||||
};
|
||||
};
|
||||
|
||||
&pwm_tacho {
|
||||
status = "okay";
|
||||
//FSC
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>;
|
||||
fan@0 {
|
||||
reg = <0x00>;
|
||||
aspeed,fan-tach-ch = /bits/ 8 <0x00>;
|
||||
};
|
||||
fan@1 {
|
||||
reg = <0x01>;
|
||||
aspeed,fan-tach-ch = /bits/ 8 <0x01>;
|
||||
};
|
||||
};
|
@@ -4,6 +4,7 @@
|
||||
|
||||
#include "aspeed-g6.dtsi"
|
||||
#include <dt-bindings/gpio/aspeed-gpio.h>
|
||||
#include <dt-bindings/leds/leds-pca955x.h>
|
||||
|
||||
/ {
|
||||
model = "Rainier";
|
||||
@@ -32,6 +33,11 @@
|
||||
no-map;
|
||||
reg = <0xB8000000 0x04000000>; /* 64M */
|
||||
};
|
||||
|
||||
vga_memory: region@bf000000 {
|
||||
no-map;
|
||||
reg = <0xbf000000 0x01000000>; /* 16M */
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
@@ -64,6 +70,40 @@
|
||||
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
gpio-line-names =
|
||||
/*A0-A7*/ "","","","","","","","",
|
||||
/*B0-B7*/ "","","","","","","","",
|
||||
/*C0-C7*/ "","","","","","","","",
|
||||
/*D0-D7*/ "","","","","","","","",
|
||||
/*E0-E7*/ "","","","","","","","",
|
||||
/*F0-F7*/ "","","","","","","","",
|
||||
/*G0-G7*/ "","","","","","","","",
|
||||
/*H0-H7*/ "","","","","","","","",
|
||||
/*I0-I7*/ "","","","","","","","",
|
||||
/*J0-J7*/ "","","","","","","","",
|
||||
/*K0-K7*/ "","","","","","","","",
|
||||
/*L0-L7*/ "","","","","","","","",
|
||||
/*M0-M7*/ "","","","","","","","",
|
||||
/*N0-N7*/ "","","","","","","","",
|
||||
/*O0-O7*/ "","","","","","","","",
|
||||
/*P0-P7*/ "","","","","","","","",
|
||||
/*Q0-Q7*/ "cfam-reset","","","","","","","",
|
||||
/*R0-R7*/ "","","","","","","","",
|
||||
/*S0-S7*/ "presence-ps0","presence-ps1","presence-ps2","presence-ps3",
|
||||
"","","","",
|
||||
/*T0-T7*/ "","","","","","","","",
|
||||
/*U0-U7*/ "","","","","","","","",
|
||||
/*V0-V7*/ "","","","","","","","",
|
||||
/*W0-W7*/ "","","","","","","","",
|
||||
/*X0-X7*/ "","","","","","","","",
|
||||
/*Y0-Y7*/ "","","","","","","","",
|
||||
/*Z0-Z7*/ "","","","","","","","",
|
||||
/*AA0-AA7*/ "","","","","","","","",
|
||||
/*AB0-AB7*/ "","","","","","","","",
|
||||
/*AC0-AC7*/ "","","","","","","","";
|
||||
};
|
||||
|
||||
&emmc_controller {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -72,6 +112,88 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&fsim0 {
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cfam@0,0 {
|
||||
reg = <0 0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
chip-id = <0>;
|
||||
|
||||
scom@1000 {
|
||||
compatible = "ibm,fsi2pib";
|
||||
reg = <0x1000 0x400>;
|
||||
};
|
||||
|
||||
sbefifo@2400 {
|
||||
compatible = "ibm,p9-sbefifo";
|
||||
reg = <0x2400 0x400>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fsi_occ0: occ {
|
||||
compatible = "ibm,p9-occ";
|
||||
};
|
||||
};
|
||||
|
||||
fsi_hub0: hub@3400 {
|
||||
compatible = "fsi-master-hub";
|
||||
reg = <0x3400 0x400>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
no-scan-on-init;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&fsi_hub0 {
|
||||
cfam@1,0 {
|
||||
reg = <1 0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
chip-id = <1>;
|
||||
|
||||
scom@1000 {
|
||||
compatible = "ibm,fsi2pib";
|
||||
reg = <0x1000 0x400>;
|
||||
};
|
||||
|
||||
sbefifo@2400 {
|
||||
compatible = "ibm,p9-sbefifo";
|
||||
reg = <0x2400 0x400>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fsi_occ1: occ {
|
||||
compatible = "ibm,p9-occ";
|
||||
};
|
||||
};
|
||||
|
||||
fsi_hub1: hub@3400 {
|
||||
compatible = "fsi-master-hub";
|
||||
reg = <0x3400 0x400>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
no-scan-on-init;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* Legacy OCC numbering (to get rid of when userspace is fixed) */
|
||||
&fsi_occ0 {
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
&fsi_occ1 {
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
&ibt {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -269,66 +391,82 @@
|
||||
|
||||
gpio@0 {
|
||||
reg = <0>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@1 {
|
||||
reg = <1>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@2 {
|
||||
reg = <2>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@3 {
|
||||
reg = <3>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@4 {
|
||||
reg = <4>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@5 {
|
||||
reg = <5>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@6 {
|
||||
reg = <6>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@7 {
|
||||
reg = <7>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@8 {
|
||||
reg = <8>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@9 {
|
||||
reg = <9>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@10 {
|
||||
reg = <10>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@11 {
|
||||
reg = <11>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@12 {
|
||||
reg = <12>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@13 {
|
||||
reg = <13>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@14 {
|
||||
reg = <14>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
|
||||
gpio@15 {
|
||||
reg = <15>;
|
||||
type = <PCA955X_TYPE_GPIO>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -386,21 +524,6 @@
|
||||
&i2c9 {
|
||||
status = "okay";
|
||||
|
||||
ir35221@42 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x42>;
|
||||
};
|
||||
|
||||
ir35221@43 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x43>;
|
||||
};
|
||||
|
||||
ir35221@44 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x44>;
|
||||
};
|
||||
|
||||
tmp423a@4c {
|
||||
compatible = "ti,tmp423";
|
||||
reg = <0x4c>;
|
||||
@@ -411,21 +534,6 @@
|
||||
reg = <0x4d>;
|
||||
};
|
||||
|
||||
ir35221@72 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x72>;
|
||||
};
|
||||
|
||||
ir35221@73 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x73>;
|
||||
};
|
||||
|
||||
ir35221@74 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x74>;
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c128";
|
||||
reg = <0x50>;
|
||||
@@ -435,21 +543,6 @@
|
||||
&i2c10 {
|
||||
status = "okay";
|
||||
|
||||
ir35221@42 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x42>;
|
||||
};
|
||||
|
||||
ir35221@43 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x43>;
|
||||
};
|
||||
|
||||
ir35221@44 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x44>;
|
||||
};
|
||||
|
||||
tmp423a@4c {
|
||||
compatible = "ti,tmp423";
|
||||
reg = <0x4c>;
|
||||
@@ -460,21 +553,6 @@
|
||||
reg = <0x4d>;
|
||||
};
|
||||
|
||||
ir35221@72 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x72>;
|
||||
};
|
||||
|
||||
ir35221@73 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x73>;
|
||||
};
|
||||
|
||||
ir35221@74 {
|
||||
compatible = "infineon,ir35221";
|
||||
reg = <0x74>;
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c128";
|
||||
reg = <0x50>;
|
||||
@@ -540,6 +618,10 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vuart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lpc_ctrl {
|
||||
status = "okay";
|
||||
memory-region = <&flash_memory>;
|
||||
|
@@ -8,6 +8,52 @@
|
||||
model = "Mihawk BMC";
|
||||
compatible = "ibm,mihawk-bmc", "aspeed,ast2500";
|
||||
|
||||
aliases {
|
||||
i2c215 = &bus6_mux215;
|
||||
i2c216 = &bus6_mux216;
|
||||
i2c217 = &bus6_mux217;
|
||||
i2c218 = &bus6_mux218;
|
||||
i2c219 = &bus6_mux219;
|
||||
i2c220 = &bus6_mux220;
|
||||
i2c221 = &bus6_mux221;
|
||||
i2c222 = &bus6_mux222;
|
||||
i2c223 = &bus7_mux223;
|
||||
i2c224 = &bus7_mux224;
|
||||
i2c225 = &bus7_mux225;
|
||||
i2c226 = &bus7_mux226;
|
||||
i2c227 = &bus7_mux227;
|
||||
i2c228 = &bus7_mux228;
|
||||
i2c229 = &bus7_mux229;
|
||||
i2c230 = &bus7_mux230;
|
||||
i2c231 = &bus9_mux231;
|
||||
i2c232 = &bus9_mux232;
|
||||
i2c233 = &bus9_mux233;
|
||||
i2c234 = &bus9_mux234;
|
||||
i2c235 = &bus9_mux235;
|
||||
i2c236 = &bus9_mux236;
|
||||
i2c237 = &bus9_mux237;
|
||||
i2c238 = &bus9_mux238;
|
||||
i2c239 = &bus10_mux239;
|
||||
i2c240 = &bus10_mux240;
|
||||
i2c241 = &bus10_mux241;
|
||||
i2c242 = &bus10_mux242;
|
||||
i2c243 = &bus10_mux243;
|
||||
i2c244 = &bus10_mux244;
|
||||
i2c245 = &bus10_mux245;
|
||||
i2c246 = &bus10_mux246;
|
||||
i2c247 = &bus12_mux247;
|
||||
i2c248 = &bus12_mux248;
|
||||
i2c249 = &bus12_mux249;
|
||||
i2c250 = &bus12_mux250;
|
||||
i2c251 = &bus13_mux251;
|
||||
i2c252 = &bus13_mux252;
|
||||
i2c253 = &bus13_mux253;
|
||||
i2c254 = &bus13_mux254;
|
||||
i2c255 = &bus13_mux255;
|
||||
i2c256 = &bus13_mux256;
|
||||
i2c257 = &bus13_mux257;
|
||||
i2c258 = &bus13_mux258;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
@@ -120,35 +166,24 @@
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
fault {
|
||||
front-fault {
|
||||
retain-state-shutdown;
|
||||
default-state = "keep";
|
||||
gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
power {
|
||||
power-button {
|
||||
retain-state-shutdown;
|
||||
default-state = "keep";
|
||||
gpios = <&gpio ASPEED_GPIO(AA, 1) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
rear-id {
|
||||
front-id {
|
||||
retain-state-shutdown;
|
||||
default-state = "keep";
|
||||
gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
rear-g {
|
||||
retain-state-shutdown;
|
||||
default-state = "keep";
|
||||
gpios = <&gpio ASPEED_GPIO(AA, 4) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
rear-ok {
|
||||
retain-state-shutdown;
|
||||
default-state = "keep";
|
||||
gpios = <&gpio ASPEED_GPIO(Y, 0) GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
fan0 {
|
||||
retain-state-shutdown;
|
||||
@@ -630,6 +665,54 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x70>;
|
||||
|
||||
bus7_mux223: i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
bus7_mux224: i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
bus7_mux225: i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
bus7_mux226: i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
bus7_mux227: i2c@4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
bus7_mux228: i2c@5 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <5>;
|
||||
};
|
||||
|
||||
bus7_mux229: i2c@6 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <6>;
|
||||
};
|
||||
|
||||
bus7_mux230: i2c@7 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <7>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@@ -644,6 +727,54 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x70>;
|
||||
|
||||
bus6_mux215: i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
bus6_mux216: i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
bus6_mux217: i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
bus6_mux218: i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
bus6_mux219: i2c@4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
bus6_mux220: i2c@5 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <5>;
|
||||
};
|
||||
|
||||
bus6_mux221: i2c@6 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <6>;
|
||||
};
|
||||
|
||||
bus6_mux222: i2c@7 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <7>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
@@ -684,6 +815,30 @@
|
||||
i2c-mux-idle-disconnect;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
bus9_mux231: i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
bus9_mux232: i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
bus9_mux233: i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
bus9_mux234: i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
pca9545@71 {
|
||||
@@ -695,6 +850,30 @@
|
||||
i2c-mux-idle-disconnect;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
bus9_mux235: i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
bus9_mux236: i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
bus9_mux237: i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
bus9_mux238: i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -725,6 +904,30 @@
|
||||
i2c-mux-idle-disconnect;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
bus10_mux239: i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
bus10_mux240: i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
bus10_mux241: i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
bus10_mux242: i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
|
||||
pca9545@71 {
|
||||
@@ -736,6 +939,30 @@
|
||||
i2c-mux-idle-disconnect;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
bus10_mux243: i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
bus10_mux244: i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
bus10_mux245: i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
bus10_mux246: i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -796,7 +1023,7 @@
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
|
||||
i2c@0 {
|
||||
bus12_mux247: i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
@@ -807,7 +1034,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
i2c@1 {
|
||||
bus12_mux248: i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
@@ -818,7 +1045,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
i2c@2 {
|
||||
bus12_mux249: i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <2>;
|
||||
@@ -829,7 +1056,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
i2c@3 {
|
||||
bus12_mux250: i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
@@ -857,6 +1084,53 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x70>;
|
||||
bus13_mux251: i2c@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
bus13_mux252: i2c@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <1>;
|
||||
};
|
||||
|
||||
bus13_mux253: i2c@2 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
bus13_mux254: i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
bus13_mux255: i2c@4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
bus13_mux256: i2c@5 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <5>;
|
||||
};
|
||||
|
||||
bus13_mux257: i2c@6 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <6>;
|
||||
};
|
||||
|
||||
bus13_mux258: i2c@7 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <7>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
326
arch/arm/boot/dts/aspeed-bmc-opp-nicole.dts
Normal file
326
arch/arm/boot/dts/aspeed-bmc-opp-nicole.dts
Normal file
@@ -0,0 +1,326 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+
|
||||
// Copyright 2019 YADRO
|
||||
/dts-v1/;
|
||||
#include "aspeed-g5.dtsi"
|
||||
#include <dt-bindings/gpio/aspeed-gpio.h>
|
||||
|
||||
/ {
|
||||
model = "Nicole BMC";
|
||||
compatible = "yadro,nicole-bmc", "aspeed,ast2500";
|
||||
|
||||
chosen {
|
||||
stdout-path = &uart5;
|
||||
bootargs = "console=ttyS4,115200 earlyprintk";
|
||||
};
|
||||
|
||||
memory@80000000 {
|
||||
reg = <0x80000000 0x20000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
vga_memory: framebuffer@9f000000 {
|
||||
no-map;
|
||||
reg = <0x9f000000 0x01000000>; /* 16M */
|
||||
};
|
||||
|
||||
flash_memory: region@98000000 {
|
||||
no-map;
|
||||
reg = <0x98000000 0x04000000>; /* 64M */
|
||||
};
|
||||
|
||||
coldfire_memory: codefire_memory@9ef00000 {
|
||||
reg = <0x9ef00000 0x00100000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
gfx_memory: framebuffer {
|
||||
size = <0x01000000>;
|
||||
alignment = <0x01000000>;
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
};
|
||||
|
||||
video_engine_memory: jpegbuffer {
|
||||
size = <0x02000000>; /* 32M */
|
||||
alignment = <0x01000000>;
|
||||
compatible = "shared-dma-pool";
|
||||
reusable;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
power {
|
||||
label = "platform:green:power";
|
||||
gpios = <&gpio ASPEED_GPIO(AA, 4) GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
identify {
|
||||
label = "platform:blue:indicator";
|
||||
gpios = <&gpio ASPEED_GPIO(AA, 7) GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
fault {
|
||||
label = "platform:red:fault";
|
||||
gpios = <&gpio ASPEED_GPIO(AA, 3) GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
attention {
|
||||
label = "platform:yellow:alarm";
|
||||
gpios = <&gpio ASPEED_GPIO(AA, 1) GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
fsi: gpio-fsi {
|
||||
compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
no-gpio-delays;
|
||||
|
||||
memory-region = <&coldfire_memory>;
|
||||
aspeed,sram = <&sram>;
|
||||
aspeed,cvic = <&cvic>;
|
||||
|
||||
clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
|
||||
data-gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_HIGH>;
|
||||
mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
|
||||
enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
|
||||
trans-gpios = <&gpio ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
checkstop {
|
||||
label = "checkstop";
|
||||
gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <ASPEED_GPIO(J, 2)>;
|
||||
};
|
||||
};
|
||||
|
||||
iio-hwmon-battery {
|
||||
compatible = "iio-hwmon";
|
||||
io-channels = <&adc 12>;
|
||||
};
|
||||
};
|
||||
|
||||
&fmc {
|
||||
status = "okay";
|
||||
flash@0 {
|
||||
status = "okay";
|
||||
m25p,fast-read;
|
||||
label = "bmc";
|
||||
spi-max-frequency = <50000000>;
|
||||
#include "openbmc-flash-layout.dtsi"
|
||||
};
|
||||
};
|
||||
|
||||
&spi1 {
|
||||
status = "okay";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi1_default>;
|
||||
|
||||
flash@0 {
|
||||
status = "okay";
|
||||
m25p,fast-read;
|
||||
label = "pnor";
|
||||
spi-max-frequency = <100000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&lpc_ctrl {
|
||||
status = "okay";
|
||||
memory-region = <&flash_memory>;
|
||||
flash = <&spi1>;
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
/* Rear RS-232 connector */
|
||||
status = "okay";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_txd1_default
|
||||
&pinctrl_rxd1_default
|
||||
&pinctrl_nrts1_default
|
||||
&pinctrl_ndtr1_default
|
||||
&pinctrl_ndsr1_default
|
||||
&pinctrl_ncts1_default
|
||||
&pinctrl_ndcd1_default
|
||||
&pinctrl_nri1_default>;
|
||||
};
|
||||
|
||||
&uart5 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mac0 {
|
||||
status = "okay";
|
||||
|
||||
use-ncsi;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_rmii1_default>;
|
||||
clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
|
||||
<&syscon ASPEED_CLK_MAC1RCLK>;
|
||||
clock-names = "MACCLK", "RCLK";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
status = "okay";
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c256";
|
||||
reg = <0x50>;
|
||||
pagesize = <64>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
/* CPU0 characterization connector */
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
/* CLK GEN SI5338 */
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
status = "okay";
|
||||
/* Voltage regulators for CPU0 */
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
status = "okay";
|
||||
/* Voltage regulators for CPU1 */
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
status = "okay";
|
||||
|
||||
rtc@32 {
|
||||
compatible = "epson,rx8900";
|
||||
reg = <0x32>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c7 {
|
||||
status = "okay";
|
||||
/* CPLD */
|
||||
};
|
||||
|
||||
&gpio {
|
||||
gpio-line-names =
|
||||
/*A0-A7*/ "","cfam-reset","","","","","fsi-mux","",
|
||||
/*B0-B7*/ "","","","","","","","",
|
||||
/*C0-C7*/ "","","","","","","","",
|
||||
/*D0-D7*/ "fsi-enable","bmc_power_up","sys_pwrok_buf",
|
||||
"func_mode0","func_mode1","func_mode2","","",
|
||||
/*E0-E7*/ "","ncsi_cfg","","","","","","",
|
||||
/*F0-F7*/ "","","","","","","","",
|
||||
/*G0-G7*/ "","","","","","","","",
|
||||
/*H0-H7*/ "","","","","","","","",
|
||||
/*I0-I7*/ "","","","","","","","",
|
||||
/*J0-J7*/ "","","checkstop","","","","","",
|
||||
/*K0-K7*/ "","","","","","","","",
|
||||
/*L0-L7*/ "","","","","","","","",
|
||||
/*M0-M7*/ "","","","","","","","",
|
||||
/*N0-N7*/ "","","","","","","","",
|
||||
/*O0-O7*/ "","","power-button","","","","","",
|
||||
/*P0-P7*/ "","fsi-trans","pm_rtc_adc_en","","","","","",
|
||||
/*Q0-Q7*/ "","","","","","","","id-button",
|
||||
/*R0-R7*/ "","software_pwrgood","","","","","","",
|
||||
/*S0-S7*/ "","","","","","","","seq_cont",
|
||||
/*T0-T7*/ "","","","","","","","",
|
||||
/*U0-U7*/ "","","","","","","","",
|
||||
/*V0-V7*/ "","","","","","","","",
|
||||
/*W0-W7*/ "","","","","","","","",
|
||||
/*X0-X7*/ "","","","","","","","",
|
||||
/*Y0-Y7*/ "","","","","","","","",
|
||||
/*Z0-Z7*/ "","","","","","","","",
|
||||
/*AA0-AA7*/ "fsi-clock","led-attention","fsi-data","led-fault",
|
||||
"led-power","","","led-identify",
|
||||
/*AB0-AB7*/ "","","","","","","","",
|
||||
/*AC0-AC7*/ "","","","","","","","";
|
||||
|
||||
func_mode0 {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
};
|
||||
func_mode1 {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
};
|
||||
func_mode2 {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(D, 5) GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
};
|
||||
seq_cont {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
};
|
||||
ncsi_cfg {
|
||||
gpio-hog;
|
||||
input;
|
||||
gpios = <ASPEED_GPIO(E, 1) GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&vuart {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gfx {
|
||||
status = "okay";
|
||||
memory-region = <&gfx_memory>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
aspeed,external-nodes = <&gfx &lhc>;
|
||||
};
|
||||
|
||||
&ibt {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vhub {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&adc {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_adc0_default
|
||||
&pinctrl_adc1_default
|
||||
&pinctrl_adc2_default
|
||||
&pinctrl_adc3_default
|
||||
&pinctrl_adc4_default
|
||||
&pinctrl_adc5_default
|
||||
&pinctrl_adc6_default
|
||||
&pinctrl_adc7_default
|
||||
&pinctrl_adc8_default
|
||||
&pinctrl_adc9_default
|
||||
&pinctrl_adc10_default
|
||||
&pinctrl_adc11_default
|
||||
&pinctrl_adc12_default
|
||||
&pinctrl_adc13_default
|
||||
&pinctrl_adc14_default
|
||||
&pinctrl_adc15_default>;
|
||||
};
|
||||
|
||||
&video {
|
||||
status = "okay";
|
||||
memory-region = <&video_engine_memory>;
|
||||
};
|
||||
|
||||
#include "ibm-power9-dual.dtsi"
|
@@ -231,23 +231,52 @@
|
||||
};
|
||||
|
||||
&gpio {
|
||||
gpio-line-names =
|
||||
/*A0-A7*/ "","cfam-reset","","","","","fsi-mux","",
|
||||
/*B0-B7*/ "","","","","","","","",
|
||||
/*C0-C7*/ "","","","","","","","",
|
||||
/*D0-D7*/ "fsi-enable","","","nic_func_mode0","nic_func_mode1","","","",
|
||||
/*E0-E7*/ "","","","","","","","",
|
||||
/*F0-F7*/ "","","","","","","","",
|
||||
/*G0-G7*/ "","","","","","","","",
|
||||
/*H0-H7*/ "","","","","","","","",
|
||||
/*I0-I7*/ "","","","power-button","","","","",
|
||||
/*J0-J7*/ "","","checkstop","","","","","",
|
||||
/*K0-K7*/ "","","","","","","","",
|
||||
/*L0-L7*/ "","","","","","","","",
|
||||
/*M0-M7*/ "","","","","","","","",
|
||||
/*N0-N7*/ "","","led-fault","",
|
||||
"led-identify","","","",
|
||||
/*O0-O7*/ "","","","","","","","",
|
||||
/*P0-P7*/ "","","","","","","","",
|
||||
/*Q0-Q7*/ "","","","","","","","id-button",
|
||||
/*R0-R7*/ "","","fsi-trans","","","led-power","","",
|
||||
/*S0-S7*/ "","","","","","","","seq_cont",
|
||||
/*T0-T7*/ "","","","","","","","",
|
||||
/*U0-U7*/ "","","","","","","","",
|
||||
/*V0-V7*/ "","","","","","","","",
|
||||
/*W0-W7*/ "","","","","","","","",
|
||||
/*X0-X7*/ "","","","","","","","",
|
||||
/*Y0-Y7*/ "","","","","","","","",
|
||||
/*Z0-Z7*/ "","","","","","","","",
|
||||
/*AA0-AA7*/ "fsi-clock","","fsi-data","","","","","",
|
||||
/*AB0-AB7*/ "","","","","","","","",
|
||||
/*AC0-AC7*/ "","","","","","","","";
|
||||
|
||||
nic_func_mode0 {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "nic_func_mode0";
|
||||
};
|
||||
nic_func_mode1 {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "nic_func_mode1";
|
||||
};
|
||||
seq_cont {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "seq_cont";
|
||||
};
|
||||
};
|
||||
|
||||
|
@@ -31,6 +31,59 @@
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
checkstop {
|
||||
label = "checkstop";
|
||||
gpios = <&gpio0 ASPEED_GPIO(E, 3) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <ASPEED_GPIO(E, 3)>;
|
||||
};
|
||||
|
||||
ps0-presence {
|
||||
label = "ps0-presence";
|
||||
gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <ASPEED_GPIO(H, 3)>;
|
||||
};
|
||||
|
||||
ps1-presence {
|
||||
label = "ps1-presence";
|
||||
gpios = <&gpio0 ASPEED_GPIO(E, 5) GPIO_ACTIVE_LOW>;
|
||||
linux,code = <ASPEED_GPIO(E, 5)>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys-polled {
|
||||
compatible = "gpio-keys-polled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
poll-interval = <1000>;
|
||||
|
||||
fan0-presence {
|
||||
label = "fan0-presence";
|
||||
gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <4>;
|
||||
};
|
||||
|
||||
fan1-presence {
|
||||
label = "fan1-presence";
|
||||
gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <5>;
|
||||
};
|
||||
|
||||
fan2-presence {
|
||||
label = "fan2-presence";
|
||||
gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <6>;
|
||||
};
|
||||
|
||||
fan3-presence {
|
||||
label = "fan3-presence";
|
||||
gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <7>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
@@ -89,6 +142,49 @@
|
||||
linux,code = <7>;
|
||||
};
|
||||
};
|
||||
|
||||
iio-hwmon-dps310 {
|
||||
compatible = "iio-hwmon";
|
||||
io-channels = <&dps 0>;
|
||||
};
|
||||
|
||||
iio-hwmon-bmp280 {
|
||||
compatible = "iio-hwmon";
|
||||
io-channels = <&bmp 1>;
|
||||
};
|
||||
};
|
||||
|
||||
&gpio0 {
|
||||
gpio-line-names =
|
||||
/*A0-A7*/ "","","","","","","","",
|
||||
/*B0-B7*/ "fsi-mux","","","","","","","",
|
||||
/*C0-C7*/ "","","","","","","","",
|
||||
/*D0-D7*/ "","","","","","","","",
|
||||
/*E0-E7*/ "power-button","","","checkstop","","presence-ps1","","led-rear-fault",
|
||||
/*F0-F7*/ "","","","","","","","",
|
||||
/*G0-G7*/ "","","","","","","","",
|
||||
/*H0-H7*/ "","","","presence-ps0","","","","",
|
||||
/*I0-I7*/ "","","","","","","","",
|
||||
/*J0-J7*/ "","","","","","","","",
|
||||
/*K0-K7*/ "","","","","","","","",
|
||||
/*L0-L7*/ "","","","","","","","",
|
||||
/*M0-M7*/ "","","","","","","","",
|
||||
/*N0-N7*/ "","","","","","","","",
|
||||
/*O0-O7*/ "led-rear-power","led-rear-id","","","","","","",
|
||||
/*P0-P7*/ "","","","","","","","",
|
||||
/*Q0-Q7*/ "cfam-reset","","","","","","","fsi-routing",
|
||||
/*R0-R7*/ "","","","","","","","",
|
||||
/*S0-S7*/ "","","","","","","","",
|
||||
/*T0-T7*/ "","","","","","","","",
|
||||
/*U0-U7*/ "","","","","","","","",
|
||||
/*V0-V7*/ "","","","","","","","",
|
||||
/*W0-W7*/ "","","","","","","","",
|
||||
/*X0-X7*/ "","","","","","","","",
|
||||
/*Y0-Y7*/ "","","","","","","","",
|
||||
/*Z0-Z7*/ "","","","","","","","",
|
||||
/*AA0-AA7*/ "","","","","","","","",
|
||||
/*AB0-AB7*/ "","","","","","","","",
|
||||
/*AC0-AC7*/ "","","","","","","","";
|
||||
};
|
||||
|
||||
&fmc {
|
||||
@@ -132,6 +228,10 @@
|
||||
use-ncsi;
|
||||
};
|
||||
|
||||
&emmc_controller {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&emmc {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -142,6 +242,9 @@
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fsi-routing-gpios = <&gpio0 ASPEED_GPIO(Q, 7) GPIO_ACTIVE_HIGH>;
|
||||
fsi-mux-gpios = <&gpio0 ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>;
|
||||
|
||||
cfam@0,0 {
|
||||
reg = <0 0>;
|
||||
#address-cells = <1>;
|
||||
@@ -394,6 +497,11 @@
|
||||
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
tpm: tpm@2e {
|
||||
compatible = "tcg,tpm-tis-i2c";
|
||||
reg = <0x2e>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
@@ -774,6 +882,10 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vuart2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&lpc_ctrl {
|
||||
status = "okay";
|
||||
memory-region = <&flash_memory>;
|
||||
|
@@ -191,6 +191,40 @@
|
||||
|
||||
};
|
||||
|
||||
&gpio {
|
||||
gpio-line-names =
|
||||
/*A0-A7*/ "","cfam-reset","","","","","fsi-mux","",
|
||||
/*B0-B7*/ "","","","","","air-water","","",
|
||||
/*C0-C7*/ "","","","","","","","",
|
||||
/*D0-D7*/ "fsi-enable","","","","","","","",
|
||||
/*E0-E7*/ "fsi-data","","","","","","","",
|
||||
/*F0-F7*/ "","","","","","","","",
|
||||
/*G0-G7*/ "","","","","","","","",
|
||||
/*H0-H7*/ "","","","","","","","",
|
||||
/*I0-I7*/ "","","","","","","","",
|
||||
/*J0-J7*/ "","","checkstop","","","","","",
|
||||
/*K0-K7*/ "","","","","","","","",
|
||||
/*L0-L7*/ "","","","","","","","",
|
||||
/*M0-M7*/ "","","","","","","","",
|
||||
/*N0-N7*/ "presence-ps1","","led-rear-fault","led-rear-power",
|
||||
"led-rear-id","","","",
|
||||
/*O0-O7*/ "","","","","","","","",
|
||||
/*P0-P7*/ "","","","","","","","presence-ps0",
|
||||
/*Q0-Q7*/ "","","","","","","","",
|
||||
/*R0-R7*/ "","","fsi-trans","","","power-button","","",
|
||||
/*S0-S7*/ "","","","","","","","",
|
||||
/*T0-T7*/ "","","","","","","","",
|
||||
/*U0-U7*/ "","","","","","","","",
|
||||
/*V0-V7*/ "","","","","","","","",
|
||||
/*W0-W7*/ "","","","","","","","",
|
||||
/*X0-X7*/ "","","","","","","","",
|
||||
/*Y0-Y7*/ "","","","","","","","",
|
||||
/*Z0-Z7*/ "","","","","","","","",
|
||||
/*AA0-AA7*/ "fsi-clock","","","","","","","",
|
||||
/*AB0-AB7*/ "","","","","","","","",
|
||||
/*AC0-AC7*/ "","","","","","","","";
|
||||
};
|
||||
|
||||
&fmc {
|
||||
status = "okay";
|
||||
|
||||
|
@@ -478,32 +478,61 @@
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_gpioh_unbiased>;
|
||||
|
||||
gpio-line-names =
|
||||
/*A0-A7*/ "","cfam-reset","","","","","","",
|
||||
/*B0-B7*/ "","","","","","","","",
|
||||
/*C0-C7*/ "","","","","","","","",
|
||||
/*D0-D7*/ "fsi-enable","","","","","led-sys-boot-status","led-attention",
|
||||
"led-fault",
|
||||
/*E0-E7*/ "","","","","","","","presence-pcie-e2b",
|
||||
/*F0-F7*/ "","","","","","","","checkstop",
|
||||
/*G0-G7*/ "fsi-clock","fsi-data","","","","","","",
|
||||
/*H0-H7*/ "onewire0","onewire1","onewire2","onewire3","","","","",
|
||||
/*I0-I7*/ "","","","power-button","","","","",
|
||||
/*J0-J7*/ "","","","","","","","",
|
||||
/*K0-K7*/ "","","","","","","","",
|
||||
/*L0-L7*/ "","","","","","","","",
|
||||
/*M0-M7*/ "","","","","","","","",
|
||||
/*N0-N7*/ "","","","","","","","",
|
||||
/*O0-O7*/ "","","","","iso_u164_en","","fsi-trans","",
|
||||
/*P0-P7*/ "ncsi_mux_en_n","bmc_i2c2_sw_rst_n","","bmc_i2c5_sw_rst_n","",
|
||||
"","fsi-mux","",
|
||||
/*Q0-Q7*/ "","","","","","","","",
|
||||
/*R0-R7*/ "","","","","","","","",
|
||||
/*S0-S7*/ "","","","","","","","",
|
||||
/*T0-T7*/ "","","","","","","","",
|
||||
/*U0-U7*/ "","","","","","","","",
|
||||
/*V0-V7*/ "","","","","","","","",
|
||||
/*W0-W7*/ "","","","","","","","",
|
||||
/*X0-X7*/ "","","","","","","","",
|
||||
/*Y0-Y7*/ "","","","","","","","",
|
||||
/*Z0-Z7*/ "","","","","","","","",
|
||||
/*AA0-AA7*/ "","","led-hdd-fault","","","","","",
|
||||
/*AB0-AB7*/ "","","","","","","","",
|
||||
/*AC0-AC7*/ "","","","","","","","";
|
||||
|
||||
line_iso_u146_en {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(O, 4) GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "iso_u164_en";
|
||||
};
|
||||
|
||||
ncsi_mux_en_n {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
|
||||
output-low;
|
||||
line-name = "ncsi_mux_en_n";
|
||||
};
|
||||
|
||||
line_bmc_i2c2_sw_rst_n {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "bmc_i2c2_sw_rst_n";
|
||||
};
|
||||
|
||||
line_bmc_i2c5_sw_rst_n {
|
||||
gpio-hog;
|
||||
gpios = <ASPEED_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
|
||||
output-high;
|
||||
line-name = "bmc_i2c5_sw_rst_n";
|
||||
};
|
||||
};
|
||||
|
||||
|
@@ -219,6 +219,16 @@
|
||||
reg = <0x1e720000 0x8000>; // 32K
|
||||
};
|
||||
|
||||
video: video@1e700000 {
|
||||
compatible = "aspeed,ast2400-video-engine";
|
||||
reg = <0x1e700000 0x1000>;
|
||||
clocks = <&syscon ASPEED_CLK_GATE_VCLK>,
|
||||
<&syscon ASPEED_CLK_GATE_ECLK>;
|
||||
clock-names = "vclk", "eclk";
|
||||
interrupts = <7>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdmmc: sd-controller@1e740000 {
|
||||
compatible = "aspeed,ast2400-sd-controller";
|
||||
reg = <0x1e740000 0x100>;
|
||||
|
@@ -224,6 +224,14 @@
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
|
||||
scu_ic: interrupt-controller@18 {
|
||||
#interrupt-cells = <1>;
|
||||
compatible = "aspeed,ast2500-scu-ic";
|
||||
reg = <0x18 0x4>;
|
||||
interrupts = <21>;
|
||||
interrupt-controller;
|
||||
};
|
||||
|
||||
p2a: p2a-control@2c {
|
||||
compatible = "aspeed,ast2500-p2a-ctrl";
|
||||
reg = <0x2c 0x4>;
|
||||
@@ -254,6 +262,17 @@
|
||||
interrupts = <0x19>;
|
||||
};
|
||||
|
||||
xdma: xdma@1e6e7000 {
|
||||
compatible = "aspeed,ast2500-xdma";
|
||||
reg = <0x1e6e7000 0x100>;
|
||||
clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
|
||||
resets = <&syscon ASPEED_RESET_XDMA>;
|
||||
interrupts-extended = <&vic 6>, <&scu_ic 2>;
|
||||
pcie-device = "bmc";
|
||||
aspeed,scu = <&syscon>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
adc: adc@1e6e9000 {
|
||||
compatible = "aspeed,ast2500-adc";
|
||||
reg = <0x1e6e9000 0xb0>;
|
||||
@@ -426,22 +445,22 @@
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x80>;
|
||||
|
||||
kcs1: kcs1@0 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc";
|
||||
kcs1: kcs@24 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc-v2";
|
||||
reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
|
||||
interrupts = <8>;
|
||||
kcs_chan = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
kcs2: kcs2@0 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc";
|
||||
kcs2: kcs@28 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc-v2";
|
||||
reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
|
||||
interrupts = <8>;
|
||||
kcs_chan = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
kcs3: kcs3@0 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc";
|
||||
kcs3: kcs@2c {
|
||||
compatible = "aspeed,ast2500-kcs-bmc-v2";
|
||||
reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
|
||||
interrupts = <8>;
|
||||
kcs_chan = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
@@ -455,10 +474,10 @@
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x80 0x1e0>;
|
||||
|
||||
kcs4: kcs4@0 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc";
|
||||
kcs4: kcs@94 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc-v2";
|
||||
reg = <0x94 0x1>, <0x98 0x1>, <0x9c 0x1>;
|
||||
interrupts = <8>;
|
||||
kcs_chan = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@@ -65,6 +65,7 @@
|
||||
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
|
||||
clocks = <&syscon ASPEED_CLK_HPLL>;
|
||||
arm,cpu-registers-not-fw-configured;
|
||||
always-on;
|
||||
};
|
||||
|
||||
ahb {
|
||||
@@ -313,6 +314,22 @@
|
||||
compatible = "aspeed,ast2600-smpmem";
|
||||
reg = <0x180 0x40>;
|
||||
};
|
||||
|
||||
scu_ic0: interrupt-controller@560 {
|
||||
#interrupt-cells = <1>;
|
||||
compatible = "aspeed,ast2600-scu-ic0";
|
||||
reg = <0x560 0x4>;
|
||||
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
};
|
||||
|
||||
scu_ic1: interrupt-controller@570 {
|
||||
#interrupt-cells = <1>;
|
||||
compatible = "aspeed,ast2600-scu-ic1";
|
||||
reg = <0x570 0x4>;
|
||||
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-controller;
|
||||
};
|
||||
};
|
||||
|
||||
rng: hwrng@1e6e2524 {
|
||||
@@ -322,6 +339,29 @@
|
||||
quality = <100>;
|
||||
};
|
||||
|
||||
xdma: xdma@1e6e7000 {
|
||||
compatible = "aspeed,ast2600-xdma";
|
||||
reg = <0x1e6e7000 0x100>;
|
||||
clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
|
||||
resets = <&syscon ASPEED_RESET_DEV_XDMA>, <&syscon ASPEED_RESET_RC_XDMA>;
|
||||
reset-names = "device", "root-complex";
|
||||
interrupts-extended = <&gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<&scu_ic0 2>;
|
||||
pcie-device = "bmc";
|
||||
aspeed,scu = <&syscon>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
video: video@1e700000 {
|
||||
compatible = "aspeed,ast2600-video-engine";
|
||||
reg = <0x1e700000 0x1000>;
|
||||
clocks = <&syscon ASPEED_CLK_GATE_VCLK>,
|
||||
<&syscon ASPEED_CLK_GATE_ECLK>;
|
||||
clock-names = "vclk", "eclk";
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpio0: gpio@1e780000 {
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
@@ -368,6 +408,7 @@
|
||||
<&gic GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&syscon ASPEED_CLK_APB1>;
|
||||
clock-names = "PCLK";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart1: serial@1e783000 {
|
||||
@@ -433,22 +474,23 @@
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x0 0x80>;
|
||||
|
||||
kcs1: kcs1@0 {
|
||||
compatible = "aspeed,ast2600-kcs-bmc";
|
||||
kcs1: kcs@24 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc-v2";
|
||||
reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
|
||||
interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
|
||||
kcs_chan = <1>;
|
||||
status = "disabled";
|
||||
};
|
||||
kcs2: kcs2@0 {
|
||||
compatible = "aspeed,ast2600-kcs-bmc";
|
||||
kcs2: kcs@28 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc-v2";
|
||||
reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
|
||||
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
|
||||
kcs_chan = <2>;
|
||||
status = "disabled";
|
||||
};
|
||||
kcs3: kcs3@0 {
|
||||
compatible = "aspeed,ast2600-kcs-bmc";
|
||||
kcs3: kcs@2c {
|
||||
compatible = "aspeed,ast2500-kcs-bmc-v2";
|
||||
reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
|
||||
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
|
||||
kcs_chan = <3>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
@@ -462,10 +504,10 @@
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x80 0x1e0>;
|
||||
|
||||
kcs4: kcs4@0 {
|
||||
compatible = "aspeed,ast2600-kcs-bmc";
|
||||
kcs4: kcs@94 {
|
||||
compatible = "aspeed,ast2500-kcs-bmc-v2";
|
||||
reg = <0x94 0x1>, <0x98 0x1>, <0x9c 0x1>;
|
||||
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
|
||||
kcs_chan = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
|
@@ -62,7 +62,7 @@
|
||||
wm8904: wm8904@1a {
|
||||
compatible = "wlf,wm8904";
|
||||
reg = <0x1a>;
|
||||
clocks = <&pck2>;
|
||||
clocks = <&pmc PMC_TYPE_SYSTEM 10>;
|
||||
clock-names = "mclk";
|
||||
};
|
||||
};
|
||||
|
@@ -283,7 +283,7 @@
|
||||
|
||||
&flx3 {
|
||||
status = "okay";
|
||||
uart6: serial@200 {
|
||||
uart8: serial@200 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
@@ -291,7 +291,7 @@
|
||||
&flx4 {
|
||||
status = "okay";
|
||||
|
||||
i2c2: i2c@600 {
|
||||
i2c6: i2c@600 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
@@ -28,7 +28,7 @@
|
||||
serial3 = &uart3;
|
||||
serial4 = &uart4;
|
||||
serial5 = &uart5;
|
||||
serial6 = &uart6;
|
||||
serial6 = &uart8;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -207,7 +207,7 @@
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl_flx4_default: flx4_i2c2_default {
|
||||
pinctrl_flx4_default: flx4_i2c6_default {
|
||||
pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA
|
||||
<PIN_PD13__FLEXCOM4_IO1>; //CLK
|
||||
bias-disable;
|
||||
@@ -299,21 +299,8 @@
|
||||
status = "disabled";
|
||||
|
||||
uart5: serial@200 {
|
||||
compatible = "atmel,at91sam9260-usart";
|
||||
reg = <0x200 0x400>;
|
||||
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
dmas = <&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
|
||||
| AT91_XDMAC_DT_PERID(11))>,
|
||||
<&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
|
||||
| AT91_XDMAC_DT_PERID(12))>;
|
||||
dma-names = "tx", "rx";
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
|
||||
clock-names = "usart";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx0_default>;
|
||||
atmel,fifo-size = <32>;
|
||||
atmel,use-dma-rx;
|
||||
atmel,use-dma-tx;
|
||||
status = "disabled";
|
||||
@@ -324,22 +311,9 @@
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
|
||||
status = "disabled";
|
||||
|
||||
uart6: serial@200 {
|
||||
compatible = "atmel,at91sam9260-usart";
|
||||
reg = <0x200 0x400>;
|
||||
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
dmas = <&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
|
||||
| AT91_XDMAC_DT_PERID(17))>,
|
||||
<&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
|
||||
| AT91_XDMAC_DT_PERID(18))>;
|
||||
dma-names = "tx", "rx";
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
|
||||
clock-names = "usart";
|
||||
uart8: serial@200 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx3_default>;
|
||||
atmel,fifo-size = <32>;
|
||||
atmel,use-dma-rx;
|
||||
atmel,use-dma-tx;
|
||||
status = "disabled";
|
||||
@@ -350,23 +324,9 @@
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
||||
status = "disabled";
|
||||
|
||||
i2c2: i2c@600 {
|
||||
compatible = "atmel,sama5d2-i2c";
|
||||
reg = <0x600 0x200>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
dmas = <&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
|
||||
| AT91_XDMAC_DT_PERID(19))>,
|
||||
<&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
|
||||
| AT91_XDMAC_DT_PERID(20))>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
|
||||
i2c6: i2c@600 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx4_default>;
|
||||
atmel,fifo-size = <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
@@ -542,6 +542,18 @@
|
||||
};
|
||||
};
|
||||
|
||||
sdmmc1 {
|
||||
pinctrl_sdmmc1_default: sdmmc1 {
|
||||
atmel,pins =
|
||||
<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA13 CK periph B */
|
||||
AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA12 CMD periph B with pullup */
|
||||
AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA11 DAT0 periph B with pullup */
|
||||
AT91_PIOA 2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA2 DAT1 periph B with pullup */
|
||||
AT91_PIOA 3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA3 DAT2 periph B with pullup */
|
||||
AT91_PIOA 4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA4 DAT3 periph B with pullup */
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
pinctrl_key_gpio_default: pinctrl_key_gpio {
|
||||
atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||||
@@ -568,6 +580,15 @@
|
||||
disable-wp;
|
||||
};
|
||||
|
||||
&sdmmc1 {
|
||||
bus-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sdmmc1_default>;
|
||||
no-1-8-v;
|
||||
non-removable;
|
||||
status = "disabled"; /* Conflict with flx4. */
|
||||
};
|
||||
|
||||
&qspi {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_qspi>;
|
||||
@@ -579,6 +600,8 @@
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <80000000>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-rx-bus-width = <4>;
|
||||
m25p,fast-read;
|
||||
|
||||
at91bootstrap@0 {
|
||||
|
@@ -13,6 +13,10 @@
|
||||
model = "Atmel SAMA5D27 SoM1";
|
||||
compatible = "atmel,sama5d27-som1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
|
||||
|
||||
aliases {
|
||||
i2c0 = &i2c0;
|
||||
};
|
||||
|
||||
clocks {
|
||||
slow_xtal {
|
||||
clock-frequency = <32768>;
|
||||
@@ -34,12 +38,44 @@
|
||||
pinctrl-0 = <&pinctrl_qspi1_default>;
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <80000000>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-rx-bus-width = <4>;
|
||||
m25p,fast-read;
|
||||
|
||||
at91bootstrap@00000000 {
|
||||
label = "at91bootstrap";
|
||||
reg = <0x00000000 0x00040000>;
|
||||
};
|
||||
|
||||
bootloader@00040000 {
|
||||
label = "bootloader";
|
||||
reg = <0x00040000 0x000c0000>;
|
||||
};
|
||||
|
||||
bootloaderenvred@00100000 {
|
||||
label = "bootloader env redundant";
|
||||
reg = <0x00100000 0x00040000>;
|
||||
};
|
||||
|
||||
bootloaderenv@00140000 {
|
||||
label = "bootloader env";
|
||||
reg = <0x00140000 0x00040000>;
|
||||
};
|
||||
|
||||
dtb@00180000 {
|
||||
label = "device tree";
|
||||
reg = <0x00180000 0x00080000>;
|
||||
};
|
||||
|
||||
kernel@00200000 {
|
||||
label = "kernel";
|
||||
reg = <0x00200000 0x00600000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -57,7 +93,25 @@
|
||||
};
|
||||
};
|
||||
|
||||
i2c0: i2c@f8028000 {
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c0_default>;
|
||||
status = "okay";
|
||||
|
||||
at24@50 {
|
||||
compatible = "24c02";
|
||||
reg = <0x50>;
|
||||
pagesize = <8>;
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl@fc038000 {
|
||||
pinctrl_i2c0_default: i2c0_default {
|
||||
pinmux = <PIN_PD21__TWD0>,
|
||||
<PIN_PD22__TWCK0>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_qspi1_default: qspi1_default {
|
||||
sck_cs {
|
||||
|
@@ -21,7 +21,7 @@
|
||||
serial1 = &uart4; /* mikro BUS 1 */
|
||||
serial2 = &uart2; /* mikro BUS 2 */
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2;
|
||||
i2c2 = &i2c3;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@@ -125,21 +125,13 @@
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
||||
status = "okay";
|
||||
|
||||
i2c2: i2c@600 {
|
||||
compatible = "atmel,sama5d2-i2c";
|
||||
reg = <0x600 0x200>;
|
||||
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
i2c3: i2c@600 {
|
||||
dmas = <0>, <0>;
|
||||
dma-names = "tx", "rx";
|
||||
i2c-analog-filter;
|
||||
i2c-digital-filter;
|
||||
i2c-digital-filter-width-ns = <35>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mikrobus_i2c>;
|
||||
atmel,fifo-size = <16>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
@@ -178,27 +170,17 @@
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
|
||||
status = "disabled";
|
||||
|
||||
uart7: serial@200 {
|
||||
compatible = "atmel,at91sam9260-usart";
|
||||
reg = <0x200 0x200>;
|
||||
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
|
||||
clock-names = "usart";
|
||||
uart8: serial@200 {
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx3_default>;
|
||||
atmel,fifo-size = <32>;
|
||||
status = "disabled"; /* Conflict with isc. */
|
||||
};
|
||||
|
||||
spi2: spi@400 {
|
||||
compatible = "atmel,at91rm9200-spi";
|
||||
reg = <0x400 0x200>;
|
||||
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
|
||||
clock-names = "spi_clk";
|
||||
spi5: spi@400 {
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx3_default>;
|
||||
atmel,fifo-size = <16>;
|
||||
status = "disabled"; /* Conflict with isc. */
|
||||
};
|
||||
};
|
||||
@@ -207,43 +189,25 @@
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
|
||||
status = "okay";
|
||||
|
||||
uart6: serial@200 {
|
||||
compatible = "atmel,at91sam9260-usart";
|
||||
reg = <0x200 0x200>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
|
||||
clock-names = "usart";
|
||||
uart9: serial@200 {
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx4_default>;
|
||||
atmel,fifo-size = <32>;
|
||||
status = "disabled"; /* Conflict with spi3 and i2c3. */
|
||||
status = "disabled"; /* Conflict with spi6 and i2c6. */
|
||||
};
|
||||
|
||||
spi3: spi@400 {
|
||||
compatible = "atmel,at91rm9200-spi";
|
||||
reg = <0x400 0x200>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
|
||||
clock-names = "spi_clk";
|
||||
spi6: spi@400 {
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mikrobus_spi &pinctrl_mikrobus1_spi_cs &pinctrl_mikrobus2_spi_cs>;
|
||||
atmel,fifo-size = <16>;
|
||||
status = "okay"; /* Conflict with uart6 and i2c3. */
|
||||
status = "okay"; /* Conflict with uart5 and i2c6. */
|
||||
};
|
||||
|
||||
i2c3: i2c@600 {
|
||||
compatible = "atmel,sama5d2-i2c";
|
||||
reg = <0x600 0x200>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
i2c6: i2c@600 {
|
||||
dmas = <0>, <0>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx4_default>;
|
||||
atmel,fifo-size = <16>;
|
||||
status = "disabled"; /* Conflict with uart6 and spi3. */
|
||||
status = "disabled"; /* Conflict with uart5 and spi6. */
|
||||
};
|
||||
};
|
||||
|
||||
|
@@ -17,6 +17,10 @@
|
||||
model = "Microchip SAMA5D27 WLSOM1";
|
||||
compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
|
||||
|
||||
aliases {
|
||||
i2c0 = &i2c0;
|
||||
};
|
||||
|
||||
clocks {
|
||||
slow_xtal {
|
||||
clock-frequency = <32768>;
|
||||
@@ -32,18 +36,6 @@
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
|
||||
|
||||
uart6: serial@200 {
|
||||
compatible = "atmel,at91sam9260-usart";
|
||||
reg = <0x200 0x200>;
|
||||
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
dmas = <&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||
AT91_XDMAC_DT_PERID(13))>,
|
||||
<&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||
AT91_XDMAC_DT_PERID(14))>;
|
||||
dma-names = "tx", "rx";
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
|
||||
clock-names = "usart";
|
||||
pinctrl-0 = <&pinctrl_flx1_default>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
@@ -77,18 +77,6 @@
|
||||
status = "okay";
|
||||
|
||||
uart5: serial@200 {
|
||||
compatible = "atmel,at91sam9260-usart";
|
||||
reg = <0x200 0x200>;
|
||||
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
dmas = <&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||
AT91_XDMAC_DT_PERID(11))>,
|
||||
<&dma0
|
||||
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
||||
AT91_XDMAC_DT_PERID(12))>;
|
||||
dma-names = "tx", "rx";
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
|
||||
clock-names = "usart";
|
||||
pinctrl-0 = <&pinctrl_flx0_default>;
|
||||
pinctrl-names = "default";
|
||||
atmel,use-dma-rx;
|
||||
|
767
arch/arm/boot/dts/at91-sama5d2_icp.dts
Normal file
767
arch/arm/boot/dts/at91-sama5d2_icp.dts
Normal file
@@ -0,0 +1,767 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* at91-sama5d2_icp.dts - Device Tree file for SAMA5D2-ICP board
|
||||
*
|
||||
* Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
|
||||
*
|
||||
* Author: Radu Pirea & Razvan Stefanescu,
|
||||
* Codrin Ciubotariu <codrin.ciubotariu@microchip.com>,
|
||||
* Cristian Birsan <cristian.birsan@microchip.com>
|
||||
*/
|
||||
/dts-v1/;
|
||||
#include "sama5d2.dtsi"
|
||||
#include "sama5d2-pinfunc.h"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/mfd/atmel-flexcom.h>
|
||||
|
||||
/ {
|
||||
model = "Microchip SAMA5D2-ICP";
|
||||
compatible = "microchip,sama5d2-icp", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0; /* debug uart0 + mikro BUS 1 */
|
||||
serial1 = &uart1; /* mikro BUS 3 */
|
||||
serial3 = &uart3; /* mikro BUS 2 */
|
||||
serial5 = &uart7; /* flx2 */
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
clocks {
|
||||
slow_xtal {
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
main_xtal {
|
||||
clock-frequency = <12000000>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio_keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_key_gpio_default>;
|
||||
status = "okay";
|
||||
|
||||
sw4 {
|
||||
label = "USER_PB1";
|
||||
gpios = <&pioA PIN_PD0 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <0x104>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_led_gpio_default>;
|
||||
status = "okay"; /* conflict with pwm0 */
|
||||
|
||||
red {
|
||||
label = "red";
|
||||
gpios = <&pioA PIN_PB0 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
green {
|
||||
label = "green";
|
||||
gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
blue {
|
||||
label = "blue";
|
||||
gpios = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&adc {
|
||||
vddana-supply = <&vdd_io_reg>;
|
||||
vref-supply = <&vdd_io_reg>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_can0_default>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&can1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_can1_default>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&flx0 { /* mikrobus2 spi */
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
|
||||
status = "okay";
|
||||
|
||||
spi2: spi@400 {
|
||||
dmas = <0>, <0>;
|
||||
cs-gpios = <&pioA PIN_PC0 GPIO_ACTIVE_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mikrobus2_spi &pinctrl_ksz_spi_cs>;
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
switch0: ksz8563@0 {
|
||||
compatible = "microchip,ksz8563";
|
||||
reg = <0>;
|
||||
phy-mode = "mii";
|
||||
reset-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_LOW>;
|
||||
|
||||
spi-max-frequency = <500000>;
|
||||
spi-cpha;
|
||||
spi-cpol;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
label = "lan1";
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
label = "lan2";
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
label = "cpu";
|
||||
ethernet = <&macb0>;
|
||||
fixed-link {
|
||||
speed = <100>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&flx2 {
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
|
||||
status = "okay";
|
||||
|
||||
uart7: serial@200 {
|
||||
pinctrl-0 = <&pinctrl_flx2_default>;
|
||||
pinctrl-names = "default";
|
||||
atmel,use-dma-rx;
|
||||
atmel,use-dma-tx;
|
||||
status = "okay"; /* Conflict w/ qspi1. */
|
||||
};
|
||||
};
|
||||
|
||||
&flx3 { /* mikrobus1 spi */
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
|
||||
status = "okay";
|
||||
|
||||
spi5: spi@400 {
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mikrobus1_spi &pinctrl_mikrobus1_spi_cs>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&flx4 {
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
||||
status = "okay";
|
||||
|
||||
i2c6: i2c@600 {
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx4_default>;
|
||||
status = "okay";
|
||||
|
||||
mcp16502@5b {
|
||||
compatible = "microchip,mcp16502";
|
||||
reg = <0x5b>;
|
||||
status = "okay";
|
||||
lpm-gpios = <&pioBU 7 GPIO_ACTIVE_LOW>;
|
||||
|
||||
regulators {
|
||||
vdd_io_reg: VDD_IO {
|
||||
regulator-name = "VDD_IO";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
regulator-initial-mode = <2>;
|
||||
regulator-allowed-modes = <2>, <4>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-state-standby {
|
||||
regulator-on-in-suspend;
|
||||
regulator-mode = <4>;
|
||||
};
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-mode = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
VDD_DDR {
|
||||
regulator-name = "VDD_DDR";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
regulator-initial-mode = <2>;
|
||||
regulator-allowed-modes = <2>, <4>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-state-standby {
|
||||
regulator-on-in-suspend;
|
||||
regulator-mode = <4>;
|
||||
};
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-mode = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
VDD_CORE {
|
||||
regulator-name = "VDD_CORE";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
regulator-initial-mode = <2>;
|
||||
regulator-allowed-modes = <2>, <4>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-state-standby {
|
||||
regulator-on-in-suspend;
|
||||
regulator-mode = <4>;
|
||||
};
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-mode = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
VDD_OTHER {
|
||||
regulator-name = "VDD_OTHER";
|
||||
regulator-min-microvolt = <600000>;
|
||||
regulator-max-microvolt = <1850000>;
|
||||
regulator-initial-mode = <2>;
|
||||
regulator-allowed-modes = <2>, <4>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-state-standby {
|
||||
regulator-on-in-suspend;
|
||||
regulator-mode = <4>;
|
||||
};
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-mode = <4>;
|
||||
};
|
||||
};
|
||||
|
||||
LDO1 {
|
||||
regulator-name = "LDO1";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-state-standby {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
LDO2 {
|
||||
regulator-name = "LDO2";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
regulator-always-on;
|
||||
|
||||
regulator-state-standby {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 { /* mikrobus i2c */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mikrobus_i2c>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1_default>;
|
||||
status = "okay";
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c32";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
eeprom@52 {
|
||||
compatible = "atmel,24c32";
|
||||
reg = <0x52>;
|
||||
pagesize = <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
eeprom@53 {
|
||||
compatible = "atmel,24c32";
|
||||
reg = <0x53>;
|
||||
pagesize = <16>;
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
&macb0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq &pinctrl_macb0_rst>;
|
||||
phy-mode = "mii";
|
||||
status = "okay";
|
||||
|
||||
fixed-link {
|
||||
speed = <100>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
&pioA {
|
||||
pinctrl_adc_default: adc_default {
|
||||
pinmux = <PIN_PD24__GPIO>,
|
||||
<PIN_PD25__GPIO>,
|
||||
<PIN_PD26__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
/*
|
||||
* The ADTRG pin can work on any edge type.
|
||||
* In here it's being pulled up, so need to
|
||||
* connect it to ground to get an edge e.g.
|
||||
* Trigger can be configured on falling, rise
|
||||
* or any edge, and the pull-up can be changed
|
||||
* to pull-down or left floating according to
|
||||
* needs.
|
||||
*/
|
||||
pinctrl_adtrg_default: adtrg_default {
|
||||
pinmux = <PIN_PD31__ADTRG>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_flx4_default: flx4_default {
|
||||
pinmux = <PIN_PC28__FLEXCOM4_IO0>,
|
||||
<PIN_PC29__FLEXCOM4_IO1>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_can0_default: can0_default {
|
||||
pinmux = <PIN_PC10__CANTX0>,
|
||||
<PIN_PC11__CANRX0>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_can1_default: can1_default {
|
||||
pinmux = <PIN_PC26__CANTX1>,
|
||||
<PIN_PC27__CANRX1>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_i2c1_default: i2c1_default {
|
||||
pinmux = <PIN_PD19__TWD1>,
|
||||
<PIN_PD20__TWCK1>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_key_gpio_default: key_gpio_default {
|
||||
pinmux = <PIN_PD0__GPIO>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_led_gpio_default: led_gpio_default {
|
||||
pinmux = <PIN_PB0__GPIO>,
|
||||
<PIN_PB1__GPIO>,
|
||||
<PIN_PA31__GPIO>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_qspi1_default: qspi1_default {
|
||||
pinmux = <PIN_PA6__QSPI1_SCK>,
|
||||
<PIN_PA7__QSPI1_IO0>,
|
||||
<PIN_PA8__QSPI1_IO1>,
|
||||
<PIN_PA9__QSPI1_IO2>,
|
||||
<PIN_PA10__QSPI1_IO3>,
|
||||
<PIN_PA11__QSPI1_CS>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_sdmmc0_default: sdmmc0_default {
|
||||
cmd_data {
|
||||
pinmux = <PIN_PA1__SDMMC0_CMD>,
|
||||
<PIN_PA2__SDMMC0_DAT0>,
|
||||
<PIN_PA3__SDMMC0_DAT1>,
|
||||
<PIN_PA4__SDMMC0_DAT2>,
|
||||
<PIN_PA5__SDMMC0_DAT3>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
ck_cd {
|
||||
pinmux = <PIN_PA0__SDMMC0_CK>,
|
||||
<PIN_PA13__SDMMC0_CD>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl_sdmmc1_default: sdmmc1_default {
|
||||
cmd_data {
|
||||
pinmux = <PIN_PA18__SDMMC1_DAT0>,
|
||||
<PIN_PA19__SDMMC1_DAT1>,
|
||||
<PIN_PA20__SDMMC1_DAT2>,
|
||||
<PIN_PA21__SDMMC1_DAT3>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
ck_cd {
|
||||
pinmux = <PIN_PA22__SDMMC1_CK>,
|
||||
<PIN_PA28__SDMMC1_CMD>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl_mikrobus_i2c: mikrobus_i2c {
|
||||
pinmux = <PIN_PD22__TWCK0>,
|
||||
<PIN_PD21__TWD0>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus1_an: mikrobus1_an {
|
||||
pinmux = <PIN_PD26__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus1_rst: mikrobus1_rst {
|
||||
pinmux = <PIN_PC5__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus1_spi_cs: mikrobus1_spi_cs {
|
||||
pinmux = <PIN_PC21__FLEXCOM3_IO3>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus1_spi: mikrobus1_spi {
|
||||
pinmux = <PIN_PC20__FLEXCOM3_IO0>,
|
||||
<PIN_PC19__FLEXCOM3_IO1>,
|
||||
<PIN_PC18__FLEXCOM3_IO2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus1_pwm: mikrobus1_pwm {
|
||||
pinmux = <PIN_PC4__TIOB1>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus1_int: mikrobus1_int {
|
||||
pinmux = <PIN_PC3__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus1_uart: mikrobus1_uart {
|
||||
pinmux = <PIN_PB26__URXD0>,
|
||||
<PIN_PB27__UTXD0>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus2_an: mikrobus2_an {
|
||||
pinmux = <PIN_PD25__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus2_rst: mikrobus2_rst {
|
||||
pinmux = <PIN_PB24__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus2_spi_cs: mikrobus2_spi_cs {
|
||||
pinmux = <PIN_PB31__FLEXCOM0_IO3>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus2_spi: mikrobus2_spi {
|
||||
pinmux = <PIN_PB28__FLEXCOM0_IO0>,
|
||||
<PIN_PB29__FLEXCOM0_IO1>,
|
||||
<PIN_PB30__FLEXCOM0_IO2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_ksz_spi_cs: ksz_spi_cs {
|
||||
pinmux = <PIN_PC0__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus2_pwm: mikrobus2_pwm {
|
||||
pinmux = <PIN_PB23__TIOB2>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus2_int: mikrobus2_int {
|
||||
pinmux = <PIN_PB22__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus2_uart: mikrobus2_uart {
|
||||
pinmux = <PIN_PC12__URXD3>,
|
||||
<PIN_PC13__UTXD3>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus3_an: mikrobus3_an {
|
||||
pinmux = <PIN_PD24__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus3_rst: mikrobus3_rst {
|
||||
pinmux = <PIN_PB21__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus3_spi_cs: mikrobus3_spi_cs {
|
||||
pinmux = <PIN_PA17__SPI0_NPCS0>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus3_spi: mikrobus3_spi {
|
||||
pinmux = <PIN_PA14__SPI0_SPCK>,
|
||||
<PIN_PA16__SPI0_MISO>,
|
||||
<PIN_PA15__SPI0_MOSI>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus3_pwm: mikrobus3_pwm {
|
||||
pinmux = <PIN_PB20__TIOB3>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus3_int: mikrobus3_int {
|
||||
pinmux = <PIN_PB18__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_mikrobus3_uart: mikrobus3_uart {
|
||||
pinmux = <PIN_PC7__URXD1>,
|
||||
<PIN_PC8__UTXD1>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_usb_default: usb_default {
|
||||
pinmux = <PIN_PC17__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_usba_vbus: usba_vbus {
|
||||
pinmux = <PIN_PD23__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_pwm0_pwm2_default: pwm0_pwm2_default {
|
||||
pinmux = <PIN_PB5__PWMH2>,
|
||||
<PIN_PB6__PWML2>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
pinctrl_macb0_default: macb0_default {
|
||||
pinmux = <PIN_PD1__GRXCK>,
|
||||
<PIN_PD2__GTXER>,
|
||||
<PIN_PD5__GRX2>,
|
||||
<PIN_PD6__GRX3>,
|
||||
<PIN_PD7__GTX2>,
|
||||
<PIN_PD8__GTX3>,
|
||||
<PIN_PD9__GTXCK>,
|
||||
<PIN_PD10__GTXEN>,
|
||||
<PIN_PD11__GRXDV>,
|
||||
<PIN_PD12__GRXER>,
|
||||
<PIN_PD13__GRX0>,
|
||||
<PIN_PD14__GRX1>,
|
||||
<PIN_PD15__GTX0>,
|
||||
<PIN_PD16__GTX1>,
|
||||
<PIN_PD17__GMDC>,
|
||||
<PIN_PD18__GMDIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_macb0_phy_irq: macb0_phy_irq {
|
||||
pinmux = <PIN_PD3__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_macb0_rst: macb0_sw_rst {
|
||||
pinmux = <PIN_PD4__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_flx2_default: flx2_default {
|
||||
pinmux = <PIN_PA6__FLEXCOM2_IO0>,
|
||||
<PIN_PA7__FLEXCOM2_IO1>,
|
||||
<PIN_PA9__FLEXCOM2_IO3>,
|
||||
<PIN_PA10__FLEXCOM2_IO4>;
|
||||
bias-disable;
|
||||
};
|
||||
};
|
||||
|
||||
&pwm0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_pwm0_pwm2_default>;
|
||||
status = "disabled"; /* conflict with leds, HSIC */
|
||||
};
|
||||
|
||||
&qspi1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_qspi1_default>;
|
||||
status = "disabled"; /* Conflict with wilc_pwrseq, flx2 */
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <80000000>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-rx-bus-width = <4>;
|
||||
m25p,fast-read;
|
||||
|
||||
at91bootstrap@0 {
|
||||
label = "qspi: at91bootstrap";
|
||||
reg = <0x00000000 0x00040000>;
|
||||
};
|
||||
|
||||
bootloader@40000 {
|
||||
label = "qspi: bootloader";
|
||||
reg = <0x00040000 0x000c0000>;
|
||||
};
|
||||
|
||||
bootloaderenvred@100000 {
|
||||
label = "qspi: bootloader env redundant";
|
||||
reg = <0x00100000 0x00040000>;
|
||||
};
|
||||
|
||||
bootloaderenv@140000 {
|
||||
label = "qspi: bootloader env";
|
||||
reg = <0x00140000 0x00040000>;
|
||||
};
|
||||
|
||||
dtb@180000 {
|
||||
label = "qspi: device tree";
|
||||
reg = <0x00180000 0x00080000>;
|
||||
};
|
||||
|
||||
kernel@200000 {
|
||||
label = "qspi: kernel";
|
||||
reg = <0x00200000 0x00600000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&sdmmc0 {
|
||||
no-1-8-v;
|
||||
bus-width = <4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sdmmc0_default>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&shutdown_controller {
|
||||
atmel,shdwc-debouncer = <976>;
|
||||
atmel,wakeup-rtc-timer;
|
||||
|
||||
input@0 {
|
||||
reg = <0>;
|
||||
atmel,wakeup-type = "low";
|
||||
};
|
||||
};
|
||||
|
||||
&spi0 { /* mikrobus3 spi */
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mikrobus3_spi &pinctrl_mikrobus3_spi_cs>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tcb0 {
|
||||
timer0: timer@0 {
|
||||
compatible = "atmel,tcb-timer";
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
timer1: timer@1 {
|
||||
compatible = "atmel,tcb-timer";
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mikrobus1_uart>;
|
||||
atmel,use-dma-rx;
|
||||
atmel,use-dma-tx;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mikrobus3_uart>;
|
||||
atmel,use-dma-rx;
|
||||
atmel,use-dma-tx;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart3 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mikrobus2_uart>;
|
||||
atmel,use-dma-rx;
|
||||
atmel,use-dma-tx;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb0 {
|
||||
atmel,vbus-gpio = <&pioA PIN_PD23 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usba_vbus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb1 {
|
||||
num-ports = <3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usb_default>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb2 {
|
||||
phy_type = "hsic";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&watchdog {
|
||||
status = "okay";
|
||||
};
|
@@ -18,9 +18,9 @@
|
||||
compatible = "atmel,sama5d2-ptc_ek", "atmel,sama5d2", "atmel,sama5";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
serial0 = &uart0; /* DBGU */
|
||||
i2c0 = &i2c0; /* mikroBUS 1 */
|
||||
i2c1 = &i2c1; /* XPRO EXT1 */
|
||||
i2c2 = &i2c2;
|
||||
};
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
ahb {
|
||||
usb0: gadget@300000 {
|
||||
atmel,vbus-gpio = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
|
||||
atmel,vbus-gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usba_vbus>;
|
||||
status = "okay";
|
||||
@@ -125,8 +125,6 @@
|
||||
bus-width = <8>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_sdmmc0_default>;
|
||||
non-removable;
|
||||
mmc-ddr-1_8v;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -184,7 +182,7 @@
|
||||
pinctrl-0 = <&pinctrl_i2c0_default>;
|
||||
pinctrl-1 = <&pinctrl_i2c0_gpio>;
|
||||
sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PD22 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -193,20 +191,12 @@
|
||||
status = "okay";
|
||||
|
||||
i2c2: i2c@600 {
|
||||
compatible = "atmel,sama5d2-i2c";
|
||||
reg = <0x600 0x200>;
|
||||
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
dmas = <0>, <0>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&pinctrl_flx0_default>;
|
||||
pinctrl-1 = <&pinctrl_flx0_gpio>;
|
||||
sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PB29 GPIO_ACTIVE_HIGH>;
|
||||
atmel,fifo-size = <16>;
|
||||
scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
@@ -236,7 +226,7 @@
|
||||
pinctrl-0 = <&pinctrl_i2c1_default>;
|
||||
pinctrl-1 = <&pinctrl_i2c1_gpio>;
|
||||
sda-gpios = <&pioA PIN_PC6 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PC7 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PC7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "okay";
|
||||
|
||||
at24@50 {
|
||||
@@ -414,6 +404,7 @@
|
||||
label = "PB_USER";
|
||||
gpios = <&pioA PIN_PA10 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <0x104>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
|
@@ -16,6 +16,13 @@
|
||||
model = "Atmel SAMA5D2 Xplained";
|
||||
compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart1; /* DBGU */
|
||||
i2c0 = &i2c0;
|
||||
i2c1 = &i2c1;
|
||||
i2c2 = &i2c2; /* XPRO EXT2 */
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
@@ -72,6 +79,58 @@
|
||||
};
|
||||
|
||||
apb {
|
||||
qspi0: spi@f0020000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_qspi0_default>;
|
||||
status = "disabled"; /* conflict with sdmmc1 */
|
||||
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <80000000>;
|
||||
spi-tx-bus-width = <4>;
|
||||
spi-rx-bus-width = <4>;
|
||||
m25p,fast-read;
|
||||
|
||||
at91bootstrap@00000000 {
|
||||
label = "at91bootstrap";
|
||||
reg = <0x00000000 0x00040000>;
|
||||
};
|
||||
|
||||
bootloader@00040000 {
|
||||
label = "bootloader";
|
||||
reg = <0x00040000 0x000c0000>;
|
||||
};
|
||||
|
||||
bootloaderenvred@00100000 {
|
||||
label = "bootloader env redundant";
|
||||
reg = <0x00100000 0x00040000>;
|
||||
};
|
||||
|
||||
bootloaderenv@00140000 {
|
||||
label = "bootloader env";
|
||||
reg = <0x00140000 0x00040000>;
|
||||
};
|
||||
|
||||
dtb@00180000 {
|
||||
label = "device tree";
|
||||
reg = <0x00180000 0x00080000>;
|
||||
};
|
||||
|
||||
kernel@00200000 {
|
||||
label = "kernel";
|
||||
reg = <0x00200000 0x00600000>;
|
||||
};
|
||||
|
||||
misc@00800000 {
|
||||
label = "misc";
|
||||
reg = <0x00800000 0x00000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
spi0: spi@f8000000 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi0_default>;
|
||||
@@ -133,7 +192,7 @@
|
||||
pinctrl-0 = <&pinctrl_i2c0_default>;
|
||||
pinctrl-1 = <&pinctrl_i2c0_gpio>;
|
||||
sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PD22 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-sda-hold-time-ns = <350>;
|
||||
status = "okay";
|
||||
|
||||
@@ -275,16 +334,25 @@
|
||||
status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
|
||||
|
||||
uart5: serial@200 {
|
||||
compatible = "atmel,at91sam9260-usart";
|
||||
reg = <0x200 0x200>;
|
||||
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
|
||||
clock-names = "usart";
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_flx0_default>;
|
||||
atmel,fifo-size = <32>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
i2c2: i2c@600 {
|
||||
dmas = <0>, <0>;
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&pinctrl_flx0_default>;
|
||||
pinctrl-1 = <&pinctrl_i2c2_gpio>;
|
||||
sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-sda-hold-time-ns = <350>;
|
||||
i2c-analog-filter;
|
||||
i2c-digital-filter;
|
||||
i2c-digital-filter-width-ns = <35>;
|
||||
status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */
|
||||
};
|
||||
};
|
||||
|
||||
shdwc@f8048010 {
|
||||
@@ -325,21 +393,13 @@
|
||||
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
||||
status = "okay";
|
||||
|
||||
i2c2: i2c@600 {
|
||||
compatible = "atmel,sama5d2-i2c";
|
||||
reg = <0x600 0x200>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
i2c6: i2c@600 {
|
||||
dmas = <0>, <0>;
|
||||
dma-names = "tx", "rx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
|
||||
pinctrl-names = "default", "gpio";
|
||||
pinctrl-0 = <&pinctrl_flx4_default>;
|
||||
pinctrl-1 = <&pinctrl_flx4_gpio>;
|
||||
sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PD13 GPIO_ACTIVE_HIGH>;
|
||||
atmel,fifo-size = <16>;
|
||||
scl-gpios = <&pioA PIN_PD13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-analog-filter;
|
||||
i2c-digital-filter;
|
||||
i2c-digital-filter-width-ns = <35>;
|
||||
@@ -356,7 +416,7 @@
|
||||
i2c-digital-filter-width-ns = <35>;
|
||||
pinctrl-1 = <&pinctrl_i2c1_gpio>;
|
||||
sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PD5 GPIO_ACTIVE_HIGH>;
|
||||
scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
status = "okay";
|
||||
|
||||
at24@54 {
|
||||
@@ -480,6 +540,12 @@
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_i2c2_gpio: i2c2_gpio {
|
||||
pinmux = <PIN_PB28__GPIO>,
|
||||
<PIN_PB29__GPIO>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_i2s0_default: i2s0_default {
|
||||
pinmux = <PIN_PC1__I2SC0_CK>,
|
||||
<PIN_PC2__I2SC0_MCK>,
|
||||
@@ -535,6 +601,22 @@
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
pinctrl_qspi0_default: qspi0_default {
|
||||
sck_cs {
|
||||
pinmux = <PIN_PA22__QSPI0_SCK>,
|
||||
<PIN_PA23__QSPI0_CS>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
data {
|
||||
pinmux = <PIN_PA24__QSPI0_IO0>,
|
||||
<PIN_PA25__QSPI0_IO1>,
|
||||
<PIN_PA26__QSPI0_IO2>,
|
||||
<PIN_PA27__QSPI0_IO3>;
|
||||
bias-pull-up;
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl_sdmmc0_default: sdmmc0_default {
|
||||
cmd_data {
|
||||
pinmux = <PIN_PA1__SDMMC0_CMD>,
|
||||
|
@@ -46,10 +46,6 @@
|
||||
atmel,osc-bypass;
|
||||
};
|
||||
|
||||
&usart1_clk {
|
||||
atmel,clk-output-range = <0 132000000>;
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_cd>;
|
||||
|
@@ -101,259 +101,9 @@
|
||||
compatible = "atmel,at91rm9200-pmc", "syscon";
|
||||
reg = <0xfffffc00 0x100>;
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
interrupt-controller;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
main_osc: main_osc {
|
||||
compatible = "atmel,at91rm9200-clk-main-osc";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_MOSCS>;
|
||||
clocks = <&main_xtal>;
|
||||
};
|
||||
|
||||
main: mainck {
|
||||
compatible = "atmel,at91rm9200-clk-main";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&main_osc>;
|
||||
};
|
||||
|
||||
plla: pllack {
|
||||
compatible = "atmel,at91rm9200-clk-pll";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_LOCKA>;
|
||||
clocks = <&main>;
|
||||
reg = <0>;
|
||||
atmel,clk-input-range = <1000000 32000000>;
|
||||
#atmel,pll-clk-output-range-cells = <3>;
|
||||
atmel,pll-clk-output-ranges = <80000000 160000000 0>,
|
||||
<150000000 180000000 2>;
|
||||
};
|
||||
|
||||
pllb: pllbck {
|
||||
compatible = "atmel,at91rm9200-clk-pll";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_LOCKB>;
|
||||
clocks = <&main>;
|
||||
reg = <1>;
|
||||
atmel,clk-input-range = <1000000 32000000>;
|
||||
#atmel,pll-clk-output-range-cells = <3>;
|
||||
atmel,pll-clk-output-ranges = <80000000 160000000 0>,
|
||||
<150000000 180000000 2>;
|
||||
};
|
||||
|
||||
mck: masterck {
|
||||
compatible = "atmel,at91rm9200-clk-master";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
|
||||
clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>;
|
||||
atmel,clk-output-range = <0 80000000>;
|
||||
atmel,clk-divisors = <1 2 3 4>;
|
||||
};
|
||||
|
||||
usb: usbck {
|
||||
compatible = "atmel,at91rm9200-clk-usb";
|
||||
#clock-cells = <0>;
|
||||
atmel,clk-divisors = <1 2 0 0>;
|
||||
clocks = <&pllb>;
|
||||
};
|
||||
|
||||
prog: progck {
|
||||
compatible = "atmel,at91rm9200-clk-programmable";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <&pmc>;
|
||||
clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>;
|
||||
|
||||
prog0: prog0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <0>;
|
||||
interrupts = <AT91_PMC_PCKRDY(0)>;
|
||||
};
|
||||
|
||||
prog1: prog1 {
|
||||
#clock-cells = <0>;
|
||||
reg = <1>;
|
||||
interrupts = <AT91_PMC_PCKRDY(1)>;
|
||||
};
|
||||
|
||||
prog2: prog2 {
|
||||
#clock-cells = <0>;
|
||||
reg = <2>;
|
||||
interrupts = <AT91_PMC_PCKRDY(2)>;
|
||||
};
|
||||
|
||||
prog3: prog3 {
|
||||
#clock-cells = <0>;
|
||||
reg = <3>;
|
||||
interrupts = <AT91_PMC_PCKRDY(3)>;
|
||||
};
|
||||
};
|
||||
|
||||
systemck {
|
||||
compatible = "atmel,at91rm9200-clk-system";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
udpck: udpck {
|
||||
#clock-cells = <0>;
|
||||
reg = <2>;
|
||||
clocks = <&usb>;
|
||||
};
|
||||
|
||||
uhpck: uhpck {
|
||||
#clock-cells = <0>;
|
||||
reg = <4>;
|
||||
clocks = <&usb>;
|
||||
};
|
||||
|
||||
pck0: pck0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <8>;
|
||||
clocks = <&prog0>;
|
||||
};
|
||||
|
||||
pck1: pck1 {
|
||||
#clock-cells = <0>;
|
||||
reg = <9>;
|
||||
clocks = <&prog1>;
|
||||
};
|
||||
|
||||
pck2: pck2 {
|
||||
#clock-cells = <0>;
|
||||
reg = <10>;
|
||||
clocks = <&prog2>;
|
||||
};
|
||||
|
||||
pck3: pck3 {
|
||||
#clock-cells = <0>;
|
||||
reg = <11>;
|
||||
clocks = <&prog3>;
|
||||
};
|
||||
};
|
||||
|
||||
periphck {
|
||||
compatible = "atmel,at91rm9200-clk-peripheral";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&mck>;
|
||||
|
||||
pioA_clk: pioA_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
pioB_clk: pioB_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
pioC_clk: pioC_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
pioD_clk: pioD_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <5>;
|
||||
};
|
||||
|
||||
usart0_clk: usart0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <6>;
|
||||
};
|
||||
|
||||
usart1_clk: usart1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <7>;
|
||||
};
|
||||
|
||||
usart2_clk: usart2_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <8>;
|
||||
};
|
||||
|
||||
usart3_clk: usart3_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <9>;
|
||||
};
|
||||
|
||||
mci0_clk: mci0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <10>;
|
||||
};
|
||||
|
||||
udc_clk: udc_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <11>;
|
||||
};
|
||||
|
||||
twi0_clk: twi0_clk {
|
||||
reg = <12>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
spi0_clk: spi0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <13>;
|
||||
};
|
||||
|
||||
ssc0_clk: ssc0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <14>;
|
||||
};
|
||||
|
||||
ssc1_clk: ssc1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <15>;
|
||||
};
|
||||
|
||||
ssc2_clk: ssc2_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <16>;
|
||||
};
|
||||
|
||||
tc0_clk: tc0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <17>;
|
||||
};
|
||||
|
||||
tc1_clk: tc1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <18>;
|
||||
};
|
||||
|
||||
tc2_clk: tc2_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <19>;
|
||||
};
|
||||
|
||||
tc3_clk: tc3_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <20>;
|
||||
};
|
||||
|
||||
tc4_clk: tc4_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <21>;
|
||||
};
|
||||
|
||||
tc5_clk: tc5_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <22>;
|
||||
};
|
||||
|
||||
ohci_clk: ohci_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <23>;
|
||||
};
|
||||
|
||||
macb0_clk: macb0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <24>;
|
||||
};
|
||||
};
|
||||
#clock-cells = <2>;
|
||||
clocks = <&slow_xtal>, <&main_xtal>;
|
||||
clock-names = "slow_xtal", "main_xtal";
|
||||
};
|
||||
|
||||
st: timer@fffffd00 {
|
||||
@@ -383,7 +133,7 @@
|
||||
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
|
||||
18 IRQ_TYPE_LEVEL_HIGH 0
|
||||
19 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>, <&slow_xtal>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 19>, <&slow_xtal>;
|
||||
clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
|
||||
};
|
||||
|
||||
@@ -395,7 +145,7 @@
|
||||
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0
|
||||
21 IRQ_TYPE_LEVEL_HIGH 0
|
||||
22 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&tc3_clk>, <&tc4_clk>, <&tc5_clk>, <&slow_xtal>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_PERIPHERAL 22>, <&slow_xtal>;
|
||||
clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
|
||||
};
|
||||
|
||||
@@ -405,7 +155,7 @@
|
||||
interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_twi>;
|
||||
clocks = <&twi0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
@@ -415,7 +165,7 @@
|
||||
compatible = "atmel,hsmci";
|
||||
reg = <0xfffb4000 0x4000>;
|
||||
interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&mci0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
|
||||
clock-names = "mci_clk";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -429,7 +179,7 @@
|
||||
interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
|
||||
clocks = <&ssc0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
|
||||
clock-names = "pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -440,7 +190,7 @@
|
||||
interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
|
||||
clocks = <&ssc1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
|
||||
clock-names = "pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -451,7 +201,7 @@
|
||||
interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>;
|
||||
clocks = <&ssc2_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
|
||||
clock-names = "pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -463,7 +213,7 @@
|
||||
phy-mode = "rmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_macb_rmii>;
|
||||
clocks = <&macb0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
|
||||
clock-names = "ether_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -803,7 +553,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioA_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
|
||||
};
|
||||
|
||||
pioB: gpio@fffff600 {
|
||||
@@ -814,7 +564,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioB_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
|
||||
};
|
||||
|
||||
pioC: gpio@fffff800 {
|
||||
@@ -825,7 +575,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioC_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
|
||||
};
|
||||
|
||||
pioD: gpio@fffffa00 {
|
||||
@@ -836,7 +586,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioD_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -846,7 +596,7 @@
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_dbgu>;
|
||||
clocks = <&mck>;
|
||||
clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -859,7 +609,7 @@
|
||||
atmel,use-dma-tx;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart0>;
|
||||
clocks = <&usart0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -872,7 +622,7 @@
|
||||
atmel,use-dma-tx;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart1>;
|
||||
clocks = <&usart1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -885,7 +635,7 @@
|
||||
atmel,use-dma-tx;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart2>;
|
||||
clocks = <&usart2_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -898,7 +648,7 @@
|
||||
atmel,use-dma-tx;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_uart3>;
|
||||
clocks = <&usart3_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -907,7 +657,7 @@
|
||||
compatible = "atmel,at91rm9200-udc";
|
||||
reg = <0xfffb0000 0x4000>;
|
||||
interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>;
|
||||
clocks = <&udc_clk>, <&udpck>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 2>;
|
||||
clock-names = "pclk", "hclk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -920,7 +670,7 @@
|
||||
interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi0>;
|
||||
clocks = <&spi0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
|
||||
clock-names = "spi_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -947,7 +697,7 @@
|
||||
compatible = "atmel,at91rm9200-ohci", "usb-ohci";
|
||||
reg = <0x00300000 0x100000>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>;
|
||||
clocks = <&ohci_clk>, <&ohci_clk>, <&uhpck>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_SYSTEM 4>;
|
||||
clock-names = "ohci_clk", "hclk", "uhpck";
|
||||
status = "disabled";
|
||||
};
|
||||
|
@@ -103,14 +103,14 @@
|
||||
ramc0: ramc@ffffe400 {
|
||||
compatible = "atmel,at91sam9g45-ddramc";
|
||||
reg = <0xffffe400 0x200>;
|
||||
clocks = <&ddrck>;
|
||||
clocks = <&pmc PMC_TYPE_SYSTEM 2>;
|
||||
clock-names = "ddrck";
|
||||
};
|
||||
|
||||
ramc1: ramc@ffffe600 {
|
||||
compatible = "atmel,at91sam9g45-ddramc";
|
||||
reg = <0xffffe600 0x200>;
|
||||
clocks = <&ddrck>;
|
||||
clocks = <&pmc PMC_TYPE_SYSTEM 2>;
|
||||
clock-names = "ddrck";
|
||||
};
|
||||
|
||||
@@ -128,271 +128,9 @@
|
||||
compatible = "atmel,at91sam9g45-pmc", "syscon";
|
||||
reg = <0xfffffc00 0x100>;
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
interrupt-controller;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
main_osc: main_osc {
|
||||
compatible = "atmel,at91rm9200-clk-main-osc";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_MOSCS>;
|
||||
clocks = <&main_xtal>;
|
||||
};
|
||||
|
||||
main: mainck {
|
||||
compatible = "atmel,at91rm9200-clk-main";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&main_osc>;
|
||||
};
|
||||
|
||||
plla: pllack {
|
||||
compatible = "atmel,at91rm9200-clk-pll";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_LOCKA>;
|
||||
clocks = <&main>;
|
||||
reg = <0>;
|
||||
atmel,clk-input-range = <2000000 32000000>;
|
||||
#atmel,pll-clk-output-range-cells = <4>;
|
||||
atmel,pll-clk-output-ranges = <745000000 800000000 0 0
|
||||
695000000 750000000 1 0
|
||||
645000000 700000000 2 0
|
||||
595000000 650000000 3 0
|
||||
545000000 600000000 0 1
|
||||
495000000 555000000 1 1
|
||||
445000000 500000000 2 1
|
||||
400000000 450000000 3 1>;
|
||||
};
|
||||
|
||||
plladiv: plladivck {
|
||||
compatible = "atmel,at91sam9x5-clk-plldiv";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&plla>;
|
||||
};
|
||||
|
||||
utmi: utmick {
|
||||
compatible = "atmel,at91sam9x5-clk-utmi";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_LOCKU>;
|
||||
clocks = <&main>;
|
||||
};
|
||||
|
||||
mck: masterck {
|
||||
compatible = "atmel,at91rm9200-clk-master";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
|
||||
clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>;
|
||||
atmel,clk-output-range = <0 133333333>;
|
||||
atmel,clk-divisors = <1 2 4 3>;
|
||||
};
|
||||
|
||||
usb: usbck {
|
||||
compatible = "atmel,at91sam9x5-clk-usb";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&plladiv>, <&utmi>;
|
||||
};
|
||||
|
||||
prog: progck {
|
||||
compatible = "atmel,at91sam9g45-clk-programmable";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <&pmc>;
|
||||
clocks = <&clk32k>, <&main>, <&plladiv>, <&utmi>, <&mck>;
|
||||
|
||||
prog0: prog0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <0>;
|
||||
interrupts = <AT91_PMC_PCKRDY(0)>;
|
||||
};
|
||||
|
||||
prog1: prog1 {
|
||||
#clock-cells = <0>;
|
||||
reg = <1>;
|
||||
interrupts = <AT91_PMC_PCKRDY(1)>;
|
||||
};
|
||||
};
|
||||
|
||||
systemck {
|
||||
compatible = "atmel,at91rm9200-clk-system";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ddrck: ddrck {
|
||||
#clock-cells = <0>;
|
||||
reg = <2>;
|
||||
clocks = <&mck>;
|
||||
};
|
||||
|
||||
uhpck: uhpck {
|
||||
#clock-cells = <0>;
|
||||
reg = <6>;
|
||||
clocks = <&usb>;
|
||||
};
|
||||
|
||||
pck0: pck0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <8>;
|
||||
clocks = <&prog0>;
|
||||
};
|
||||
|
||||
pck1: pck1 {
|
||||
#clock-cells = <0>;
|
||||
reg = <9>;
|
||||
clocks = <&prog1>;
|
||||
};
|
||||
};
|
||||
|
||||
periphck {
|
||||
compatible = "atmel,at91rm9200-clk-peripheral";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&mck>;
|
||||
|
||||
pioA_clk: pioA_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
pioB_clk: pioB_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
pioC_clk: pioC_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
pioDE_clk: pioDE_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <5>;
|
||||
};
|
||||
|
||||
trng_clk: trng_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <6>;
|
||||
};
|
||||
|
||||
usart0_clk: usart0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <7>;
|
||||
};
|
||||
|
||||
usart1_clk: usart1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <8>;
|
||||
};
|
||||
|
||||
usart2_clk: usart2_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <9>;
|
||||
};
|
||||
|
||||
usart3_clk: usart3_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <10>;
|
||||
};
|
||||
|
||||
mci0_clk: mci0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <11>;
|
||||
};
|
||||
|
||||
twi0_clk: twi0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <12>;
|
||||
};
|
||||
|
||||
twi1_clk: twi1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <13>;
|
||||
};
|
||||
|
||||
spi0_clk: spi0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <14>;
|
||||
};
|
||||
|
||||
spi1_clk: spi1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <15>;
|
||||
};
|
||||
|
||||
ssc0_clk: ssc0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <16>;
|
||||
};
|
||||
|
||||
ssc1_clk: ssc1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <17>;
|
||||
};
|
||||
|
||||
tcb0_clk: tcb0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <18>;
|
||||
};
|
||||
|
||||
pwm_clk: pwm_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <19>;
|
||||
};
|
||||
|
||||
adc_clk: adc_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <20>;
|
||||
};
|
||||
|
||||
dma0_clk: dma0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <21>;
|
||||
};
|
||||
|
||||
uhphs_clk: uhphs_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <22>;
|
||||
};
|
||||
|
||||
lcd_clk: lcd_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <23>;
|
||||
};
|
||||
|
||||
ac97_clk: ac97_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <24>;
|
||||
};
|
||||
|
||||
macb0_clk: macb0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <25>;
|
||||
};
|
||||
|
||||
isi_clk: isi_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <26>;
|
||||
};
|
||||
|
||||
udphs_clk: udphs_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <27>;
|
||||
};
|
||||
|
||||
aestdessha_clk: aestdessha_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <28>;
|
||||
};
|
||||
|
||||
mci1_clk: mci1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <29>;
|
||||
};
|
||||
|
||||
vdec_clk: vdec_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <30>;
|
||||
};
|
||||
};
|
||||
#clock-cells = <2>;
|
||||
clocks = <&clk32k>, <&main_xtal>;
|
||||
clock-names = "slow_clk", "main_xtal";
|
||||
};
|
||||
|
||||
rstc@fffffd00 {
|
||||
@@ -405,7 +143,7 @@
|
||||
compatible = "atmel,at91sam9260-pit";
|
||||
reg = <0xfffffd30 0xf>;
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
clocks = <&mck>;
|
||||
clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
|
||||
};
|
||||
|
||||
|
||||
@@ -421,7 +159,7 @@
|
||||
#size-cells = <0>;
|
||||
reg = <0xfff7c000 0x100>;
|
||||
interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>, <&clk32k>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&clk32k>;
|
||||
clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
|
||||
};
|
||||
|
||||
@@ -431,7 +169,7 @@
|
||||
#size-cells = <0>;
|
||||
reg = <0xfffd4000 0x100>;
|
||||
interrupts = <18 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&tcb0_clk>, <&tcb0_clk>, <&tcb0_clk>, <&clk32k>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&clk32k>;
|
||||
clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
|
||||
};
|
||||
|
||||
@@ -440,7 +178,7 @@
|
||||
reg = <0xffffec00 0x200>;
|
||||
interrupts = <21 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
#dma-cells = <2>;
|
||||
clocks = <&dma0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 21>;
|
||||
clock-names = "dma_clk";
|
||||
};
|
||||
|
||||
@@ -883,7 +621,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioA_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
|
||||
};
|
||||
|
||||
pioB: gpio@fffff400 {
|
||||
@@ -894,7 +632,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioB_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
|
||||
};
|
||||
|
||||
pioC: gpio@fffff600 {
|
||||
@@ -905,7 +643,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioC_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
|
||||
};
|
||||
|
||||
pioD: gpio@fffff800 {
|
||||
@@ -916,7 +654,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioDE_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
|
||||
};
|
||||
|
||||
pioE: gpio@fffffa00 {
|
||||
@@ -927,7 +665,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioDE_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -937,7 +675,7 @@
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_dbgu>;
|
||||
clocks = <&mck>;
|
||||
clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -950,7 +688,7 @@
|
||||
atmel,use-dma-tx;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usart0>;
|
||||
clocks = <&usart0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -963,7 +701,7 @@
|
||||
atmel,use-dma-tx;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usart1>;
|
||||
clocks = <&usart1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -976,7 +714,7 @@
|
||||
atmel,use-dma-tx;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usart2>;
|
||||
clocks = <&usart2_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -989,7 +727,7 @@
|
||||
atmel,use-dma-tx;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usart3>;
|
||||
clocks = <&usart3_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1000,7 +738,7 @@
|
||||
interrupts = <25 IRQ_TYPE_LEVEL_HIGH 3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_macb_rmii>;
|
||||
clocks = <&macb0_clk>, <&macb0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 25>, <&pmc PMC_TYPE_PERIPHERAL 25>;
|
||||
clock-names = "hclk", "pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1009,7 +747,7 @@
|
||||
compatible = "atmel,at91sam9g45-trng";
|
||||
reg = <0xfffcc000 0x100>;
|
||||
interrupts = <6 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&trng_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
|
||||
};
|
||||
|
||||
i2c0: i2c@fff84000 {
|
||||
@@ -1020,7 +758,7 @@
|
||||
pinctrl-0 = <&pinctrl_i2c0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&twi0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -1032,7 +770,7 @@
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&twi1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -1042,7 +780,7 @@
|
||||
interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
|
||||
clocks = <&ssc0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
|
||||
clock-names = "pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1053,7 +791,7 @@
|
||||
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
|
||||
clocks = <&ssc1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 17>;
|
||||
clock-names = "pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1064,7 +802,7 @@
|
||||
interrupts = <24 IRQ_TYPE_LEVEL_HIGH 4>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ac97>;
|
||||
clocks = <&ac97_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
|
||||
clock-names = "ac97_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1075,7 +813,7 @@
|
||||
compatible = "atmel,at91sam9g45-adc";
|
||||
reg = <0xfffb0000 0x100>;
|
||||
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&adc_clk>, <&adc_op_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>, <&adc_op_clk>;
|
||||
clock-names = "adc_clk", "adc_op_clk";
|
||||
atmel,adc-channels-used = <0xff>;
|
||||
atmel,adc-vref = <3300>;
|
||||
@@ -1111,7 +849,7 @@
|
||||
compatible = "atmel,at91sam9g45-isi";
|
||||
reg = <0xfffb4000 0x4000>;
|
||||
interrupts = <26 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
clocks = <&isi_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 26>;
|
||||
clock-names = "isi_clk";
|
||||
status = "disabled";
|
||||
port {
|
||||
@@ -1125,7 +863,7 @@
|
||||
reg = <0xfffb8000 0x300>;
|
||||
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 4>;
|
||||
#pwm-cells = <3>;
|
||||
clocks = <&pwm_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -1138,7 +876,7 @@
|
||||
dma-names = "rxtx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&mci0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
|
||||
clock-names = "mci_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1152,7 +890,7 @@
|
||||
dma-names = "rxtx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&mci1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 29>;
|
||||
clock-names = "mci_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1176,7 +914,7 @@
|
||||
interrupts = <14 4 3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi0>;
|
||||
clocks = <&spi0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
|
||||
clock-names = "spi_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1189,73 +927,19 @@
|
||||
interrupts = <15 4 3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi1>;
|
||||
clocks = <&spi1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
|
||||
clock-names = "spi_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb2: gadget@fff78000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "atmel,at91sam9g45-udc";
|
||||
reg = <0x00600000 0x80000
|
||||
0xfff78000 0x400>;
|
||||
interrupts = <27 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&udphs_clk>, <&utmi>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
|
||||
clock-names = "pclk", "hclk";
|
||||
status = "disabled";
|
||||
|
||||
ep@0 {
|
||||
reg = <0>;
|
||||
atmel,fifo-size = <64>;
|
||||
atmel,nb-banks = <1>;
|
||||
};
|
||||
|
||||
ep@1 {
|
||||
reg = <1>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <2>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
|
||||
ep@2 {
|
||||
reg = <2>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <2>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
|
||||
ep@3 {
|
||||
reg = <3>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
};
|
||||
|
||||
ep@4 {
|
||||
reg = <4>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
};
|
||||
|
||||
ep@5 {
|
||||
reg = <5>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
|
||||
ep@6 {
|
||||
reg = <6>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
};
|
||||
|
||||
clk32k: sckc@fffffd50 {
|
||||
@@ -1294,7 +978,7 @@
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_fb>;
|
||||
clocks = <&lcd_clk>, <&lcd_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_PERIPHERAL 23>;
|
||||
clock-names = "hclk", "lcdc_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1303,7 +987,7 @@
|
||||
compatible = "atmel,at91rm9200-ohci", "usb-ohci";
|
||||
reg = <0x00700000 0x100000>;
|
||||
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
|
||||
clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_SYSTEM 6>;
|
||||
clock-names = "ohci_clk", "hclk", "uhpck";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1312,7 +996,7 @@
|
||||
compatible = "atmel,at91sam9g45-ehci", "usb-ehci";
|
||||
reg = <0x00800000 0x100000>;
|
||||
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
|
||||
clocks = <&utmi>, <&uhphs_clk>;
|
||||
clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 22>;
|
||||
clock-names = "usb_clk", "ehci_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1330,7 +1014,7 @@
|
||||
0x3 0x0 0x40000000 0x10000000
|
||||
0x4 0x0 0x50000000 0x10000000
|
||||
0x5 0x0 0x60000000 0x10000000>;
|
||||
clocks = <&mck>;
|
||||
clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
|
||||
status = "disabled";
|
||||
|
||||
nand_controller: nand-controller {
|
||||
|
@@ -72,9 +72,9 @@
|
||||
pinctrl-0 = <&pinctrl_pck1_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
|
||||
resetb-gpios = <&pioD 12 GPIO_ACTIVE_LOW>;
|
||||
pwdn-gpios = <&pioD 13 GPIO_ACTIVE_HIGH>;
|
||||
clocks = <&pck1>;
|
||||
clocks = <&pmc PMC_TYPE_SYSTEM 9>;
|
||||
clock-names = "xvclk";
|
||||
assigned-clocks = <&pck1>;
|
||||
assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>;
|
||||
assigned-clock-rates = <25000000>;
|
||||
|
||||
port {
|
||||
|
@@ -104,7 +104,7 @@
|
||||
ramc0: ramc@ffffe800 {
|
||||
compatible = "atmel,at91sam9g45-ddramc";
|
||||
reg = <0xffffe800 0x200>;
|
||||
clocks = <&ddrck>;
|
||||
clocks = <&pmc PMC_TYPE_SYSTEM 2>;
|
||||
clock-names = "ddrck";
|
||||
};
|
||||
|
||||
@@ -116,278 +116,10 @@
|
||||
pmc: pmc@fffffc00 {
|
||||
compatible = "atmel,at91sam9n12-pmc", "syscon";
|
||||
reg = <0xfffffc00 0x200>;
|
||||
#clock-cells = <2>;
|
||||
clocks = <&clk32k>, <&main_xtal>;
|
||||
clock-names = "slow_clk", "main_xtal";
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
interrupt-controller;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#interrupt-cells = <1>;
|
||||
|
||||
main_rc_osc: main_rc_osc {
|
||||
compatible = "atmel,at91sam9x5-clk-main-rc-osc";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_MOSCRCS>;
|
||||
clock-frequency = <12000000>;
|
||||
clock-accuracy = <50000000>;
|
||||
};
|
||||
|
||||
main_osc: main_osc {
|
||||
compatible = "atmel,at91rm9200-clk-main-osc";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_MOSCS>;
|
||||
clocks = <&main_xtal>;
|
||||
};
|
||||
|
||||
main: mainck {
|
||||
compatible = "atmel,at91sam9x5-clk-main";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_MOSCSELS>;
|
||||
clocks = <&main_rc_osc>, <&main_osc>;
|
||||
};
|
||||
|
||||
plla: pllack {
|
||||
compatible = "atmel,at91rm9200-clk-pll";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_LOCKA>;
|
||||
clocks = <&main>;
|
||||
reg = <0>;
|
||||
atmel,clk-input-range = <2000000 32000000>;
|
||||
#atmel,pll-clk-output-range-cells = <4>;
|
||||
atmel,pll-clk-output-ranges = <745000000 800000000 0 0>,
|
||||
<695000000 750000000 1 0>,
|
||||
<645000000 700000000 2 0>,
|
||||
<595000000 650000000 3 0>,
|
||||
<545000000 600000000 0 1>,
|
||||
<495000000 555000000 1 1>,
|
||||
<445000000 500000000 2 1>,
|
||||
<400000000 450000000 3 1>;
|
||||
};
|
||||
|
||||
plladiv: plladivck {
|
||||
compatible = "atmel,at91sam9x5-clk-plldiv";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&plla>;
|
||||
};
|
||||
|
||||
pllb: pllbck {
|
||||
compatible = "atmel,at91rm9200-clk-pll";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_LOCKB>;
|
||||
clocks = <&main>;
|
||||
reg = <1>;
|
||||
atmel,clk-input-range = <2000000 32000000>;
|
||||
#atmel,pll-clk-output-range-cells = <3>;
|
||||
atmel,pll-clk-output-ranges = <30000000 100000000 0>;
|
||||
};
|
||||
|
||||
mck: masterck {
|
||||
compatible = "atmel,at91sam9x5-clk-master";
|
||||
#clock-cells = <0>;
|
||||
interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
|
||||
clocks = <&clk32k>, <&main>, <&plladiv>, <&pllb>;
|
||||
atmel,clk-output-range = <0 133333333>;
|
||||
atmel,clk-divisors = <1 2 4 3>;
|
||||
atmel,master-clk-have-div3-pres;
|
||||
};
|
||||
|
||||
usb: usbck {
|
||||
compatible = "atmel,at91sam9n12-clk-usb";
|
||||
#clock-cells = <0>;
|
||||
clocks = <&pllb>;
|
||||
};
|
||||
|
||||
prog: progck {
|
||||
compatible = "atmel,at91sam9x5-clk-programmable";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <&pmc>;
|
||||
clocks = <&clk32k>, <&main>, <&plladiv>, <&pllb>, <&mck>;
|
||||
|
||||
prog0: prog0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <0>;
|
||||
interrupts = <AT91_PMC_PCKRDY(0)>;
|
||||
};
|
||||
|
||||
prog1: prog1 {
|
||||
#clock-cells = <0>;
|
||||
reg = <1>;
|
||||
interrupts = <AT91_PMC_PCKRDY(1)>;
|
||||
};
|
||||
};
|
||||
|
||||
systemck {
|
||||
compatible = "atmel,at91rm9200-clk-system";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ddrck: ddrck {
|
||||
#clock-cells = <0>;
|
||||
reg = <2>;
|
||||
clocks = <&mck>;
|
||||
};
|
||||
|
||||
lcdck: lcdck {
|
||||
#clock-cells = <0>;
|
||||
reg = <3>;
|
||||
clocks = <&mck>;
|
||||
};
|
||||
|
||||
uhpck: uhpck {
|
||||
#clock-cells = <0>;
|
||||
reg = <6>;
|
||||
clocks = <&usb>;
|
||||
};
|
||||
|
||||
udpck: udpck {
|
||||
#clock-cells = <0>;
|
||||
reg = <7>;
|
||||
clocks = <&usb>;
|
||||
};
|
||||
|
||||
pck0: pck0 {
|
||||
#clock-cells = <0>;
|
||||
reg = <8>;
|
||||
clocks = <&prog0>;
|
||||
};
|
||||
|
||||
pck1: pck1 {
|
||||
#clock-cells = <0>;
|
||||
reg = <9>;
|
||||
clocks = <&prog1>;
|
||||
};
|
||||
};
|
||||
|
||||
periphck {
|
||||
compatible = "atmel,at91sam9x5-clk-peripheral";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&mck>;
|
||||
|
||||
pioAB_clk: pioAB_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <2>;
|
||||
};
|
||||
|
||||
pioCD_clk: pioCD_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <3>;
|
||||
};
|
||||
|
||||
fuse_clk: fuse_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
usart0_clk: usart0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <5>;
|
||||
};
|
||||
|
||||
usart1_clk: usart1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <6>;
|
||||
};
|
||||
|
||||
usart2_clk: usart2_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <7>;
|
||||
};
|
||||
|
||||
usart3_clk: usart3_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <8>;
|
||||
};
|
||||
|
||||
twi0_clk: twi0_clk {
|
||||
reg = <9>;
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
twi1_clk: twi1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <10>;
|
||||
};
|
||||
|
||||
mci0_clk: mci0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <12>;
|
||||
};
|
||||
|
||||
spi0_clk: spi0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <13>;
|
||||
};
|
||||
|
||||
spi1_clk: spi1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <14>;
|
||||
};
|
||||
|
||||
uart0_clk: uart0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <15>;
|
||||
};
|
||||
|
||||
uart1_clk: uart1_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <16>;
|
||||
};
|
||||
|
||||
tcb_clk: tcb_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <17>;
|
||||
};
|
||||
|
||||
pwm_clk: pwm_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <18>;
|
||||
};
|
||||
|
||||
adc_clk: adc_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <19>;
|
||||
};
|
||||
|
||||
dma0_clk: dma0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <20>;
|
||||
};
|
||||
|
||||
uhphs_clk: uhphs_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <22>;
|
||||
};
|
||||
|
||||
udphs_clk: udphs_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <23>;
|
||||
};
|
||||
|
||||
lcdc_clk: lcdc_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <25>;
|
||||
};
|
||||
|
||||
sha_clk: sha_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <27>;
|
||||
};
|
||||
|
||||
ssc0_clk: ssc0_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <28>;
|
||||
};
|
||||
|
||||
aes_clk: aes_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <29>;
|
||||
};
|
||||
|
||||
trng_clk: trng_clk {
|
||||
#clock-cells = <0>;
|
||||
reg = <30>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
rstc@fffffe00 {
|
||||
@@ -400,7 +132,7 @@
|
||||
compatible = "atmel,at91sam9260-pit";
|
||||
reg = <0xfffffe30 0xf>;
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
clocks = <&mck>;
|
||||
clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
|
||||
};
|
||||
|
||||
shdwc@fffffe10 {
|
||||
@@ -439,7 +171,7 @@
|
||||
interrupts = <12 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
dmas = <&dma 1 AT91_DMA_CFG_PER_ID(0)>;
|
||||
dma-names = "rxtx";
|
||||
clocks = <&mci0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
|
||||
clock-names = "mci_clk";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -452,7 +184,7 @@
|
||||
#size-cells = <0>;
|
||||
reg = <0xf8008000 0x100>;
|
||||
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&tcb_clk>, <&clk32k>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&clk32k>;
|
||||
clock-names = "t0_clk", "slow_clk";
|
||||
};
|
||||
|
||||
@@ -462,7 +194,7 @@
|
||||
#size-cells = <0>;
|
||||
reg = <0xf800c000 0x100>;
|
||||
interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&tcb_clk>, <&clk32k>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&clk32k>;
|
||||
clock-names = "t0_clk", "slow_clk";
|
||||
};
|
||||
|
||||
@@ -470,7 +202,7 @@
|
||||
compatible = "atmel,at91sam9n12-hlcdc";
|
||||
reg = <0xf8038000 0x2000>;
|
||||
interrupts = <25 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 25>, <&pmc PMC_TYPE_SYSTEM 3>, <&clk32k>;
|
||||
clock-names = "periph_clk", "sys_clk", "slow_clk";
|
||||
status = "disabled";
|
||||
|
||||
@@ -499,7 +231,7 @@
|
||||
reg = <0xffffec00 0x200>;
|
||||
interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
#dma-cells = <2>;
|
||||
clocks = <&dma0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
|
||||
clock-names = "dma_clk";
|
||||
};
|
||||
|
||||
@@ -817,7 +549,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioAB_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
|
||||
};
|
||||
|
||||
pioB: gpio@fffff600 {
|
||||
@@ -828,7 +560,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioAB_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
|
||||
};
|
||||
|
||||
pioC: gpio@fffff800 {
|
||||
@@ -839,7 +571,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioCD_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
|
||||
};
|
||||
|
||||
pioD: gpio@fffffa00 {
|
||||
@@ -850,7 +582,7 @@
|
||||
gpio-controller;
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <2>;
|
||||
clocks = <&pioCD_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -860,7 +592,7 @@
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_dbgu>;
|
||||
clocks = <&mck>;
|
||||
clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -874,7 +606,7 @@
|
||||
dma-names = "tx", "rx";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
|
||||
clocks = <&ssc0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 28>;
|
||||
clock-names = "pclk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -885,7 +617,7 @@
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usart0>;
|
||||
clocks = <&usart0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -896,7 +628,7 @@
|
||||
interrupts = <6 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usart1>;
|
||||
clocks = <&usart1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -907,7 +639,7 @@
|
||||
interrupts = <7 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usart2>;
|
||||
clocks = <&usart2_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -918,7 +650,7 @@
|
||||
interrupts = <8 IRQ_TYPE_LEVEL_HIGH 5>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_usart3>;
|
||||
clocks = <&usart3_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
|
||||
clock-names = "usart";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -934,7 +666,7 @@
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c0>;
|
||||
clocks = <&twi0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -949,7 +681,7 @@
|
||||
#size-cells = <0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_i2c1>;
|
||||
clocks = <&twi1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -964,7 +696,7 @@
|
||||
dma-names = "tx", "rx";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi0>;
|
||||
clocks = <&spi0_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
|
||||
clock-names = "spi_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -980,7 +712,7 @@
|
||||
dma-names = "tx", "rx";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_spi1>;
|
||||
clocks = <&spi1_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
|
||||
clock-names = "spi_clk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1009,7 +741,7 @@
|
||||
reg = <0xf8034000 0x300>;
|
||||
interrupts = <18 IRQ_TYPE_LEVEL_HIGH 4>;
|
||||
#pwm-cells = <3>;
|
||||
clocks = <&pwm_clk>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
@@ -1017,7 +749,7 @@
|
||||
compatible = "atmel,at91sam9260-udc";
|
||||
reg = <0xf803c000 0x4000>;
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>;
|
||||
clocks = <&udphs_clk>, <&udpck>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_SYSTEM 7>;
|
||||
clock-names = "pclk", "hclk";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1027,7 +759,7 @@
|
||||
compatible = "atmel,at91rm9200-ohci", "usb-ohci";
|
||||
reg = <0x00500000 0x00100000>;
|
||||
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 2>;
|
||||
clocks = <&uhphs_clk>, <&uhphs_clk>, <&uhpck>;
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_SYSTEM 6>;
|
||||
clock-names = "ohci_clk", "hclk", "uhpck";
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -1045,7 +777,7 @@
|
||||
0x3 0x0 0x40000000 0x10000000
|
||||
0x4 0x0 0x50000000 0x10000000
|
||||
0x5 0x0 0x60000000 0x10000000>;
|
||||
clocks = <&mck>;
|
||||
clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
|
||||
status = "disabled";
|
||||
|
||||
nand_controller: nand-controller {
|
||||
|
@@ -59,7 +59,7 @@
|
||||
wm8904: codec@1a {
|
||||
compatible = "wlf,wm8904";
|
||||
reg = <0x1a>;
|
||||
clocks = <&pck0>;
|
||||
clocks = <&pmc PMC_TYPE_SYSTEM 8>;
|
||||
clock-names = "mclk";
|
||||
};
|
||||
|
||||
|
@@ -299,8 +299,6 @@
|
||||
};
|
||||
|
||||
usb0: gadget@fffd4000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "atmel,at91sam9rl-udc";
|
||||
reg = <0x00600000 0x100000>,
|
||||
<0xfffd4000 0x4000>;
|
||||
@@ -308,58 +306,6 @@
|
||||
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>, <&pmc PMC_TYPE_CORE PMC_UTMI>;
|
||||
clock-names = "pclk", "hclk";
|
||||
status = "disabled";
|
||||
|
||||
ep@0 {
|
||||
reg = <0>;
|
||||
atmel,fifo-size = <64>;
|
||||
atmel,nb-banks = <1>;
|
||||
};
|
||||
|
||||
ep@1 {
|
||||
reg = <1>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <2>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
|
||||
ep@2 {
|
||||
reg = <2>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <2>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
|
||||
ep@3 {
|
||||
reg = <3>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
};
|
||||
|
||||
ep@4 {
|
||||
reg = <4>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
};
|
||||
|
||||
ep@5 {
|
||||
reg = <5>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
|
||||
ep@6 {
|
||||
reg = <6>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
};
|
||||
|
||||
dma0: dma-controller@ffffe600 {
|
||||
|
@@ -867,8 +867,6 @@
|
||||
};
|
||||
|
||||
usb2: gadget@f803c000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "atmel,at91sam9g45-udc";
|
||||
reg = <0x00500000 0x80000
|
||||
0xf803c000 0x400>;
|
||||
@@ -876,58 +874,6 @@
|
||||
clocks = <&pmc PMC_TYPE_CORE PMC_UTMI>, <&pmc PMC_TYPE_PERIPHERAL 23>;
|
||||
clock-names = "hclk", "pclk";
|
||||
status = "disabled";
|
||||
|
||||
ep@0 {
|
||||
reg = <0>;
|
||||
atmel,fifo-size = <64>;
|
||||
atmel,nb-banks = <1>;
|
||||
};
|
||||
|
||||
ep@1 {
|
||||
reg = <1>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <2>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
|
||||
ep@2 {
|
||||
reg = <2>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <2>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
|
||||
ep@3 {
|
||||
reg = <3>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
};
|
||||
|
||||
ep@4 {
|
||||
reg = <4>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
};
|
||||
|
||||
ep@5 {
|
||||
reg = <5>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
|
||||
ep@6 {
|
||||
reg = <6>;
|
||||
atmel,fifo-size = <1024>;
|
||||
atmel,nb-banks = <3>;
|
||||
atmel,can-dma;
|
||||
atmel,can-isoc;
|
||||
};
|
||||
};
|
||||
|
||||
watchdog: watchdog@fffffe40 {
|
||||
|
@@ -56,6 +56,16 @@
|
||||
3300000 0x0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
sd_vcc_reg: sd_vcc_reg {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc-sd";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-boot-on;
|
||||
enable-active-high;
|
||||
gpio = <&expgpio 6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&firmware {
|
||||
@@ -69,7 +79,7 @@
|
||||
"GLOBAL_RESET",
|
||||
"VDD_SD_IO_SEL",
|
||||
"CAM_GPIO",
|
||||
"",
|
||||
"SD_PWR_ON",
|
||||
"";
|
||||
status = "okay";
|
||||
};
|
||||
@@ -174,6 +184,7 @@
|
||||
/* EMMC2 is used to drive the SD card */
|
||||
&emmc2 {
|
||||
vqmmc-supply = <&sd_io_1v8_reg>;
|
||||
vmmc-supply = <&sd_vcc_reg>;
|
||||
broken-cd;
|
||||
status = "okay";
|
||||
};
|
||||
|
@@ -130,7 +130,6 @@
|
||||
compatible = "brcm,bcm2835-v3d";
|
||||
reg = <0x7ec00000 0x1000>;
|
||||
interrupts = <1 10>;
|
||||
power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>;
|
||||
};
|
||||
|
||||
vc4: gpu {
|
||||
|
12
arch/arm/boot/dts/bcm2835-rpi-common.dtsi
Normal file
12
arch/arm/boot/dts/bcm2835-rpi-common.dtsi
Normal file
@@ -0,0 +1,12 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* This include file covers the common peripherals and configuration between
|
||||
* bcm2835, bcm2836 and bcm2837 implementations that interact with RPi's
|
||||
* firmware interface.
|
||||
*/
|
||||
|
||||
#include <dt-bindings/power/raspberrypi-power.h>
|
||||
|
||||
&v3d {
|
||||
power-domains = <&power RPI_POWER_DOMAIN_V3D>;
|
||||
};
|
@@ -1,6 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "bcm283x.dtsi"
|
||||
#include "bcm2835-common.dtsi"
|
||||
#include "bcm2835-rpi-common.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2835";
|
||||
|
@@ -1,6 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "bcm283x.dtsi"
|
||||
#include "bcm2835-common.dtsi"
|
||||
#include "bcm2835-rpi-common.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2836";
|
||||
|
@@ -1,5 +1,6 @@
|
||||
#include "bcm283x.dtsi"
|
||||
#include "bcm2835-common.dtsi"
|
||||
#include "bcm2835-rpi-common.dtsi"
|
||||
|
||||
/ {
|
||||
compatible = "brcm,bcm2837";
|
||||
|
@@ -77,7 +77,7 @@
|
||||
|
||||
ranges = <0 0xf7000000 0x1000000>;
|
||||
|
||||
sdhci0: sdhci@ab0000 {
|
||||
sdhci0: mmc@ab0000 {
|
||||
compatible = "mrvl,pxav3-mmc";
|
||||
reg = <0xab0000 0x200>;
|
||||
clocks = <&chip_clk CLKID_SDIO0XIN>, <&chip_clk CLKID_SDIO0>;
|
||||
@@ -86,7 +86,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhci1: sdhci@ab0800 {
|
||||
sdhci1: mmc@ab0800 {
|
||||
compatible = "mrvl,pxav3-mmc";
|
||||
reg = <0xab0800 0x200>;
|
||||
clocks = <&chip_clk CLKID_SDIO1XIN>, <&chip_clk CLKID_SDIO1>;
|
||||
@@ -95,7 +95,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhci2: sdhci@ab1000 {
|
||||
sdhci2: mmc@ab1000 {
|
||||
compatible = "mrvl,pxav3-mmc";
|
||||
reg = <0xab1000 0x200>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
@@ -62,7 +62,7 @@
|
||||
|
||||
ranges = <0 0xf7000000 0x1000000>;
|
||||
|
||||
sdhci0: sdhci@ab0000 {
|
||||
sdhci0: mmc@ab0000 {
|
||||
compatible = "mrvl,pxav3-mmc";
|
||||
reg = <0xab0000 0x200>;
|
||||
clocks = <&chip_clk CLKID_SDIO0XIN>, <&chip_clk CLKID_SDIO0>;
|
||||
|
@@ -122,7 +122,7 @@
|
||||
ranges = <0 0xf7000000 0x1000000>;
|
||||
interrupt-parent = <&gic>;
|
||||
|
||||
sdhci0: sdhci@ab0000 {
|
||||
sdhci0: mmc@ab0000 {
|
||||
compatible = "mrvl,pxav3-mmc";
|
||||
reg = <0xab0000 0x200>;
|
||||
clocks = <&chip_clk CLKID_SDIO1XIN>, <&chip_clk CLKID_SDIO>;
|
||||
@@ -131,7 +131,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhci1: sdhci@ab0800 {
|
||||
sdhci1: mmc@ab0800 {
|
||||
compatible = "mrvl,pxav3-mmc";
|
||||
reg = <0xab0800 0x200>;
|
||||
clocks = <&chip_clk CLKID_SDIO1XIN>, <&chip_clk CLKID_SDIO>;
|
||||
@@ -140,7 +140,7 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
sdhci2: sdhci@ab1000 {
|
||||
sdhci2: mmc@ab1000 {
|
||||
compatible = "mrvl,pxav3-mmc";
|
||||
reg = <0xab1000 0x200>;
|
||||
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
@@ -308,14 +308,30 @@
|
||||
ti,hwmods = "mcspi4";
|
||||
};
|
||||
|
||||
timer1: timer@2e000 {
|
||||
compatible = "ti,dm814-timer";
|
||||
reg = <0x2e000 0x2000>;
|
||||
interrupts = <67>;
|
||||
ti,hwmods = "timer1";
|
||||
ti,timer-alwon;
|
||||
timer1_target: target-module@2e000 {
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
reg = <0x2e000 0x4>,
|
||||
<0x2e010 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
|
||||
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||
<SYSC_IDLE_NO>,
|
||||
<SYSC_IDLE_SMART>,
|
||||
<SYSC_IDLE_SMART_WKUP>;
|
||||
clocks = <&timer1_fck>;
|
||||
clock-names = "fck";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x2e000 0x1000>;
|
||||
|
||||
timer1: timer@0 {
|
||||
compatible = "ti,am335x-timer-1ms";
|
||||
reg = <0x0 0x400>;
|
||||
interrupts = <67>;
|
||||
ti,timer-alwon;
|
||||
clocks = <&timer1_fck>;
|
||||
clock-names = "fck";
|
||||
};
|
||||
};
|
||||
|
||||
uart1: uart@20000 {
|
||||
@@ -348,13 +364,29 @@
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
timer2: timer@40000 {
|
||||
compatible = "ti,dm814-timer";
|
||||
reg = <0x40000 0x2000>;
|
||||
interrupts = <68>;
|
||||
ti,hwmods = "timer2";
|
||||
timer2_target: target-module@40000 {
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
reg = <0x40000 0x4>,
|
||||
<0x40010 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
|
||||
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||
<SYSC_IDLE_NO>,
|
||||
<SYSC_IDLE_SMART>,
|
||||
<SYSC_IDLE_SMART_WKUP>;
|
||||
clocks = <&timer2_fck>;
|
||||
clock-names = "fck";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x40000 0x1000>;
|
||||
|
||||
timer2: timer@0 {
|
||||
compatible = "ti,dm814-timer";
|
||||
reg = <0 0x1000>;
|
||||
interrupts = <68>;
|
||||
clocks = <&timer2_fck>;
|
||||
clock-names = "fck";
|
||||
};
|
||||
};
|
||||
|
||||
timer3: timer@42000 {
|
||||
@@ -735,3 +767,23 @@
|
||||
};
|
||||
|
||||
#include "dm814x-clocks.dtsi"
|
||||
|
||||
/* Preferred always-on timer for clocksource */
|
||||
&timer1_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&timer1_fck>;
|
||||
assigned-clock-parents = <&devosc_ck>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred timer for clockevent */
|
||||
&timer2_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&timer2_fck>;
|
||||
assigned-clock-parents = <&devosc_ck>;
|
||||
};
|
||||
};
|
||||
|
@@ -440,23 +440,55 @@
|
||||
dma-names = "tx", "rx";
|
||||
};
|
||||
|
||||
timer1: timer@4802e000 {
|
||||
compatible = "ti,dm816-timer";
|
||||
reg = <0x4802e000 0x2000>;
|
||||
interrupts = <67>;
|
||||
ti,hwmods = "timer1";
|
||||
ti,timer-alwon;
|
||||
clocks = <&timer1_fck>;
|
||||
timer1_target: target-module@4802e000 {
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
reg = <0x4802e000 0x4>,
|
||||
<0x4802e010 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
|
||||
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||
<SYSC_IDLE_NO>,
|
||||
<SYSC_IDLE_SMART>,
|
||||
<SYSC_IDLE_SMART_WKUP>;
|
||||
clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>;
|
||||
clock-names = "fck";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x4802e000 0x1000>;
|
||||
|
||||
timer1: timer@0 {
|
||||
compatible = "ti,dm816-timer";
|
||||
reg = <0 0x1000>;
|
||||
interrupts = <67>;
|
||||
ti,timer-alwon;
|
||||
clocks = <&alwon_clkctrl DM816_TIMER1_CLKCTRL 0>;
|
||||
clock-names = "fck";
|
||||
};
|
||||
};
|
||||
|
||||
timer2: timer@48040000 {
|
||||
compatible = "ti,dm816-timer";
|
||||
reg = <0x48040000 0x2000>;
|
||||
interrupts = <68>;
|
||||
ti,hwmods = "timer2";
|
||||
clocks = <&timer2_fck>;
|
||||
timer2_target: target-module@48040000 {
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
reg = <0x48040000 0x4>,
|
||||
<0x48040010 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
|
||||
ti,sysc-sidle = <SYSC_IDLE_FORCE>,
|
||||
<SYSC_IDLE_NO>,
|
||||
<SYSC_IDLE_SMART>,
|
||||
<SYSC_IDLE_SMART_WKUP>;
|
||||
clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>;
|
||||
clock-names = "fck";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0x0 0x48040000 0x1000>;
|
||||
|
||||
timer2: timer@0 {
|
||||
compatible = "ti,dm816-timer";
|
||||
reg = <0 0x1000>;
|
||||
interrupts = <68>;
|
||||
clocks = <&alwon_clkctrl DM816_TIMER2_CLKCTRL 0>;
|
||||
clock-names = "fck";
|
||||
};
|
||||
};
|
||||
|
||||
timer3: timer@48042000 {
|
||||
@@ -642,3 +674,23 @@
|
||||
};
|
||||
|
||||
#include "dm816x-clocks.dtsi"
|
||||
|
||||
/* Preferred always-on timer for clocksource */
|
||||
&timer1_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&timer1_fck>;
|
||||
assigned-clock-parents = <&sys_clkin_ck>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred timer for clockevent */
|
||||
&timer2_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&timer2_fck>;
|
||||
assigned-clock-parents = <&sys_clkin_ck>;
|
||||
};
|
||||
};
|
||||
|
@@ -175,7 +175,6 @@
|
||||
#size-cells = <0>;
|
||||
interrupts = <11>;
|
||||
clock-frequency = <400000>;
|
||||
timeout-ms = <1000>;
|
||||
clocks = <&core_clk 0>;
|
||||
status = "okay";
|
||||
};
|
||||
@@ -248,7 +247,7 @@
|
||||
marvell,#interrupts = <5>;
|
||||
};
|
||||
|
||||
intc: main-interrupt-ctrl@20200 {
|
||||
intc: interrupt-controller@20200 {
|
||||
compatible = "marvell,orion-intc";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
|
@@ -3,6 +3,7 @@
|
||||
* Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
|
||||
*/
|
||||
|
||||
#include "dra74-ipu-dsp-common.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/clock/ti-dra7-atl.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
@@ -35,6 +35,40 @@
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ipu2_memory_region: ipu2-memory@95800000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x95800000 0x0 0x3800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp1_memory_region: dsp1-memory@99000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x99000000 0x0 0x4000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ipu1_memory_region: ipu1-memory@9d000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9d000000 0x0 0x2000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp2_memory_region: dsp2-memory@9f000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9f000000 0x0 0x800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
evm_3v3_sd: fixedregulator-sd {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "evm_3v3_sd";
|
||||
@@ -537,3 +571,23 @@
|
||||
pinctrl-1 = <&dcan1_pins_sleep>;
|
||||
pinctrl-2 = <&dcan1_pins_default>;
|
||||
};
|
||||
|
||||
&ipu2 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu2_memory_region>;
|
||||
};
|
||||
|
||||
&ipu1 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu1_memory_region>;
|
||||
};
|
||||
|
||||
&dsp1 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp1_memory_region>;
|
||||
};
|
||||
|
||||
&dsp2 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp2_memory_region>;
|
||||
};
|
||||
|
39
arch/arm/boot/dts/dra7-ipu-dsp-common.dtsi
Normal file
39
arch/arm/boot/dts/dra7-ipu-dsp-common.dtsi
Normal file
@@ -0,0 +1,39 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Common IPU and DSP data for TI DRA7xx/AM57xx platforms
|
||||
*/
|
||||
|
||||
&mailbox5 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&ipu2 {
|
||||
mboxes = <&mailbox6 &mbox_ipu2_ipc3x>;
|
||||
ti,timers = <&timer3>;
|
||||
ti,watchdog-timers = <&timer4>, <&timer9>;
|
||||
};
|
||||
|
||||
&ipu1 {
|
||||
mboxes = <&mailbox5 &mbox_ipu1_ipc3x>;
|
||||
ti,timers = <&timer11>;
|
||||
ti,watchdog-timers = <&timer7>, <&timer8>;
|
||||
};
|
||||
|
||||
&dsp1 {
|
||||
mboxes = <&mailbox5 &mbox_dsp1_ipc3x>;
|
||||
ti,timers = <&timer5>;
|
||||
ti,watchdog-timers = <&timer10>;
|
||||
};
|
@@ -1143,7 +1143,6 @@
|
||||
|
||||
target-module@32000 { /* 0x48032000, ap 5 3e.0 */
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
ti,hwmods = "timer2";
|
||||
reg = <0x32000 0x4>,
|
||||
<0x32010 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
@@ -1171,7 +1170,6 @@
|
||||
|
||||
target-module@34000 { /* 0x48034000, ap 7 46.0 */
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
ti,hwmods = "timer3";
|
||||
reg = <0x34000 0x4>,
|
||||
<0x34010 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
@@ -1199,7 +1197,6 @@
|
||||
|
||||
target-module@36000 { /* 0x48036000, ap 9 4e.0 */
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
ti,hwmods = "timer4";
|
||||
reg = <0x36000 0x4>,
|
||||
<0x36010 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
@@ -4295,7 +4292,6 @@
|
||||
|
||||
target-module@4000 { /* 0x4ae04000, ap 15 40.0 */
|
||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||
ti,hwmods = "counter_32k";
|
||||
reg = <0x4000 0x4>,
|
||||
<0x4010 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
@@ -4430,9 +4426,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
target-module@8000 { /* 0x4ae18000, ap 9 30.0 */
|
||||
timer1_target: target-module@8000 { /* 0x4ae18000, ap 9 30.0 */
|
||||
compatible = "ti,sysc-omap4-timer", "ti,sysc";
|
||||
ti,hwmods = "timer1";
|
||||
reg = <0x8000 0x4>,
|
||||
<0x8010 0x4>;
|
||||
reg-names = "rev", "sysc";
|
||||
|
@@ -410,6 +410,42 @@
|
||||
ti,hwmods = "dmm";
|
||||
};
|
||||
|
||||
ipu1: ipu@58820000 {
|
||||
compatible = "ti,dra7-ipu";
|
||||
reg = <0x58820000 0x10000>;
|
||||
reg-names = "l2ram";
|
||||
iommus = <&mmu_ipu1>;
|
||||
status = "disabled";
|
||||
resets = <&prm_ipu 0>, <&prm_ipu 1>;
|
||||
clocks = <&ipu1_clkctrl DRA7_IPU1_MMU_IPU1_CLKCTRL 0>;
|
||||
firmware-name = "dra7-ipu1-fw.xem4";
|
||||
};
|
||||
|
||||
ipu2: ipu@55020000 {
|
||||
compatible = "ti,dra7-ipu";
|
||||
reg = <0x55020000 0x10000>;
|
||||
reg-names = "l2ram";
|
||||
iommus = <&mmu_ipu2>;
|
||||
status = "disabled";
|
||||
resets = <&prm_core 0>, <&prm_core 1>;
|
||||
clocks = <&ipu2_clkctrl DRA7_IPU2_MMU_IPU2_CLKCTRL 0>;
|
||||
firmware-name = "dra7-ipu2-fw.xem4";
|
||||
};
|
||||
|
||||
dsp1: dsp@40800000 {
|
||||
compatible = "ti,dra7-dsp";
|
||||
reg = <0x40800000 0x48000>,
|
||||
<0x40e00000 0x8000>,
|
||||
<0x40f00000 0x8000>;
|
||||
reg-names = "l2ram", "l1pram", "l1dram";
|
||||
ti,bootreg = <&scm_conf 0x55c 10>;
|
||||
iommus = <&mmu0_dsp1>, <&mmu1_dsp1>;
|
||||
status = "disabled";
|
||||
resets = <&prm_dsp1 0>;
|
||||
clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>;
|
||||
firmware-name = "dra7-dsp1-fw.xe66";
|
||||
};
|
||||
|
||||
target-module@40d01000 {
|
||||
compatible = "ti,sysc-omap2", "ti,sysc";
|
||||
reg = <0x40d01000 0x4>,
|
||||
@@ -1044,3 +1080,13 @@
|
||||
reg = <0x1c00 0x60>;
|
||||
};
|
||||
};
|
||||
|
||||
/* Preferred always-on timer for clockevent */
|
||||
&timer1_target {
|
||||
ti,no-reset-on-init;
|
||||
ti,no-idle;
|
||||
timer@0 {
|
||||
assigned-clocks = <&wkupaon_clkctrl DRA7_TIMER1_CLKCTRL 24>;
|
||||
assigned-clock-parents = <&sys_32k_ck>;
|
||||
};
|
||||
};
|
||||
|
@@ -17,6 +17,33 @@
|
||||
reg = <0x0 0x80000000 0x0 0x80000000>; /* 2GB */
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ipu2_memory_region: ipu2-memory@95800000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x95800000 0x0 0x3800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp1_memory_region: dsp1-memory@99000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x99000000 0x0 0x4000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ipu1_memory_region: ipu1-memory@9d000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9d000000 0x0 0x2000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
vpo_sd_1v8_3v3: gpio-regulator-TPS74801 {
|
||||
compatible = "regulator-gpio";
|
||||
|
||||
@@ -270,3 +297,18 @@
|
||||
&extcon_usb2 {
|
||||
vbus-gpio = <&pcf_lcd 15 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
|
||||
&ipu2 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu2_memory_region>;
|
||||
};
|
||||
|
||||
&ipu1 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu1_memory_region>;
|
||||
};
|
||||
|
||||
&dsp1 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp1_memory_region>;
|
||||
};
|
||||
|
@@ -5,6 +5,7 @@
|
||||
/dts-v1/;
|
||||
|
||||
#include "dra72x.dtsi"
|
||||
#include "dra7-ipu-dsp-common.dtsi"
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/clock/ti-dra7-atl.h>
|
||||
|
||||
@@ -583,23 +584,6 @@
|
||||
rx-num-evt = <32>;
|
||||
};
|
||||
|
||||
&mailbox5 {
|
||||
status = "okay";
|
||||
mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&mailbox6 {
|
||||
status = "okay";
|
||||
mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&pcie1_rc {
|
||||
status = "okay";
|
||||
};
|
||||
|
@@ -14,6 +14,33 @@
|
||||
reg = <0x0 0x80000000 0x0 0x80000000>; /* 2GB */
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ipu2_cma_pool: ipu2_cma@95800000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x95800000 0x0 0x3800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp1_cma_pool: dsp1_cma@99000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x99000000 0x0 0x4000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ipu1_cma_pool: ipu1_cma@9d000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9d000000 0x0 0x2000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
evm_1v8_sw: fixedregulator-evm_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "evm_1v8";
|
||||
@@ -113,3 +140,18 @@
|
||||
pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev20_conf>;
|
||||
vmmc-supply = <&evm_1v8_sw>;
|
||||
};
|
||||
|
||||
&ipu2 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu2_cma_pool>;
|
||||
};
|
||||
|
||||
&ipu1 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu1_cma_pool>;
|
||||
};
|
||||
|
||||
&dsp1 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp1_cma_pool>;
|
||||
};
|
||||
|
@@ -12,6 +12,33 @@
|
||||
reg = <0x0 0x80000000 0x0 0x40000000>; /* 1024 MB */
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ipu2_memory_region: ipu2-memory@95800000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x95800000 0x0 0x3800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp1_memory_region: dsp1-memory@99000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x99000000 0x0 0x4000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ipu1_memory_region: ipu1-memory@9d000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9d000000 0x0 0x2000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
evm_1v8_sw: fixedregulator-evm_1v8 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "evm_1v8";
|
||||
@@ -78,3 +105,18 @@
|
||||
pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev10_conf>;
|
||||
vmmc-supply = <&evm_1v8_sw>;
|
||||
};
|
||||
|
||||
&ipu2 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu2_memory_region>;
|
||||
};
|
||||
|
||||
&ipu1 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu1_memory_region>;
|
||||
};
|
||||
|
||||
&dsp1 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp1_memory_region>;
|
||||
};
|
||||
|
@@ -10,6 +10,12 @@
|
||||
/ {
|
||||
compatible = "ti,dra722", "ti,dra72", "ti,dra7";
|
||||
|
||||
aliases {
|
||||
rproc0 = &ipu1;
|
||||
rproc1 = &ipu2;
|
||||
rproc2 = &dsp1;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a15-pmu";
|
||||
interrupt-parent = <&wakeupgen>;
|
||||
|
18
arch/arm/boot/dts/dra74-ipu-dsp-common.dtsi
Normal file
18
arch/arm/boot/dts/dra74-ipu-dsp-common.dtsi
Normal file
@@ -0,0 +1,18 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Common IPU and DSP data for TI DRA74x/DRA76x/AM572x/AM574x platforms
|
||||
*/
|
||||
|
||||
#include "dra7-ipu-dsp-common.dtsi"
|
||||
|
||||
&mailbox6 {
|
||||
mbox_dsp2_ipc3x: mbox_dsp2_ipc3x {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&dsp2 {
|
||||
mboxes = <&mailbox6 &mbox_dsp2_ipc3x>;
|
||||
ti,timers = <&timer6>;
|
||||
ti,watchdog-timers = <&timer13>;
|
||||
};
|
@@ -29,6 +29,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
aliases {
|
||||
rproc0 = &ipu1;
|
||||
rproc1 = &ipu2;
|
||||
rproc2 = &dsp1;
|
||||
rproc3 = &dsp2;
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a15-pmu";
|
||||
interrupt-parent = <&wakeupgen>;
|
||||
@@ -124,6 +131,20 @@
|
||||
ti,syscon-mmuconfig = <&dsp2_system 0x1>;
|
||||
};
|
||||
};
|
||||
|
||||
dsp2: dsp@41000000 {
|
||||
compatible = "ti,dra7-dsp";
|
||||
reg = <0x41000000 0x48000>,
|
||||
<0x41600000 0x8000>,
|
||||
<0x41700000 0x8000>;
|
||||
reg-names = "l2ram", "l1pram", "l1dram";
|
||||
ti,bootreg = <&scm_conf 0x560 10>;
|
||||
iommus = <&mmu0_dsp2>, <&mmu1_dsp2>;
|
||||
status = "disabled";
|
||||
resets = <&prm_dsp2 0>;
|
||||
clocks = <&dsp2_clkctrl DRA7_DSP2_MMU0_DSP2_CLKCTRL 0>;
|
||||
firmware-name = "dra7-dsp2-fw.xe66";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@@ -25,6 +25,40 @@
|
||||
reg = <0x0 0x80000000 0x0 0x80000000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
ipu2_cma_pool: ipu2_cma@95800000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x95800000 0x0 0x3800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp1_cma_pool: dsp1_cma@99000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x99000000 0x0 0x4000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
ipu1_cma_pool: ipu1_cma@9d000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9d000000 0x0 0x2000000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
dsp2_cma_pool: dsp2_cma@9f000000 {
|
||||
compatible = "shared-dma-pool";
|
||||
reg = <0x0 0x9f000000 0x0 0x800000>;
|
||||
reusable;
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
vsys_12v0: fixedregulator-vsys12v0 {
|
||||
/* main supply */
|
||||
compatible = "regulator-fixed";
|
||||
@@ -548,3 +582,23 @@
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
|
||||
&ipu2 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu2_cma_pool>;
|
||||
};
|
||||
|
||||
&ipu1 {
|
||||
status = "okay";
|
||||
memory-region = <&ipu1_cma_pool>;
|
||||
};
|
||||
|
||||
&dsp1 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp1_cma_pool>;
|
||||
};
|
||||
|
||||
&dsp2 {
|
||||
status = "okay";
|
||||
memory-region = <&dsp2_cma_pool>;
|
||||
};
|
||||
|
@@ -117,6 +117,8 @@
|
||||
ricoh619: pmic@32 {
|
||||
compatible = "ricoh,rc5t619";
|
||||
reg = <0x32>;
|
||||
interrupt-parent = <&gpio5>;
|
||||
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
|
||||
system-power-controller;
|
||||
|
||||
regulators {
|
||||
|
@@ -57,7 +57,8 @@
|
||||
|
||||
i2c_max77836: i2c-gpio-0 {
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpd0 2 GPIO_ACTIVE_HIGH>, <&gpd0 3 GPIO_ACTIVE_HIGH>;
|
||||
sda-gpios = <&gpd0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpd0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
|
@@ -50,9 +50,15 @@
|
||||
};
|
||||
};
|
||||
|
||||
wlan_pwrseq: mshc1-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
i2c_max77836: i2c-gpio-0 {
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpd0 2 GPIO_ACTIVE_HIGH>, <&gpd0 3 GPIO_ACTIVE_HIGH>;
|
||||
sda-gpios = <&gpd0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpd0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
@@ -605,8 +611,6 @@
|
||||
};
|
||||
|
||||
&mshc_0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
broken-cd;
|
||||
non-removable;
|
||||
cap-mmc-highspeed;
|
||||
@@ -625,10 +629,48 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mshc_1 {
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
non-removable;
|
||||
cap-sd-highspeed;
|
||||
cap-sdio-irq;
|
||||
keep-power-in-suspend;
|
||||
samsung,dw-mshc-ciu-div = <1>;
|
||||
samsung,dw-mshc-sdr-timing = <0 1>;
|
||||
samsung,dw-mshc-ddr-timing = <1 2>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus1 &sd1_bus4>;
|
||||
bus-width = <4>;
|
||||
|
||||
mmc-pwrseq = <&wlan_pwrseq>;
|
||||
|
||||
brcmf: wifi@1 {
|
||||
compatible = "brcm,bcm4334-fmac";
|
||||
reg = <1>;
|
||||
|
||||
interrupt-parent = <&gpx1>;
|
||||
interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&serial_0 {
|
||||
assigned-clocks = <&cmu CLK_SCLK_UART0>;
|
||||
assigned-clock-rates = <100000000>;
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm4330-bt";
|
||||
max-speed = <3000000>;
|
||||
shutdown-gpios = <&gpe0 0 GPIO_ACTIVE_HIGH>;
|
||||
device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
|
||||
host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
|
||||
clocks = <&s2mps14_osc S2MPS11_CLK_BT>;
|
||||
};
|
||||
};
|
||||
|
||||
&serial_1 {
|
||||
|
768
arch/arm/boot/dts/exynos4210-i9100.dts
Normal file
768
arch/arm/boot/dts/exynos4210-i9100.dts
Normal file
@@ -0,0 +1,768 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree
|
||||
*
|
||||
* Copyright (c) 2012 Samsung Electronics Co., Ltd.
|
||||
* http://www.samsung.com
|
||||
* Copyright (c) 2020 Stenkin Evgeniy <stenkinevgeniy@gmail.com>
|
||||
* Copyright (c) 2020 Paul Cercueil <paul@crapouillou.net>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "exynos4210.dtsi"
|
||||
#include "exynos4412-ppmu-common.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/linux-event-codes.h>
|
||||
|
||||
/ {
|
||||
model = "Samsung Galaxy S2 (GT-I9100)";
|
||||
compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4";
|
||||
|
||||
memory@40000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x40000000 0x40000000>;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:115200n8";
|
||||
};
|
||||
|
||||
vemmc_reg: regulator-0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VMEM_VDD_2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
tsp_reg: regulator-1 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "TSP_FIXED_VOLTAGES";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
|
||||
startup-delay-us = <70000>;
|
||||
enable-active-high;
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
cam_af_28v_reg: regulator-2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "8M_AF_2.8V_EN";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
cam_io_en_reg: regulator-3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "CAM_IO_EN";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
cam_io_12v_reg: regulator-4 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "8M_1.2V_EN";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
vt_core_15v_reg: regulator-5 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "VT_CORE_1.5V";
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
vol-down {
|
||||
gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
label = "volume down";
|
||||
debounce-interval = <10>;
|
||||
};
|
||||
|
||||
vol-up {
|
||||
gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
label = "volume up";
|
||||
debounce-interval = <10>;
|
||||
};
|
||||
|
||||
power {
|
||||
gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_POWER>;
|
||||
label = "power";
|
||||
debounce-interval = <10>;
|
||||
wakeup-source;
|
||||
};
|
||||
|
||||
ok {
|
||||
gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_OK>;
|
||||
label = "ok";
|
||||
debounce-interval = <10>;
|
||||
};
|
||||
};
|
||||
|
||||
wlan_pwrseq: sdhci3-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
i2c_max17042_fuel: i2c-gpio {
|
||||
compatible = "i2c-gpio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
sda-gpios = <&gpy4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpy4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <5>;
|
||||
|
||||
battery@36 {
|
||||
compatible = "maxim,max17042";
|
||||
|
||||
interrupt-parent = <&gpx2>;
|
||||
interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
pinctrl-0 = <&max17042_fuel_irq>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
reg = <0x36>;
|
||||
maxim,over-heat-temp = <700>;
|
||||
maxim,over-volt = <4500>;
|
||||
};
|
||||
};
|
||||
|
||||
spi-lcd {
|
||||
compatible = "spi-gpio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
num-chipselects = <1>;
|
||||
cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
|
||||
sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
|
||||
mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
lcd@0 {
|
||||
compatible = "samsung,ld9040";
|
||||
reg = <0>;
|
||||
|
||||
spi-max-frequency = <1200000>;
|
||||
|
||||
vdd3-supply = <&vmipi_reg>;
|
||||
vci-supply = <&vcclcd_reg>;
|
||||
|
||||
reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
|
||||
power-on-delay = <10>;
|
||||
reset-delay = <10>;
|
||||
|
||||
panel-width-mm = <90>;
|
||||
panel-height-mm = <154>;
|
||||
|
||||
display-timings {
|
||||
timing {
|
||||
clock-frequency = <23492370>;
|
||||
hactive = <480>;
|
||||
vactive = <800>;
|
||||
hback-porch = <16>;
|
||||
hfront-porch = <16>;
|
||||
vback-porch = <2>;
|
||||
vfront-porch = <28>;
|
||||
hsync-len = <2>;
|
||||
vsync-len = <1>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
de-active = <0>;
|
||||
pixelclk-active = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
port {
|
||||
lcd_ep: endpoint {
|
||||
remote-endpoint = <&fimd_dpi_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fixed-rate-clocks {
|
||||
xxti {
|
||||
compatible = "samsung,clock-xxti";
|
||||
clock-frequency = <0>;
|
||||
};
|
||||
|
||||
xusbxti {
|
||||
compatible = "samsung,clock-xusbxti";
|
||||
clock-frequency = <24000000>;
|
||||
};
|
||||
};
|
||||
|
||||
thermal-zones {
|
||||
cpu_thermal: cpu-thermal {
|
||||
cooling-maps {
|
||||
map0 {
|
||||
/* Corresponds to 800MHz */
|
||||
cooling-device = <&cpu0 2 2>;
|
||||
};
|
||||
map1 {
|
||||
/* Corresponds to 200MHz */
|
||||
cooling-device = <&cpu0 4 4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&camera {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu0-supply = <&varm_breg>;
|
||||
};
|
||||
|
||||
&ehci {
|
||||
status = "okay";
|
||||
|
||||
phys = <&exynos_usbphy 1>;
|
||||
phy-names = "host";
|
||||
};
|
||||
|
||||
&exynos_usbphy {
|
||||
status = "okay";
|
||||
|
||||
vbus-supply = <&safe1_sreg>;
|
||||
};
|
||||
|
||||
&fimc_0 {
|
||||
status = "okay";
|
||||
|
||||
assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>;
|
||||
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
|
||||
assigned-clock-rates = <0>, <160000000>;
|
||||
};
|
||||
|
||||
&fimc_1 {
|
||||
status = "okay";
|
||||
|
||||
assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>;
|
||||
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
|
||||
assigned-clock-rates = <0>, <160000000>;
|
||||
};
|
||||
|
||||
&fimc_2 {
|
||||
status = "okay";
|
||||
|
||||
assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>;
|
||||
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
|
||||
assigned-clock-rates = <0>, <160000000>;
|
||||
};
|
||||
|
||||
&fimc_3 {
|
||||
status = "okay";
|
||||
|
||||
assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>;
|
||||
assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
|
||||
assigned-clock-rates = <0>, <160000000>;
|
||||
};
|
||||
|
||||
&fimd {
|
||||
status = "okay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
samsung,invert-vden;
|
||||
samsung,invert-vclk;
|
||||
|
||||
pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
|
||||
fimd_dpi_ep: endpoint {
|
||||
remote-endpoint = <&lcd_ep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&gpu {
|
||||
status = "okay";
|
||||
|
||||
mali-supply = <&vg3d_breg>;
|
||||
regulator-microvolt-offset = <50000>;
|
||||
regulator-microsecs-delay = <50>;
|
||||
};
|
||||
|
||||
&hsotg {
|
||||
status = "okay";
|
||||
|
||||
dr_mode = "otg";
|
||||
vusb_d-supply = <&vusb_reg>;
|
||||
vusb_a-supply = <&vusbdac_reg>;
|
||||
};
|
||||
|
||||
&i2c_3 {
|
||||
status = "okay";
|
||||
|
||||
samsung,i2c-sda-delay = <100>;
|
||||
samsung,i2c-slave-addr = <0x10>;
|
||||
samsung,i2c-max-bus-freq = <100000>;
|
||||
|
||||
pinctrl-0 = <&i2c3_bus>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
mxt224-touchscreen@4a {
|
||||
compatible = "atmel,maxtouch";
|
||||
reg = <0x4a>;
|
||||
|
||||
interrupt-parent = <&gpx0>;
|
||||
interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c_5 {
|
||||
status = "okay";
|
||||
|
||||
samsung,i2c-sda-delay = <100>;
|
||||
samsung,i2c-slave-addr = <0x10>;
|
||||
samsung,i2c-max-bus-freq = <100000>;
|
||||
|
||||
pinctrl-0 = <&i2c5_bus>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
max8997_pmic@66 {
|
||||
compatible = "maxim,max8997-pmic";
|
||||
reg = <0x66>;
|
||||
|
||||
interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
|
||||
<&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
max8997,pmic-buck1-uses-gpio-dvs;
|
||||
max8997,pmic-buck2-uses-gpio-dvs;
|
||||
max8997,pmic-buck5-uses-gpio-dvs;
|
||||
|
||||
max8997,pmic-ignore-gpiodvs-side-effect;
|
||||
max8997,pmic-buck125-default-dvs-idx = <0>;
|
||||
|
||||
max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
|
||||
<&gpx0 6 GPIO_ACTIVE_HIGH>,
|
||||
<&gpl0 0 GPIO_ACTIVE_HIGH>;
|
||||
|
||||
max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
|
||||
<1250000>, <1200000>,
|
||||
<1150000>, <1100000>,
|
||||
<1000000>, <950000>;
|
||||
|
||||
max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
|
||||
<950000>, <900000>,
|
||||
<1100000>, <1000000>,
|
||||
<950000>, <900000>;
|
||||
|
||||
max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
|
||||
<1200000>, <1200000>,
|
||||
<1200000>, <1200000>,
|
||||
<1200000>, <1200000>;
|
||||
|
||||
pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
regulators {
|
||||
vadc_reg: LDO1 {
|
||||
regulator-name = "VADC_3.3V_C210";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-always-on;
|
||||
|
||||
};
|
||||
valive_reg: LDO2 {
|
||||
regulator-name = "VALIVE_1.1V_C210";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
|
||||
};
|
||||
|
||||
vusb_reg: LDO3 {
|
||||
regulator-name = "VUSB_1.1V_C210";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
};
|
||||
|
||||
vmipi_reg: LDO4 {
|
||||
regulator-name = "VMIPI_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vhsic_reg: LDO5 {
|
||||
regulator-name = "VHSIC_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vpda_reg: LDO6 {
|
||||
regulator-name = "VCC_1.8V_PDA";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vcam_reg: LDO7 {
|
||||
regulator-name = "CAM_ISP_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
vusbdac_reg: LDO8 {
|
||||
regulator-name = "VUSB+VDAC_3.3V_C210";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vccpda_reg: LDO9 {
|
||||
regulator-name = "VCC_2.8V_PDA";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vtouch_reg: LDO11 {
|
||||
regulator-name = "TOUCH_2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vpll_reg: LDO10 {
|
||||
regulator-name = "VPLL_1.1V";
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vtcam_reg: LDO12 {
|
||||
regulator-name = "VT_CAM_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
vcclcd_reg: LDO13 {
|
||||
regulator-name = "VCC_3.0V_LCD";
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
};
|
||||
|
||||
vmotor_reg: LDO14 {
|
||||
regulator-name = "VCC_2.8V_MOTOR";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
vled_reg: LDO15 {
|
||||
regulator-name = "LED_A_2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
camsensor_reg: LDO16 {
|
||||
regulator-name = "CAM_SENSOR_IO_1.8V";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
};
|
||||
|
||||
vtf_reg: LDO17 {
|
||||
regulator-name = "VTF_2.8V";
|
||||
regulator-min-microvolt = <2800000>;
|
||||
regulator-max-microvolt = <2800000>;
|
||||
};
|
||||
|
||||
vtouchled_reg: LDO18 {
|
||||
regulator-name = "TOUCH_LED_3.3V";
|
||||
regulator-min-microvolt = <2500000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
vddq_reg: LDO21 {
|
||||
regulator-name = "VDDQ_M1M2_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
varm_breg: BUCK1 {
|
||||
regulator-name = "VARM_1.2V_C210";
|
||||
regulator-min-microvolt = <65000>;
|
||||
regulator-max-microvolt = <2225000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vint_breg: BUCK2 {
|
||||
regulator-name = "VINT_1.1V_C210";
|
||||
regulator-min-microvolt = <65000>;
|
||||
regulator-max-microvolt = <2225000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vg3d_breg: BUCK3 {
|
||||
regulator-name = "G3D_1.1V";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
camisp_breg: BUCK4 {
|
||||
regulator-name = "CAM_ISP_CORE_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
};
|
||||
|
||||
vmem_breg: BUCK5 {
|
||||
regulator-name = "VMEM_1.2V";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
vccsub_breg: BUCK7 {
|
||||
regulator-name = "VCC_SUB_2.0V";
|
||||
regulator-min-microvolt = <2000000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
safe1_sreg: ESAFEOUT1 {
|
||||
regulator-name = "SAFEOUT1";
|
||||
};
|
||||
|
||||
safe2_sreg: ESAFEOUT2 {
|
||||
regulator-name = "SAFEOUT2";
|
||||
regulator-boot-on;
|
||||
};
|
||||
|
||||
charger_reg: CHARGER {
|
||||
regulator-name = "CHARGER";
|
||||
regulator-min-microamp = <60000>;
|
||||
regulator-max-microamp = <2580000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
|
||||
chargercv_reg: CHARGER_CV {
|
||||
regulator-name = "CHARGER_CV";
|
||||
regulator-min-microvolt = <3800000>;
|
||||
regulator-max-microvolt = <4100000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c_7 {
|
||||
status = "okay";
|
||||
|
||||
samsung,i2c-sda-delay = <100>;
|
||||
samsung,i2c-slave-addr = <0x10>;
|
||||
samsung,i2c-max-bus-freq = <400000>;
|
||||
|
||||
pinctrl-0 = <&i2c7_bus>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
ak8975@c {
|
||||
compatible = "asahi-kasei,ak8975";
|
||||
reg = <0x0c>;
|
||||
|
||||
gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl_0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sleep0>;
|
||||
|
||||
sleep0: sleep-states {
|
||||
gpa0-0 {
|
||||
samsung,pins = "gpa0-0";
|
||||
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
|
||||
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
gpa0-1 {
|
||||
samsung,pins = "gpa0-1";
|
||||
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
|
||||
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
gpa0-2 {
|
||||
samsung,pins = "gpa0-2";
|
||||
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
|
||||
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
gpa0-3 {
|
||||
samsung,pins = "gpa0-3";
|
||||
samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
|
||||
samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl_1 {
|
||||
mhl_int: mhl-int {
|
||||
samsung,pins = "gpf3-5";
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
i2c_mhl_bus: i2c-mhl-bus {
|
||||
samsung,pins = "gpf0-4", "gpf0-6";
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
|
||||
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
|
||||
};
|
||||
|
||||
usb_sel: usb-sel {
|
||||
samsung,pins = "gpl0-6";
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
|
||||
samsung,pin-val = <0>;
|
||||
};
|
||||
|
||||
bt_en: bt-en {
|
||||
samsung,pins = "gpl0-4";
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
|
||||
samsung,pin-val = <0>;
|
||||
};
|
||||
|
||||
bt_res: bt-res {
|
||||
samsung,pins = "gpl1-0";
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
|
||||
samsung,pin-val = <0>;
|
||||
};
|
||||
|
||||
otg_gp: otg-gp {
|
||||
samsung,pins = "gpx3-3";
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
|
||||
samsung,pin-val = <0>;
|
||||
};
|
||||
|
||||
mag_mhl_gpio: mag-mhl-gpio {
|
||||
samsung,pins = "gpd0-2";
|
||||
samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
max8997_irq: max8997-irq {
|
||||
samsung,pins = "gpx0-7";
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
max17042_fuel_irq: max17042-fuel-irq {
|
||||
samsung,pins = "gpx2-3";
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
|
||||
};
|
||||
|
||||
tsp224_irq: tsp224-irq {
|
||||
samsung,pins = "gpx0-4";
|
||||
samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdhci_0 {
|
||||
status = "okay";
|
||||
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
vmmc-supply = <&vemmc_reg>;
|
||||
|
||||
pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&sdhci_2 {
|
||||
status = "okay";
|
||||
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
|
||||
vmmc-supply = <&vtf_reg>;
|
||||
|
||||
pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&sdhci_3 {
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
non-removable;
|
||||
bus-width = <4>;
|
||||
mmc-pwrseq = <&wlan_pwrseq>;
|
||||
vmmc-supply = <&vtf_reg>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
|
||||
|
||||
brcmf: wifi@1 {
|
||||
compatible = "brcm,bcm4330-fmac";
|
||||
reg = <1>;
|
||||
|
||||
interrupt-parent = <&gpx2>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&serial_0 {
|
||||
status = "okay";
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm4330-bt";
|
||||
|
||||
shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpl1 0 GPIO_ACTIVE_HIGH>;
|
||||
device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
|
||||
host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
|
||||
};
|
||||
};
|
||||
|
||||
&serial_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&serial_2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&serial_3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&tmu {
|
||||
status = "okay";
|
||||
};
|
@@ -251,12 +251,7 @@
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
/*
|
||||
* HACK: The real name is VDD_ARM_1.2V,
|
||||
* but exynos-cpufreq does not support
|
||||
* DT-based regulator lookup yet.
|
||||
*/
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-name = "VDD_ARM_1.2V";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
|
@@ -121,6 +121,11 @@
|
||||
};
|
||||
};
|
||||
|
||||
wlan_pwrseq: sdhci3-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
fixed-rate-clocks {
|
||||
xxti {
|
||||
compatible = "samsung,clock-xxti";
|
||||
@@ -280,11 +285,10 @@
|
||||
|
||||
max8997_pmic@66 {
|
||||
compatible = "maxim,max8997-pmic";
|
||||
interrupts-extended = <&gpx0 7 0>, <&gpx2 3 0>;
|
||||
|
||||
reg = <0x66>;
|
||||
interrupt-parent = <&gpx0>;
|
||||
interrupts = <7 IRQ_TYPE_NONE>;
|
||||
interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>,
|
||||
<&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
||||
max8997,pmic-buck1-uses-gpio-dvs;
|
||||
max8997,pmic-buck2-uses-gpio-dvs;
|
||||
@@ -403,12 +407,7 @@
|
||||
};
|
||||
|
||||
varm_breg: BUCK1 {
|
||||
/*
|
||||
* HACK: The real name is VARM_1.2V_C210,
|
||||
* but exynos-cpufreq does not support
|
||||
* DT-based regulator lookup yet.
|
||||
*/
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-name = "VARM_1.2V_C210";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
@@ -471,6 +470,30 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci_3 {
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
non-removable;
|
||||
bus-width = <4>;
|
||||
mmc-pwrseq = <&wlan_pwrseq>;
|
||||
vmmc-supply = <&tflash_reg>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
|
||||
|
||||
brcmf: wifi@1 {
|
||||
compatible = "brcm,bcm4330-fmac";
|
||||
reg = <1>;
|
||||
|
||||
interrupt-parent = <&gpx2>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&serial_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@@ -50,6 +50,11 @@
|
||||
enable-active-high;
|
||||
};
|
||||
|
||||
wlan_pwrseq: sdhci3-pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&gpe3 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
|
||||
@@ -164,7 +169,8 @@
|
||||
|
||||
hdmi_ddc: i2c-ddc {
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpe4 2 GPIO_ACTIVE_HIGH &gpe4 3 GPIO_ACTIVE_HIGH>;
|
||||
sda-gpios = <&gpe4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpe4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <100>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -317,7 +323,7 @@
|
||||
max8952,sync-freq = <0>;
|
||||
max8952,ramp-speed = <0>;
|
||||
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-name = "VARM_1.2V_C210";
|
||||
regulator-min-microvolt = <770000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-always-on;
|
||||
@@ -563,6 +569,29 @@
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci_3 {
|
||||
status = "okay";
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
non-removable;
|
||||
bus-width = <4>;
|
||||
mmc-pwrseq = <&wlan_pwrseq>;
|
||||
vmmc-supply = <&ldo5_reg>;
|
||||
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
|
||||
|
||||
brcmf: wifi@1 {
|
||||
compatible = "brcm,bcm4330-fmac";
|
||||
reg = <1>;
|
||||
interrupt-parent = <&gpx2>;
|
||||
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
&serial_0 {
|
||||
status = "okay";
|
||||
/delete-property/dmas;
|
||||
|
@@ -53,7 +53,8 @@
|
||||
|
||||
i2c_ak8975: i2c-gpio-0 {
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpy2 4 GPIO_ACTIVE_HIGH>, <&gpy2 5 GPIO_ACTIVE_HIGH>;
|
||||
sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -68,7 +69,8 @@
|
||||
|
||||
i2c_cm36651: i2c-gpio-2 {
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpf0 0 GPIO_ACTIVE_LOW>, <&gpf0 1 GPIO_ACTIVE_LOW>;
|
||||
sda-gpios = <&gpf0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpf0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@@ -140,7 +140,8 @@
|
||||
|
||||
i2c_max77693: i2c-gpio-1 {
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
|
||||
sda-gpios = <&gpm2 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpm2 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -188,7 +189,8 @@
|
||||
|
||||
i2c_max77693_fuel: i2c-gpio-3 {
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>, <&gpf1 4 GPIO_ACTIVE_HIGH>;
|
||||
sda-gpios = <&gpf1 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpf1 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -228,7 +230,8 @@
|
||||
|
||||
i2c-mhl {
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpf0 4 GPIO_ACTIVE_HIGH>, <&gpf0 6 GPIO_ACTIVE_HIGH>;
|
||||
sda-gpios = <&gpf0 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpf0 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <100>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
@@ -820,7 +823,7 @@
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-name = "vdd_mif";
|
||||
regulator-name = "VDD_MIF";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
@@ -831,7 +834,7 @@
|
||||
};
|
||||
|
||||
buck2_reg: BUCK2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-name = "VDD_ARM";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
@@ -842,7 +845,7 @@
|
||||
};
|
||||
|
||||
buck3_reg: BUCK3 {
|
||||
regulator-name = "vdd_int";
|
||||
regulator-name = "VDD_INT";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-always-on;
|
||||
@@ -853,7 +856,7 @@
|
||||
};
|
||||
|
||||
buck4_reg: BUCK4 {
|
||||
regulator-name = "vdd_g3d";
|
||||
regulator-name = "VDD_G3D";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1150000>;
|
||||
regulator-boot-on;
|
||||
|
@@ -430,7 +430,7 @@
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-name = "vdd_mif";
|
||||
regulator-name = "VDD_MIF";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
@@ -438,7 +438,7 @@
|
||||
};
|
||||
|
||||
buck2_reg: BUCK2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-name = "VDD_ARM";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
@@ -446,7 +446,7 @@
|
||||
};
|
||||
|
||||
buck3_reg: BUCK3 {
|
||||
regulator-name = "vdd_int";
|
||||
regulator-name = "VDD_INT";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-always-on;
|
||||
@@ -454,7 +454,7 @@
|
||||
};
|
||||
|
||||
buck4_reg: BUCK4 {
|
||||
regulator-name = "vdd_g3d";
|
||||
regulator-name = "VDD_G3D";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-microvolt-offset = <50000>;
|
||||
|
@@ -363,7 +363,7 @@
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-name = "vdd_mif";
|
||||
regulator-name = "VDD_MIF";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-always-on;
|
||||
@@ -372,7 +372,7 @@
|
||||
};
|
||||
|
||||
buck2_reg: BUCK2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-name = "VDD_ARM";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1350000>;
|
||||
regulator-always-on;
|
||||
@@ -381,7 +381,7 @@
|
||||
};
|
||||
|
||||
buck3_reg: BUCK3 {
|
||||
regulator-name = "vdd_int";
|
||||
regulator-name = "VDD_INT";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
@@ -390,7 +390,7 @@
|
||||
};
|
||||
|
||||
buck4_reg: BUCK4 {
|
||||
regulator-name = "vdd_g3d";
|
||||
regulator-name = "VDD_G3D";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
@@ -399,7 +399,7 @@
|
||||
};
|
||||
|
||||
buck5_reg: BUCK5 {
|
||||
regulator-name = "vdd_m12";
|
||||
regulator-name = "VDD_M12";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
@@ -408,7 +408,7 @@
|
||||
};
|
||||
|
||||
buck6_reg: BUCK6 {
|
||||
regulator-name = "vdd12_5m";
|
||||
regulator-name = "VDD12_5M";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
@@ -417,7 +417,7 @@
|
||||
};
|
||||
|
||||
buck9_reg: BUCK9 {
|
||||
regulator-name = "vddf28_emmc";
|
||||
regulator-name = "VDDF28_EMMC";
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
regulator-always-on;
|
||||
|
@@ -454,7 +454,7 @@
|
||||
};
|
||||
|
||||
buck1_reg: BUCK1 {
|
||||
regulator-name = "vdd_mif";
|
||||
regulator-name = "VDD_MIF";
|
||||
regulator-min-microvolt = <950000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
@@ -463,7 +463,7 @@
|
||||
};
|
||||
|
||||
buck2_reg: BUCK2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-name = "VDD_ARM";
|
||||
regulator-min-microvolt = <912500>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-always-on;
|
||||
@@ -472,7 +472,7 @@
|
||||
};
|
||||
|
||||
buck3_reg: BUCK3 {
|
||||
regulator-name = "vdd_int";
|
||||
regulator-name = "VDD_INT";
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-always-on;
|
||||
@@ -481,7 +481,7 @@
|
||||
};
|
||||
|
||||
buck4_reg: BUCK4 {
|
||||
regulator-name = "vdd_g3d";
|
||||
regulator-name = "VDD_G3D";
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <1300000>;
|
||||
regulator-always-on;
|
||||
@@ -641,9 +641,8 @@
|
||||
pinctrl-0 = <&i2c2_gpio_bus>;
|
||||
status = "okay";
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpa0 6 0 /* sda */
|
||||
&gpa0 7 0 /* scl */
|
||||
>;
|
||||
sda-gpios = <&gpa0 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
scl-gpios = <&gpa0 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
|
||||
i2c-gpio,delay-us = <2>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@@ -673,7 +673,7 @@
|
||||
};
|
||||
|
||||
buck2_reg: BUCK2 {
|
||||
regulator-name = "vdd_arm";
|
||||
regulator-name = "PVDD_ARM_1V0";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-always-on;
|
||||
|
@@ -288,11 +288,6 @@
|
||||
reg = <0x53fa8000 0x4000>;
|
||||
};
|
||||
|
||||
gpr: iomuxc-gpr@53fa8000 {
|
||||
compatible = "fsl,imx50-iomuxc-gpr", "syscon";
|
||||
reg = <0x53fa8000 0xc>;
|
||||
};
|
||||
|
||||
pwm1: pwm@53fb4000 {
|
||||
#pwm-cells = <2>;
|
||||
compatible = "fsl,imx50-pwm", "fsl,imx27-pwm";
|
||||
@@ -333,9 +328,10 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
src: src@53fd0000 {
|
||||
src: reset-controller@53fd0000 {
|
||||
compatible = "fsl,imx50-src", "fsl,imx51-src";
|
||||
reg = <0x53fd0000 0x4000>;
|
||||
interrupts = <75>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
|
@@ -439,9 +439,10 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
src: src@73fd0000 {
|
||||
src: reset-controller@73fd0000 {
|
||||
compatible = "fsl,imx51-src";
|
||||
reg = <0x73fd0000 0x4000>;
|
||||
interrupts = <75>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
|
@@ -59,23 +59,26 @@
|
||||
};
|
||||
|
||||
dvi-converter {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "ti,tfp410";
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tfp410_in: endpoint {
|
||||
remote-endpoint = <&display0_out>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
tfp410_in: endpoint {
|
||||
remote-endpoint = <&display0_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
tfp410_out: endpoint {
|
||||
remote-endpoint = <&dvi_connector_in>;
|
||||
tfp410_out: endpoint {
|
||||
remote-endpoint = <&dvi_connector_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@@ -588,9 +588,10 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
src: src@53fd0000 {
|
||||
src: reset-controller@53fd0000 {
|
||||
compatible = "fsl,imx53-src", "fsl,imx51-src";
|
||||
reg = <0x53fd0000 0x4000>;
|
||||
interrupts = <75>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
|
||||
|
31
arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts
Normal file
31
arch/arm/boot/dts/imx6dl-colibri-v1_1-eval-v3.dts
Normal file
@@ -0,0 +1,31 @@
|
||||
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
||||
/*
|
||||
* Copyright 2020 Toradex
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include "imx6dl-colibri-eval-v3.dts"
|
||||
#include "imx6qdl-colibri-v1_1-uhs.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Toradex Colibri iMX6DL/S V1.1 on Colibri Evaluation Board V3";
|
||||
compatible = "toradex,colibri_imx6dl-v1_1-eval-v3",
|
||||
"toradex,colibri_imx6dl-v1_1",
|
||||
"toradex,colibri_imx6dl-eval-v3",
|
||||
"toradex,colibri_imx6dl",
|
||||
"fsl,imx6dl";
|
||||
};
|
||||
|
||||
/* Colibri MMC */
|
||||
&usdhc1 {
|
||||
status = "okay";
|
||||
/*
|
||||
* Please make sure your carrier board does not pull-up any of
|
||||
* the MMC/SD signals to 3.3 volt before attempting to activate
|
||||
* UHS-I support.
|
||||
* To let signaling voltage be changed to 1.8V, please
|
||||
* delete no-1-8-v property (example below):
|
||||
* /delete-property/no-1-8-v;
|
||||
*/
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user