diff options
Diffstat (limited to 'arch/arm/boot')
177 files changed, 13267 insertions, 1614 deletions
diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index f2aa09eb658e..abfce280f57b 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile | |||
@@ -15,8 +15,6 @@ ifneq ($(MACHINE),) | |||
15 | include $(srctree)/$(MACHINE)/Makefile.boot | 15 | include $(srctree)/$(MACHINE)/Makefile.boot |
16 | endif | 16 | endif |
17 | 17 | ||
18 | include $(srctree)/arch/arm/boot/dts/Makefile | ||
19 | |||
20 | # Note: the following conditions must always be true: | 18 | # Note: the following conditions must always be true: |
21 | # ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) | 19 | # ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) |
22 | # PARAMS_PHYS must be within 4MB of ZRELADDR | 20 | # PARAMS_PHYS must be within 4MB of ZRELADDR |
@@ -33,7 +31,7 @@ ifeq ($(CONFIG_XIP_KERNEL),y) | |||
33 | 31 | ||
34 | $(obj)/xipImage: vmlinux FORCE | 32 | $(obj)/xipImage: vmlinux FORCE |
35 | $(call if_changed,objcopy) | 33 | $(call if_changed,objcopy) |
36 | $(kecho) ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))' | 34 | @$(kecho) ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))' |
37 | 35 | ||
38 | $(obj)/Image $(obj)/zImage: FORCE | 36 | $(obj)/Image $(obj)/zImage: FORCE |
39 | @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)' | 37 | @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)' |
@@ -48,27 +46,17 @@ $(obj)/xipImage: FORCE | |||
48 | 46 | ||
49 | $(obj)/Image: vmlinux FORCE | 47 | $(obj)/Image: vmlinux FORCE |
50 | $(call if_changed,objcopy) | 48 | $(call if_changed,objcopy) |
51 | $(kecho) ' Kernel: $@ is ready' | 49 | @$(kecho) ' Kernel: $@ is ready' |
52 | 50 | ||
53 | $(obj)/compressed/vmlinux: $(obj)/Image FORCE | 51 | $(obj)/compressed/vmlinux: $(obj)/Image FORCE |
54 | $(Q)$(MAKE) $(build)=$(obj)/compressed $@ | 52 | $(Q)$(MAKE) $(build)=$(obj)/compressed $@ |
55 | 53 | ||
56 | $(obj)/zImage: $(obj)/compressed/vmlinux FORCE | 54 | $(obj)/zImage: $(obj)/compressed/vmlinux FORCE |
57 | $(call if_changed,objcopy) | 55 | $(call if_changed,objcopy) |
58 | $(kecho) ' Kernel: $@ is ready' | 56 | @$(kecho) ' Kernel: $@ is ready' |
59 | 57 | ||
60 | endif | 58 | endif |
61 | 59 | ||
62 | targets += $(dtb-y) | ||
63 | |||
64 | # Rule to build device tree blobs | ||
65 | $(obj)/%.dtb: $(src)/dts/%.dts FORCE | ||
66 | $(call if_changed_dep,dtc) | ||
67 | |||
68 | $(obj)/dtbs: $(addprefix $(obj)/, $(dtb-y)) | ||
69 | |||
70 | clean-files := *.dtb | ||
71 | |||
72 | ifneq ($(LOADADDR),) | 60 | ifneq ($(LOADADDR),) |
73 | UIMAGE_LOADADDR=$(LOADADDR) | 61 | UIMAGE_LOADADDR=$(LOADADDR) |
74 | else | 62 | else |
@@ -90,7 +78,7 @@ fi | |||
90 | $(obj)/uImage: $(obj)/zImage FORCE | 78 | $(obj)/uImage: $(obj)/zImage FORCE |
91 | @$(check_for_multiple_loadaddr) | 79 | @$(check_for_multiple_loadaddr) |
92 | $(call if_changed,uimage) | 80 | $(call if_changed,uimage) |
93 | $(kecho) ' Image $@ is ready' | 81 | @$(kecho) ' Image $@ is ready' |
94 | 82 | ||
95 | $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE | 83 | $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE |
96 | $(Q)$(MAKE) $(build)=$(obj)/bootp $@ | 84 | $(Q)$(MAKE) $(build)=$(obj)/bootp $@ |
@@ -98,7 +86,7 @@ $(obj)/bootp/bootp: $(obj)/zImage initrd FORCE | |||
98 | 86 | ||
99 | $(obj)/bootpImage: $(obj)/bootp/bootp FORCE | 87 | $(obj)/bootpImage: $(obj)/bootp/bootp FORCE |
100 | $(call if_changed,objcopy) | 88 | $(call if_changed,objcopy) |
101 | $(kecho) ' Kernel: $@ is ready' | 89 | @$(kecho) ' Kernel: $@ is ready' |
102 | 90 | ||
103 | PHONY += initrd FORCE | 91 | PHONY += initrd FORCE |
104 | initrd: | 92 | initrd: |
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index a517153a13ea..5cad8a6dadb0 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile | |||
@@ -45,19 +45,10 @@ ifeq ($(CONFIG_ARCH_SHARK),y) | |||
45 | OBJS += head-shark.o ofw-shark.o | 45 | OBJS += head-shark.o ofw-shark.o |
46 | endif | 46 | endif |
47 | 47 | ||
48 | ifeq ($(CONFIG_ARCH_P720T),y) | ||
49 | # Borrow this code from SA1100 | ||
50 | OBJS += head-sa1100.o | ||
51 | endif | ||
52 | |||
53 | ifeq ($(CONFIG_ARCH_SA1100),y) | 48 | ifeq ($(CONFIG_ARCH_SA1100),y) |
54 | OBJS += head-sa1100.o | 49 | OBJS += head-sa1100.o |
55 | endif | 50 | endif |
56 | 51 | ||
57 | ifeq ($(CONFIG_ARCH_VT8500),y) | ||
58 | OBJS += head-vt8500.o | ||
59 | endif | ||
60 | |||
61 | ifeq ($(CONFIG_CPU_XSCALE),y) | 52 | ifeq ($(CONFIG_CPU_XSCALE),y) |
62 | OBJS += head-xscale.o | 53 | OBJS += head-xscale.o |
63 | endif | 54 | endif |
diff --git a/arch/arm/boot/compressed/head-vt8500.S b/arch/arm/boot/compressed/head-vt8500.S deleted file mode 100644 index 1dc1e21a3be3..000000000000 --- a/arch/arm/boot/compressed/head-vt8500.S +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | /* | ||
2 | * linux/arch/arm/boot/compressed/head-vt8500.S | ||
3 | * | ||
4 | * Copyright (C) 2010 Alexey Charkov <alchark@gmail.com> | ||
5 | * | ||
6 | * VIA VT8500 specific tweaks. This is merged into head.S by the linker. | ||
7 | * | ||
8 | */ | ||
9 | |||
10 | #include <linux/linkage.h> | ||
11 | #include <asm/mach-types.h> | ||
12 | |||
13 | .section ".start", "ax" | ||
14 | |||
15 | __VT8500_start: | ||
16 | @ Compare the SCC ID register against a list of known values | ||
17 | ldr r1, .SCCID | ||
18 | ldr r3, [r1] | ||
19 | |||
20 | @ VT8500 override | ||
21 | ldr r4, .VT8500SCC | ||
22 | cmp r3, r4 | ||
23 | ldreq r7, .ID_BV07 | ||
24 | beq .Lendvt8500 | ||
25 | |||
26 | @ WM8505 override | ||
27 | ldr r4, .WM8505SCC | ||
28 | cmp r3, r4 | ||
29 | ldreq r7, .ID_8505 | ||
30 | beq .Lendvt8500 | ||
31 | |||
32 | @ Otherwise, leave the bootloader's machine id untouched | ||
33 | |||
34 | .SCCID: | ||
35 | .word 0xd8120000 | ||
36 | .VT8500SCC: | ||
37 | .word 0x34000102 | ||
38 | .WM8505SCC: | ||
39 | .word 0x34260103 | ||
40 | |||
41 | .ID_BV07: | ||
42 | .word MACH_TYPE_BV07 | ||
43 | .ID_8505: | ||
44 | .word MACH_TYPE_WM8505_7IN_NETBOOK | ||
45 | |||
46 | .Lendvt8500: | ||
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 90275f036cd1..49ca86e37b8d 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S | |||
@@ -652,6 +652,15 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size | |||
652 | mov pc, lr | 652 | mov pc, lr |
653 | ENDPROC(__setup_mmu) | 653 | ENDPROC(__setup_mmu) |
654 | 654 | ||
655 | @ Enable unaligned access on v6, to allow better code generation | ||
656 | @ for the decompressor C code: | ||
657 | __armv6_mmu_cache_on: | ||
658 | mrc p15, 0, r0, c1, c0, 0 @ read SCTLR | ||
659 | bic r0, r0, #2 @ A (no unaligned access fault) | ||
660 | orr r0, r0, #1 << 22 @ U (v6 unaligned access model) | ||
661 | mcr p15, 0, r0, c1, c0, 0 @ write SCTLR | ||
662 | b __armv4_mmu_cache_on | ||
663 | |||
655 | __arm926ejs_mmu_cache_on: | 664 | __arm926ejs_mmu_cache_on: |
656 | #ifdef CONFIG_CPU_DCACHE_WRITETHROUGH | 665 | #ifdef CONFIG_CPU_DCACHE_WRITETHROUGH |
657 | mov r0, #4 @ put dcache in WT mode | 666 | mov r0, #4 @ put dcache in WT mode |
@@ -694,6 +703,9 @@ __armv7_mmu_cache_on: | |||
694 | bic r0, r0, #1 << 28 @ clear SCTLR.TRE | 703 | bic r0, r0, #1 << 28 @ clear SCTLR.TRE |
695 | orr r0, r0, #0x5000 @ I-cache enable, RR cache replacement | 704 | orr r0, r0, #0x5000 @ I-cache enable, RR cache replacement |
696 | orr r0, r0, #0x003c @ write buffer | 705 | orr r0, r0, #0x003c @ write buffer |
706 | bic r0, r0, #2 @ A (no unaligned access fault) | ||
707 | orr r0, r0, #1 << 22 @ U (v6 unaligned access model) | ||
708 | @ (needed for ARM1176) | ||
697 | #ifdef CONFIG_MMU | 709 | #ifdef CONFIG_MMU |
698 | #ifdef CONFIG_CPU_ENDIAN_BE8 | 710 | #ifdef CONFIG_CPU_ENDIAN_BE8 |
699 | orr r0, r0, #1 << 25 @ big-endian page tables | 711 | orr r0, r0, #1 << 25 @ big-endian page tables |
@@ -914,7 +926,7 @@ proc_types: | |||
914 | 926 | ||
915 | .word 0x0007b000 @ ARMv6 | 927 | .word 0x0007b000 @ ARMv6 |
916 | .word 0x000ff000 | 928 | .word 0x000ff000 |
917 | W(b) __armv4_mmu_cache_on | 929 | W(b) __armv6_mmu_cache_on |
918 | W(b) __armv4_mmu_cache_off | 930 | W(b) __armv4_mmu_cache_off |
919 | W(b) __armv6_mmu_cache_flush | 931 | W(b) __armv6_mmu_cache_flush |
920 | 932 | ||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index f37cf9fa5fa0..2af359cfe985 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -1,30 +1,54 @@ | |||
1 | ifeq ($(CONFIG_OF),y) | 1 | ifeq ($(CONFIG_OF),y) |
2 | 2 | ||
3 | dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb \ | 3 | # Keep at91 dtb files sorted alphabetically for each SoC |
4 | at91sam9263ek.dtb \ | 4 | # rm9200 |
5 | at91sam9g20ek_2mmc.dtb \ | 5 | dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb |
6 | at91sam9g20ek.dtb \ | 6 | # sam9260 |
7 | at91sam9g25ek.dtb \ | 7 | dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb |
8 | at91sam9m10g45ek.dtb \ | 8 | dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb |
9 | at91sam9n12ek.dtb \ | 9 | dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb |
10 | ethernut5.dtb \ | 10 | dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb |
11 | evk-pro3.dtb \ | 11 | dtb-$(CONFIG_ARCH_AT91) += tny_a9260.dtb |
12 | kizbox.dtb \ | 12 | dtb-$(CONFIG_ARCH_AT91) += usb_a9260.dtb |
13 | tny_a9260.dtb \ | 13 | # sam9263 |
14 | tny_a9263.dtb \ | 14 | dtb-$(CONFIG_ARCH_AT91) += at91sam9263ek.dtb |
15 | tny_a9g20.dtb \ | 15 | dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb |
16 | usb_a9260.dtb \ | 16 | dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb |
17 | usb_a9263.dtb \ | 17 | # sam9g20 |
18 | usb_a9g20.dtb | 18 | dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek.dtb |
19 | dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek_2mmc.dtb | ||
20 | dtb-$(CONFIG_ARCH_AT91) += kizbox.dtb | ||
21 | dtb-$(CONFIG_ARCH_AT91) += tny_a9g20.dtb | ||
22 | dtb-$(CONFIG_ARCH_AT91) += usb_a9g20.dtb | ||
23 | # sam9g45 | ||
24 | dtb-$(CONFIG_ARCH_AT91) += at91sam9m10g45ek.dtb | ||
25 | dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb | ||
26 | # sam9n12 | ||
27 | dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb | ||
28 | # sam9x5 | ||
29 | dtb-$(CONFIG_ARCH_AT91) += at91sam9g15ek.dtb | ||
30 | dtb-$(CONFIG_ARCH_AT91) += at91sam9g25ek.dtb | ||
31 | dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb | ||
32 | dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb | ||
33 | dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb | ||
34 | |||
19 | dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb | 35 | dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb |
36 | dtb-$(CONFIG_ARCH_BCM) += bcm11351-brt.dtb | ||
37 | dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \ | ||
38 | da850-evm.dtb | ||
20 | dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \ | 39 | dtb-$(CONFIG_ARCH_DOVE) += dove-cm-a510.dtb \ |
21 | dove-cubox.dtb \ | 40 | dove-cubox.dtb \ |
22 | dove-dove-db.dtb | 41 | dove-dove-db.dtb |
23 | dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ | 42 | dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ |
24 | exynos4210-smdkv310.dtb \ | 43 | exynos4210-smdkv310.dtb \ |
25 | exynos4210-trats.dtb \ | 44 | exynos4210-trats.dtb \ |
26 | exynos5250-smdk5250.dtb | 45 | exynos5250-smdk5250.dtb \ |
27 | dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb | 46 | exynos5440-ssdk5440.dtb \ |
47 | exynos4412-smdk4412.dtb \ | ||
48 | exynos5250-smdk5250.dtb \ | ||
49 | exynos5250-snow.dtb | ||
50 | dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb \ | ||
51 | ecx-2000.dtb | ||
28 | dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \ | 52 | dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \ |
29 | integratorcp.dtb | 53 | integratorcp.dtb |
30 | dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb | 54 | dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb |
@@ -36,11 +60,20 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \ | |||
36 | kirkwood-ib62x0.dtb \ | 60 | kirkwood-ib62x0.dtb \ |
37 | kirkwood-iconnect.dtb \ | 61 | kirkwood-iconnect.dtb \ |
38 | kirkwood-iomega_ix2_200.dtb \ | 62 | kirkwood-iomega_ix2_200.dtb \ |
63 | kirkwood-is2.dtb \ | ||
39 | kirkwood-km_kirkwood.dtb \ | 64 | kirkwood-km_kirkwood.dtb \ |
40 | kirkwood-lschlv2.dtb \ | 65 | kirkwood-lschlv2.dtb \ |
41 | kirkwood-lsxhl.dtb \ | 66 | kirkwood-lsxhl.dtb \ |
67 | kirkwood-mplcec4.dtb \ | ||
68 | kirkwood-ns2.dtb \ | ||
69 | kirkwood-ns2lite.dtb \ | ||
70 | kirkwood-ns2max.dtb \ | ||
71 | kirkwood-ns2mini.dtb \ | ||
72 | kirkwood-nsa310.dtb \ | ||
73 | kirkwood-topkick.dtb \ | ||
42 | kirkwood-ts219-6281.dtb \ | 74 | kirkwood-ts219-6281.dtb \ |
43 | kirkwood-ts219-6282.dtb | 75 | kirkwood-ts219-6282.dtb \ |
76 | kirkwood-openblocks_a6.dtb | ||
44 | dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \ | 77 | dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \ |
45 | msm8960-cdp.dtb | 78 | msm8960-cdp.dtb |
46 | dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ | 79 | dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ |
@@ -51,39 +84,52 @@ dtb-$(CONFIG_ARCH_MXC) += imx51-babbage.dtb \ | |||
51 | imx53-qsb.dtb \ | 84 | imx53-qsb.dtb \ |
52 | imx53-smd.dtb \ | 85 | imx53-smd.dtb \ |
53 | imx6q-arm2.dtb \ | 86 | imx6q-arm2.dtb \ |
87 | imx6q-sabreauto.dtb \ | ||
54 | imx6q-sabrelite.dtb \ | 88 | imx6q-sabrelite.dtb \ |
55 | imx6q-sabresd.dtb | 89 | imx6q-sabresd.dtb |
56 | dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ | 90 | dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ |
57 | imx23-olinuxino.dtb \ | 91 | imx23-olinuxino.dtb \ |
58 | imx23-stmp378x_devb.dtb \ | 92 | imx23-stmp378x_devb.dtb \ |
93 | imx28-apf28.dtb \ | ||
94 | imx28-apf28dev.dtb \ | ||
59 | imx28-apx4devkit.dtb \ | 95 | imx28-apx4devkit.dtb \ |
60 | imx28-cfa10036.dtb \ | 96 | imx28-cfa10036.dtb \ |
61 | imx28-cfa10049.dtb \ | 97 | imx28-cfa10049.dtb \ |
62 | imx28-evk.dtb \ | 98 | imx28-evk.dtb \ |
63 | imx28-m28evk.dtb \ | 99 | imx28-m28evk.dtb \ |
100 | imx28-sps1.dtb \ | ||
64 | imx28-tx28.dtb | 101 | imx28-tx28.dtb |
65 | dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ | 102 | dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ |
103 | omap3-beagle.dtb \ | ||
66 | omap3-beagle-xm.dtb \ | 104 | omap3-beagle-xm.dtb \ |
67 | omap3-evm.dtb \ | 105 | omap3-evm.dtb \ |
68 | omap3-tobi.dtb \ | 106 | omap3-tobi.dtb \ |
69 | omap4-panda.dtb \ | 107 | omap4-panda.dtb \ |
70 | omap4-pandaES.dtb \ | 108 | omap4-panda-es.dtb \ |
71 | omap4-var_som.dtb \ | 109 | omap4-var-som.dtb \ |
72 | omap4-sdp.dtb \ | 110 | omap4-sdp.dtb \ |
73 | omap5-evm.dtb \ | 111 | omap5-evm.dtb \ |
74 | am335x-evm.dtb \ | 112 | am335x-evm.dtb \ |
113 | am335x-evmsk.dtb \ | ||
75 | am335x-bone.dtb | 114 | am335x-bone.dtb |
115 | dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb | ||
76 | dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb | 116 | dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb |
77 | dtb-$(CONFIG_ARCH_U8500) += snowball.dtb | 117 | dtb-$(CONFIG_ARCH_U8500) += snowball.dtb \ |
118 | hrefprev60.dtb \ | ||
119 | hrefv60plus.dtb \ | ||
120 | ccu9540.dtb | ||
78 | dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ | 121 | dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \ |
79 | r8a7740-armadillo800eva.dtb \ | 122 | r8a7740-armadillo800eva.dtb \ |
80 | sh73a0-kzm9g.dtb | 123 | sh73a0-kzm9g.dtb \ |
124 | sh7372-mackerel.dtb | ||
81 | dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \ | 125 | dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \ |
82 | spear1340-evb.dtb | 126 | spear1340-evb.dtb |
83 | dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ | 127 | dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \ |
84 | spear310-evb.dtb \ | 128 | spear310-evb.dtb \ |
85 | spear320-evb.dtb | 129 | spear320-evb.dtb |
86 | dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb | 130 | dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb |
131 | dtb-$(CONFIG_ARCH_SUNXI) += sun4i-cubieboard.dtb \ | ||
132 | sun5i-olinuxino.dtb | ||
87 | dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ | 133 | dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ |
88 | tegra20-medcom-wide.dtb \ | 134 | tegra20-medcom-wide.dtb \ |
89 | tegra20-paz00.dtb \ | 135 | tegra20-paz00.dtb \ |
@@ -103,5 +149,14 @@ dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \ | |||
103 | dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ | 149 | dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \ |
104 | wm8505-ref.dtb \ | 150 | wm8505-ref.dtb \ |
105 | wm8650-mid.dtb | 151 | wm8650-mid.dtb |
152 | dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb | ||
106 | 153 | ||
154 | targets += dtbs | ||
107 | endif | 155 | endif |
156 | |||
157 | # *.dtb used to be generated in the directory above. Clean out the | ||
158 | # old build results so people don't accidentally use them. | ||
159 | dtbs: $(addprefix $(obj)/, $(dtb-y)) | ||
160 | $(Q)rm -f $(obj)/../*.dtb | ||
161 | |||
162 | clean-files := *.dtb | ||
diff --git a/arch/arm/boot/dts/am335x-bone.dts b/arch/arm/boot/dts/am335x-bone.dts index c634f87e230e..11b240c5d323 100644 --- a/arch/arm/boot/dts/am335x-bone.dts +++ b/arch/arm/boot/dts/am335x-bone.dts | |||
@@ -13,11 +13,31 @@ | |||
13 | model = "TI AM335x BeagleBone"; | 13 | model = "TI AM335x BeagleBone"; |
14 | compatible = "ti,am335x-bone", "ti,am33xx"; | 14 | compatible = "ti,am335x-bone", "ti,am33xx"; |
15 | 15 | ||
16 | cpus { | ||
17 | cpu@0 { | ||
18 | cpu0-supply = <&dcdc2_reg>; | ||
19 | }; | ||
20 | }; | ||
21 | |||
16 | memory { | 22 | memory { |
17 | device_type = "memory"; | 23 | device_type = "memory"; |
18 | reg = <0x80000000 0x10000000>; /* 256 MB */ | 24 | reg = <0x80000000 0x10000000>; /* 256 MB */ |
19 | }; | 25 | }; |
20 | 26 | ||
27 | am33xx_pinmux: pinmux@44e10800 { | ||
28 | pinctrl-names = "default"; | ||
29 | pinctrl-0 = <&user_leds_s0>; | ||
30 | |||
31 | user_leds_s0: user_leds_s0 { | ||
32 | pinctrl-single,pins = < | ||
33 | 0x54 0x7 /* gpmc_a5.gpio1_21, OUTPUT | MODE7 */ | ||
34 | 0x58 0x17 /* gpmc_a6.gpio1_22, OUTPUT_PULLUP | MODE7 */ | ||
35 | 0x5c 0x7 /* gpmc_a7.gpio1_23, OUTPUT | MODE7 */ | ||
36 | 0x60 0x17 /* gpmc_a8.gpio1_24, OUTPUT_PULLUP | MODE7 */ | ||
37 | >; | ||
38 | }; | ||
39 | }; | ||
40 | |||
21 | ocp { | 41 | ocp { |
22 | uart1: serial@44e09000 { | 42 | uart1: serial@44e09000 { |
23 | status = "okay"; | 43 | status = "okay"; |
@@ -33,6 +53,36 @@ | |||
33 | 53 | ||
34 | }; | 54 | }; |
35 | }; | 55 | }; |
56 | |||
57 | leds { | ||
58 | compatible = "gpio-leds"; | ||
59 | |||
60 | led@2 { | ||
61 | label = "beaglebone:green:heartbeat"; | ||
62 | gpios = <&gpio2 21 0>; | ||
63 | linux,default-trigger = "heartbeat"; | ||
64 | default-state = "off"; | ||
65 | }; | ||
66 | |||
67 | led@3 { | ||
68 | label = "beaglebone:green:mmc0"; | ||
69 | gpios = <&gpio2 22 0>; | ||
70 | linux,default-trigger = "mmc0"; | ||
71 | default-state = "off"; | ||
72 | }; | ||
73 | |||
74 | led@4 { | ||
75 | label = "beaglebone:green:usr2"; | ||
76 | gpios = <&gpio2 23 0>; | ||
77 | default-state = "off"; | ||
78 | }; | ||
79 | |||
80 | led@5 { | ||
81 | label = "beaglebone:green:usr3"; | ||
82 | gpios = <&gpio2 24 0>; | ||
83 | default-state = "off"; | ||
84 | }; | ||
85 | }; | ||
36 | }; | 86 | }; |
37 | 87 | ||
38 | /include/ "tps65217.dtsi" | 88 | /include/ "tps65217.dtsi" |
@@ -78,3 +128,11 @@ | |||
78 | }; | 128 | }; |
79 | }; | 129 | }; |
80 | }; | 130 | }; |
131 | |||
132 | &cpsw_emac0 { | ||
133 | phy_id = <&davinci_mdio>, <0>; | ||
134 | }; | ||
135 | |||
136 | &cpsw_emac1 { | ||
137 | phy_id = <&davinci_mdio>, <1>; | ||
138 | }; | ||
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts index 185d6325a458..d6496440fcea 100644 --- a/arch/arm/boot/dts/am335x-evm.dts +++ b/arch/arm/boot/dts/am335x-evm.dts | |||
@@ -13,11 +13,39 @@ | |||
13 | model = "TI AM335x EVM"; | 13 | model = "TI AM335x EVM"; |
14 | compatible = "ti,am335x-evm", "ti,am33xx"; | 14 | compatible = "ti,am335x-evm", "ti,am33xx"; |
15 | 15 | ||
16 | cpus { | ||
17 | cpu@0 { | ||
18 | cpu0-supply = <&vdd1_reg>; | ||
19 | }; | ||
20 | }; | ||
21 | |||
16 | memory { | 22 | memory { |
17 | device_type = "memory"; | 23 | device_type = "memory"; |
18 | reg = <0x80000000 0x10000000>; /* 256 MB */ | 24 | reg = <0x80000000 0x10000000>; /* 256 MB */ |
19 | }; | 25 | }; |
20 | 26 | ||
27 | am33xx_pinmux: pinmux@44e10800 { | ||
28 | pinctrl-names = "default"; | ||
29 | pinctrl-0 = <&matrix_keypad_s0 &volume_keys_s0>; | ||
30 | |||
31 | matrix_keypad_s0: matrix_keypad_s0 { | ||
32 | pinctrl-single,pins = < | ||
33 | 0x54 0x7 /* gpmc_a5.gpio1_21, OUTPUT | MODE7 */ | ||
34 | 0x58 0x7 /* gpmc_a6.gpio1_22, OUTPUT | MODE7 */ | ||
35 | 0x64 0x27 /* gpmc_a9.gpio1_25, INPUT | MODE7 */ | ||
36 | 0x68 0x27 /* gpmc_a10.gpio1_26, INPUT | MODE7 */ | ||
37 | 0x6c 0x27 /* gpmc_a11.gpio1_27, INPUT | MODE7 */ | ||
38 | >; | ||
39 | }; | ||
40 | |||
41 | volume_keys_s0: volume_keys_s0 { | ||
42 | pinctrl-single,pins = < | ||
43 | 0x150 0x27 /* spi0_sclk.gpio0_2, INPUT | MODE7 */ | ||
44 | 0x154 0x27 /* spi0_d0.gpio0_3, INPUT | MODE7 */ | ||
45 | >; | ||
46 | }; | ||
47 | }; | ||
48 | |||
21 | ocp { | 49 | ocp { |
22 | uart1: serial@44e09000 { | 50 | uart1: serial@44e09000 { |
23 | status = "okay"; | 51 | status = "okay"; |
@@ -31,6 +59,49 @@ | |||
31 | reg = <0x2d>; | 59 | reg = <0x2d>; |
32 | }; | 60 | }; |
33 | }; | 61 | }; |
62 | |||
63 | i2c2: i2c@4802a000 { | ||
64 | status = "okay"; | ||
65 | clock-frequency = <100000>; | ||
66 | |||
67 | lis331dlh: lis331dlh@18 { | ||
68 | compatible = "st,lis331dlh", "st,lis3lv02d"; | ||
69 | reg = <0x18>; | ||
70 | Vdd-supply = <&lis3_reg>; | ||
71 | Vdd_IO-supply = <&lis3_reg>; | ||
72 | |||
73 | st,click-single-x; | ||
74 | st,click-single-y; | ||
75 | st,click-single-z; | ||
76 | st,click-thresh-x = <10>; | ||
77 | st,click-thresh-y = <10>; | ||
78 | st,click-thresh-z = <10>; | ||
79 | st,irq1-click; | ||
80 | st,irq2-click; | ||
81 | st,wakeup-x-lo; | ||
82 | st,wakeup-x-hi; | ||
83 | st,wakeup-y-lo; | ||
84 | st,wakeup-y-hi; | ||
85 | st,wakeup-z-lo; | ||
86 | st,wakeup-z-hi; | ||
87 | st,min-limit-x = <120>; | ||
88 | st,min-limit-y = <120>; | ||
89 | st,min-limit-z = <140>; | ||
90 | st,max-limit-x = <550>; | ||
91 | st,max-limit-y = <550>; | ||
92 | st,max-limit-z = <750>; | ||
93 | }; | ||
94 | |||
95 | tsl2550: tsl2550@39 { | ||
96 | compatible = "taos,tsl2550"; | ||
97 | reg = <0x39>; | ||
98 | }; | ||
99 | |||
100 | tmp275: tmp275@48 { | ||
101 | compatible = "ti,tmp275"; | ||
102 | reg = <0x48>; | ||
103 | }; | ||
104 | }; | ||
34 | }; | 105 | }; |
35 | 106 | ||
36 | vbat: fixedregulator@0 { | 107 | vbat: fixedregulator@0 { |
@@ -40,6 +111,53 @@ | |||
40 | regulator-max-microvolt = <5000000>; | 111 | regulator-max-microvolt = <5000000>; |
41 | regulator-boot-on; | 112 | regulator-boot-on; |
42 | }; | 113 | }; |
114 | |||
115 | lis3_reg: fixedregulator@1 { | ||
116 | compatible = "regulator-fixed"; | ||
117 | regulator-name = "lis3_reg"; | ||
118 | regulator-boot-on; | ||
119 | }; | ||
120 | |||
121 | matrix_keypad: matrix_keypad@0 { | ||
122 | compatible = "gpio-matrix-keypad"; | ||
123 | debounce-delay-ms = <5>; | ||
124 | col-scan-delay-us = <2>; | ||
125 | |||
126 | row-gpios = <&gpio2 25 0 /* Bank1, pin25 */ | ||
127 | &gpio2 26 0 /* Bank1, pin26 */ | ||
128 | &gpio2 27 0>; /* Bank1, pin27 */ | ||
129 | |||
130 | col-gpios = <&gpio2 21 0 /* Bank1, pin21 */ | ||
131 | &gpio2 22 0>; /* Bank1, pin22 */ | ||
132 | |||
133 | linux,keymap = <0x0000008b /* MENU */ | ||
134 | 0x0100009e /* BACK */ | ||
135 | 0x02000069 /* LEFT */ | ||
136 | 0x0001006a /* RIGHT */ | ||
137 | 0x0101001c /* ENTER */ | ||
138 | 0x0201006c>; /* DOWN */ | ||
139 | }; | ||
140 | |||
141 | gpio_keys: volume_keys@0 { | ||
142 | compatible = "gpio-keys"; | ||
143 | #address-cells = <1>; | ||
144 | #size-cells = <0>; | ||
145 | autorepeat; | ||
146 | |||
147 | switch@9 { | ||
148 | label = "volume-up"; | ||
149 | linux,code = <115>; | ||
150 | gpios = <&gpio1 2 1>; | ||
151 | gpio-key,wakeup; | ||
152 | }; | ||
153 | |||
154 | switch@10 { | ||
155 | label = "volume-down"; | ||
156 | linux,code = <114>; | ||
157 | gpios = <&gpio1 3 1>; | ||
158 | gpio-key,wakeup; | ||
159 | }; | ||
160 | }; | ||
43 | }; | 161 | }; |
44 | 162 | ||
45 | /include/ "tps65910.dtsi" | 163 | /include/ "tps65910.dtsi" |
@@ -118,3 +236,11 @@ | |||
118 | }; | 236 | }; |
119 | }; | 237 | }; |
120 | }; | 238 | }; |
239 | |||
240 | &cpsw_emac0 { | ||
241 | phy_id = <&davinci_mdio>, <0>; | ||
242 | }; | ||
243 | |||
244 | &cpsw_emac1 { | ||
245 | phy_id = <&davinci_mdio>, <1>; | ||
246 | }; | ||
diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts new file mode 100644 index 000000000000..f5a6162a4ff2 --- /dev/null +++ b/arch/arm/boot/dts/am335x-evmsk.dts | |||
@@ -0,0 +1,250 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | |||
9 | /* | ||
10 | * AM335x Starter Kit | ||
11 | * http://www.ti.com/tool/tmdssk3358 | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | |||
16 | /include/ "am33xx.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "TI AM335x EVM-SK"; | ||
20 | compatible = "ti,am335x-evmsk", "ti,am33xx"; | ||
21 | |||
22 | cpus { | ||
23 | cpu@0 { | ||
24 | cpu0-supply = <&vdd1_reg>; | ||
25 | }; | ||
26 | }; | ||
27 | |||
28 | memory { | ||
29 | device_type = "memory"; | ||
30 | reg = <0x80000000 0x10000000>; /* 256 MB */ | ||
31 | }; | ||
32 | |||
33 | am33xx_pinmux: pinmux@44e10800 { | ||
34 | pinctrl-names = "default"; | ||
35 | pinctrl-0 = <&user_leds_s0 &gpio_keys_s0>; | ||
36 | |||
37 | user_leds_s0: user_leds_s0 { | ||
38 | pinctrl-single,pins = < | ||
39 | 0x10 0x7 /* gpmc_ad4.gpio1_4, OUTPUT | MODE7 */ | ||
40 | 0x14 0x7 /* gpmc_ad5.gpio1_5, OUTPUT | MODE7 */ | ||
41 | 0x18 0x7 /* gpmc_ad6.gpio1_6, OUTPUT | MODE7 */ | ||
42 | 0x1c 0x7 /* gpmc_ad7.gpio1_7, OUTPUT | MODE7 */ | ||
43 | >; | ||
44 | }; | ||
45 | |||
46 | gpio_keys_s0: gpio_keys_s0 { | ||
47 | pinctrl-single,pins = < | ||
48 | 0x94 0x27 /* gpmc_oen_ren.gpio2_3, INPUT | MODE7 */ | ||
49 | 0x90 0x27 /* gpmc_advn_ale.gpio2_2, INPUT | MODE7 */ | ||
50 | 0x70 0x27 /* gpmc_wait0.gpio0_30, INPUT | MODE7 */ | ||
51 | 0x9c 0x27 /* gpmc_ben0_cle.gpio2_5, INPUT | MODE7 */ | ||
52 | >; | ||
53 | }; | ||
54 | }; | ||
55 | |||
56 | ocp { | ||
57 | uart1: serial@44e09000 { | ||
58 | status = "okay"; | ||
59 | }; | ||
60 | |||
61 | i2c1: i2c@44e0b000 { | ||
62 | status = "okay"; | ||
63 | clock-frequency = <400000>; | ||
64 | |||
65 | tps: tps@2d { | ||
66 | reg = <0x2d>; | ||
67 | }; | ||
68 | |||
69 | lis331dlh: lis331dlh@18 { | ||
70 | compatible = "st,lis331dlh", "st,lis3lv02d"; | ||
71 | reg = <0x18>; | ||
72 | Vdd-supply = <&lis3_reg>; | ||
73 | Vdd_IO-supply = <&lis3_reg>; | ||
74 | |||
75 | st,click-single-x; | ||
76 | st,click-single-y; | ||
77 | st,click-single-z; | ||
78 | st,click-thresh-x = <10>; | ||
79 | st,click-thresh-y = <10>; | ||
80 | st,click-thresh-z = <10>; | ||
81 | st,irq1-click; | ||
82 | st,irq2-click; | ||
83 | st,wakeup-x-lo; | ||
84 | st,wakeup-x-hi; | ||
85 | st,wakeup-y-lo; | ||
86 | st,wakeup-y-hi; | ||
87 | st,wakeup-z-lo; | ||
88 | st,wakeup-z-hi; | ||
89 | st,min-limit-x = <120>; | ||
90 | st,min-limit-y = <120>; | ||
91 | st,min-limit-z = <140>; | ||
92 | st,max-limit-x = <550>; | ||
93 | st,max-limit-y = <550>; | ||
94 | st,max-limit-z = <750>; | ||
95 | }; | ||
96 | }; | ||
97 | }; | ||
98 | |||
99 | vbat: fixedregulator@0 { | ||
100 | compatible = "regulator-fixed"; | ||
101 | regulator-name = "vbat"; | ||
102 | regulator-min-microvolt = <5000000>; | ||
103 | regulator-max-microvolt = <5000000>; | ||
104 | regulator-boot-on; | ||
105 | }; | ||
106 | |||
107 | lis3_reg: fixedregulator@1 { | ||
108 | compatible = "regulator-fixed"; | ||
109 | regulator-name = "lis3_reg"; | ||
110 | regulator-boot-on; | ||
111 | }; | ||
112 | |||
113 | leds { | ||
114 | compatible = "gpio-leds"; | ||
115 | |||
116 | led@1 { | ||
117 | label = "evmsk:green:usr0"; | ||
118 | gpios = <&gpio2 4 0>; | ||
119 | default-state = "off"; | ||
120 | }; | ||
121 | |||
122 | led@2 { | ||
123 | label = "evmsk:green:usr1"; | ||
124 | gpios = <&gpio2 5 0>; | ||
125 | default-state = "off"; | ||
126 | }; | ||
127 | |||
128 | led@3 { | ||
129 | label = "evmsk:green:mmc0"; | ||
130 | gpios = <&gpio2 6 0>; | ||
131 | linux,default-trigger = "mmc0"; | ||
132 | default-state = "off"; | ||
133 | }; | ||
134 | |||
135 | led@4 { | ||
136 | label = "evmsk:green:heartbeat"; | ||
137 | gpios = <&gpio2 7 0>; | ||
138 | linux,default-trigger = "heartbeat"; | ||
139 | default-state = "off"; | ||
140 | }; | ||
141 | }; | ||
142 | |||
143 | gpio_buttons: gpio_buttons@0 { | ||
144 | compatible = "gpio-keys"; | ||
145 | #address-cells = <1>; | ||
146 | #size-cells = <0>; | ||
147 | |||
148 | switch@1 { | ||
149 | label = "button0"; | ||
150 | linux,code = <0x100>; | ||
151 | gpios = <&gpio3 3 0>; | ||
152 | }; | ||
153 | |||
154 | switch@2 { | ||
155 | label = "button1"; | ||
156 | linux,code = <0x101>; | ||
157 | gpios = <&gpio3 2 0>; | ||
158 | }; | ||
159 | |||
160 | switch@3 { | ||
161 | label = "button2"; | ||
162 | linux,code = <0x102>; | ||
163 | gpios = <&gpio1 30 0>; | ||
164 | gpio-key,wakeup; | ||
165 | }; | ||
166 | |||
167 | switch@4 { | ||
168 | label = "button3"; | ||
169 | linux,code = <0x103>; | ||
170 | gpios = <&gpio3 5 0>; | ||
171 | }; | ||
172 | }; | ||
173 | }; | ||
174 | |||
175 | /include/ "tps65910.dtsi" | ||
176 | |||
177 | &tps { | ||
178 | vcc1-supply = <&vbat>; | ||
179 | vcc2-supply = <&vbat>; | ||
180 | vcc3-supply = <&vbat>; | ||
181 | vcc4-supply = <&vbat>; | ||
182 | vcc5-supply = <&vbat>; | ||
183 | vcc6-supply = <&vbat>; | ||
184 | vcc7-supply = <&vbat>; | ||
185 | vccio-supply = <&vbat>; | ||
186 | |||
187 | regulators { | ||
188 | vrtc_reg: regulator@0 { | ||
189 | regulator-always-on; | ||
190 | }; | ||
191 | |||
192 | vio_reg: regulator@1 { | ||
193 | regulator-always-on; | ||
194 | }; | ||
195 | |||
196 | vdd1_reg: regulator@2 { | ||
197 | /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ | ||
198 | regulator-name = "vdd_mpu"; | ||
199 | regulator-min-microvolt = <912500>; | ||
200 | regulator-max-microvolt = <1312500>; | ||
201 | regulator-boot-on; | ||
202 | regulator-always-on; | ||
203 | }; | ||
204 | |||
205 | vdd2_reg: regulator@3 { | ||
206 | /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ | ||
207 | regulator-name = "vdd_core"; | ||
208 | regulator-min-microvolt = <912500>; | ||
209 | regulator-max-microvolt = <1150000>; | ||
210 | regulator-boot-on; | ||
211 | regulator-always-on; | ||
212 | }; | ||
213 | |||
214 | vdd3_reg: regulator@4 { | ||
215 | regulator-always-on; | ||
216 | }; | ||
217 | |||
218 | vdig1_reg: regulator@5 { | ||
219 | regulator-always-on; | ||
220 | }; | ||
221 | |||
222 | vdig2_reg: regulator@6 { | ||
223 | regulator-always-on; | ||
224 | }; | ||
225 | |||
226 | vpll_reg: regulator@7 { | ||
227 | regulator-always-on; | ||
228 | }; | ||
229 | |||
230 | vdac_reg: regulator@8 { | ||
231 | regulator-always-on; | ||
232 | }; | ||
233 | |||
234 | vaux1_reg: regulator@9 { | ||
235 | regulator-always-on; | ||
236 | }; | ||
237 | |||
238 | vaux2_reg: regulator@10 { | ||
239 | regulator-always-on; | ||
240 | }; | ||
241 | |||
242 | vaux33_reg: regulator@11 { | ||
243 | regulator-always-on; | ||
244 | }; | ||
245 | |||
246 | vmmc_reg: regulator@12 { | ||
247 | regulator-always-on; | ||
248 | }; | ||
249 | }; | ||
250 | }; | ||
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi index bb31bff01998..c2f14e875eb6 100644 --- a/arch/arm/boot/dts/am33xx.dtsi +++ b/arch/arm/boot/dts/am33xx.dtsi | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | / { | 13 | / { |
14 | compatible = "ti,am33xx"; | 14 | compatible = "ti,am33xx"; |
15 | interrupt-parent = <&intc>; | ||
15 | 16 | ||
16 | aliases { | 17 | aliases { |
17 | serial0 = &uart1; | 18 | serial0 = &uart1; |
@@ -25,6 +26,21 @@ | |||
25 | cpus { | 26 | cpus { |
26 | cpu@0 { | 27 | cpu@0 { |
27 | compatible = "arm,cortex-a8"; | 28 | compatible = "arm,cortex-a8"; |
29 | |||
30 | /* | ||
31 | * To consider voltage drop between PMIC and SoC, | ||
32 | * tolerance value is reduced to 2% from 4% and | ||
33 | * voltage value is increased as a precaution. | ||
34 | */ | ||
35 | operating-points = < | ||
36 | /* kHz uV */ | ||
37 | 720000 1285000 | ||
38 | 600000 1225000 | ||
39 | 500000 1125000 | ||
40 | 275000 1125000 | ||
41 | >; | ||
42 | voltage-tolerance = <2>; /* 2 percentage */ | ||
43 | clock-latency = <300000>; /* From omap-cpufreq driver */ | ||
28 | }; | 44 | }; |
29 | }; | 45 | }; |
30 | 46 | ||
@@ -40,6 +56,15 @@ | |||
40 | }; | 56 | }; |
41 | }; | 57 | }; |
42 | 58 | ||
59 | am33xx_pinmux: pinmux@44e10800 { | ||
60 | compatible = "pinctrl-single"; | ||
61 | reg = <0x44e10800 0x0238>; | ||
62 | #address-cells = <1>; | ||
63 | #size-cells = <0>; | ||
64 | pinctrl-single,register-width = <32>; | ||
65 | pinctrl-single,function-mask = <0x7f>; | ||
66 | }; | ||
67 | |||
43 | /* | 68 | /* |
44 | * XXX: Use a flat representation of the AM33XX interconnect. | 69 | * XXX: Use a flat representation of the AM33XX interconnect. |
45 | * The real AM33XX interconnect network is quite complex.Since | 70 | * The real AM33XX interconnect network is quite complex.Since |
@@ -70,7 +95,6 @@ | |||
70 | interrupt-controller; | 95 | interrupt-controller; |
71 | #interrupt-cells = <1>; | 96 | #interrupt-cells = <1>; |
72 | reg = <0x44e07000 0x1000>; | 97 | reg = <0x44e07000 0x1000>; |
73 | interrupt-parent = <&intc>; | ||
74 | interrupts = <96>; | 98 | interrupts = <96>; |
75 | }; | 99 | }; |
76 | 100 | ||
@@ -82,7 +106,6 @@ | |||
82 | interrupt-controller; | 106 | interrupt-controller; |
83 | #interrupt-cells = <1>; | 107 | #interrupt-cells = <1>; |
84 | reg = <0x4804c000 0x1000>; | 108 | reg = <0x4804c000 0x1000>; |
85 | interrupt-parent = <&intc>; | ||
86 | interrupts = <98>; | 109 | interrupts = <98>; |
87 | }; | 110 | }; |
88 | 111 | ||
@@ -94,7 +117,6 @@ | |||
94 | interrupt-controller; | 117 | interrupt-controller; |
95 | #interrupt-cells = <1>; | 118 | #interrupt-cells = <1>; |
96 | reg = <0x481ac000 0x1000>; | 119 | reg = <0x481ac000 0x1000>; |
97 | interrupt-parent = <&intc>; | ||
98 | interrupts = <32>; | 120 | interrupts = <32>; |
99 | }; | 121 | }; |
100 | 122 | ||
@@ -106,7 +128,6 @@ | |||
106 | interrupt-controller; | 128 | interrupt-controller; |
107 | #interrupt-cells = <1>; | 129 | #interrupt-cells = <1>; |
108 | reg = <0x481ae000 0x1000>; | 130 | reg = <0x481ae000 0x1000>; |
109 | interrupt-parent = <&intc>; | ||
110 | interrupts = <62>; | 131 | interrupts = <62>; |
111 | }; | 132 | }; |
112 | 133 | ||
@@ -115,7 +136,6 @@ | |||
115 | ti,hwmods = "uart1"; | 136 | ti,hwmods = "uart1"; |
116 | clock-frequency = <48000000>; | 137 | clock-frequency = <48000000>; |
117 | reg = <0x44e09000 0x2000>; | 138 | reg = <0x44e09000 0x2000>; |
118 | interrupt-parent = <&intc>; | ||
119 | interrupts = <72>; | 139 | interrupts = <72>; |
120 | status = "disabled"; | 140 | status = "disabled"; |
121 | }; | 141 | }; |
@@ -125,7 +145,6 @@ | |||
125 | ti,hwmods = "uart2"; | 145 | ti,hwmods = "uart2"; |
126 | clock-frequency = <48000000>; | 146 | clock-frequency = <48000000>; |
127 | reg = <0x48022000 0x2000>; | 147 | reg = <0x48022000 0x2000>; |
128 | interrupt-parent = <&intc>; | ||
129 | interrupts = <73>; | 148 | interrupts = <73>; |
130 | status = "disabled"; | 149 | status = "disabled"; |
131 | }; | 150 | }; |
@@ -135,7 +154,6 @@ | |||
135 | ti,hwmods = "uart3"; | 154 | ti,hwmods = "uart3"; |
136 | clock-frequency = <48000000>; | 155 | clock-frequency = <48000000>; |
137 | reg = <0x48024000 0x2000>; | 156 | reg = <0x48024000 0x2000>; |
138 | interrupt-parent = <&intc>; | ||
139 | interrupts = <74>; | 157 | interrupts = <74>; |
140 | status = "disabled"; | 158 | status = "disabled"; |
141 | }; | 159 | }; |
@@ -145,7 +163,6 @@ | |||
145 | ti,hwmods = "uart4"; | 163 | ti,hwmods = "uart4"; |
146 | clock-frequency = <48000000>; | 164 | clock-frequency = <48000000>; |
147 | reg = <0x481a6000 0x2000>; | 165 | reg = <0x481a6000 0x2000>; |
148 | interrupt-parent = <&intc>; | ||
149 | interrupts = <44>; | 166 | interrupts = <44>; |
150 | status = "disabled"; | 167 | status = "disabled"; |
151 | }; | 168 | }; |
@@ -155,7 +172,6 @@ | |||
155 | ti,hwmods = "uart5"; | 172 | ti,hwmods = "uart5"; |
156 | clock-frequency = <48000000>; | 173 | clock-frequency = <48000000>; |
157 | reg = <0x481a8000 0x2000>; | 174 | reg = <0x481a8000 0x2000>; |
158 | interrupt-parent = <&intc>; | ||
159 | interrupts = <45>; | 175 | interrupts = <45>; |
160 | status = "disabled"; | 176 | status = "disabled"; |
161 | }; | 177 | }; |
@@ -165,7 +181,6 @@ | |||
165 | ti,hwmods = "uart6"; | 181 | ti,hwmods = "uart6"; |
166 | clock-frequency = <48000000>; | 182 | clock-frequency = <48000000>; |
167 | reg = <0x481aa000 0x2000>; | 183 | reg = <0x481aa000 0x2000>; |
168 | interrupt-parent = <&intc>; | ||
169 | interrupts = <46>; | 184 | interrupts = <46>; |
170 | status = "disabled"; | 185 | status = "disabled"; |
171 | }; | 186 | }; |
@@ -176,7 +191,6 @@ | |||
176 | #size-cells = <0>; | 191 | #size-cells = <0>; |
177 | ti,hwmods = "i2c1"; | 192 | ti,hwmods = "i2c1"; |
178 | reg = <0x44e0b000 0x1000>; | 193 | reg = <0x44e0b000 0x1000>; |
179 | interrupt-parent = <&intc>; | ||
180 | interrupts = <70>; | 194 | interrupts = <70>; |
181 | status = "disabled"; | 195 | status = "disabled"; |
182 | }; | 196 | }; |
@@ -187,7 +201,6 @@ | |||
187 | #size-cells = <0>; | 201 | #size-cells = <0>; |
188 | ti,hwmods = "i2c2"; | 202 | ti,hwmods = "i2c2"; |
189 | reg = <0x4802a000 0x1000>; | 203 | reg = <0x4802a000 0x1000>; |
190 | interrupt-parent = <&intc>; | ||
191 | interrupts = <71>; | 204 | interrupts = <71>; |
192 | status = "disabled"; | 205 | status = "disabled"; |
193 | }; | 206 | }; |
@@ -198,7 +211,6 @@ | |||
198 | #size-cells = <0>; | 211 | #size-cells = <0>; |
199 | ti,hwmods = "i2c3"; | 212 | ti,hwmods = "i2c3"; |
200 | reg = <0x4819c000 0x1000>; | 213 | reg = <0x4819c000 0x1000>; |
201 | interrupt-parent = <&intc>; | ||
202 | interrupts = <30>; | 214 | interrupts = <30>; |
203 | status = "disabled"; | 215 | status = "disabled"; |
204 | }; | 216 | }; |
@@ -207,8 +219,171 @@ | |||
207 | compatible = "ti,omap3-wdt"; | 219 | compatible = "ti,omap3-wdt"; |
208 | ti,hwmods = "wd_timer2"; | 220 | ti,hwmods = "wd_timer2"; |
209 | reg = <0x44e35000 0x1000>; | 221 | reg = <0x44e35000 0x1000>; |
210 | interrupt-parent = <&intc>; | ||
211 | interrupts = <91>; | 222 | interrupts = <91>; |
212 | }; | 223 | }; |
224 | |||
225 | dcan0: d_can@481cc000 { | ||
226 | compatible = "bosch,d_can"; | ||
227 | ti,hwmods = "d_can0"; | ||
228 | reg = <0x481cc000 0x2000>; | ||
229 | interrupts = <52>; | ||
230 | status = "disabled"; | ||
231 | }; | ||
232 | |||
233 | dcan1: d_can@481d0000 { | ||
234 | compatible = "bosch,d_can"; | ||
235 | ti,hwmods = "d_can1"; | ||
236 | reg = <0x481d0000 0x2000>; | ||
237 | interrupts = <55>; | ||
238 | status = "disabled"; | ||
239 | }; | ||
240 | |||
241 | timer1: timer@44e31000 { | ||
242 | compatible = "ti,omap2-timer"; | ||
243 | reg = <0x44e31000 0x400>; | ||
244 | interrupts = <67>; | ||
245 | ti,hwmods = "timer1"; | ||
246 | ti,timer-alwon; | ||
247 | }; | ||
248 | |||
249 | timer2: timer@48040000 { | ||
250 | compatible = "ti,omap2-timer"; | ||
251 | reg = <0x48040000 0x400>; | ||
252 | interrupts = <68>; | ||
253 | ti,hwmods = "timer2"; | ||
254 | }; | ||
255 | |||
256 | timer3: timer@48042000 { | ||
257 | compatible = "ti,omap2-timer"; | ||
258 | reg = <0x48042000 0x400>; | ||
259 | interrupts = <69>; | ||
260 | ti,hwmods = "timer3"; | ||
261 | }; | ||
262 | |||
263 | timer4: timer@48044000 { | ||
264 | compatible = "ti,omap2-timer"; | ||
265 | reg = <0x48044000 0x400>; | ||
266 | interrupts = <92>; | ||
267 | ti,hwmods = "timer4"; | ||
268 | ti,timer-pwm; | ||
269 | }; | ||
270 | |||
271 | timer5: timer@48046000 { | ||
272 | compatible = "ti,omap2-timer"; | ||
273 | reg = <0x48046000 0x400>; | ||
274 | interrupts = <93>; | ||
275 | ti,hwmods = "timer5"; | ||
276 | ti,timer-pwm; | ||
277 | }; | ||
278 | |||
279 | timer6: timer@48048000 { | ||
280 | compatible = "ti,omap2-timer"; | ||
281 | reg = <0x48048000 0x400>; | ||
282 | interrupts = <94>; | ||
283 | ti,hwmods = "timer6"; | ||
284 | ti,timer-pwm; | ||
285 | }; | ||
286 | |||
287 | timer7: timer@4804a000 { | ||
288 | compatible = "ti,omap2-timer"; | ||
289 | reg = <0x4804a000 0x400>; | ||
290 | interrupts = <95>; | ||
291 | ti,hwmods = "timer7"; | ||
292 | ti,timer-pwm; | ||
293 | }; | ||
294 | |||
295 | rtc@44e3e000 { | ||
296 | compatible = "ti,da830-rtc"; | ||
297 | reg = <0x44e3e000 0x1000>; | ||
298 | interrupts = <75 | ||
299 | 76>; | ||
300 | ti,hwmods = "rtc"; | ||
301 | }; | ||
302 | |||
303 | spi0: spi@48030000 { | ||
304 | compatible = "ti,omap4-mcspi"; | ||
305 | #address-cells = <1>; | ||
306 | #size-cells = <0>; | ||
307 | reg = <0x48030000 0x400>; | ||
308 | interrupt = <65>; | ||
309 | ti,spi-num-cs = <2>; | ||
310 | ti,hwmods = "spi0"; | ||
311 | status = "disabled"; | ||
312 | }; | ||
313 | |||
314 | spi1: spi@481a0000 { | ||
315 | compatible = "ti,omap4-mcspi"; | ||
316 | #address-cells = <1>; | ||
317 | #size-cells = <0>; | ||
318 | reg = <0x481a0000 0x400>; | ||
319 | interrupt = <125>; | ||
320 | ti,spi-num-cs = <2>; | ||
321 | ti,hwmods = "spi1"; | ||
322 | status = "disabled"; | ||
323 | }; | ||
324 | |||
325 | usb@47400000 { | ||
326 | compatible = "ti,musb-am33xx"; | ||
327 | reg = <0x47400000 0x1000 /* usbss */ | ||
328 | 0x47401000 0x800 /* musb instance 0 */ | ||
329 | 0x47401800 0x800>; /* musb instance 1 */ | ||
330 | interrupts = <17 /* usbss */ | ||
331 | 18 /* musb instance 0 */ | ||
332 | 19>; /* musb instance 1 */ | ||
333 | multipoint = <1>; | ||
334 | num-eps = <16>; | ||
335 | ram-bits = <12>; | ||
336 | port0-mode = <3>; | ||
337 | port1-mode = <3>; | ||
338 | power = <250>; | ||
339 | ti,hwmods = "usb_otg_hs"; | ||
340 | }; | ||
341 | |||
342 | mac: ethernet@4a100000 { | ||
343 | compatible = "ti,cpsw"; | ||
344 | ti,hwmods = "cpgmac0"; | ||
345 | cpdma_channels = <8>; | ||
346 | ale_entries = <1024>; | ||
347 | bd_ram_size = <0x2000>; | ||
348 | no_bd_ram = <0>; | ||
349 | rx_descs = <64>; | ||
350 | mac_control = <0x20>; | ||
351 | slaves = <2>; | ||
352 | cpts_active_slave = <0>; | ||
353 | cpts_clock_mult = <0x80000000>; | ||
354 | cpts_clock_shift = <29>; | ||
355 | reg = <0x4a100000 0x800 | ||
356 | 0x4a101200 0x100>; | ||
357 | #address-cells = <1>; | ||
358 | #size-cells = <1>; | ||
359 | interrupt-parent = <&intc>; | ||
360 | /* | ||
361 | * c0_rx_thresh_pend | ||
362 | * c0_rx_pend | ||
363 | * c0_tx_pend | ||
364 | * c0_misc_pend | ||
365 | */ | ||
366 | interrupts = <40 41 42 43>; | ||
367 | ranges; | ||
368 | |||
369 | davinci_mdio: mdio@4a101000 { | ||
370 | compatible = "ti,davinci_mdio"; | ||
371 | #address-cells = <1>; | ||
372 | #size-cells = <0>; | ||
373 | ti,hwmods = "davinci_mdio"; | ||
374 | bus_freq = <1000000>; | ||
375 | reg = <0x4a101000 0x100>; | ||
376 | }; | ||
377 | |||
378 | cpsw_emac0: slave@4a100200 { | ||
379 | /* Filled in by U-Boot */ | ||
380 | mac-address = [ 00 00 00 00 00 00 ]; | ||
381 | }; | ||
382 | |||
383 | cpsw_emac1: slave@4a100300 { | ||
384 | /* Filled in by U-Boot */ | ||
385 | mac-address = [ 00 00 00 00 00 00 ]; | ||
386 | }; | ||
387 | }; | ||
213 | }; | 388 | }; |
214 | }; | 389 | }; |
diff --git a/arch/arm/boot/dts/animeo_ip.dts b/arch/arm/boot/dts/animeo_ip.dts new file mode 100644 index 000000000000..74d92cd29d87 --- /dev/null +++ b/arch/arm/boot/dts/animeo_ip.dts | |||
@@ -0,0 +1,178 @@ | |||
1 | /* | ||
2 | * animeo_ip.dts - Device Tree file for Somfy Animeo IP Boards | ||
3 | * | ||
4 | * Copyright (C) 2011-2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2 only. | ||
7 | */ | ||
8 | |||
9 | /dts-v1/; | ||
10 | /include/ "at91sam9260.dtsi" | ||
11 | |||
12 | / { | ||
13 | model = "Somfy Animeo IP"; | ||
14 | compatible = "somfy,animeo-ip", "atmel,at91sam9260", "atmel,at91sam9"; | ||
15 | |||
16 | aliases { | ||
17 | serial0 = &usart1; | ||
18 | serial1 = &usart2; | ||
19 | serial2 = &usart0; | ||
20 | serial3 = &dbgu; | ||
21 | serial4 = &usart3; | ||
22 | serial5 = &uart0; | ||
23 | serial6 = &uart1; | ||
24 | }; | ||
25 | |||
26 | chosen { | ||
27 | linux,stdout-path = &usart2; | ||
28 | }; | ||
29 | |||
30 | memory { | ||
31 | reg = <0x20000000 0x4000000>; | ||
32 | }; | ||
33 | |||
34 | clocks { | ||
35 | #address-cells = <1>; | ||
36 | #size-cells = <1>; | ||
37 | ranges; | ||
38 | |||
39 | main_clock: clock@0 { | ||
40 | compatible = "atmel,osc", "fixed-clock"; | ||
41 | clock-frequency = <18432000>; | ||
42 | }; | ||
43 | }; | ||
44 | |||
45 | ahb { | ||
46 | apb { | ||
47 | usart0: serial@fffb0000 { | ||
48 | pinctrl-0 = <&pinctrl_usart0 &pinctrl_usart0_rts>; | ||
49 | linux,rs485-enabled-at-boot-time; | ||
50 | status = "okay"; | ||
51 | }; | ||
52 | |||
53 | usart1: serial@fffb4000 { | ||
54 | pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts>; | ||
55 | linux,rs485-enabled-at-boot-time; | ||
56 | status = "okay"; | ||
57 | }; | ||
58 | |||
59 | usart2: serial@fffb8000 { | ||
60 | pinctrl-0 = <&pinctrl_usart2>; | ||
61 | status = "okay"; | ||
62 | }; | ||
63 | |||
64 | macb0: ethernet@fffc4000 { | ||
65 | pinctrl-0 = <&pinctrl_macb_rmii &pinctrl_macb_rmii_mii>; | ||
66 | phy-mode = "mii"; | ||
67 | status = "okay"; | ||
68 | }; | ||
69 | |||
70 | mmc0: mmc@fffa8000 { | ||
71 | pinctrl-0 = <&pinctrl_mmc0_clk | ||
72 | &pinctrl_mmc0_slot1_cmd_dat0 | ||
73 | &pinctrl_mmc0_slot1_dat1_3>; | ||
74 | status = "okay"; | ||
75 | |||
76 | slot@1 { | ||
77 | reg = <1>; | ||
78 | bus-width = <4>; | ||
79 | }; | ||
80 | }; | ||
81 | }; | ||
82 | |||
83 | nand0: nand@40000000 { | ||
84 | nand-bus-width = <8>; | ||
85 | nand-ecc-mode = "soft"; | ||
86 | nand-on-flash-bbt; | ||
87 | status = "okay"; | ||
88 | |||
89 | at91bootstrap@0 { | ||
90 | label = "at91bootstrap"; | ||
91 | reg = <0x0 0x8000>; | ||
92 | }; | ||
93 | |||
94 | barebox@8000 { | ||
95 | label = "barebox"; | ||
96 | reg = <0x8000 0x40000>; | ||
97 | }; | ||
98 | |||
99 | bareboxenv@48000 { | ||
100 | label = "bareboxenv"; | ||
101 | reg = <0x48000 0x8000>; | ||
102 | }; | ||
103 | |||
104 | user_block@0x50000 { | ||
105 | label = "user_block"; | ||
106 | reg = <0x50000 0xb0000>; | ||
107 | }; | ||
108 | |||
109 | kernel@100000 { | ||
110 | label = "kernel"; | ||
111 | reg = <0x100000 0x1b0000>; | ||
112 | }; | ||
113 | |||
114 | root@2b0000 { | ||
115 | label = "root"; | ||
116 | reg = <0x2b0000 0x1D50000>; | ||
117 | }; | ||
118 | }; | ||
119 | |||
120 | usb0: ohci@00500000 { | ||
121 | num-ports = <2>; | ||
122 | atmel,vbus-gpio = <&pioB 15 1>; | ||
123 | status = "okay"; | ||
124 | }; | ||
125 | }; | ||
126 | |||
127 | leds { | ||
128 | compatible = "gpio-leds"; | ||
129 | |||
130 | power_green { | ||
131 | label = "power_green"; | ||
132 | gpios = <&pioC 17 0>; | ||
133 | linux,default-trigger = "heartbeat"; | ||
134 | }; | ||
135 | |||
136 | power_red { | ||
137 | label = "power_red"; | ||
138 | gpios = <&pioA 2 0>; | ||
139 | }; | ||
140 | |||
141 | tx_green { | ||
142 | label = "tx_green"; | ||
143 | gpios = <&pioC 19 0>; | ||
144 | }; | ||
145 | |||
146 | tx_red { | ||
147 | label = "tx_red"; | ||
148 | gpios = <&pioC 18 0>; | ||
149 | }; | ||
150 | }; | ||
151 | |||
152 | gpio_keys { | ||
153 | compatible = "gpio-keys"; | ||
154 | #address-cells = <1>; | ||
155 | #size-cells = <0>; | ||
156 | |||
157 | keyswitch_in { | ||
158 | label = "keyswitch_in"; | ||
159 | gpios = <&pioB 1 0>; | ||
160 | linux,code = <28>; | ||
161 | gpio-key,wakeup; | ||
162 | }; | ||
163 | |||
164 | error_in { | ||
165 | label = "error_in"; | ||
166 | gpios = <&pioB 2 0>; | ||
167 | linux,code = <29>; | ||
168 | gpio-key,wakeup; | ||
169 | }; | ||
170 | |||
171 | btn { | ||
172 | label = "btn"; | ||
173 | gpios = <&pioC 23 0>; | ||
174 | linux,code = <31>; | ||
175 | gpio-key,wakeup; | ||
176 | }; | ||
177 | }; | ||
178 | }; | ||
diff --git a/arch/arm/boot/dts/at91rm9200.dtsi b/arch/arm/boot/dts/at91rm9200.dtsi new file mode 100644 index 000000000000..e154f242c680 --- /dev/null +++ b/arch/arm/boot/dts/at91rm9200.dtsi | |||
@@ -0,0 +1,349 @@ | |||
1 | /* | ||
2 | * at91rm9200.dtsi - Device Tree Include file for AT91RM9200 family SoC | ||
3 | * | ||
4 | * Copyright (C) 2011 Atmel, | ||
5 | * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>, | ||
6 | * 2012 Joachim Eastwood <manabian@gmail.com> | ||
7 | * | ||
8 | * Based on at91sam9260.dtsi | ||
9 | * | ||
10 | * Licensed under GPLv2 or later. | ||
11 | */ | ||
12 | |||
13 | /include/ "skeleton.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Atmel AT91RM9200 family SoC"; | ||
17 | compatible = "atmel,at91rm9200"; | ||
18 | interrupt-parent = <&aic>; | ||
19 | |||
20 | aliases { | ||
21 | serial0 = &dbgu; | ||
22 | serial1 = &usart0; | ||
23 | serial2 = &usart1; | ||
24 | serial3 = &usart2; | ||
25 | serial4 = &usart3; | ||
26 | gpio0 = &pioA; | ||
27 | gpio1 = &pioB; | ||
28 | gpio2 = &pioC; | ||
29 | gpio3 = &pioD; | ||
30 | tcb0 = &tcb0; | ||
31 | tcb1 = &tcb1; | ||
32 | }; | ||
33 | cpus { | ||
34 | cpu@0 { | ||
35 | compatible = "arm,arm920t"; | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | memory { | ||
40 | reg = <0x20000000 0x04000000>; | ||
41 | }; | ||
42 | |||
43 | ahb { | ||
44 | compatible = "simple-bus"; | ||
45 | #address-cells = <1>; | ||
46 | #size-cells = <1>; | ||
47 | ranges; | ||
48 | |||
49 | apb { | ||
50 | compatible = "simple-bus"; | ||
51 | #address-cells = <1>; | ||
52 | #size-cells = <1>; | ||
53 | ranges; | ||
54 | |||
55 | aic: interrupt-controller@fffff000 { | ||
56 | #interrupt-cells = <3>; | ||
57 | compatible = "atmel,at91rm9200-aic"; | ||
58 | interrupt-controller; | ||
59 | reg = <0xfffff000 0x200>; | ||
60 | atmel,external-irqs = <25 26 27 28 29 30 31>; | ||
61 | }; | ||
62 | |||
63 | ramc0: ramc@ffffff00 { | ||
64 | compatible = "atmel,at91rm9200-sdramc"; | ||
65 | reg = <0xffffff00 0x100>; | ||
66 | }; | ||
67 | |||
68 | pmc: pmc@fffffc00 { | ||
69 | compatible = "atmel,at91rm9200-pmc"; | ||
70 | reg = <0xfffffc00 0x100>; | ||
71 | }; | ||
72 | |||
73 | st: timer@fffffd00 { | ||
74 | compatible = "atmel,at91rm9200-st"; | ||
75 | reg = <0xfffffd00 0x100>; | ||
76 | interrupts = <1 4 7>; | ||
77 | }; | ||
78 | |||
79 | tcb0: timer@fffa0000 { | ||
80 | compatible = "atmel,at91rm9200-tcb"; | ||
81 | reg = <0xfffa0000 0x100>; | ||
82 | interrupts = <17 4 0 18 4 0 19 4 0>; | ||
83 | }; | ||
84 | |||
85 | tcb1: timer@fffa4000 { | ||
86 | compatible = "atmel,at91rm9200-tcb"; | ||
87 | reg = <0xfffa4000 0x100>; | ||
88 | interrupts = <20 4 0 21 4 0 22 4 0>; | ||
89 | }; | ||
90 | |||
91 | pinctrl@fffff400 { | ||
92 | #address-cells = <1>; | ||
93 | #size-cells = <1>; | ||
94 | compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; | ||
95 | ranges = <0xfffff400 0xfffff400 0x800>; | ||
96 | |||
97 | atmel,mux-mask = < | ||
98 | /* A B */ | ||
99 | 0xffffffff 0xffffffff /* pioA */ | ||
100 | 0xffffffff 0x083fffff /* pioB */ | ||
101 | 0xffff3fff 0x00000000 /* pioC */ | ||
102 | 0x03ff87ff 0x0fffff80 /* pioD */ | ||
103 | >; | ||
104 | |||
105 | /* shared pinctrl settings */ | ||
106 | dbgu { | ||
107 | pinctrl_dbgu: dbgu-0 { | ||
108 | atmel,pins = | ||
109 | <0 30 0x1 0x0 /* PA30 periph A */ | ||
110 | 0 31 0x1 0x1>; /* PA31 periph with pullup */ | ||
111 | }; | ||
112 | }; | ||
113 | |||
114 | uart0 { | ||
115 | pinctrl_uart0: uart0-0 { | ||
116 | atmel,pins = | ||
117 | <0 17 0x1 0x0 /* PA17 periph A */ | ||
118 | 0 18 0x1 0x0>; /* PA18 periph A */ | ||
119 | }; | ||
120 | |||
121 | pinctrl_uart0_rts: uart0_rts-0 { | ||
122 | atmel,pins = | ||
123 | <0 20 0x1 0x0>; /* PA20 periph A */ | ||
124 | }; | ||
125 | |||
126 | pinctrl_uart0_cts: uart0_cts-0 { | ||
127 | atmel,pins = | ||
128 | <0 21 0x1 0x0>; /* PA21 periph A */ | ||
129 | }; | ||
130 | }; | ||
131 | |||
132 | uart1 { | ||
133 | pinctrl_uart1: uart1-0 { | ||
134 | atmel,pins = | ||
135 | <1 20 0x1 0x1 /* PB20 periph A with pullup */ | ||
136 | 1 21 0x1 0x0>; /* PB21 periph A */ | ||
137 | }; | ||
138 | |||
139 | pinctrl_uart1_rts: uart1_rts-0 { | ||
140 | atmel,pins = | ||
141 | <1 24 0x1 0x0>; /* PB24 periph A */ | ||
142 | }; | ||
143 | |||
144 | pinctrl_uart1_cts: uart1_cts-0 { | ||
145 | atmel,pins = | ||
146 | <1 26 0x1 0x0>; /* PB26 periph A */ | ||
147 | }; | ||
148 | |||
149 | pinctrl_uart1_dtr_dsr: uart1_dtr_dsr-0 { | ||
150 | atmel,pins = | ||
151 | <1 19 0x1 0x0 /* PB19 periph A */ | ||
152 | 1 25 0x1 0x0>; /* PB25 periph A */ | ||
153 | }; | ||
154 | |||
155 | pinctrl_uart1_dcd: uart1_dcd-0 { | ||
156 | atmel,pins = | ||
157 | <1 23 0x1 0x0>; /* PB23 periph A */ | ||
158 | }; | ||
159 | |||
160 | pinctrl_uart1_ri: uart1_ri-0 { | ||
161 | atmel,pins = | ||
162 | <1 18 0x1 0x0>; /* PB18 periph A */ | ||
163 | }; | ||
164 | }; | ||
165 | |||
166 | uart2 { | ||
167 | pinctrl_uart2: uart2-0 { | ||
168 | atmel,pins = | ||
169 | <0 22 0x1 0x0 /* PA22 periph A */ | ||
170 | 0 23 0x1 0x1>; /* PA23 periph A with pullup */ | ||
171 | }; | ||
172 | |||
173 | pinctrl_uart2_rts: uart2_rts-0 { | ||
174 | atmel,pins = | ||
175 | <0 30 0x2 0x0>; /* PA30 periph B */ | ||
176 | }; | ||
177 | |||
178 | pinctrl_uart2_cts: uart2_cts-0 { | ||
179 | atmel,pins = | ||
180 | <0 31 0x2 0x0>; /* PA31 periph B */ | ||
181 | }; | ||
182 | }; | ||
183 | |||
184 | uart3 { | ||
185 | pinctrl_uart3: uart3-0 { | ||
186 | atmel,pins = | ||
187 | <0 5 0x2 0x1 /* PA5 periph B with pullup */ | ||
188 | 0 6 0x2 0x0>; /* PA6 periph B */ | ||
189 | }; | ||
190 | |||
191 | pinctrl_uart3_rts: uart3_rts-0 { | ||
192 | atmel,pins = | ||
193 | <1 0 0x2 0x0>; /* PB0 periph B */ | ||
194 | }; | ||
195 | |||
196 | pinctrl_uart3_cts: uart3_cts-0 { | ||
197 | atmel,pins = | ||
198 | <1 1 0x2 0x0>; /* PB1 periph B */ | ||
199 | }; | ||
200 | }; | ||
201 | |||
202 | nand { | ||
203 | pinctrl_nand: nand-0 { | ||
204 | atmel,pins = | ||
205 | <2 2 0x0 0x1 /* PC2 gpio RDY pin pull_up */ | ||
206 | 1 1 0x0 0x1>; /* PB1 gpio CD pin pull_up */ | ||
207 | }; | ||
208 | }; | ||
209 | |||
210 | pioA: gpio@fffff400 { | ||
211 | compatible = "atmel,at91rm9200-gpio"; | ||
212 | reg = <0xfffff400 0x200>; | ||
213 | interrupts = <2 4 1>; | ||
214 | #gpio-cells = <2>; | ||
215 | gpio-controller; | ||
216 | interrupt-controller; | ||
217 | #interrupt-cells = <2>; | ||
218 | }; | ||
219 | |||
220 | pioB: gpio@fffff600 { | ||
221 | compatible = "atmel,at91rm9200-gpio"; | ||
222 | reg = <0xfffff600 0x200>; | ||
223 | interrupts = <3 4 1>; | ||
224 | #gpio-cells = <2>; | ||
225 | gpio-controller; | ||
226 | interrupt-controller; | ||
227 | #interrupt-cells = <2>; | ||
228 | }; | ||
229 | |||
230 | pioC: gpio@fffff800 { | ||
231 | compatible = "atmel,at91rm9200-gpio"; | ||
232 | reg = <0xfffff800 0x200>; | ||
233 | interrupts = <4 4 1>; | ||
234 | #gpio-cells = <2>; | ||
235 | gpio-controller; | ||
236 | interrupt-controller; | ||
237 | #interrupt-cells = <2>; | ||
238 | }; | ||
239 | |||
240 | pioD: gpio@fffffa00 { | ||
241 | compatible = "atmel,at91rm9200-gpio"; | ||
242 | reg = <0xfffffa00 0x200>; | ||
243 | interrupts = <5 4 1>; | ||
244 | #gpio-cells = <2>; | ||
245 | gpio-controller; | ||
246 | interrupt-controller; | ||
247 | #interrupt-cells = <2>; | ||
248 | }; | ||
249 | }; | ||
250 | |||
251 | dbgu: serial@fffff200 { | ||
252 | compatible = "atmel,at91rm9200-usart"; | ||
253 | reg = <0xfffff200 0x200>; | ||
254 | interrupts = <1 4 7>; | ||
255 | pinctrl-names = "default"; | ||
256 | pinctrl-0 = <&pinctrl_dbgu>; | ||
257 | status = "disabled"; | ||
258 | }; | ||
259 | |||
260 | usart0: serial@fffc0000 { | ||
261 | compatible = "atmel,at91rm9200-usart"; | ||
262 | reg = <0xfffc0000 0x200>; | ||
263 | interrupts = <6 4 5>; | ||
264 | atmel,use-dma-rx; | ||
265 | atmel,use-dma-tx; | ||
266 | pinctrl-names = "default"; | ||
267 | pinctrl-0 = <&pinctrl_uart0>; | ||
268 | status = "disabled"; | ||
269 | }; | ||
270 | |||
271 | usart1: serial@fffc4000 { | ||
272 | compatible = "atmel,at91rm9200-usart"; | ||
273 | reg = <0xfffc4000 0x200>; | ||
274 | interrupts = <7 4 5>; | ||
275 | atmel,use-dma-rx; | ||
276 | atmel,use-dma-tx; | ||
277 | pinctrl-names = "default"; | ||
278 | pinctrl-0 = <&pinctrl_uart1>; | ||
279 | status = "disabled"; | ||
280 | }; | ||
281 | |||
282 | usart2: serial@fffc8000 { | ||
283 | compatible = "atmel,at91rm9200-usart"; | ||
284 | reg = <0xfffc8000 0x200>; | ||
285 | interrupts = <8 4 5>; | ||
286 | atmel,use-dma-rx; | ||
287 | atmel,use-dma-tx; | ||
288 | pinctrl-names = "default"; | ||
289 | pinctrl-0 = <&pinctrl_uart2>; | ||
290 | status = "disabled"; | ||
291 | }; | ||
292 | |||
293 | usart3: serial@fffcc000 { | ||
294 | compatible = "atmel,at91rm9200-usart"; | ||
295 | reg = <0xfffcc000 0x200>; | ||
296 | interrupts = <23 4 5>; | ||
297 | atmel,use-dma-rx; | ||
298 | atmel,use-dma-tx; | ||
299 | pinctrl-names = "default"; | ||
300 | pinctrl-0 = <&pinctrl_uart3>; | ||
301 | status = "disabled"; | ||
302 | }; | ||
303 | |||
304 | usb1: gadget@fffb0000 { | ||
305 | compatible = "atmel,at91rm9200-udc"; | ||
306 | reg = <0xfffb0000 0x4000>; | ||
307 | interrupts = <11 4 2>; | ||
308 | status = "disabled"; | ||
309 | }; | ||
310 | }; | ||
311 | |||
312 | nand0: nand@40000000 { | ||
313 | compatible = "atmel,at91rm9200-nand"; | ||
314 | #address-cells = <1>; | ||
315 | #size-cells = <1>; | ||
316 | reg = <0x40000000 0x10000000>; | ||
317 | atmel,nand-addr-offset = <21>; | ||
318 | atmel,nand-cmd-offset = <22>; | ||
319 | pinctrl-names = "default"; | ||
320 | pinctrl-0 = <&pinctrl_nand>; | ||
321 | nand-ecc-mode = "soft"; | ||
322 | gpios = <&pioC 2 0 | ||
323 | 0 | ||
324 | &pioB 1 0 | ||
325 | >; | ||
326 | status = "disabled"; | ||
327 | }; | ||
328 | |||
329 | usb0: ohci@00300000 { | ||
330 | compatible = "atmel,at91rm9200-ohci", "usb-ohci"; | ||
331 | reg = <0x00300000 0x100000>; | ||
332 | interrupts = <23 4 2>; | ||
333 | status = "disabled"; | ||
334 | }; | ||
335 | }; | ||
336 | |||
337 | i2c@0 { | ||
338 | compatible = "i2c-gpio"; | ||
339 | gpios = <&pioA 23 0 /* sda */ | ||
340 | &pioA 24 0 /* scl */ | ||
341 | >; | ||
342 | i2c-gpio,sda-open-drain; | ||
343 | i2c-gpio,scl-open-drain; | ||
344 | i2c-gpio,delay-us = <2>; /* ~100 kHz */ | ||
345 | #address-cells = <1>; | ||
346 | #size-cells = <0>; | ||
347 | status = "disabled"; | ||
348 | }; | ||
349 | }; | ||
diff --git a/arch/arm/boot/dts/at91rm9200ek.dts b/arch/arm/boot/dts/at91rm9200ek.dts new file mode 100644 index 000000000000..8aa48931e0a2 --- /dev/null +++ b/arch/arm/boot/dts/at91rm9200ek.dts | |||
@@ -0,0 +1,79 @@ | |||
1 | /* | ||
2 | * at91rm9200ek.dts - Device Tree file for Atmel AT91RM9200 evaluation kit | ||
3 | * | ||
4 | * Copyright (C) 2012 Joachim Eastwood <manabian@gmail.com> | ||
5 | * | ||
6 | * Licensed under GPLv2 only | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91rm9200.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel AT91RM9200 evaluation kit"; | ||
13 | compatible = "atmel,at91rm9200ek", "atmel,at91rm9200"; | ||
14 | |||
15 | memory { | ||
16 | reg = <0x20000000 0x4000000>; | ||
17 | }; | ||
18 | |||
19 | clocks { | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <1>; | ||
22 | ranges; | ||
23 | |||
24 | main_clock: clock@0 { | ||
25 | compatible = "atmel,osc", "fixed-clock"; | ||
26 | clock-frequency = <18432000>; | ||
27 | }; | ||
28 | }; | ||
29 | |||
30 | ahb { | ||
31 | apb { | ||
32 | dbgu: serial@fffff200 { | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | |||
36 | usart1: serial@fffc4000 { | ||
37 | pinctrl-0 = | ||
38 | <&pinctrl_uart1 | ||
39 | &pinctrl_uart1_rts | ||
40 | &pinctrl_uart1_cts | ||
41 | &pinctrl_uart1_dtr_dsr | ||
42 | &pinctrl_uart1_dcd | ||
43 | &pinctrl_uart1_ri>; | ||
44 | status = "okay"; | ||
45 | }; | ||
46 | |||
47 | usb1: gadget@fffb0000 { | ||
48 | atmel,vbus-gpio = <&pioD 4 0>; | ||
49 | status = "okay"; | ||
50 | }; | ||
51 | }; | ||
52 | |||
53 | usb0: ohci@00300000 { | ||
54 | num-ports = <2>; | ||
55 | status = "okay"; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | leds { | ||
60 | compatible = "gpio-leds"; | ||
61 | |||
62 | ds2 { | ||
63 | label = "green"; | ||
64 | gpios = <&pioB 0 0x1>; | ||
65 | linux,default-trigger = "mmc0"; | ||
66 | }; | ||
67 | |||
68 | ds4 { | ||
69 | label = "yellow"; | ||
70 | gpios = <&pioB 1 0x1>; | ||
71 | linux,default-trigger = "heartbeat"; | ||
72 | }; | ||
73 | |||
74 | ds6 { | ||
75 | label = "red"; | ||
76 | gpios = <&pioB 2 0x1>; | ||
77 | }; | ||
78 | }; | ||
79 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9260.dtsi b/arch/arm/boot/dts/at91sam9260.dtsi index d410581a5a85..68bccf41a2c6 100644 --- a/arch/arm/boot/dts/at91sam9260.dtsi +++ b/arch/arm/boot/dts/at91sam9260.dtsi | |||
@@ -21,14 +21,15 @@ | |||
21 | serial2 = &usart1; | 21 | serial2 = &usart1; |
22 | serial3 = &usart2; | 22 | serial3 = &usart2; |
23 | serial4 = &usart3; | 23 | serial4 = &usart3; |
24 | serial5 = &usart4; | 24 | serial5 = &uart0; |
25 | serial6 = &usart5; | 25 | serial6 = &uart1; |
26 | gpio0 = &pioA; | 26 | gpio0 = &pioA; |
27 | gpio1 = &pioB; | 27 | gpio1 = &pioB; |
28 | gpio2 = &pioC; | 28 | gpio2 = &pioC; |
29 | tcb0 = &tcb0; | 29 | tcb0 = &tcb0; |
30 | tcb1 = &tcb1; | 30 | tcb1 = &tcb1; |
31 | i2c0 = &i2c0; | 31 | i2c0 = &i2c0; |
32 | ssc0 = &ssc0; | ||
32 | }; | 33 | }; |
33 | cpus { | 34 | cpus { |
34 | cpu@0 { | 35 | cpu@0 { |
@@ -98,40 +99,250 @@ | |||
98 | interrupts = <26 4 0 27 4 0 28 4 0>; | 99 | interrupts = <26 4 0 27 4 0 28 4 0>; |
99 | }; | 100 | }; |
100 | 101 | ||
101 | pioA: gpio@fffff400 { | 102 | pinctrl@fffff400 { |
102 | compatible = "atmel,at91rm9200-gpio"; | 103 | #address-cells = <1>; |
103 | reg = <0xfffff400 0x100>; | 104 | #size-cells = <1>; |
104 | interrupts = <2 4 1>; | 105 | compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; |
105 | #gpio-cells = <2>; | 106 | ranges = <0xfffff400 0xfffff400 0x600>; |
106 | gpio-controller; | 107 | |
107 | interrupt-controller; | 108 | atmel,mux-mask = < |
108 | #interrupt-cells = <2>; | 109 | /* A B */ |
109 | }; | 110 | 0xffffffff 0xffc00c3b /* pioA */ |
111 | 0xffffffff 0x7fff3ccf /* pioB */ | ||
112 | 0xffffffff 0x007fffff /* pioC */ | ||
113 | >; | ||
114 | |||
115 | /* shared pinctrl settings */ | ||
116 | dbgu { | ||
117 | pinctrl_dbgu: dbgu-0 { | ||
118 | atmel,pins = | ||
119 | <1 14 0x1 0x0 /* PB14 periph A */ | ||
120 | 1 15 0x1 0x1>; /* PB15 periph with pullup */ | ||
121 | }; | ||
122 | }; | ||
110 | 123 | ||
111 | pioB: gpio@fffff600 { | 124 | usart0 { |
112 | compatible = "atmel,at91rm9200-gpio"; | 125 | pinctrl_usart0: usart0-0 { |
113 | reg = <0xfffff600 0x100>; | 126 | atmel,pins = |
114 | interrupts = <3 4 1>; | 127 | <1 4 0x1 0x0 /* PB4 periph A */ |
115 | #gpio-cells = <2>; | 128 | 1 5 0x1 0x0>; /* PB5 periph A */ |
116 | gpio-controller; | 129 | }; |
117 | interrupt-controller; | 130 | |
118 | #interrupt-cells = <2>; | 131 | pinctrl_usart0_rts: usart0_rts-0 { |
119 | }; | 132 | atmel,pins = |
133 | <1 26 0x1 0x0>; /* PB26 periph A */ | ||
134 | }; | ||
135 | |||
136 | pinctrl_usart0_cts: usart0_cts-0 { | ||
137 | atmel,pins = | ||
138 | <1 27 0x1 0x0>; /* PB27 periph A */ | ||
139 | }; | ||
140 | |||
141 | pinctrl_usart0_dtr_dsr: usart0_dtr_dsr-0 { | ||
142 | atmel,pins = | ||
143 | <1 24 0x1 0x0 /* PB24 periph A */ | ||
144 | 1 22 0x1 0x0>; /* PB22 periph A */ | ||
145 | }; | ||
146 | |||
147 | pinctrl_usart0_dcd: usart0_dcd-0 { | ||
148 | atmel,pins = | ||
149 | <1 23 0x1 0x0>; /* PB23 periph A */ | ||
150 | }; | ||
151 | |||
152 | pinctrl_usart0_ri: usart0_ri-0 { | ||
153 | atmel,pins = | ||
154 | <1 25 0x1 0x0>; /* PB25 periph A */ | ||
155 | }; | ||
156 | }; | ||
120 | 157 | ||
121 | pioC: gpio@fffff800 { | 158 | usart1 { |
122 | compatible = "atmel,at91rm9200-gpio"; | 159 | pinctrl_usart1: usart1-0 { |
123 | reg = <0xfffff800 0x100>; | 160 | atmel,pins = |
124 | interrupts = <4 4 1>; | 161 | <2 6 0x1 0x1 /* PB6 periph A with pullup */ |
125 | #gpio-cells = <2>; | 162 | 2 7 0x1 0x0>; /* PB7 periph A */ |
126 | gpio-controller; | 163 | }; |
127 | interrupt-controller; | 164 | |
128 | #interrupt-cells = <2>; | 165 | pinctrl_usart1_rts: usart1_rts-0 { |
166 | atmel,pins = | ||
167 | <1 28 0x1 0x0>; /* PB28 periph A */ | ||
168 | }; | ||
169 | |||
170 | pinctrl_usart1_cts: usart1_cts-0 { | ||
171 | atmel,pins = | ||
172 | <1 29 0x1 0x0>; /* PB29 periph A */ | ||
173 | }; | ||
174 | }; | ||
175 | |||
176 | usart2 { | ||
177 | pinctrl_usart2: usart2-0 { | ||
178 | atmel,pins = | ||
179 | <1 8 0x1 0x1 /* PB8 periph A with pullup */ | ||
180 | 1 9 0x1 0x0>; /* PB9 periph A */ | ||
181 | }; | ||
182 | |||
183 | pinctrl_usart2_rts: usart2_rts-0 { | ||
184 | atmel,pins = | ||
185 | <0 4 0x1 0x0>; /* PA4 periph A */ | ||
186 | }; | ||
187 | |||
188 | pinctrl_usart2_cts: usart2_cts-0 { | ||
189 | atmel,pins = | ||
190 | <0 5 0x1 0x0>; /* PA5 periph A */ | ||
191 | }; | ||
192 | }; | ||
193 | |||
194 | usart3 { | ||
195 | pinctrl_usart3: usart3-0 { | ||
196 | atmel,pins = | ||
197 | <2 10 0x1 0x1 /* PB10 periph A with pullup */ | ||
198 | 2 11 0x1 0x0>; /* PB11 periph A */ | ||
199 | }; | ||
200 | |||
201 | pinctrl_usart3_rts: usart3_rts-0 { | ||
202 | atmel,pins = | ||
203 | <3 8 0x2 0x0>; /* PB8 periph B */ | ||
204 | }; | ||
205 | |||
206 | pinctrl_usart3_cts: usart3_cts-0 { | ||
207 | atmel,pins = | ||
208 | <3 10 0x2 0x0>; /* PB10 periph B */ | ||
209 | }; | ||
210 | }; | ||
211 | |||
212 | uart0 { | ||
213 | pinctrl_uart0: uart0-0 { | ||
214 | atmel,pins = | ||
215 | <0 31 0x2 0x1 /* PA31 periph B with pullup */ | ||
216 | 0 30 0x2 0x0>; /* PA30 periph B */ | ||
217 | }; | ||
218 | }; | ||
219 | |||
220 | uart1 { | ||
221 | pinctrl_uart1: uart1-0 { | ||
222 | atmel,pins = | ||
223 | <2 12 0x1 0x1 /* PB12 periph A with pullup */ | ||
224 | 2 13 0x1 0x0>; /* PB13 periph A */ | ||
225 | }; | ||
226 | }; | ||
227 | |||
228 | nand { | ||
229 | pinctrl_nand: nand-0 { | ||
230 | atmel,pins = | ||
231 | <2 13 0x0 0x1 /* PC13 gpio RDY pin pull_up */ | ||
232 | 2 14 0x0 0x1>; /* PC14 gpio enable pin pull_up */ | ||
233 | }; | ||
234 | }; | ||
235 | |||
236 | macb { | ||
237 | pinctrl_macb_rmii: macb_rmii-0 { | ||
238 | atmel,pins = | ||
239 | <0 12 0x1 0x0 /* PA12 periph A */ | ||
240 | 0 13 0x1 0x0 /* PA13 periph A */ | ||
241 | 0 14 0x1 0x0 /* PA14 periph A */ | ||
242 | 0 15 0x1 0x0 /* PA15 periph A */ | ||
243 | 0 16 0x1 0x0 /* PA16 periph A */ | ||
244 | 0 17 0x1 0x0 /* PA17 periph A */ | ||
245 | 0 18 0x1 0x0 /* PA18 periph A */ | ||
246 | 0 19 0x1 0x0 /* PA19 periph A */ | ||
247 | 0 20 0x1 0x0 /* PA20 periph A */ | ||
248 | 0 21 0x1 0x0>; /* PA21 periph A */ | ||
249 | }; | ||
250 | |||
251 | pinctrl_macb_rmii_mii: macb_rmii_mii-0 { | ||
252 | atmel,pins = | ||
253 | <0 22 0x2 0x0 /* PA22 periph B */ | ||
254 | 0 23 0x2 0x0 /* PA23 periph B */ | ||
255 | 0 24 0x2 0x0 /* PA24 periph B */ | ||
256 | 0 25 0x2 0x0 /* PA25 periph B */ | ||
257 | 0 26 0x2 0x0 /* PA26 periph B */ | ||
258 | 0 27 0x2 0x0 /* PA27 periph B */ | ||
259 | 0 28 0x2 0x0 /* PA28 periph B */ | ||
260 | 0 29 0x2 0x0>; /* PA29 periph B */ | ||
261 | }; | ||
262 | |||
263 | pinctrl_macb_rmii_mii_alt: macb_rmii_mii-1 { | ||
264 | atmel,pins = | ||
265 | <0 10 0x2 0x0 /* PA10 periph B */ | ||
266 | 0 11 0x2 0x0 /* PA11 periph B */ | ||
267 | 0 24 0x2 0x0 /* PA24 periph B */ | ||
268 | 0 25 0x2 0x0 /* PA25 periph B */ | ||
269 | 0 26 0x2 0x0 /* PA26 periph B */ | ||
270 | 0 27 0x2 0x0 /* PA27 periph B */ | ||
271 | 0 28 0x2 0x0 /* PA28 periph B */ | ||
272 | 0 29 0x2 0x0>; /* PA29 periph B */ | ||
273 | }; | ||
274 | }; | ||
275 | |||
276 | mmc0 { | ||
277 | pinctrl_mmc0_clk: mmc0_clk-0 { | ||
278 | atmel,pins = | ||
279 | <0 8 0x1 0x0>; /* PA8 periph A */ | ||
280 | }; | ||
281 | |||
282 | pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { | ||
283 | atmel,pins = | ||
284 | <0 7 0x1 0x1 /* PA7 periph A with pullup */ | ||
285 | 0 6 0x1 0x1>; /* PA6 periph A with pullup */ | ||
286 | }; | ||
287 | |||
288 | pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { | ||
289 | atmel,pins = | ||
290 | <0 9 0x1 0x1 /* PA9 periph A with pullup */ | ||
291 | 0 10 0x1 0x1 /* PA10 periph A with pullup */ | ||
292 | 0 11 0x1 0x1>; /* PA11 periph A with pullup */ | ||
293 | }; | ||
294 | |||
295 | pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 { | ||
296 | atmel,pins = | ||
297 | <0 1 0x2 0x1 /* PA1 periph B with pullup */ | ||
298 | 0 0 0x2 0x1>; /* PA0 periph B with pullup */ | ||
299 | }; | ||
300 | |||
301 | pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 { | ||
302 | atmel,pins = | ||
303 | <0 5 0x2 0x1 /* PA5 periph B with pullup */ | ||
304 | 0 4 0x2 0x1 /* PA4 periph B with pullup */ | ||
305 | 0 3 0x2 0x1>; /* PA3 periph B with pullup */ | ||
306 | }; | ||
307 | }; | ||
308 | |||
309 | pioA: gpio@fffff400 { | ||
310 | compatible = "atmel,at91rm9200-gpio"; | ||
311 | reg = <0xfffff400 0x200>; | ||
312 | interrupts = <2 4 1>; | ||
313 | #gpio-cells = <2>; | ||
314 | gpio-controller; | ||
315 | interrupt-controller; | ||
316 | #interrupt-cells = <2>; | ||
317 | }; | ||
318 | |||
319 | pioB: gpio@fffff600 { | ||
320 | compatible = "atmel,at91rm9200-gpio"; | ||
321 | reg = <0xfffff600 0x200>; | ||
322 | interrupts = <3 4 1>; | ||
323 | #gpio-cells = <2>; | ||
324 | gpio-controller; | ||
325 | interrupt-controller; | ||
326 | #interrupt-cells = <2>; | ||
327 | }; | ||
328 | |||
329 | pioC: gpio@fffff800 { | ||
330 | compatible = "atmel,at91rm9200-gpio"; | ||
331 | reg = <0xfffff800 0x200>; | ||
332 | interrupts = <4 4 1>; | ||
333 | #gpio-cells = <2>; | ||
334 | gpio-controller; | ||
335 | interrupt-controller; | ||
336 | #interrupt-cells = <2>; | ||
337 | }; | ||
129 | }; | 338 | }; |
130 | 339 | ||
131 | dbgu: serial@fffff200 { | 340 | dbgu: serial@fffff200 { |
132 | compatible = "atmel,at91sam9260-usart"; | 341 | compatible = "atmel,at91sam9260-usart"; |
133 | reg = <0xfffff200 0x200>; | 342 | reg = <0xfffff200 0x200>; |
134 | interrupts = <1 4 7>; | 343 | interrupts = <1 4 7>; |
344 | pinctrl-names = "default"; | ||
345 | pinctrl-0 = <&pinctrl_dbgu>; | ||
135 | status = "disabled"; | 346 | status = "disabled"; |
136 | }; | 347 | }; |
137 | 348 | ||
@@ -141,6 +352,8 @@ | |||
141 | interrupts = <6 4 5>; | 352 | interrupts = <6 4 5>; |
142 | atmel,use-dma-rx; | 353 | atmel,use-dma-rx; |
143 | atmel,use-dma-tx; | 354 | atmel,use-dma-tx; |
355 | pinctrl-names = "default"; | ||
356 | pinctrl-0 = <&pinctrl_usart0>; | ||
144 | status = "disabled"; | 357 | status = "disabled"; |
145 | }; | 358 | }; |
146 | 359 | ||
@@ -150,6 +363,8 @@ | |||
150 | interrupts = <7 4 5>; | 363 | interrupts = <7 4 5>; |
151 | atmel,use-dma-rx; | 364 | atmel,use-dma-rx; |
152 | atmel,use-dma-tx; | 365 | atmel,use-dma-tx; |
366 | pinctrl-names = "default"; | ||
367 | pinctrl-0 = <&pinctrl_usart1>; | ||
153 | status = "disabled"; | 368 | status = "disabled"; |
154 | }; | 369 | }; |
155 | 370 | ||
@@ -159,6 +374,8 @@ | |||
159 | interrupts = <8 4 5>; | 374 | interrupts = <8 4 5>; |
160 | atmel,use-dma-rx; | 375 | atmel,use-dma-rx; |
161 | atmel,use-dma-tx; | 376 | atmel,use-dma-tx; |
377 | pinctrl-names = "default"; | ||
378 | pinctrl-0 = <&pinctrl_usart2>; | ||
162 | status = "disabled"; | 379 | status = "disabled"; |
163 | }; | 380 | }; |
164 | 381 | ||
@@ -168,24 +385,30 @@ | |||
168 | interrupts = <23 4 5>; | 385 | interrupts = <23 4 5>; |
169 | atmel,use-dma-rx; | 386 | atmel,use-dma-rx; |
170 | atmel,use-dma-tx; | 387 | atmel,use-dma-tx; |
388 | pinctrl-names = "default"; | ||
389 | pinctrl-0 = <&pinctrl_usart3>; | ||
171 | status = "disabled"; | 390 | status = "disabled"; |
172 | }; | 391 | }; |
173 | 392 | ||
174 | usart4: serial@fffd4000 { | 393 | uart0: serial@fffd4000 { |
175 | compatible = "atmel,at91sam9260-usart"; | 394 | compatible = "atmel,at91sam9260-usart"; |
176 | reg = <0xfffd4000 0x200>; | 395 | reg = <0xfffd4000 0x200>; |
177 | interrupts = <24 4 5>; | 396 | interrupts = <24 4 5>; |
178 | atmel,use-dma-rx; | 397 | atmel,use-dma-rx; |
179 | atmel,use-dma-tx; | 398 | atmel,use-dma-tx; |
399 | pinctrl-names = "default"; | ||
400 | pinctrl-0 = <&pinctrl_uart0>; | ||
180 | status = "disabled"; | 401 | status = "disabled"; |
181 | }; | 402 | }; |
182 | 403 | ||
183 | usart5: serial@fffd8000 { | 404 | uart1: serial@fffd8000 { |
184 | compatible = "atmel,at91sam9260-usart"; | 405 | compatible = "atmel,at91sam9260-usart"; |
185 | reg = <0xfffd8000 0x200>; | 406 | reg = <0xfffd8000 0x200>; |
186 | interrupts = <25 4 5>; | 407 | interrupts = <25 4 5>; |
187 | atmel,use-dma-rx; | 408 | atmel,use-dma-rx; |
188 | atmel,use-dma-tx; | 409 | atmel,use-dma-tx; |
410 | pinctrl-names = "default"; | ||
411 | pinctrl-0 = <&pinctrl_uart1>; | ||
189 | status = "disabled"; | 412 | status = "disabled"; |
190 | }; | 413 | }; |
191 | 414 | ||
@@ -193,6 +416,8 @@ | |||
193 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | 416 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; |
194 | reg = <0xfffc4000 0x100>; | 417 | reg = <0xfffc4000 0x100>; |
195 | interrupts = <21 4 3>; | 418 | interrupts = <21 4 3>; |
419 | pinctrl-names = "default"; | ||
420 | pinctrl-0 = <&pinctrl_macb_rmii>; | ||
196 | status = "disabled"; | 421 | status = "disabled"; |
197 | }; | 422 | }; |
198 | 423 | ||
@@ -212,6 +437,22 @@ | |||
212 | status = "disabled"; | 437 | status = "disabled"; |
213 | }; | 438 | }; |
214 | 439 | ||
440 | mmc0: mmc@fffa8000 { | ||
441 | compatible = "atmel,hsmci"; | ||
442 | reg = <0xfffa8000 0x600>; | ||
443 | interrupts = <9 4 0>; | ||
444 | #address-cells = <1>; | ||
445 | #size-cells = <0>; | ||
446 | status = "disabled"; | ||
447 | }; | ||
448 | |||
449 | ssc0: ssc@fffbc000 { | ||
450 | compatible = "atmel,at91rm9200-ssc"; | ||
451 | reg = <0xfffbc000 0x4000>; | ||
452 | interrupts = <14 4 5>; | ||
453 | status = "disabled"; | ||
454 | }; | ||
455 | |||
215 | adc0: adc@fffe0000 { | 456 | adc0: adc@fffe0000 { |
216 | compatible = "atmel,at91sam9260-adc"; | 457 | compatible = "atmel,at91sam9260-adc"; |
217 | reg = <0xfffe0000 0x100>; | 458 | reg = <0xfffe0000 0x100>; |
@@ -246,6 +487,12 @@ | |||
246 | trigger-external; | 487 | trigger-external; |
247 | }; | 488 | }; |
248 | }; | 489 | }; |
490 | |||
491 | watchdog@fffffd40 { | ||
492 | compatible = "atmel,at91sam9260-wdt"; | ||
493 | reg = <0xfffffd40 0x10>; | ||
494 | status = "disabled"; | ||
495 | }; | ||
249 | }; | 496 | }; |
250 | 497 | ||
251 | nand0: nand@40000000 { | 498 | nand0: nand@40000000 { |
@@ -257,6 +504,8 @@ | |||
257 | >; | 504 | >; |
258 | atmel,nand-addr-offset = <21>; | 505 | atmel,nand-addr-offset = <21>; |
259 | atmel,nand-cmd-offset = <22>; | 506 | atmel,nand-cmd-offset = <22>; |
507 | pinctrl-names = "default"; | ||
508 | pinctrl-0 = <&pinctrl_nand>; | ||
260 | gpios = <&pioC 13 0 | 509 | gpios = <&pioC 13 0 |
261 | &pioC 14 0 | 510 | &pioC 14 0 |
262 | 0 | 511 | 0 |
diff --git a/arch/arm/boot/dts/at91sam9263.dtsi b/arch/arm/boot/dts/at91sam9263.dtsi index 3e6e5c1abbf3..8e6251f1f7a3 100644 --- a/arch/arm/boot/dts/at91sam9263.dtsi +++ b/arch/arm/boot/dts/at91sam9263.dtsi | |||
@@ -25,6 +25,8 @@ | |||
25 | gpio4 = &pioE; | 25 | gpio4 = &pioE; |
26 | tcb0 = &tcb0; | 26 | tcb0 = &tcb0; |
27 | i2c0 = &i2c0; | 27 | i2c0 = &i2c0; |
28 | ssc0 = &ssc0; | ||
29 | ssc1 = &ssc1; | ||
28 | }; | 30 | }; |
29 | cpus { | 31 | cpus { |
30 | cpu@0 { | 32 | cpu@0 { |
@@ -89,60 +91,243 @@ | |||
89 | reg = <0xfffffd10 0x10>; | 91 | reg = <0xfffffd10 0x10>; |
90 | }; | 92 | }; |
91 | 93 | ||
92 | pioA: gpio@fffff200 { | 94 | pinctrl@fffff200 { |
93 | compatible = "atmel,at91rm9200-gpio"; | 95 | #address-cells = <1>; |
94 | reg = <0xfffff200 0x100>; | 96 | #size-cells = <1>; |
95 | interrupts = <2 4 1>; | 97 | compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; |
96 | #gpio-cells = <2>; | 98 | ranges = <0xfffff200 0xfffff200 0xa00>; |
97 | gpio-controller; | ||
98 | interrupt-controller; | ||
99 | #interrupt-cells = <2>; | ||
100 | }; | ||
101 | 99 | ||
102 | pioB: gpio@fffff400 { | 100 | atmel,mux-mask = < |
103 | compatible = "atmel,at91rm9200-gpio"; | 101 | /* A B */ |
104 | reg = <0xfffff400 0x100>; | 102 | 0xfffffffb 0xffffe07f /* pioA */ |
105 | interrupts = <3 4 1>; | 103 | 0x0007ffff 0x39072fff /* pioB */ |
106 | #gpio-cells = <2>; | 104 | 0xffffffff 0x3ffffff8 /* pioC */ |
107 | gpio-controller; | 105 | 0xfffffbff 0xffffffff /* pioD */ |
108 | interrupt-controller; | 106 | 0xffe00fff 0xfbfcff00 /* pioE */ |
109 | #interrupt-cells = <2>; | 107 | >; |
110 | }; | ||
111 | 108 | ||
112 | pioC: gpio@fffff600 { | 109 | /* shared pinctrl settings */ |
113 | compatible = "atmel,at91rm9200-gpio"; | 110 | dbgu { |
114 | reg = <0xfffff600 0x100>; | 111 | pinctrl_dbgu: dbgu-0 { |
115 | interrupts = <4 4 1>; | 112 | atmel,pins = |
116 | #gpio-cells = <2>; | 113 | <2 30 0x1 0x0 /* PC30 periph A */ |
117 | gpio-controller; | 114 | 2 31 0x1 0x1>; /* PC31 periph with pullup */ |
118 | interrupt-controller; | 115 | }; |
119 | #interrupt-cells = <2>; | 116 | }; |
120 | }; | ||
121 | 117 | ||
122 | pioD: gpio@fffff800 { | 118 | usart0 { |
123 | compatible = "atmel,at91rm9200-gpio"; | 119 | pinctrl_usart0: usart0-0 { |
124 | reg = <0xfffff800 0x100>; | 120 | atmel,pins = |
125 | interrupts = <4 4 1>; | 121 | <0 26 0x1 0x1 /* PA26 periph A with pullup */ |
126 | #gpio-cells = <2>; | 122 | 0 27 0x1 0x0>; /* PA27 periph A */ |
127 | gpio-controller; | 123 | }; |
128 | interrupt-controller; | ||
129 | #interrupt-cells = <2>; | ||
130 | }; | ||
131 | 124 | ||
132 | pioE: gpio@fffffa00 { | 125 | pinctrl_usart0_rts: usart0_rts-0 { |
133 | compatible = "atmel,at91rm9200-gpio"; | 126 | atmel,pins = |
134 | reg = <0xfffffa00 0x100>; | 127 | <0 28 0x1 0x0>; /* PA28 periph A */ |
135 | interrupts = <4 4 1>; | 128 | }; |
136 | #gpio-cells = <2>; | 129 | |
137 | gpio-controller; | 130 | pinctrl_usart0_cts: usart0_cts-0 { |
138 | interrupt-controller; | 131 | atmel,pins = |
139 | #interrupt-cells = <2>; | 132 | <0 29 0x1 0x0>; /* PA29 periph A */ |
133 | }; | ||
134 | }; | ||
135 | |||
136 | usart1 { | ||
137 | pinctrl_usart1: usart1-0 { | ||
138 | atmel,pins = | ||
139 | <3 0 0x1 0x1 /* PD0 periph A with pullup */ | ||
140 | 3 1 0x1 0x0>; /* PD1 periph A */ | ||
141 | }; | ||
142 | |||
143 | pinctrl_usart1_rts: usart1_rts-0 { | ||
144 | atmel,pins = | ||
145 | <3 7 0x2 0x0>; /* PD7 periph B */ | ||
146 | }; | ||
147 | |||
148 | pinctrl_usart1_cts: usart1_cts-0 { | ||
149 | atmel,pins = | ||
150 | <3 8 0x2 0x0>; /* PD8 periph B */ | ||
151 | }; | ||
152 | }; | ||
153 | |||
154 | usart2 { | ||
155 | pinctrl_usart2: usart2-0 { | ||
156 | atmel,pins = | ||
157 | <3 2 0x1 0x1 /* PD2 periph A with pullup */ | ||
158 | 3 3 0x1 0x0>; /* PD3 periph A */ | ||
159 | }; | ||
160 | |||
161 | pinctrl_usart2_rts: usart2_rts-0 { | ||
162 | atmel,pins = | ||
163 | <3 5 0x2 0x0>; /* PD5 periph B */ | ||
164 | }; | ||
165 | |||
166 | pinctrl_usart2_cts: usart2_cts-0 { | ||
167 | atmel,pins = | ||
168 | <4 6 0x2 0x0>; /* PD6 periph B */ | ||
169 | }; | ||
170 | }; | ||
171 | |||
172 | nand { | ||
173 | pinctrl_nand: nand-0 { | ||
174 | atmel,pins = | ||
175 | <0 22 0x0 0x1 /* PA22 gpio RDY pin pull_up*/ | ||
176 | 3 15 0x0 0x1>; /* PD15 gpio enable pin pull_up */ | ||
177 | }; | ||
178 | }; | ||
179 | |||
180 | macb { | ||
181 | pinctrl_macb_rmii: macb_rmii-0 { | ||
182 | atmel,pins = | ||
183 | <2 25 0x2 0x0 /* PC25 periph B */ | ||
184 | 4 21 0x1 0x0 /* PE21 periph A */ | ||
185 | 4 23 0x1 0x0 /* PE23 periph A */ | ||
186 | 4 24 0x1 0x0 /* PE24 periph A */ | ||
187 | 4 25 0x1 0x0 /* PE25 periph A */ | ||
188 | 4 26 0x1 0x0 /* PE26 periph A */ | ||
189 | 4 27 0x1 0x0 /* PE27 periph A */ | ||
190 | 4 28 0x1 0x0 /* PE28 periph A */ | ||
191 | 4 29 0x1 0x0 /* PE29 periph A */ | ||
192 | 4 30 0x1 0x0>; /* PE30 periph A */ | ||
193 | }; | ||
194 | |||
195 | pinctrl_macb_rmii_mii: macb_rmii_mii-0 { | ||
196 | atmel,pins = | ||
197 | <2 20 0x2 0x0 /* PC20 periph B */ | ||
198 | 2 21 0x2 0x0 /* PC21 periph B */ | ||
199 | 2 22 0x2 0x0 /* PC22 periph B */ | ||
200 | 2 23 0x2 0x0 /* PC23 periph B */ | ||
201 | 2 24 0x2 0x0 /* PC24 periph B */ | ||
202 | 2 25 0x2 0x0 /* PC25 periph B */ | ||
203 | 2 27 0x2 0x0 /* PC27 periph B */ | ||
204 | 4 22 0x2 0x0>; /* PE22 periph B */ | ||
205 | }; | ||
206 | }; | ||
207 | |||
208 | mmc0 { | ||
209 | pinctrl_mmc0_clk: mmc0_clk-0 { | ||
210 | atmel,pins = | ||
211 | <0 12 0x1 0x0>; /* PA12 periph A */ | ||
212 | }; | ||
213 | |||
214 | pinctrl_mmc0_slot0_cmd_dat0: mmc0_slot0_cmd_dat0-0 { | ||
215 | atmel,pins = | ||
216 | <0 1 0x1 0x1 /* PA1 periph A with pullup */ | ||
217 | 0 0 0x1 0x1>; /* PA0 periph A with pullup */ | ||
218 | }; | ||
219 | |||
220 | pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { | ||
221 | atmel,pins = | ||
222 | <0 3 0x1 0x1 /* PA3 periph A with pullup */ | ||
223 | 0 4 0x1 0x1 /* PA4 periph A with pullup */ | ||
224 | 0 5 0x1 0x1>; /* PA5 periph A with pullup */ | ||
225 | }; | ||
226 | |||
227 | pinctrl_mmc0_slot1_cmd_dat0: mmc0_slot1_cmd_dat0-0 { | ||
228 | atmel,pins = | ||
229 | <0 16 0x1 0x1 /* PA16 periph A with pullup */ | ||
230 | 0 17 0x1 0x1>; /* PA17 periph A with pullup */ | ||
231 | }; | ||
232 | |||
233 | pinctrl_mmc0_slot1_dat1_3: mmc0_slot1_dat1_3-0 { | ||
234 | atmel,pins = | ||
235 | <0 18 0x1 0x1 /* PA18 periph A with pullup */ | ||
236 | 0 19 0x1 0x1 /* PA19 periph A with pullup */ | ||
237 | 0 20 0x1 0x1>; /* PA20 periph A with pullup */ | ||
238 | }; | ||
239 | }; | ||
240 | |||
241 | mmc1 { | ||
242 | pinctrl_mmc1_clk: mmc1_clk-0 { | ||
243 | atmel,pins = | ||
244 | <0 6 0x1 0x0>; /* PA6 periph A */ | ||
245 | }; | ||
246 | |||
247 | pinctrl_mmc1_slot0_cmd_dat0: mmc1_slot0_cmd_dat0-0 { | ||
248 | atmel,pins = | ||
249 | <0 7 0x1 0x1 /* PA7 periph A with pullup */ | ||
250 | 0 8 0x1 0x1>; /* PA8 periph A with pullup */ | ||
251 | }; | ||
252 | |||
253 | pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { | ||
254 | atmel,pins = | ||
255 | <0 9 0x1 0x1 /* PA9 periph A with pullup */ | ||
256 | 0 10 0x1 0x1 /* PA10 periph A with pullup */ | ||
257 | 0 11 0x1 0x1>; /* PA11 periph A with pullup */ | ||
258 | }; | ||
259 | |||
260 | pinctrl_mmc1_slot1_cmd_dat0: mmc1_slot1_cmd_dat0-0 { | ||
261 | atmel,pins = | ||
262 | <0 21 0x1 0x1 /* PA21 periph A with pullup */ | ||
263 | 0 22 0x1 0x1>; /* PA22 periph A with pullup */ | ||
264 | }; | ||
265 | |||
266 | pinctrl_mmc1_slot1_dat1_3: mmc1_slot1_dat1_3-0 { | ||
267 | atmel,pins = | ||
268 | <0 23 0x1 0x1 /* PA23 periph A with pullup */ | ||
269 | 0 24 0x1 0x1 /* PA24 periph A with pullup */ | ||
270 | 0 25 0x1 0x1>; /* PA25 periph A with pullup */ | ||
271 | }; | ||
272 | }; | ||
273 | |||
274 | pioA: gpio@fffff200 { | ||
275 | compatible = "atmel,at91rm9200-gpio"; | ||
276 | reg = <0xfffff200 0x200>; | ||
277 | interrupts = <2 4 1>; | ||
278 | #gpio-cells = <2>; | ||
279 | gpio-controller; | ||
280 | interrupt-controller; | ||
281 | #interrupt-cells = <2>; | ||
282 | }; | ||
283 | |||
284 | pioB: gpio@fffff400 { | ||
285 | compatible = "atmel,at91rm9200-gpio"; | ||
286 | reg = <0xfffff400 0x200>; | ||
287 | interrupts = <3 4 1>; | ||
288 | #gpio-cells = <2>; | ||
289 | gpio-controller; | ||
290 | interrupt-controller; | ||
291 | #interrupt-cells = <2>; | ||
292 | }; | ||
293 | |||
294 | pioC: gpio@fffff600 { | ||
295 | compatible = "atmel,at91rm9200-gpio"; | ||
296 | reg = <0xfffff600 0x200>; | ||
297 | interrupts = <4 4 1>; | ||
298 | #gpio-cells = <2>; | ||
299 | gpio-controller; | ||
300 | interrupt-controller; | ||
301 | #interrupt-cells = <2>; | ||
302 | }; | ||
303 | |||
304 | pioD: gpio@fffff800 { | ||
305 | compatible = "atmel,at91rm9200-gpio"; | ||
306 | reg = <0xfffff800 0x200>; | ||
307 | interrupts = <4 4 1>; | ||
308 | #gpio-cells = <2>; | ||
309 | gpio-controller; | ||
310 | interrupt-controller; | ||
311 | #interrupt-cells = <2>; | ||
312 | }; | ||
313 | |||
314 | pioE: gpio@fffffa00 { | ||
315 | compatible = "atmel,at91rm9200-gpio"; | ||
316 | reg = <0xfffffa00 0x200>; | ||
317 | interrupts = <4 4 1>; | ||
318 | #gpio-cells = <2>; | ||
319 | gpio-controller; | ||
320 | interrupt-controller; | ||
321 | #interrupt-cells = <2>; | ||
322 | }; | ||
140 | }; | 323 | }; |
141 | 324 | ||
142 | dbgu: serial@ffffee00 { | 325 | dbgu: serial@ffffee00 { |
143 | compatible = "atmel,at91sam9260-usart"; | 326 | compatible = "atmel,at91sam9260-usart"; |
144 | reg = <0xffffee00 0x200>; | 327 | reg = <0xffffee00 0x200>; |
145 | interrupts = <1 4 7>; | 328 | interrupts = <1 4 7>; |
329 | pinctrl-names = "default"; | ||
330 | pinctrl-0 = <&pinctrl_dbgu>; | ||
146 | status = "disabled"; | 331 | status = "disabled"; |
147 | }; | 332 | }; |
148 | 333 | ||
@@ -152,6 +337,8 @@ | |||
152 | interrupts = <7 4 5>; | 337 | interrupts = <7 4 5>; |
153 | atmel,use-dma-rx; | 338 | atmel,use-dma-rx; |
154 | atmel,use-dma-tx; | 339 | atmel,use-dma-tx; |
340 | pinctrl-names = "default"; | ||
341 | pinctrl-0 = <&pinctrl_usart0>; | ||
155 | status = "disabled"; | 342 | status = "disabled"; |
156 | }; | 343 | }; |
157 | 344 | ||
@@ -161,6 +348,8 @@ | |||
161 | interrupts = <8 4 5>; | 348 | interrupts = <8 4 5>; |
162 | atmel,use-dma-rx; | 349 | atmel,use-dma-rx; |
163 | atmel,use-dma-tx; | 350 | atmel,use-dma-tx; |
351 | pinctrl-names = "default"; | ||
352 | pinctrl-0 = <&pinctrl_usart1>; | ||
164 | status = "disabled"; | 353 | status = "disabled"; |
165 | }; | 354 | }; |
166 | 355 | ||
@@ -170,13 +359,31 @@ | |||
170 | interrupts = <9 4 5>; | 359 | interrupts = <9 4 5>; |
171 | atmel,use-dma-rx; | 360 | atmel,use-dma-rx; |
172 | atmel,use-dma-tx; | 361 | atmel,use-dma-tx; |
362 | pinctrl-names = "default"; | ||
363 | pinctrl-0 = <&pinctrl_usart2>; | ||
173 | status = "disabled"; | 364 | status = "disabled"; |
174 | }; | 365 | }; |
175 | 366 | ||
367 | ssc0: ssc@fff98000 { | ||
368 | compatible = "atmel,at91rm9200-ssc"; | ||
369 | reg = <0xfff98000 0x4000>; | ||
370 | interrupts = <16 4 5>; | ||
371 | status = "disable"; | ||
372 | }; | ||
373 | |||
374 | ssc1: ssc@fff9c000 { | ||
375 | compatible = "atmel,at91rm9200-ssc"; | ||
376 | reg = <0xfff9c000 0x4000>; | ||
377 | interrupts = <17 4 5>; | ||
378 | status = "disable"; | ||
379 | }; | ||
380 | |||
176 | macb0: ethernet@fffbc000 { | 381 | macb0: ethernet@fffbc000 { |
177 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | 382 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; |
178 | reg = <0xfffbc000 0x100>; | 383 | reg = <0xfffbc000 0x100>; |
179 | interrupts = <21 4 3>; | 384 | interrupts = <21 4 3>; |
385 | pinctrl-names = "default"; | ||
386 | pinctrl-0 = <&pinctrl_macb_rmii>; | ||
180 | status = "disabled"; | 387 | status = "disabled"; |
181 | }; | 388 | }; |
182 | 389 | ||
@@ -195,6 +402,30 @@ | |||
195 | #size-cells = <0>; | 402 | #size-cells = <0>; |
196 | status = "disabled"; | 403 | status = "disabled"; |
197 | }; | 404 | }; |
405 | |||
406 | mmc0: mmc@fff80000 { | ||
407 | compatible = "atmel,hsmci"; | ||
408 | reg = <0xfff80000 0x600>; | ||
409 | interrupts = <10 4 0>; | ||
410 | #address-cells = <1>; | ||
411 | #size-cells = <0>; | ||
412 | status = "disabled"; | ||
413 | }; | ||
414 | |||
415 | mmc1: mmc@fff84000 { | ||
416 | compatible = "atmel,hsmci"; | ||
417 | reg = <0xfff84000 0x600>; | ||
418 | interrupts = <11 4 0>; | ||
419 | #address-cells = <1>; | ||
420 | #size-cells = <0>; | ||
421 | status = "disabled"; | ||
422 | }; | ||
423 | |||
424 | watchdog@fffffd40 { | ||
425 | compatible = "atmel,at91sam9260-wdt"; | ||
426 | reg = <0xfffffd40 0x10>; | ||
427 | status = "disabled"; | ||
428 | }; | ||
198 | }; | 429 | }; |
199 | 430 | ||
200 | nand0: nand@40000000 { | 431 | nand0: nand@40000000 { |
@@ -206,6 +437,8 @@ | |||
206 | >; | 437 | >; |
207 | atmel,nand-addr-offset = <21>; | 438 | atmel,nand-addr-offset = <21>; |
208 | atmel,nand-cmd-offset = <22>; | 439 | atmel,nand-cmd-offset = <22>; |
440 | pinctrl-names = "default"; | ||
441 | pinctrl-0 = <&pinctrl_nand>; | ||
209 | gpios = <&pioA 22 0 | 442 | gpios = <&pioA 22 0 |
210 | &pioD 15 0 | 443 | &pioD 15 0 |
211 | 0 | 444 | 0 |
diff --git a/arch/arm/boot/dts/at91sam9263ek.dts b/arch/arm/boot/dts/at91sam9263ek.dts index f86ac4b609fc..1eb08728f527 100644 --- a/arch/arm/boot/dts/at91sam9263ek.dts +++ b/arch/arm/boot/dts/at91sam9263ek.dts | |||
@@ -38,6 +38,10 @@ | |||
38 | }; | 38 | }; |
39 | 39 | ||
40 | usart0: serial@fff8c000 { | 40 | usart0: serial@fff8c000 { |
41 | pinctrl-0 = < | ||
42 | &pinctrl_usart0 | ||
43 | &pinctrl_usart0_rts | ||
44 | &pinctrl_usart0_cts>; | ||
41 | status = "okay"; | 45 | status = "okay"; |
42 | }; | 46 | }; |
43 | 47 | ||
@@ -50,6 +54,31 @@ | |||
50 | atmel,vbus-gpio = <&pioA 25 0>; | 54 | atmel,vbus-gpio = <&pioA 25 0>; |
51 | status = "okay"; | 55 | status = "okay"; |
52 | }; | 56 | }; |
57 | |||
58 | mmc0: mmc@fff80000 { | ||
59 | pinctrl-0 = < | ||
60 | &pinctrl_board_mmc0 | ||
61 | &pinctrl_mmc0_clk | ||
62 | &pinctrl_mmc0_slot0_cmd_dat0 | ||
63 | &pinctrl_mmc0_slot0_dat1_3>; | ||
64 | status = "okay"; | ||
65 | slot@0 { | ||
66 | reg = <0>; | ||
67 | bus-width = <4>; | ||
68 | cd-gpios = <&pioE 18 0>; | ||
69 | wp-gpios = <&pioE 19 0>; | ||
70 | }; | ||
71 | }; | ||
72 | |||
73 | pinctrl@fffff200 { | ||
74 | mmc0 { | ||
75 | pinctrl_board_mmc0: mmc0-board { | ||
76 | atmel,pins = | ||
77 | <5 18 0x0 0x5 /* PE18 gpio CD pin pull up and deglitch */ | ||
78 | 5 19 0x0 0x1>; /* PE19 gpio WP pin pull up */ | ||
79 | }; | ||
80 | }; | ||
81 | }; | ||
53 | }; | 82 | }; |
54 | 83 | ||
55 | nand0: nand@40000000 { | 84 | nand0: nand@40000000 { |
diff --git a/arch/arm/boot/dts/at91sam9g15.dtsi b/arch/arm/boot/dts/at91sam9g15.dtsi new file mode 100644 index 000000000000..fbe7a7089c2a --- /dev/null +++ b/arch/arm/boot/dts/at91sam9g15.dtsi | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * at91sam9g15.dtsi - Device Tree Include file for AT91SAM9G15 SoC | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | |||
9 | /include/ "at91sam9x5.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel AT91SAM9G15 SoC"; | ||
13 | compatible = "atmel, at91sam9g15, atmel,at91sam9x5"; | ||
14 | |||
15 | ahb { | ||
16 | apb { | ||
17 | pinctrl@fffff400 { | ||
18 | atmel,mux-mask = < | ||
19 | /* A B C */ | ||
20 | 0xffffffff 0xffe0399f 0x00000000 /* pioA */ | ||
21 | 0x00040000 0x00047e3f 0x00000000 /* pioB */ | ||
22 | 0xfdffffff 0x00000000 0xb83fffff /* pioC */ | ||
23 | 0x003fffff 0x003f8000 0x00000000 /* pioD */ | ||
24 | >; | ||
25 | }; | ||
26 | }; | ||
27 | }; | ||
28 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9g15ek.dts b/arch/arm/boot/dts/at91sam9g15ek.dts new file mode 100644 index 000000000000..86dd3f6d938f --- /dev/null +++ b/arch/arm/boot/dts/at91sam9g15ek.dts | |||
@@ -0,0 +1,16 @@ | |||
1 | /* | ||
2 | * at91sam9g15ek.dts - Device Tree file for AT91SAM9G15-EK board | ||
3 | * | ||
4 | * Copyright (C) 2012 Atmel, | ||
5 | * 2012 Nicolas Ferre <nicolas.ferre@atmel.com> | ||
6 | * | ||
7 | * Licensed under GPLv2 or later. | ||
8 | */ | ||
9 | /dts-v1/; | ||
10 | /include/ "at91sam9g15.dtsi" | ||
11 | /include/ "at91sam9x5ek.dtsi" | ||
12 | |||
13 | / { | ||
14 | model = "Atmel AT91SAM9G25-EK"; | ||
15 | compatible = "atmel,at91sam9g15ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; | ||
16 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts b/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts index f1b2e148ac8c..66467b113126 100644 --- a/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts +++ b/arch/arm/boot/dts/at91sam9g20ek_2mmc.dts | |||
@@ -12,6 +12,32 @@ | |||
12 | model = "Atmel at91sam9g20ek 2 mmc"; | 12 | model = "Atmel at91sam9g20ek 2 mmc"; |
13 | compatible = "atmel,at91sam9g20ek_2mmc", "atmel,at91sam9g20", "atmel,at91sam9"; | 13 | compatible = "atmel,at91sam9g20ek_2mmc", "atmel,at91sam9g20", "atmel,at91sam9"; |
14 | 14 | ||
15 | ahb { | ||
16 | apb{ | ||
17 | mmc0: mmc@fffa8000 { | ||
18 | /* clk already mux wuth slot0 */ | ||
19 | pinctrl-0 = < | ||
20 | &pinctrl_board_mmc0_slot0 | ||
21 | &pinctrl_mmc0_slot0_cmd_dat0 | ||
22 | &pinctrl_mmc0_slot0_dat1_3>; | ||
23 | slot@0 { | ||
24 | reg = <0>; | ||
25 | bus-width = <4>; | ||
26 | cd-gpios = <&pioC 2 0>; | ||
27 | }; | ||
28 | }; | ||
29 | |||
30 | pinctrl@fffff400 { | ||
31 | mmc0_slot0 { | ||
32 | pinctrl_board_mmc0_slot0: mmc0_slot0-board { | ||
33 | atmel,pins = | ||
34 | <2 2 0x0 0x5>; /* PC2 gpio CD pin pull up and deglitch */ | ||
35 | }; | ||
36 | }; | ||
37 | }; | ||
38 | }; | ||
39 | }; | ||
40 | |||
15 | leds { | 41 | leds { |
16 | compatible = "gpio-leds"; | 42 | compatible = "gpio-leds"; |
17 | 43 | ||
diff --git a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi index e6391a4e6649..da15e83e7f17 100644 --- a/arch/arm/boot/dts/at91sam9g20ek_common.dtsi +++ b/arch/arm/boot/dts/at91sam9g20ek_common.dtsi | |||
@@ -30,11 +30,28 @@ | |||
30 | 30 | ||
31 | ahb { | 31 | ahb { |
32 | apb { | 32 | apb { |
33 | pinctrl@fffff400 { | ||
34 | board { | ||
35 | pinctrl_pck0_as_mck: pck0_as_mck { | ||
36 | atmel,pins = | ||
37 | <2 1 0x2 0x0>; /* PC1 periph B */ | ||
38 | }; | ||
39 | |||
40 | }; | ||
41 | }; | ||
42 | |||
33 | dbgu: serial@fffff200 { | 43 | dbgu: serial@fffff200 { |
34 | status = "okay"; | 44 | status = "okay"; |
35 | }; | 45 | }; |
36 | 46 | ||
37 | usart0: serial@fffb0000 { | 47 | usart0: serial@fffb0000 { |
48 | pinctrl-0 = | ||
49 | <&pinctrl_usart0 | ||
50 | &pinctrl_usart0_rts | ||
51 | &pinctrl_usart0_cts | ||
52 | &pinctrl_usart0_dtr_dsr | ||
53 | &pinctrl_usart0_dcd | ||
54 | &pinctrl_usart0_ri>; | ||
38 | status = "okay"; | 55 | status = "okay"; |
39 | }; | 56 | }; |
40 | 57 | ||
@@ -51,6 +68,34 @@ | |||
51 | atmel,vbus-gpio = <&pioC 5 0>; | 68 | atmel,vbus-gpio = <&pioC 5 0>; |
52 | status = "okay"; | 69 | status = "okay"; |
53 | }; | 70 | }; |
71 | |||
72 | mmc0: mmc@fffa8000 { | ||
73 | pinctrl-0 = < | ||
74 | &pinctrl_board_mmc0_slot1 | ||
75 | &pinctrl_mmc0_clk | ||
76 | &pinctrl_mmc0_slot1_cmd_dat0 | ||
77 | &pinctrl_mmc0_slot1_dat1_3>; | ||
78 | status = "okay"; | ||
79 | slot@1 { | ||
80 | reg = <1>; | ||
81 | bus-width = <4>; | ||
82 | cd-gpios = <&pioC 9 0>; | ||
83 | }; | ||
84 | }; | ||
85 | |||
86 | pinctrl@fffff400 { | ||
87 | mmc0_slot1 { | ||
88 | pinctrl_board_mmc0_slot1: mmc0_slot1-board { | ||
89 | atmel,pins = | ||
90 | <2 9 0x0 0x5>; /* PC9 gpio CD pin pull up and deglitch */ | ||
91 | }; | ||
92 | }; | ||
93 | }; | ||
94 | |||
95 | ssc0: ssc@fffbc000 { | ||
96 | status = "okay"; | ||
97 | pinctrl-0 = <&pinctrl_ssc0_tx>; | ||
98 | }; | ||
54 | }; | 99 | }; |
55 | 100 | ||
56 | nand0: nand@40000000 { | 101 | nand0: nand@40000000 { |
@@ -114,7 +159,7 @@ | |||
114 | reg = <0x50>; | 159 | reg = <0x50>; |
115 | }; | 160 | }; |
116 | 161 | ||
117 | wm8731@1b { | 162 | wm8731: wm8731@1b { |
118 | compatible = "wm8731"; | 163 | compatible = "wm8731"; |
119 | reg = <0x1b>; | 164 | reg = <0x1b>; |
120 | }; | 165 | }; |
@@ -139,4 +184,19 @@ | |||
139 | gpio-key,wakeup; | 184 | gpio-key,wakeup; |
140 | }; | 185 | }; |
141 | }; | 186 | }; |
187 | |||
188 | sound { | ||
189 | compatible = "atmel,at91sam9g20ek-wm8731-audio"; | ||
190 | pinctrl-names = "default"; | ||
191 | pinctrl-0 = <&pinctrl_pck0_as_mck>; | ||
192 | |||
193 | atmel,model = "wm8731 @ AT91SAMG20EK"; | ||
194 | |||
195 | atmel,audio-routing = | ||
196 | "Ext Spk", "LHPOUT", | ||
197 | "Int Mic", "MICIN"; | ||
198 | |||
199 | atmel,ssc-controller = <&ssc0>; | ||
200 | atmel,audio-codec = <&wm8731>; | ||
201 | }; | ||
142 | }; | 202 | }; |
diff --git a/arch/arm/boot/dts/at91sam9g25.dtsi b/arch/arm/boot/dts/at91sam9g25.dtsi new file mode 100644 index 000000000000..05a718fb83c4 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9g25.dtsi | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * at91sam9g25.dtsi - Device Tree Include file for AT91SAM9G25 SoC | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | |||
9 | /include/ "at91sam9x5.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel AT91SAM9G25 SoC"; | ||
13 | compatible = "atmel, at91sam9g25, atmel,at91sam9x5"; | ||
14 | |||
15 | ahb { | ||
16 | apb { | ||
17 | pinctrl@fffff400 { | ||
18 | atmel,mux-mask = < | ||
19 | /* A B C */ | ||
20 | 0xffffffff 0xffe0399f 0xc000001c /* pioA */ | ||
21 | 0x0007ffff 0x8000fe3f 0x00000000 /* pioB */ | ||
22 | 0x80000000 0x07c0ffff 0xb83fffff /* pioC */ | ||
23 | 0x003fffff 0x003f8000 0x00000000 /* pioD */ | ||
24 | >; | ||
25 | }; | ||
26 | }; | ||
27 | }; | ||
28 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9g25ek.dts b/arch/arm/boot/dts/at91sam9g25ek.dts index 877c08f06763..c5ab16fba059 100644 --- a/arch/arm/boot/dts/at91sam9g25ek.dts +++ b/arch/arm/boot/dts/at91sam9g25ek.dts | |||
@@ -7,55 +7,10 @@ | |||
7 | * Licensed under GPLv2 or later. | 7 | * Licensed under GPLv2 or later. |
8 | */ | 8 | */ |
9 | /dts-v1/; | 9 | /dts-v1/; |
10 | /include/ "at91sam9x5.dtsi" | 10 | /include/ "at91sam9g25.dtsi" |
11 | /include/ "at91sam9x5cm.dtsi" | 11 | /include/ "at91sam9x5ek.dtsi" |
12 | 12 | ||
13 | / { | 13 | / { |
14 | model = "Atmel AT91SAM9G25-EK"; | 14 | model = "Atmel AT91SAM9G25-EK"; |
15 | compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; | 15 | compatible = "atmel,at91sam9g25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; |
16 | |||
17 | chosen { | ||
18 | bootargs = "console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs"; | ||
19 | }; | ||
20 | |||
21 | ahb { | ||
22 | apb { | ||
23 | dbgu: serial@fffff200 { | ||
24 | status = "okay"; | ||
25 | }; | ||
26 | |||
27 | usart0: serial@f801c000 { | ||
28 | status = "okay"; | ||
29 | }; | ||
30 | |||
31 | macb0: ethernet@f802c000 { | ||
32 | phy-mode = "rmii"; | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | |||
36 | i2c0: i2c@f8010000 { | ||
37 | status = "okay"; | ||
38 | }; | ||
39 | |||
40 | i2c1: i2c@f8014000 { | ||
41 | status = "okay"; | ||
42 | }; | ||
43 | |||
44 | i2c2: i2c@f8018000 { | ||
45 | status = "okay"; | ||
46 | }; | ||
47 | }; | ||
48 | |||
49 | usb0: ohci@00600000 { | ||
50 | status = "okay"; | ||
51 | num-ports = <2>; | ||
52 | atmel,vbus-gpio = <&pioD 19 1 | ||
53 | &pioD 20 1 | ||
54 | >; | ||
55 | }; | ||
56 | |||
57 | usb1: ehci@00700000 { | ||
58 | status = "okay"; | ||
59 | }; | ||
60 | }; | ||
61 | }; | 16 | }; |
diff --git a/arch/arm/boot/dts/at91sam9g35.dtsi b/arch/arm/boot/dts/at91sam9g35.dtsi new file mode 100644 index 000000000000..f9d14a722794 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9g35.dtsi | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * at91sam9g35.dtsi - Device Tree Include file for AT91SAM9G35 SoC | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | |||
9 | /include/ "at91sam9x5.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel AT91SAM9G35 SoC"; | ||
13 | compatible = "atmel, at91sam9g35, atmel,at91sam9x5"; | ||
14 | |||
15 | ahb { | ||
16 | apb { | ||
17 | pinctrl@fffff400 { | ||
18 | atmel,mux-mask = < | ||
19 | /* A B C */ | ||
20 | 0xffffffff 0xffe0399f 0xc000000c /* pioA */ | ||
21 | 0x000406ff 0x00047e3f 0x00000000 /* pioB */ | ||
22 | 0xfdffffff 0x00000000 0xb83fffff /* pioC */ | ||
23 | 0x003fffff 0x003f8000 0x00000000 /* pioD */ | ||
24 | >; | ||
25 | }; | ||
26 | }; | ||
27 | }; | ||
28 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9g35ek.dts b/arch/arm/boot/dts/at91sam9g35ek.dts new file mode 100644 index 000000000000..95944bdd798d --- /dev/null +++ b/arch/arm/boot/dts/at91sam9g35ek.dts | |||
@@ -0,0 +1,16 @@ | |||
1 | /* | ||
2 | * at91sam9g35ek.dts - Device Tree file for AT91SAM9G35-EK board | ||
3 | * | ||
4 | * Copyright (C) 2012 Atmel, | ||
5 | * 2012 Nicolas Ferre <nicolas.ferre@atmel.com> | ||
6 | * | ||
7 | * Licensed under GPLv2 or later. | ||
8 | */ | ||
9 | /dts-v1/; | ||
10 | /include/ "at91sam9g35.dtsi" | ||
11 | /include/ "at91sam9x5ek.dtsi" | ||
12 | |||
13 | / { | ||
14 | model = "Atmel AT91SAM9G35-EK"; | ||
15 | compatible = "atmel,at91sam9g35ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; | ||
16 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9g45.dtsi b/arch/arm/boot/dts/at91sam9g45.dtsi index 3add030d61f8..fa1ae0c5479c 100644 --- a/arch/arm/boot/dts/at91sam9g45.dtsi +++ b/arch/arm/boot/dts/at91sam9g45.dtsi | |||
@@ -31,6 +31,8 @@ | |||
31 | tcb1 = &tcb1; | 31 | tcb1 = &tcb1; |
32 | i2c0 = &i2c0; | 32 | i2c0 = &i2c0; |
33 | i2c1 = &i2c1; | 33 | i2c1 = &i2c1; |
34 | ssc0 = &ssc0; | ||
35 | ssc1 = &ssc1; | ||
34 | }; | 36 | }; |
35 | cpus { | 37 | cpus { |
36 | cpu@0 { | 38 | cpu@0 { |
@@ -108,60 +110,243 @@ | |||
108 | interrupts = <21 4 0>; | 110 | interrupts = <21 4 0>; |
109 | }; | 111 | }; |
110 | 112 | ||
111 | pioA: gpio@fffff200 { | 113 | pinctrl@fffff200 { |
112 | compatible = "atmel,at91rm9200-gpio"; | 114 | #address-cells = <1>; |
113 | reg = <0xfffff200 0x100>; | 115 | #size-cells = <1>; |
114 | interrupts = <2 4 1>; | 116 | compatible = "atmel,at91rm9200-pinctrl", "simple-bus"; |
115 | #gpio-cells = <2>; | 117 | ranges = <0xfffff200 0xfffff200 0xa00>; |
116 | gpio-controller; | 118 | |
117 | interrupt-controller; | 119 | atmel,mux-mask = < |
118 | #interrupt-cells = <2>; | 120 | /* A B */ |
119 | }; | 121 | 0xffffffff 0xffc003ff /* pioA */ |
122 | 0xffffffff 0x800f8f00 /* pioB */ | ||
123 | 0xffffffff 0x00000e00 /* pioC */ | ||
124 | 0xffffffff 0xff0c1381 /* pioD */ | ||
125 | 0xffffffff 0x81ffff81 /* pioE */ | ||
126 | >; | ||
127 | |||
128 | /* shared pinctrl settings */ | ||
129 | dbgu { | ||
130 | pinctrl_dbgu: dbgu-0 { | ||
131 | atmel,pins = | ||
132 | <1 12 0x1 0x0 /* PB12 periph A */ | ||
133 | 1 13 0x1 0x0>; /* PB13 periph A */ | ||
134 | }; | ||
135 | }; | ||
120 | 136 | ||
121 | pioB: gpio@fffff400 { | 137 | usart0 { |
122 | compatible = "atmel,at91rm9200-gpio"; | 138 | pinctrl_usart0: usart0-0 { |
123 | reg = <0xfffff400 0x100>; | 139 | atmel,pins = |
124 | interrupts = <3 4 1>; | 140 | <1 19 0x1 0x1 /* PB19 periph A with pullup */ |
125 | #gpio-cells = <2>; | 141 | 1 18 0x1 0x0>; /* PB18 periph A */ |
126 | gpio-controller; | 142 | }; |
127 | interrupt-controller; | 143 | |
128 | #interrupt-cells = <2>; | 144 | pinctrl_usart0_rts: usart0_rts-0 { |
129 | }; | 145 | atmel,pins = |
146 | <1 17 0x2 0x0>; /* PB17 periph B */ | ||
147 | }; | ||
148 | |||
149 | pinctrl_usart0_cts: usart0_cts-0 { | ||
150 | atmel,pins = | ||
151 | <1 15 0x2 0x0>; /* PB15 periph B */ | ||
152 | }; | ||
153 | }; | ||
130 | 154 | ||
131 | pioC: gpio@fffff600 { | 155 | uart1 { |
132 | compatible = "atmel,at91rm9200-gpio"; | 156 | pinctrl_usart1: usart1-0 { |
133 | reg = <0xfffff600 0x100>; | 157 | atmel,pins = |
134 | interrupts = <4 4 1>; | 158 | <1 4 0x1 0x1 /* PB4 periph A with pullup */ |
135 | #gpio-cells = <2>; | 159 | 1 5 0x1 0x0>; /* PB5 periph A */ |
136 | gpio-controller; | 160 | }; |
137 | interrupt-controller; | 161 | |
138 | #interrupt-cells = <2>; | 162 | pinctrl_usart1_rts: usart1_rts-0 { |
139 | }; | 163 | atmel,pins = |
164 | <3 16 0x1 0x0>; /* PD16 periph A */ | ||
165 | }; | ||
166 | |||
167 | pinctrl_usart1_cts: usart1_cts-0 { | ||
168 | atmel,pins = | ||
169 | <3 17 0x1 0x0>; /* PD17 periph A */ | ||
170 | }; | ||
171 | }; | ||
140 | 172 | ||
141 | pioD: gpio@fffff800 { | 173 | usart2 { |
142 | compatible = "atmel,at91rm9200-gpio"; | 174 | pinctrl_usart2: usart2-0 { |
143 | reg = <0xfffff800 0x100>; | 175 | atmel,pins = |
144 | interrupts = <5 4 1>; | 176 | <1 6 0x1 0x1 /* PB6 periph A with pullup */ |
145 | #gpio-cells = <2>; | 177 | 1 7 0x1 0x0>; /* PB7 periph A */ |
146 | gpio-controller; | 178 | }; |
147 | interrupt-controller; | 179 | |
148 | #interrupt-cells = <2>; | 180 | pinctrl_usart2_rts: usart2_rts-0 { |
149 | }; | 181 | atmel,pins = |
182 | <2 9 0x2 0x0>; /* PC9 periph B */ | ||
183 | }; | ||
184 | |||
185 | pinctrl_usart2_cts: usart2_cts-0 { | ||
186 | atmel,pins = | ||
187 | <2 11 0x2 0x0>; /* PC11 periph B */ | ||
188 | }; | ||
189 | }; | ||
150 | 190 | ||
151 | pioE: gpio@fffffa00 { | 191 | usart3 { |
152 | compatible = "atmel,at91rm9200-gpio"; | 192 | pinctrl_usart3: usart3-0 { |
153 | reg = <0xfffffa00 0x100>; | 193 | atmel,pins = |
154 | interrupts = <5 4 1>; | 194 | <1 8 0x1 0x1 /* PB9 periph A with pullup */ |
155 | #gpio-cells = <2>; | 195 | 1 9 0x1 0x0>; /* PB8 periph A */ |
156 | gpio-controller; | 196 | }; |
157 | interrupt-controller; | 197 | |
158 | #interrupt-cells = <2>; | 198 | pinctrl_usart3_rts: usart3_rts-0 { |
199 | atmel,pins = | ||
200 | <0 23 0x2 0x0>; /* PA23 periph B */ | ||
201 | }; | ||
202 | |||
203 | pinctrl_usart3_cts: usart3_cts-0 { | ||
204 | atmel,pins = | ||
205 | <0 24 0x2 0x0>; /* PA24 periph B */ | ||
206 | }; | ||
207 | }; | ||
208 | |||
209 | nand { | ||
210 | pinctrl_nand: nand-0 { | ||
211 | atmel,pins = | ||
212 | <2 8 0x0 0x1 /* PC8 gpio RDY pin pull_up*/ | ||
213 | 2 14 0x0 0x1>; /* PC14 gpio enable pin pull_up */ | ||
214 | }; | ||
215 | }; | ||
216 | |||
217 | macb { | ||
218 | pinctrl_macb_rmii: macb_rmii-0 { | ||
219 | atmel,pins = | ||
220 | <0 10 0x1 0x0 /* PA10 periph A */ | ||
221 | 0 11 0x1 0x0 /* PA11 periph A */ | ||
222 | 0 12 0x1 0x0 /* PA12 periph A */ | ||
223 | 0 13 0x1 0x0 /* PA13 periph A */ | ||
224 | 0 14 0x1 0x0 /* PA14 periph A */ | ||
225 | 0 15 0x1 0x0 /* PA15 periph A */ | ||
226 | 0 16 0x1 0x0 /* PA16 periph A */ | ||
227 | 0 17 0x1 0x0 /* PA17 periph A */ | ||
228 | 0 18 0x1 0x0 /* PA18 periph A */ | ||
229 | 0 19 0x1 0x0>; /* PA19 periph A */ | ||
230 | }; | ||
231 | |||
232 | pinctrl_macb_rmii_mii: macb_rmii_mii-0 { | ||
233 | atmel,pins = | ||
234 | <0 6 0x2 0x0 /* PA6 periph B */ | ||
235 | 0 7 0x2 0x0 /* PA7 periph B */ | ||
236 | 0 8 0x2 0x0 /* PA8 periph B */ | ||
237 | 0 9 0x2 0x0 /* PA9 periph B */ | ||
238 | 0 27 0x2 0x0 /* PA27 periph B */ | ||
239 | 0 28 0x2 0x0 /* PA28 periph B */ | ||
240 | 0 29 0x2 0x0 /* PA29 periph B */ | ||
241 | 0 30 0x2 0x0>; /* PA30 periph B */ | ||
242 | }; | ||
243 | }; | ||
244 | |||
245 | mmc0 { | ||
246 | pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { | ||
247 | atmel,pins = | ||
248 | <0 0 0x1 0x0 /* PA0 periph A */ | ||
249 | 0 1 0x1 0x1 /* PA1 periph A with pullup */ | ||
250 | 0 2 0x1 0x1>; /* PA2 periph A with pullup */ | ||
251 | }; | ||
252 | |||
253 | pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { | ||
254 | atmel,pins = | ||
255 | <0 3 0x1 0x1 /* PA3 periph A with pullup */ | ||
256 | 0 4 0x1 0x1 /* PA4 periph A with pullup */ | ||
257 | 0 5 0x1 0x1>; /* PA5 periph A with pullup */ | ||
258 | }; | ||
259 | |||
260 | pinctrl_mmc0_slot0_dat4_7: mmc0_slot0_dat4_7-0 { | ||
261 | atmel,pins = | ||
262 | <0 6 0x1 0x1 /* PA6 periph A with pullup */ | ||
263 | 0 7 0x1 0x1 /* PA7 periph A with pullup */ | ||
264 | 0 8 0x1 0x1 /* PA8 periph A with pullup */ | ||
265 | 0 9 0x1 0x1>; /* PA9 periph A with pullup */ | ||
266 | }; | ||
267 | }; | ||
268 | |||
269 | mmc1 { | ||
270 | pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 { | ||
271 | atmel,pins = | ||
272 | <0 31 0x1 0x0 /* PA31 periph A */ | ||
273 | 0 22 0x1 0x1 /* PA22 periph A with pullup */ | ||
274 | 0 23 0x1 0x1>; /* PA23 periph A with pullup */ | ||
275 | }; | ||
276 | |||
277 | pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { | ||
278 | atmel,pins = | ||
279 | <0 24 0x1 0x1 /* PA24 periph A with pullup */ | ||
280 | 0 25 0x1 0x1 /* PA25 periph A with pullup */ | ||
281 | 0 26 0x1 0x1>; /* PA26 periph A with pullup */ | ||
282 | }; | ||
283 | |||
284 | pinctrl_mmc1_slot0_dat4_7: mmc1_slot0_dat4_7-0 { | ||
285 | atmel,pins = | ||
286 | <0 27 0x1 0x1 /* PA27 periph A with pullup */ | ||
287 | 0 28 0x1 0x1 /* PA28 periph A with pullup */ | ||
288 | 0 29 0x1 0x1 /* PA29 periph A with pullup */ | ||
289 | 0 20 0x1 0x1>; /* PA30 periph A with pullup */ | ||
290 | }; | ||
291 | }; | ||
292 | |||
293 | pioA: gpio@fffff200 { | ||
294 | compatible = "atmel,at91rm9200-gpio"; | ||
295 | reg = <0xfffff200 0x200>; | ||
296 | interrupts = <2 4 1>; | ||
297 | #gpio-cells = <2>; | ||
298 | gpio-controller; | ||
299 | interrupt-controller; | ||
300 | #interrupt-cells = <2>; | ||
301 | }; | ||
302 | |||
303 | pioB: gpio@fffff400 { | ||
304 | compatible = "atmel,at91rm9200-gpio"; | ||
305 | reg = <0xfffff400 0x200>; | ||
306 | interrupts = <3 4 1>; | ||
307 | #gpio-cells = <2>; | ||
308 | gpio-controller; | ||
309 | interrupt-controller; | ||
310 | #interrupt-cells = <2>; | ||
311 | }; | ||
312 | |||
313 | pioC: gpio@fffff600 { | ||
314 | compatible = "atmel,at91rm9200-gpio"; | ||
315 | reg = <0xfffff600 0x200>; | ||
316 | interrupts = <4 4 1>; | ||
317 | #gpio-cells = <2>; | ||
318 | gpio-controller; | ||
319 | interrupt-controller; | ||
320 | #interrupt-cells = <2>; | ||
321 | }; | ||
322 | |||
323 | pioD: gpio@fffff800 { | ||
324 | compatible = "atmel,at91rm9200-gpio"; | ||
325 | reg = <0xfffff800 0x200>; | ||
326 | interrupts = <5 4 1>; | ||
327 | #gpio-cells = <2>; | ||
328 | gpio-controller; | ||
329 | interrupt-controller; | ||
330 | #interrupt-cells = <2>; | ||
331 | }; | ||
332 | |||
333 | pioE: gpio@fffffa00 { | ||
334 | compatible = "atmel,at91rm9200-gpio"; | ||
335 | reg = <0xfffffa00 0x200>; | ||
336 | interrupts = <5 4 1>; | ||
337 | #gpio-cells = <2>; | ||
338 | gpio-controller; | ||
339 | interrupt-controller; | ||
340 | #interrupt-cells = <2>; | ||
341 | }; | ||
159 | }; | 342 | }; |
160 | 343 | ||
161 | dbgu: serial@ffffee00 { | 344 | dbgu: serial@ffffee00 { |
162 | compatible = "atmel,at91sam9260-usart"; | 345 | compatible = "atmel,at91sam9260-usart"; |
163 | reg = <0xffffee00 0x200>; | 346 | reg = <0xffffee00 0x200>; |
164 | interrupts = <1 4 7>; | 347 | interrupts = <1 4 7>; |
348 | pinctrl-names = "default"; | ||
349 | pinctrl-0 = <&pinctrl_dbgu>; | ||
165 | status = "disabled"; | 350 | status = "disabled"; |
166 | }; | 351 | }; |
167 | 352 | ||
@@ -171,6 +356,8 @@ | |||
171 | interrupts = <7 4 5>; | 356 | interrupts = <7 4 5>; |
172 | atmel,use-dma-rx; | 357 | atmel,use-dma-rx; |
173 | atmel,use-dma-tx; | 358 | atmel,use-dma-tx; |
359 | pinctrl-names = "default"; | ||
360 | pinctrl-0 = <&pinctrl_usart0>; | ||
174 | status = "disabled"; | 361 | status = "disabled"; |
175 | }; | 362 | }; |
176 | 363 | ||
@@ -180,6 +367,8 @@ | |||
180 | interrupts = <8 4 5>; | 367 | interrupts = <8 4 5>; |
181 | atmel,use-dma-rx; | 368 | atmel,use-dma-rx; |
182 | atmel,use-dma-tx; | 369 | atmel,use-dma-tx; |
370 | pinctrl-names = "default"; | ||
371 | pinctrl-0 = <&pinctrl_usart1>; | ||
183 | status = "disabled"; | 372 | status = "disabled"; |
184 | }; | 373 | }; |
185 | 374 | ||
@@ -189,6 +378,8 @@ | |||
189 | interrupts = <9 4 5>; | 378 | interrupts = <9 4 5>; |
190 | atmel,use-dma-rx; | 379 | atmel,use-dma-rx; |
191 | atmel,use-dma-tx; | 380 | atmel,use-dma-tx; |
381 | pinctrl-names = "default"; | ||
382 | pinctrl-0 = <&pinctrl_usart2>; | ||
192 | status = "disabled"; | 383 | status = "disabled"; |
193 | }; | 384 | }; |
194 | 385 | ||
@@ -198,6 +389,8 @@ | |||
198 | interrupts = <10 4 5>; | 389 | interrupts = <10 4 5>; |
199 | atmel,use-dma-rx; | 390 | atmel,use-dma-rx; |
200 | atmel,use-dma-tx; | 391 | atmel,use-dma-tx; |
392 | pinctrl-names = "default"; | ||
393 | pinctrl-0 = <&pinctrl_usart3>; | ||
201 | status = "disabled"; | 394 | status = "disabled"; |
202 | }; | 395 | }; |
203 | 396 | ||
@@ -205,6 +398,8 @@ | |||
205 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | 398 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; |
206 | reg = <0xfffbc000 0x100>; | 399 | reg = <0xfffbc000 0x100>; |
207 | interrupts = <25 4 3>; | 400 | interrupts = <25 4 3>; |
401 | pinctrl-names = "default"; | ||
402 | pinctrl-0 = <&pinctrl_macb_rmii>; | ||
208 | status = "disabled"; | 403 | status = "disabled"; |
209 | }; | 404 | }; |
210 | 405 | ||
@@ -226,6 +421,20 @@ | |||
226 | status = "disabled"; | 421 | status = "disabled"; |
227 | }; | 422 | }; |
228 | 423 | ||
424 | ssc0: ssc@fff9c000 { | ||
425 | compatible = "atmel,at91sam9g45-ssc"; | ||
426 | reg = <0xfff9c000 0x4000>; | ||
427 | interrupts = <16 4 5>; | ||
428 | status = "disable"; | ||
429 | }; | ||
430 | |||
431 | ssc1: ssc@fffa0000 { | ||
432 | compatible = "atmel,at91sam9g45-ssc"; | ||
433 | reg = <0xfffa0000 0x4000>; | ||
434 | interrupts = <17 4 5>; | ||
435 | status = "disable"; | ||
436 | }; | ||
437 | |||
229 | adc0: adc@fffb0000 { | 438 | adc0: adc@fffb0000 { |
230 | compatible = "atmel,at91sam9260-adc"; | 439 | compatible = "atmel,at91sam9260-adc"; |
231 | reg = <0xfffb0000 0x100>; | 440 | reg = <0xfffb0000 0x100>; |
@@ -262,6 +471,30 @@ | |||
262 | trigger-value = <0x6>; | 471 | trigger-value = <0x6>; |
263 | }; | 472 | }; |
264 | }; | 473 | }; |
474 | |||
475 | mmc0: mmc@fff80000 { | ||
476 | compatible = "atmel,hsmci"; | ||
477 | reg = <0xfff80000 0x600>; | ||
478 | interrupts = <11 4 0>; | ||
479 | #address-cells = <1>; | ||
480 | #size-cells = <0>; | ||
481 | status = "disabled"; | ||
482 | }; | ||
483 | |||
484 | mmc1: mmc@fffd0000 { | ||
485 | compatible = "atmel,hsmci"; | ||
486 | reg = <0xfffd0000 0x600>; | ||
487 | interrupts = <29 4 0>; | ||
488 | #address-cells = <1>; | ||
489 | #size-cells = <0>; | ||
490 | status = "disabled"; | ||
491 | }; | ||
492 | |||
493 | watchdog@fffffd40 { | ||
494 | compatible = "atmel,at91sam9260-wdt"; | ||
495 | reg = <0xfffffd40 0x10>; | ||
496 | status = "disabled"; | ||
497 | }; | ||
265 | }; | 498 | }; |
266 | 499 | ||
267 | nand0: nand@40000000 { | 500 | nand0: nand@40000000 { |
@@ -273,6 +506,8 @@ | |||
273 | >; | 506 | >; |
274 | atmel,nand-addr-offset = <21>; | 507 | atmel,nand-addr-offset = <21>; |
275 | atmel,nand-cmd-offset = <22>; | 508 | atmel,nand-cmd-offset = <22>; |
509 | pinctrl-names = "default"; | ||
510 | pinctrl-0 = <&pinctrl_nand>; | ||
276 | gpios = <&pioC 8 0 | 511 | gpios = <&pioC 8 0 |
277 | &pioC 14 0 | 512 | &pioC 14 0 |
278 | 0 | 513 | 0 |
diff --git a/arch/arm/boot/dts/at91sam9m10g45ek.dts b/arch/arm/boot/dts/at91sam9m10g45ek.dts index 15e1dd43f625..20c31913c270 100644 --- a/arch/arm/boot/dts/at91sam9m10g45ek.dts +++ b/arch/arm/boot/dts/at91sam9m10g45ek.dts | |||
@@ -39,6 +39,10 @@ | |||
39 | }; | 39 | }; |
40 | 40 | ||
41 | usart1: serial@fff90000 { | 41 | usart1: serial@fff90000 { |
42 | pinctrl-0 = | ||
43 | <&pinctrl_usart1 | ||
44 | &pinctrl_usart1_rts | ||
45 | &pinctrl_usart1_cts>; | ||
42 | status = "okay"; | 46 | status = "okay"; |
43 | }; | 47 | }; |
44 | 48 | ||
@@ -54,6 +58,50 @@ | |||
54 | i2c1: i2c@fff88000 { | 58 | i2c1: i2c@fff88000 { |
55 | status = "okay"; | 59 | status = "okay"; |
56 | }; | 60 | }; |
61 | |||
62 | mmc0: mmc@fff80000 { | ||
63 | pinctrl-0 = < | ||
64 | &pinctrl_board_mmc0 | ||
65 | &pinctrl_mmc0_slot0_clk_cmd_dat0 | ||
66 | &pinctrl_mmc0_slot0_dat1_3>; | ||
67 | status = "okay"; | ||
68 | slot@0 { | ||
69 | reg = <0>; | ||
70 | bus-width = <4>; | ||
71 | cd-gpios = <&pioD 10 0>; | ||
72 | }; | ||
73 | }; | ||
74 | |||
75 | mmc1: mmc@fffd0000 { | ||
76 | pinctrl-0 = < | ||
77 | &pinctrl_board_mmc1 | ||
78 | &pinctrl_mmc1_slot0_clk_cmd_dat0 | ||
79 | &pinctrl_mmc1_slot0_dat1_3>; | ||
80 | status = "okay"; | ||
81 | slot@0 { | ||
82 | reg = <0>; | ||
83 | bus-width = <4>; | ||
84 | cd-gpios = <&pioD 11 0>; | ||
85 | wp-gpios = <&pioD 29 0>; | ||
86 | }; | ||
87 | }; | ||
88 | |||
89 | pinctrl@fffff200 { | ||
90 | mmc0 { | ||
91 | pinctrl_board_mmc0: mmc0-board { | ||
92 | atmel,pins = | ||
93 | <3 10 0x0 0x5>; /* PD10 gpio CD pin pull up and deglitch */ | ||
94 | }; | ||
95 | }; | ||
96 | |||
97 | mmc1 { | ||
98 | pinctrl_board_mmc1: mmc1-board { | ||
99 | atmel,pins = | ||
100 | <3 11 0x0 0x5 /* PD11 gpio CD pin pull up and deglitch */ | ||
101 | 3 29 0x0 0x1>; /* PD29 gpio WP pin pull up */ | ||
102 | }; | ||
103 | }; | ||
104 | }; | ||
57 | }; | 105 | }; |
58 | 106 | ||
59 | nand0: nand@40000000 { | 107 | nand0: nand@40000000 { |
diff --git a/arch/arm/boot/dts/at91sam9n12.dtsi b/arch/arm/boot/dts/at91sam9n12.dtsi index 82508d68aa7e..e9efb34f4379 100644 --- a/arch/arm/boot/dts/at91sam9n12.dtsi +++ b/arch/arm/boot/dts/at91sam9n12.dtsi | |||
@@ -84,6 +84,15 @@ | |||
84 | reg = <0xfffffe10 0x10>; | 84 | reg = <0xfffffe10 0x10>; |
85 | }; | 85 | }; |
86 | 86 | ||
87 | mmc0: mmc@f0008000 { | ||
88 | compatible = "atmel,hsmci"; | ||
89 | reg = <0xf0008000 0x600>; | ||
90 | interrupts = <12 4 0>; | ||
91 | #address-cells = <1>; | ||
92 | #size-cells = <0>; | ||
93 | status = "disabled"; | ||
94 | }; | ||
95 | |||
87 | tcb0: timer@f8008000 { | 96 | tcb0: timer@f8008000 { |
88 | compatible = "atmel,at91sam9x5-tcb"; | 97 | compatible = "atmel,at91sam9x5-tcb"; |
89 | reg = <0xf8008000 0x100>; | 98 | reg = <0xf8008000 0x100>; |
@@ -102,50 +111,186 @@ | |||
102 | interrupts = <20 4 0>; | 111 | interrupts = <20 4 0>; |
103 | }; | 112 | }; |
104 | 113 | ||
105 | pioA: gpio@fffff400 { | 114 | pinctrl@fffff400 { |
106 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | 115 | #address-cells = <1>; |
107 | reg = <0xfffff400 0x100>; | 116 | #size-cells = <1>; |
108 | interrupts = <2 4 1>; | 117 | compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; |
109 | #gpio-cells = <2>; | 118 | ranges = <0xfffff400 0xfffff400 0x800>; |
110 | gpio-controller; | ||
111 | interrupt-controller; | ||
112 | #interrupt-cells = <2>; | ||
113 | }; | ||
114 | 119 | ||
115 | pioB: gpio@fffff600 { | 120 | atmel,mux-mask = < |
116 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | 121 | /* A B C */ |
117 | reg = <0xfffff600 0x100>; | 122 | 0xffffffff 0xffe07983 0x00000000 /* pioA */ |
118 | interrupts = <2 4 1>; | 123 | 0x00040000 0x00047e0f 0x00000000 /* pioB */ |
119 | #gpio-cells = <2>; | 124 | 0xfdffffff 0x07c00000 0xb83fffff /* pioC */ |
120 | gpio-controller; | 125 | 0x003fffff 0x003f8000 0x00000000 /* pioD */ |
121 | interrupt-controller; | 126 | >; |
122 | #interrupt-cells = <2>; | ||
123 | }; | ||
124 | 127 | ||
125 | pioC: gpio@fffff800 { | 128 | /* shared pinctrl settings */ |
126 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | 129 | dbgu { |
127 | reg = <0xfffff800 0x100>; | 130 | pinctrl_dbgu: dbgu-0 { |
128 | interrupts = <3 4 1>; | 131 | atmel,pins = |
129 | #gpio-cells = <2>; | 132 | <0 9 0x1 0x0 /* PA9 periph A */ |
130 | gpio-controller; | 133 | 0 10 0x1 0x1>; /* PA10 periph with pullup */ |
131 | interrupt-controller; | 134 | }; |
132 | #interrupt-cells = <2>; | 135 | }; |
133 | }; | ||
134 | 136 | ||
135 | pioD: gpio@fffffa00 { | 137 | usart0 { |
136 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | 138 | pinctrl_usart0: usart0-0 { |
137 | reg = <0xfffffa00 0x100>; | 139 | atmel,pins = |
138 | interrupts = <3 4 1>; | 140 | <0 1 0x1 0x1 /* PA1 periph A with pullup */ |
139 | #gpio-cells = <2>; | 141 | 0 0 0x1 0x0>; /* PA0 periph A */ |
140 | gpio-controller; | 142 | }; |
141 | interrupt-controller; | 143 | |
142 | #interrupt-cells = <2>; | 144 | pinctrl_usart0_rts: usart0_rts-0 { |
145 | atmel,pins = | ||
146 | <0 2 0x1 0x0>; /* PA2 periph A */ | ||
147 | }; | ||
148 | |||
149 | pinctrl_usart0_cts: usart0_cts-0 { | ||
150 | atmel,pins = | ||
151 | <0 3 0x1 0x0>; /* PA3 periph A */ | ||
152 | }; | ||
153 | }; | ||
154 | |||
155 | usart1 { | ||
156 | pinctrl_usart1: usart1-0 { | ||
157 | atmel,pins = | ||
158 | <0 6 0x1 0x1 /* PA6 periph A with pullup */ | ||
159 | 0 5 0x1 0x0>; /* PA5 periph A */ | ||
160 | }; | ||
161 | }; | ||
162 | |||
163 | usart2 { | ||
164 | pinctrl_usart2: usart2-0 { | ||
165 | atmel,pins = | ||
166 | <0 8 0x1 0x1 /* PA8 periph A with pullup */ | ||
167 | 0 7 0x1 0x0>; /* PA7 periph A */ | ||
168 | }; | ||
169 | |||
170 | pinctrl_usart2_rts: usart2_rts-0 { | ||
171 | atmel,pins = | ||
172 | <1 0 0x2 0x0>; /* PB0 periph B */ | ||
173 | }; | ||
174 | |||
175 | pinctrl_usart2_cts: usart2_cts-0 { | ||
176 | atmel,pins = | ||
177 | <1 1 0x2 0x0>; /* PB1 periph B */ | ||
178 | }; | ||
179 | }; | ||
180 | |||
181 | usart3 { | ||
182 | pinctrl_usart3: usart3-0 { | ||
183 | atmel,pins = | ||
184 | <2 23 0x2 0x1 /* PC23 periph B with pullup */ | ||
185 | 2 22 0x2 0x0>; /* PC22 periph B */ | ||
186 | }; | ||
187 | |||
188 | pinctrl_usart3_rts: usart3_rts-0 { | ||
189 | atmel,pins = | ||
190 | <2 24 0x2 0x0>; /* PC24 periph B */ | ||
191 | }; | ||
192 | |||
193 | pinctrl_usart3_cts: usart3_cts-0 { | ||
194 | atmel,pins = | ||
195 | <2 25 0x2 0x0>; /* PC25 periph B */ | ||
196 | }; | ||
197 | }; | ||
198 | |||
199 | uart0 { | ||
200 | pinctrl_uart0: uart0-0 { | ||
201 | atmel,pins = | ||
202 | <2 9 0x3 0x1 /* PC9 periph C with pullup */ | ||
203 | 2 8 0x3 0x0>; /* PC8 periph C */ | ||
204 | }; | ||
205 | }; | ||
206 | |||
207 | uart1 { | ||
208 | pinctrl_uart1: uart1-0 { | ||
209 | atmel,pins = | ||
210 | <2 16 0x3 0x1 /* PC17 periph C with pullup */ | ||
211 | 2 17 0x3 0x0>; /* PC16 periph C */ | ||
212 | }; | ||
213 | }; | ||
214 | |||
215 | nand { | ||
216 | pinctrl_nand: nand-0 { | ||
217 | atmel,pins = | ||
218 | <3 5 0x0 0x1 /* PD5 gpio RDY pin pull_up*/ | ||
219 | 3 4 0x0 0x1>; /* PD4 gpio enable pin pull_up */ | ||
220 | }; | ||
221 | }; | ||
222 | |||
223 | mmc0 { | ||
224 | pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { | ||
225 | atmel,pins = | ||
226 | <0 17 0x1 0x0 /* PA17 periph A */ | ||
227 | 0 16 0x1 0x1 /* PA16 periph A with pullup */ | ||
228 | 0 15 0x1 0x1>; /* PA15 periph A with pullup */ | ||
229 | }; | ||
230 | |||
231 | pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { | ||
232 | atmel,pins = | ||
233 | <0 18 0x1 0x1 /* PA18 periph A with pullup */ | ||
234 | 0 19 0x1 0x1 /* PA19 periph A with pullup */ | ||
235 | 0 20 0x1 0x1>; /* PA20 periph A with pullup */ | ||
236 | }; | ||
237 | |||
238 | pinctrl_mmc0_slot0_dat4_7: mmc0_slot0_dat4_7-0 { | ||
239 | atmel,pins = | ||
240 | <0 11 0x2 0x1 /* PA11 periph B with pullup */ | ||
241 | 0 12 0x2 0x1 /* PA12 periph B with pullup */ | ||
242 | 0 13 0x2 0x1 /* PA13 periph B with pullup */ | ||
243 | 0 14 0x2 0x1>; /* PA14 periph B with pullup */ | ||
244 | }; | ||
245 | }; | ||
246 | |||
247 | pioA: gpio@fffff400 { | ||
248 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | ||
249 | reg = <0xfffff400 0x200>; | ||
250 | interrupts = <2 4 1>; | ||
251 | #gpio-cells = <2>; | ||
252 | gpio-controller; | ||
253 | interrupt-controller; | ||
254 | #interrupt-cells = <2>; | ||
255 | }; | ||
256 | |||
257 | pioB: gpio@fffff600 { | ||
258 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | ||
259 | reg = <0xfffff600 0x200>; | ||
260 | interrupts = <2 4 1>; | ||
261 | #gpio-cells = <2>; | ||
262 | gpio-controller; | ||
263 | interrupt-controller; | ||
264 | #interrupt-cells = <2>; | ||
265 | }; | ||
266 | |||
267 | pioC: gpio@fffff800 { | ||
268 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | ||
269 | reg = <0xfffff800 0x200>; | ||
270 | interrupts = <3 4 1>; | ||
271 | #gpio-cells = <2>; | ||
272 | gpio-controller; | ||
273 | interrupt-controller; | ||
274 | #interrupt-cells = <2>; | ||
275 | }; | ||
276 | |||
277 | pioD: gpio@fffffa00 { | ||
278 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | ||
279 | reg = <0xfffffa00 0x200>; | ||
280 | interrupts = <3 4 1>; | ||
281 | #gpio-cells = <2>; | ||
282 | gpio-controller; | ||
283 | interrupt-controller; | ||
284 | #interrupt-cells = <2>; | ||
285 | }; | ||
143 | }; | 286 | }; |
144 | 287 | ||
145 | dbgu: serial@fffff200 { | 288 | dbgu: serial@fffff200 { |
146 | compatible = "atmel,at91sam9260-usart"; | 289 | compatible = "atmel,at91sam9260-usart"; |
147 | reg = <0xfffff200 0x200>; | 290 | reg = <0xfffff200 0x200>; |
148 | interrupts = <1 4 7>; | 291 | interrupts = <1 4 7>; |
292 | pinctrl-names = "default"; | ||
293 | pinctrl-0 = <&pinctrl_dbgu>; | ||
149 | status = "disabled"; | 294 | status = "disabled"; |
150 | }; | 295 | }; |
151 | 296 | ||
@@ -155,6 +300,8 @@ | |||
155 | interrupts = <5 4 5>; | 300 | interrupts = <5 4 5>; |
156 | atmel,use-dma-rx; | 301 | atmel,use-dma-rx; |
157 | atmel,use-dma-tx; | 302 | atmel,use-dma-tx; |
303 | pinctrl-names = "default"; | ||
304 | pinctrl-0 = <&pinctrl_usart0>; | ||
158 | status = "disabled"; | 305 | status = "disabled"; |
159 | }; | 306 | }; |
160 | 307 | ||
@@ -164,6 +311,8 @@ | |||
164 | interrupts = <6 4 5>; | 311 | interrupts = <6 4 5>; |
165 | atmel,use-dma-rx; | 312 | atmel,use-dma-rx; |
166 | atmel,use-dma-tx; | 313 | atmel,use-dma-tx; |
314 | pinctrl-names = "default"; | ||
315 | pinctrl-0 = <&pinctrl_usart1>; | ||
167 | status = "disabled"; | 316 | status = "disabled"; |
168 | }; | 317 | }; |
169 | 318 | ||
@@ -173,6 +322,8 @@ | |||
173 | interrupts = <7 4 5>; | 322 | interrupts = <7 4 5>; |
174 | atmel,use-dma-rx; | 323 | atmel,use-dma-rx; |
175 | atmel,use-dma-tx; | 324 | atmel,use-dma-tx; |
325 | pinctrl-names = "default"; | ||
326 | pinctrl-0 = <&pinctrl_usart2>; | ||
176 | status = "disabled"; | 327 | status = "disabled"; |
177 | }; | 328 | }; |
178 | 329 | ||
@@ -182,6 +333,8 @@ | |||
182 | interrupts = <8 4 5>; | 333 | interrupts = <8 4 5>; |
183 | atmel,use-dma-rx; | 334 | atmel,use-dma-rx; |
184 | atmel,use-dma-tx; | 335 | atmel,use-dma-tx; |
336 | pinctrl-names = "default"; | ||
337 | pinctrl-0 = <&pinctrl_usart3>; | ||
185 | status = "disabled"; | 338 | status = "disabled"; |
186 | }; | 339 | }; |
187 | 340 | ||
@@ -215,6 +368,8 @@ | |||
215 | >; | 368 | >; |
216 | atmel,nand-addr-offset = <21>; | 369 | atmel,nand-addr-offset = <21>; |
217 | atmel,nand-cmd-offset = <22>; | 370 | atmel,nand-cmd-offset = <22>; |
371 | pinctrl-names = "default"; | ||
372 | pinctrl-0 = <&pinctrl_nand>; | ||
218 | gpios = <&pioD 5 0 | 373 | gpios = <&pioD 5 0 |
219 | &pioD 4 0 | 374 | &pioD 4 0 |
220 | 0 | 375 | 0 |
diff --git a/arch/arm/boot/dts/at91sam9n12ek.dts b/arch/arm/boot/dts/at91sam9n12ek.dts index 912b2c283d6f..0376bf4fd66b 100644 --- a/arch/arm/boot/dts/at91sam9n12ek.dts +++ b/arch/arm/boot/dts/at91sam9n12ek.dts | |||
@@ -45,6 +45,28 @@ | |||
45 | i2c1: i2c@f8014000 { | 45 | i2c1: i2c@f8014000 { |
46 | status = "okay"; | 46 | status = "okay"; |
47 | }; | 47 | }; |
48 | |||
49 | mmc0: mmc@f0008000 { | ||
50 | pinctrl-0 = < | ||
51 | &pinctrl_board_mmc0 | ||
52 | &pinctrl_mmc0_slot0_clk_cmd_dat0 | ||
53 | &pinctrl_mmc0_slot0_dat1_3>; | ||
54 | status = "okay"; | ||
55 | slot@0 { | ||
56 | reg = <0>; | ||
57 | bus-width = <4>; | ||
58 | cd-gpios = <&pioA 7 0>; | ||
59 | }; | ||
60 | }; | ||
61 | |||
62 | pinctrl@fffff400 { | ||
63 | mmc0 { | ||
64 | pinctrl_board_mmc0: mmc0-board { | ||
65 | atmel,pins = | ||
66 | <0 7 0x0 0x5>; /* PA7 gpio CD pin pull up and deglitch */ | ||
67 | }; | ||
68 | }; | ||
69 | }; | ||
48 | }; | 70 | }; |
49 | 71 | ||
50 | nand0: nand@40000000 { | 72 | nand0: nand@40000000 { |
diff --git a/arch/arm/boot/dts/at91sam9x25.dtsi b/arch/arm/boot/dts/at91sam9x25.dtsi new file mode 100644 index 000000000000..54eb33ba6d22 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9x25.dtsi | |||
@@ -0,0 +1,49 @@ | |||
1 | /* | ||
2 | * at91sam9x25.dtsi - Device Tree Include file for AT91SAM9X25 SoC | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | |||
9 | /include/ "at91sam9x5.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel AT91SAM9X25 SoC"; | ||
13 | compatible = "atmel, at91sam9x25, atmel,at91sam9x5"; | ||
14 | |||
15 | ahb { | ||
16 | apb { | ||
17 | pinctrl@fffff400 { | ||
18 | atmel,mux-mask = < | ||
19 | /* A B C */ | ||
20 | 0xffffffff 0xffe03fff 0xc000001c /* pioA */ | ||
21 | 0x0007ffff 0x00047e3f 0x00000000 /* pioB */ | ||
22 | 0x80000000 0xfffd0000 0xb83fffff /* pioC */ | ||
23 | 0x003fffff 0x003f8000 0x00000000 /* pioD */ | ||
24 | >; | ||
25 | |||
26 | macb1 { | ||
27 | pinctrl_macb1_rmii: macb1_rmii-0 { | ||
28 | atmel,pins = | ||
29 | <2 16 0x2 0x0 /* PC16 periph B */ | ||
30 | 2 18 0x2 0x0 /* PC18 periph B */ | ||
31 | 2 19 0x2 0x0 /* PC19 periph B */ | ||
32 | 2 20 0x2 0x0 /* PC20 periph B */ | ||
33 | 2 21 0x2 0x0 /* PC21 periph B */ | ||
34 | 2 27 0x2 0x0 /* PC27 periph B */ | ||
35 | 2 28 0x2 0x0 /* PC28 periph B */ | ||
36 | 2 29 0x2 0x0 /* PC29 periph B */ | ||
37 | 2 30 0x2 0x0 /* PC30 periph B */ | ||
38 | 2 31 0x2 0x0>; /* PC31 periph B */ | ||
39 | }; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | macb1: ethernet@f8030000 { | ||
44 | pinctrl-names = "default"; | ||
45 | pinctrl-0 = <&pinctrl_macb1_rmii>; | ||
46 | }; | ||
47 | }; | ||
48 | }; | ||
49 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9x25ek.dts b/arch/arm/boot/dts/at91sam9x25ek.dts new file mode 100644 index 000000000000..af907eaa1f25 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9x25ek.dts | |||
@@ -0,0 +1,16 @@ | |||
1 | /* | ||
2 | * at91sam9x25ek.dts - Device Tree file for AT91SAM9X25-EK board | ||
3 | * | ||
4 | * Copyright (C) 2012 Atmel, | ||
5 | * 2012 Nicolas Ferre <nicolas.ferre@atmel.com> | ||
6 | * | ||
7 | * Licensed under GPLv2 or later. | ||
8 | */ | ||
9 | /dts-v1/; | ||
10 | /include/ "at91sam9x25.dtsi" | ||
11 | /include/ "at91sam9x5ek.dtsi" | ||
12 | |||
13 | / { | ||
14 | model = "Atmel AT91SAM9G25-EK"; | ||
15 | compatible = "atmel,at91sam9x25ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; | ||
16 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9x35.dtsi b/arch/arm/boot/dts/at91sam9x35.dtsi new file mode 100644 index 000000000000..fb102d6126ce --- /dev/null +++ b/arch/arm/boot/dts/at91sam9x35.dtsi | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * at91sam9x35.dtsi - Device Tree Include file for AT91SAM9X35 SoC | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | |||
9 | /include/ "at91sam9x5.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel AT91SAM9X35 SoC"; | ||
13 | compatible = "atmel, at91sam9x35, atmel,at91sam9x5"; | ||
14 | |||
15 | ahb { | ||
16 | apb { | ||
17 | pinctrl@fffff400 { | ||
18 | atmel,mux-mask = < | ||
19 | /* A B C */ | ||
20 | 0xffffffff 0xffe03fff 0xc000000c /* pioA */ | ||
21 | 0x000406ff 0x00047e3f 0x00000000 /* pioB */ | ||
22 | 0xfdffffff 0x00000000 0xb83fffff /* pioC */ | ||
23 | 0x003fffff 0x003f8000 0x00000000 /* pioD */ | ||
24 | >; | ||
25 | }; | ||
26 | }; | ||
27 | }; | ||
28 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9x35ek.dts b/arch/arm/boot/dts/at91sam9x35ek.dts new file mode 100644 index 000000000000..5ccb607b5414 --- /dev/null +++ b/arch/arm/boot/dts/at91sam9x35ek.dts | |||
@@ -0,0 +1,16 @@ | |||
1 | /* | ||
2 | * at91sam9x35ek.dts - Device Tree file for AT91SAM9X35-EK board | ||
3 | * | ||
4 | * Copyright (C) 2012 Atmel, | ||
5 | * 2012 Nicolas Ferre <nicolas.ferre@atmel.com> | ||
6 | * | ||
7 | * Licensed under GPLv2 or later. | ||
8 | */ | ||
9 | /dts-v1/; | ||
10 | /include/ "at91sam9x35.dtsi" | ||
11 | /include/ "at91sam9x5ek.dtsi" | ||
12 | |||
13 | / { | ||
14 | model = "Atmel AT91SAM9X35-EK"; | ||
15 | compatible = "atmel,at91sam9x35ek", "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; | ||
16 | }; | ||
diff --git a/arch/arm/boot/dts/at91sam9x5.dtsi b/arch/arm/boot/dts/at91sam9x5.dtsi index 03fc136421c5..617ede541ca2 100644 --- a/arch/arm/boot/dts/at91sam9x5.dtsi +++ b/arch/arm/boot/dts/at91sam9x5.dtsi | |||
@@ -30,6 +30,7 @@ | |||
30 | i2c0 = &i2c0; | 30 | i2c0 = &i2c0; |
31 | i2c1 = &i2c1; | 31 | i2c1 = &i2c1; |
32 | i2c2 = &i2c2; | 32 | i2c2 = &i2c2; |
33 | ssc0 = &ssc0; | ||
33 | }; | 34 | }; |
34 | cpus { | 35 | cpus { |
35 | cpu@0 { | 36 | cpu@0 { |
@@ -87,6 +88,13 @@ | |||
87 | interrupts = <1 4 7>; | 88 | interrupts = <1 4 7>; |
88 | }; | 89 | }; |
89 | 90 | ||
91 | ssc0: ssc@f0010000 { | ||
92 | compatible = "atmel,at91sam9g45-ssc"; | ||
93 | reg = <0xf0010000 0x4000>; | ||
94 | interrupts = <28 4 5>; | ||
95 | status = "disable"; | ||
96 | }; | ||
97 | |||
90 | tcb0: timer@f8008000 { | 98 | tcb0: timer@f8008000 { |
91 | compatible = "atmel,at91sam9x5-tcb"; | 99 | compatible = "atmel,at91sam9x5-tcb"; |
92 | reg = <0xf8008000 0x100>; | 100 | reg = <0xf8008000 0x100>; |
@@ -111,50 +119,244 @@ | |||
111 | interrupts = <21 4 0>; | 119 | interrupts = <21 4 0>; |
112 | }; | 120 | }; |
113 | 121 | ||
114 | pioA: gpio@fffff400 { | 122 | pinctrl@fffff400 { |
115 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | 123 | #address-cells = <1>; |
116 | reg = <0xfffff400 0x100>; | 124 | #size-cells = <1>; |
117 | interrupts = <2 4 1>; | 125 | compatible = "atmel,at91sam9x5-pinctrl", "atmel,at91rm9200-pinctrl", "simple-bus"; |
118 | #gpio-cells = <2>; | 126 | ranges = <0xfffff400 0xfffff400 0x800>; |
119 | gpio-controller; | 127 | |
120 | interrupt-controller; | 128 | /* shared pinctrl settings */ |
121 | #interrupt-cells = <2>; | 129 | dbgu { |
122 | }; | 130 | pinctrl_dbgu: dbgu-0 { |
131 | atmel,pins = | ||
132 | <0 9 0x1 0x0 /* PA9 periph A */ | ||
133 | 0 10 0x1 0x1>; /* PA10 periph A with pullup */ | ||
134 | }; | ||
135 | }; | ||
123 | 136 | ||
124 | pioB: gpio@fffff600 { | 137 | usart0 { |
125 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | 138 | pinctrl_usart0: usart0-0 { |
126 | reg = <0xfffff600 0x100>; | 139 | atmel,pins = |
127 | interrupts = <2 4 1>; | 140 | <0 0 0x1 0x1 /* PA0 periph A with pullup */ |
128 | #gpio-cells = <2>; | 141 | 0 1 0x1 0x0>; /* PA1 periph A */ |
129 | gpio-controller; | 142 | }; |
130 | interrupt-controller; | 143 | |
131 | #interrupt-cells = <2>; | 144 | pinctrl_usart0_rts: usart0_rts-0 { |
145 | atmel,pins = | ||
146 | <0 2 0x1 0x0>; /* PA2 periph A */ | ||
147 | }; | ||
148 | |||
149 | pinctrl_usart0_cts: usart0_cts-0 { | ||
150 | atmel,pins = | ||
151 | <0 3 0x1 0x0>; /* PA3 periph A */ | ||
152 | }; | ||
153 | }; | ||
154 | |||
155 | usart1 { | ||
156 | pinctrl_usart1: usart1-0 { | ||
157 | atmel,pins = | ||
158 | <0 5 0x1 0x1 /* PA5 periph A with pullup */ | ||
159 | 0 6 0x1 0x0>; /* PA6 periph A */ | ||
160 | }; | ||
161 | |||
162 | pinctrl_usart1_rts: usart1_rts-0 { | ||
163 | atmel,pins = | ||
164 | <3 27 0x3 0x0>; /* PC27 periph C */ | ||
165 | }; | ||
166 | |||
167 | pinctrl_usart1_cts: usart1_cts-0 { | ||
168 | atmel,pins = | ||
169 | <3 28 0x3 0x0>; /* PC28 periph C */ | ||
170 | }; | ||
171 | }; | ||
172 | |||
173 | usart2 { | ||
174 | pinctrl_usart2: usart2-0 { | ||
175 | atmel,pins = | ||
176 | <0 7 0x1 0x1 /* PA7 periph A with pullup */ | ||
177 | 0 8 0x1 0x0>; /* PA8 periph A */ | ||
178 | }; | ||
179 | |||
180 | pinctrl_uart2_rts: uart2_rts-0 { | ||
181 | atmel,pins = | ||
182 | <0 0 0x2 0x0>; /* PB0 periph B */ | ||
183 | }; | ||
184 | |||
185 | pinctrl_uart2_cts: uart2_cts-0 { | ||
186 | atmel,pins = | ||
187 | <0 1 0x2 0x0>; /* PB1 periph B */ | ||
188 | }; | ||
189 | }; | ||
190 | |||
191 | usart3 { | ||
192 | pinctrl_uart3: usart3-0 { | ||
193 | atmel,pins = | ||
194 | <3 23 0x2 0x1 /* PC22 periph B with pullup */ | ||
195 | 3 23 0x2 0x0>; /* PC23 periph B */ | ||
196 | }; | ||
197 | |||
198 | pinctrl_usart3_rts: usart3_rts-0 { | ||
199 | atmel,pins = | ||
200 | <3 24 0x2 0x0>; /* PC24 periph B */ | ||
201 | }; | ||
202 | |||
203 | pinctrl_usart3_cts: usart3_cts-0 { | ||
204 | atmel,pins = | ||
205 | <3 25 0x2 0x0>; /* PC25 periph B */ | ||
206 | }; | ||
207 | }; | ||
208 | |||
209 | uart0 { | ||
210 | pinctrl_uart0: uart0-0 { | ||
211 | atmel,pins = | ||
212 | <3 8 0x3 0x0 /* PC8 periph C */ | ||
213 | 3 9 0x3 0x1>; /* PC9 periph C with pullup */ | ||
214 | }; | ||
215 | }; | ||
216 | |||
217 | uart1 { | ||
218 | pinctrl_uart1: uart1-0 { | ||
219 | atmel,pins = | ||
220 | <3 16 0x3 0x0 /* PC16 periph C */ | ||
221 | 3 17 0x3 0x1>; /* PC17 periph C with pullup */ | ||
222 | }; | ||
223 | }; | ||
224 | |||
225 | nand { | ||
226 | pinctrl_nand: nand-0 { | ||
227 | atmel,pins = | ||
228 | <3 4 0x0 0x1 /* PD5 gpio RDY pin pull_up */ | ||
229 | 3 5 0x0 0x1>; /* PD4 gpio enable pin pull_up */ | ||
230 | }; | ||
231 | }; | ||
232 | |||
233 | macb0 { | ||
234 | pinctrl_macb0_rmii: macb0_rmii-0 { | ||
235 | atmel,pins = | ||
236 | <1 0 0x1 0x0 /* PB0 periph A */ | ||
237 | 1 1 0x1 0x0 /* PB1 periph A */ | ||
238 | 1 2 0x1 0x0 /* PB2 periph A */ | ||
239 | 1 3 0x1 0x0 /* PB3 periph A */ | ||
240 | 1 4 0x1 0x0 /* PB4 periph A */ | ||
241 | 1 5 0x1 0x0 /* PB5 periph A */ | ||
242 | 1 6 0x1 0x0 /* PB6 periph A */ | ||
243 | 1 7 0x1 0x0 /* PB7 periph A */ | ||
244 | 1 9 0x1 0x0 /* PB9 periph A */ | ||
245 | 1 10 0x1 0x0>; /* PB10 periph A */ | ||
246 | }; | ||
247 | |||
248 | pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 { | ||
249 | atmel,pins = | ||
250 | <1 8 0x1 0x0 /* PA8 periph A */ | ||
251 | 1 11 0x1 0x0 /* PA11 periph A */ | ||
252 | 1 12 0x1 0x0 /* PA12 periph A */ | ||
253 | 1 13 0x1 0x0 /* PA13 periph A */ | ||
254 | 1 14 0x1 0x0 /* PA14 periph A */ | ||
255 | 1 15 0x1 0x0 /* PA15 periph A */ | ||
256 | 1 16 0x1 0x0 /* PA16 periph A */ | ||
257 | 1 17 0x1 0x0>; /* PA17 periph A */ | ||
258 | }; | ||
259 | }; | ||
260 | |||
261 | mmc0 { | ||
262 | pinctrl_mmc0_slot0_clk_cmd_dat0: mmc0_slot0_clk_cmd_dat0-0 { | ||
263 | atmel,pins = | ||
264 | <0 17 0x1 0x0 /* PA17 periph A */ | ||
265 | 0 16 0x1 0x1 /* PA16 periph A with pullup */ | ||
266 | 0 15 0x1 0x1>; /* PA15 periph A with pullup */ | ||
267 | }; | ||
268 | |||
269 | pinctrl_mmc0_slot0_dat1_3: mmc0_slot0_dat1_3-0 { | ||
270 | atmel,pins = | ||
271 | <0 18 0x1 0x1 /* PA18 periph A with pullup */ | ||
272 | 0 19 0x1 0x1 /* PA19 periph A with pullup */ | ||
273 | 0 20 0x1 0x1>; /* PA20 periph A with pullup */ | ||
274 | }; | ||
275 | }; | ||
276 | |||
277 | mmc1 { | ||
278 | pinctrl_mmc1_slot0_clk_cmd_dat0: mmc1_slot0_clk_cmd_dat0-0 { | ||
279 | atmel,pins = | ||
280 | <0 13 0x2 0x0 /* PA13 periph B */ | ||
281 | 0 12 0x2 0x1 /* PA12 periph B with pullup */ | ||
282 | 0 11 0x2 0x1>; /* PA11 periph B with pullup */ | ||
283 | }; | ||
284 | |||
285 | pinctrl_mmc1_slot0_dat1_3: mmc1_slot0_dat1_3-0 { | ||
286 | atmel,pins = | ||
287 | <0 2 0x2 0x1 /* PA2 periph B with pullup */ | ||
288 | 0 3 0x2 0x1 /* PA3 periph B with pullup */ | ||
289 | 0 4 0x2 0x1>; /* PA4 periph B with pullup */ | ||
290 | }; | ||
291 | }; | ||
292 | |||
293 | pioA: gpio@fffff400 { | ||
294 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | ||
295 | reg = <0xfffff400 0x200>; | ||
296 | interrupts = <2 4 1>; | ||
297 | #gpio-cells = <2>; | ||
298 | gpio-controller; | ||
299 | interrupt-controller; | ||
300 | #interrupt-cells = <2>; | ||
301 | }; | ||
302 | |||
303 | pioB: gpio@fffff600 { | ||
304 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | ||
305 | reg = <0xfffff600 0x200>; | ||
306 | interrupts = <2 4 1>; | ||
307 | #gpio-cells = <2>; | ||
308 | gpio-controller; | ||
309 | #gpio-lines = <19>; | ||
310 | interrupt-controller; | ||
311 | #interrupt-cells = <2>; | ||
312 | }; | ||
313 | |||
314 | pioC: gpio@fffff800 { | ||
315 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | ||
316 | reg = <0xfffff800 0x200>; | ||
317 | interrupts = <3 4 1>; | ||
318 | #gpio-cells = <2>; | ||
319 | gpio-controller; | ||
320 | interrupt-controller; | ||
321 | #interrupt-cells = <2>; | ||
322 | }; | ||
323 | |||
324 | pioD: gpio@fffffa00 { | ||
325 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | ||
326 | reg = <0xfffffa00 0x200>; | ||
327 | interrupts = <3 4 1>; | ||
328 | #gpio-cells = <2>; | ||
329 | gpio-controller; | ||
330 | #gpio-lines = <22>; | ||
331 | interrupt-controller; | ||
332 | #interrupt-cells = <2>; | ||
333 | }; | ||
132 | }; | 334 | }; |
133 | 335 | ||
134 | pioC: gpio@fffff800 { | 336 | mmc0: mmc@f0008000 { |
135 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | 337 | compatible = "atmel,hsmci"; |
136 | reg = <0xfffff800 0x100>; | 338 | reg = <0xf0008000 0x600>; |
137 | interrupts = <3 4 1>; | 339 | interrupts = <12 4 0>; |
138 | #gpio-cells = <2>; | 340 | #address-cells = <1>; |
139 | gpio-controller; | 341 | #size-cells = <0>; |
140 | interrupt-controller; | 342 | status = "disabled"; |
141 | #interrupt-cells = <2>; | ||
142 | }; | 343 | }; |
143 | 344 | ||
144 | pioD: gpio@fffffa00 { | 345 | mmc1: mmc@f000c000 { |
145 | compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio"; | 346 | compatible = "atmel,hsmci"; |
146 | reg = <0xfffffa00 0x100>; | 347 | reg = <0xf000c000 0x600>; |
147 | interrupts = <3 4 1>; | 348 | interrupts = <26 4 0>; |
148 | #gpio-cells = <2>; | 349 | #address-cells = <1>; |
149 | gpio-controller; | 350 | #size-cells = <0>; |
150 | interrupt-controller; | 351 | status = "disabled"; |
151 | #interrupt-cells = <2>; | ||
152 | }; | 352 | }; |
153 | 353 | ||
154 | dbgu: serial@fffff200 { | 354 | dbgu: serial@fffff200 { |
155 | compatible = "atmel,at91sam9260-usart"; | 355 | compatible = "atmel,at91sam9260-usart"; |
156 | reg = <0xfffff200 0x200>; | 356 | reg = <0xfffff200 0x200>; |
157 | interrupts = <1 4 7>; | 357 | interrupts = <1 4 7>; |
358 | pinctrl-names = "default"; | ||
359 | pinctrl-0 = <&pinctrl_dbgu>; | ||
158 | status = "disabled"; | 360 | status = "disabled"; |
159 | }; | 361 | }; |
160 | 362 | ||
@@ -164,6 +366,8 @@ | |||
164 | interrupts = <5 4 5>; | 366 | interrupts = <5 4 5>; |
165 | atmel,use-dma-rx; | 367 | atmel,use-dma-rx; |
166 | atmel,use-dma-tx; | 368 | atmel,use-dma-tx; |
369 | pinctrl-names = "default"; | ||
370 | pinctrl-0 = <&pinctrl_usart0>; | ||
167 | status = "disabled"; | 371 | status = "disabled"; |
168 | }; | 372 | }; |
169 | 373 | ||
@@ -173,6 +377,8 @@ | |||
173 | interrupts = <6 4 5>; | 377 | interrupts = <6 4 5>; |
174 | atmel,use-dma-rx; | 378 | atmel,use-dma-rx; |
175 | atmel,use-dma-tx; | 379 | atmel,use-dma-tx; |
380 | pinctrl-names = "default"; | ||
381 | pinctrl-0 = <&pinctrl_usart1>; | ||
176 | status = "disabled"; | 382 | status = "disabled"; |
177 | }; | 383 | }; |
178 | 384 | ||
@@ -182,6 +388,8 @@ | |||
182 | interrupts = <7 4 5>; | 388 | interrupts = <7 4 5>; |
183 | atmel,use-dma-rx; | 389 | atmel,use-dma-rx; |
184 | atmel,use-dma-tx; | 390 | atmel,use-dma-tx; |
391 | pinctrl-names = "default"; | ||
392 | pinctrl-0 = <&pinctrl_usart2>; | ||
185 | status = "disabled"; | 393 | status = "disabled"; |
186 | }; | 394 | }; |
187 | 395 | ||
@@ -189,6 +397,8 @@ | |||
189 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; | 397 | compatible = "cdns,at32ap7000-macb", "cdns,macb"; |
190 | reg = <0xf802c000 0x100>; | 398 | reg = <0xf802c000 0x100>; |
191 | interrupts = <24 4 3>; | 399 | interrupts = <24 4 3>; |
400 | pinctrl-names = "default"; | ||
401 | pinctrl-0 = <&pinctrl_macb0_rmii>; | ||
192 | status = "disabled"; | 402 | status = "disabled"; |
193 | }; | 403 | }; |
194 | 404 | ||
@@ -273,6 +483,8 @@ | |||
273 | >; | 483 | >; |
274 | atmel,nand-addr-offset = <21>; | 484 | atmel,nand-addr-offset = <21>; |
275 | atmel,nand-cmd-offset = <22>; | 485 | atmel,nand-cmd-offset = <22>; |
486 | pinctrl-names = "default"; | ||
487 | pinctrl-0 = <&pinctrl_nand>; | ||
276 | gpios = <&pioD 5 0 | 488 | gpios = <&pioD 5 0 |
277 | &pioD 4 0 | 489 | &pioD 4 0 |
278 | 0 | 490 | 0 |
diff --git a/arch/arm/boot/dts/at91sam9x5ek.dtsi b/arch/arm/boot/dts/at91sam9x5ek.dtsi new file mode 100644 index 000000000000..8a7cf1d9cf5d --- /dev/null +++ b/arch/arm/boot/dts/at91sam9x5ek.dtsi | |||
@@ -0,0 +1,101 @@ | |||
1 | /* | ||
2 | * at91sam9x5ek.dtsi - Device Tree file for AT91SAM9x5CM Base board | ||
3 | * | ||
4 | * Copyright (C) 2012 Atmel, | ||
5 | * 2012 Nicolas Ferre <nicolas.ferre@atmel.com> | ||
6 | * | ||
7 | * Licensed under GPLv2 or later. | ||
8 | */ | ||
9 | /include/ "at91sam9x5cm.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel AT91SAM9X5-EK"; | ||
13 | compatible = "atmel,at91sam9x5ek", "atmel,at91sam9x5", "atmel,at91sam9"; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "128M console=ttyS0,115200 root=/dev/mtdblock1 rw rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs"; | ||
17 | }; | ||
18 | |||
19 | ahb { | ||
20 | apb { | ||
21 | mmc0: mmc@f0008000 { | ||
22 | pinctrl-0 = < | ||
23 | &pinctrl_board_mmc0 | ||
24 | &pinctrl_mmc0_slot0_clk_cmd_dat0 | ||
25 | &pinctrl_mmc0_slot0_dat1_3>; | ||
26 | status = "okay"; | ||
27 | slot@0 { | ||
28 | reg = <0>; | ||
29 | bus-width = <4>; | ||
30 | cd-gpios = <&pioD 15 0>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | mmc1: mmc@f000c000 { | ||
35 | pinctrl-0 = < | ||
36 | &pinctrl_board_mmc1 | ||
37 | &pinctrl_mmc1_slot0_clk_cmd_dat0 | ||
38 | &pinctrl_mmc1_slot0_dat1_3>; | ||
39 | status = "okay"; | ||
40 | slot@0 { | ||
41 | reg = <0>; | ||
42 | bus-width = <4>; | ||
43 | cd-gpios = <&pioD 14 0>; | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | dbgu: serial@fffff200 { | ||
48 | status = "okay"; | ||
49 | }; | ||
50 | |||
51 | usart0: serial@f801c000 { | ||
52 | status = "okay"; | ||
53 | }; | ||
54 | |||
55 | macb0: ethernet@f802c000 { | ||
56 | phy-mode = "rmii"; | ||
57 | status = "okay"; | ||
58 | }; | ||
59 | |||
60 | i2c0: i2c@f8010000 { | ||
61 | status = "okay"; | ||
62 | }; | ||
63 | |||
64 | i2c1: i2c@f8014000 { | ||
65 | status = "okay"; | ||
66 | }; | ||
67 | |||
68 | i2c2: i2c@f8018000 { | ||
69 | status = "okay"; | ||
70 | }; | ||
71 | |||
72 | pinctrl@fffff400 { | ||
73 | mmc0 { | ||
74 | pinctrl_board_mmc0: mmc0-board { | ||
75 | atmel,pins = | ||
76 | <3 15 0x0 0x5>; /* PD15 gpio CD pin pull up and deglitch */ | ||
77 | }; | ||
78 | }; | ||
79 | |||
80 | mmc1 { | ||
81 | pinctrl_board_mmc1: mmc1-board { | ||
82 | atmel,pins = | ||
83 | <3 14 0x0 0x5>; /* PD14 gpio CD pin pull up and deglitch */ | ||
84 | }; | ||
85 | }; | ||
86 | }; | ||
87 | }; | ||
88 | |||
89 | usb0: ohci@00600000 { | ||
90 | status = "okay"; | ||
91 | num-ports = <2>; | ||
92 | atmel,vbus-gpio = <&pioD 19 1 | ||
93 | &pioD 20 1 | ||
94 | >; | ||
95 | }; | ||
96 | |||
97 | usb1: ehci@00700000 { | ||
98 | status = "okay"; | ||
99 | }; | ||
100 | }; | ||
101 | }; | ||
diff --git a/arch/arm/boot/dts/bcm11351-brt.dts b/arch/arm/boot/dts/bcm11351-brt.dts new file mode 100644 index 000000000000..248067cf7069 --- /dev/null +++ b/arch/arm/boot/dts/bcm11351-brt.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Broadcom Corporation | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License as | ||
6 | * published by the Free Software Foundation version 2. | ||
7 | * | ||
8 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
9 | * kind, whether express or implied; without even the implied warranty | ||
10 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | |||
16 | /include/ "bcm11351.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "BCM11351 BRT board"; | ||
20 | compatible = "bcm,bcm11351-brt", "bcm,bcm11351"; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x80000000 0x40000000>; /* 1 GB */ | ||
24 | }; | ||
25 | |||
26 | uart@3e000000 { | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | |||
30 | }; | ||
diff --git a/arch/arm/boot/dts/bcm11351.dtsi b/arch/arm/boot/dts/bcm11351.dtsi new file mode 100644 index 000000000000..ad135885bd2a --- /dev/null +++ b/arch/arm/boot/dts/bcm11351.dtsi | |||
@@ -0,0 +1,50 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Broadcom Corporation | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License as | ||
6 | * published by the Free Software Foundation version 2. | ||
7 | * | ||
8 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
9 | * kind, whether express or implied; without even the implied warranty | ||
10 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | /include/ "skeleton.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "BCM11351 SoC"; | ||
18 | compatible = "bcm,bcm11351"; | ||
19 | interrupt-parent = <&gic>; | ||
20 | |||
21 | chosen { | ||
22 | bootargs = "console=ttyS0,115200n8"; | ||
23 | }; | ||
24 | |||
25 | gic: interrupt-controller@3ff00100 { | ||
26 | compatible = "arm,cortex-a9-gic"; | ||
27 | #interrupt-cells = <3>; | ||
28 | #address-cells = <0>; | ||
29 | interrupt-controller; | ||
30 | reg = <0x3ff01000 0x1000>, | ||
31 | <0x3ff00100 0x100>; | ||
32 | }; | ||
33 | |||
34 | uart@3e000000 { | ||
35 | compatible = "bcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart"; | ||
36 | status = "disabled"; | ||
37 | reg = <0x3e000000 0x1000>; | ||
38 | clock-frequency = <13000000>; | ||
39 | interrupts = <0x0 67 0x4>; | ||
40 | reg-shift = <2>; | ||
41 | reg-io-width = <4>; | ||
42 | }; | ||
43 | |||
44 | L2: l2-cache { | ||
45 | compatible = "arm,pl310-cache"; | ||
46 | reg = <0x3ff20000 0x1000>; | ||
47 | cache-unified; | ||
48 | cache-level = <2>; | ||
49 | }; | ||
50 | }; | ||
diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts index 7dd860f83f96..9b72054a0bc0 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts | |||
@@ -10,3 +10,18 @@ | |||
10 | reg = <0 0x10000000>; | 10 | reg = <0 0x10000000>; |
11 | }; | 11 | }; |
12 | }; | 12 | }; |
13 | |||
14 | &gpio { | ||
15 | pinctrl-names = "default"; | ||
16 | pinctrl-0 = <&alt0 &alt3>; | ||
17 | |||
18 | alt0: alt0 { | ||
19 | brcm,pins = <0 1 2 3 4 5 6 7 8 9 10 11 14 15 40 45>; | ||
20 | brcm,function = <4>; /* alt0 */ | ||
21 | }; | ||
22 | |||
23 | alt3: alt3 { | ||
24 | brcm,pins = <48 49 50 51 52 53>; | ||
25 | brcm,function = <7>; /* alt3 */ | ||
26 | }; | ||
27 | }; | ||
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi index 0b619398532c..8917550fd1bb 100644 --- a/arch/arm/boot/dts/bcm2835.dtsi +++ b/arch/arm/boot/dts/bcm2835.dtsi | |||
@@ -29,11 +29,39 @@ | |||
29 | #interrupt-cells = <2>; | 29 | #interrupt-cells = <2>; |
30 | }; | 30 | }; |
31 | 31 | ||
32 | watchdog { | ||
33 | compatible = "brcm,bcm2835-pm-wdt"; | ||
34 | reg = <0x7e100000 0x28>; | ||
35 | }; | ||
36 | |||
32 | uart@20201000 { | 37 | uart@20201000 { |
33 | compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; | 38 | compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell"; |
34 | reg = <0x7e201000 0x1000>; | 39 | reg = <0x7e201000 0x1000>; |
35 | interrupts = <2 25>; | 40 | interrupts = <2 25>; |
36 | clock-frequency = <3000000>; | 41 | clock-frequency = <3000000>; |
37 | }; | 42 | }; |
43 | |||
44 | gpio: gpio { | ||
45 | compatible = "brcm,bcm2835-gpio"; | ||
46 | reg = <0x7e200000 0xb4>; | ||
47 | /* | ||
48 | * The GPIO IP block is designed for 3 banks of GPIOs. | ||
49 | * Each bank has a GPIO interrupt for itself. | ||
50 | * There is an overall "any bank" interrupt. | ||
51 | * In order, these are GIC interrupts 17, 18, 19, 20. | ||
52 | * Since the BCM2835 only has 2 banks, the 2nd bank | ||
53 | * interrupt output appears to be mirrored onto the | ||
54 | * 3rd bank's interrupt signal. | ||
55 | * So, a bank0 interrupt shows up on 17, 20, and | ||
56 | * a bank1 interrupt shows up on 18, 19, 20! | ||
57 | */ | ||
58 | interrupts = <2 17>, <2 18>, <2 19>, <2 20>; | ||
59 | |||
60 | gpio-controller; | ||
61 | #gpio-cells = <2>; | ||
62 | |||
63 | interrupt-controller; | ||
64 | #interrupt-cells = <2>; | ||
65 | }; | ||
38 | }; | 66 | }; |
39 | }; | 67 | }; |
diff --git a/arch/arm/boot/dts/ccu9540.dts b/arch/arm/boot/dts/ccu9540.dts new file mode 100644 index 000000000000..04305463f00d --- /dev/null +++ b/arch/arm/boot/dts/ccu9540.dts | |||
@@ -0,0 +1,72 @@ | |||
1 | /* | ||
2 | * Copyright 2012 ST-Ericsson AB | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "dbx5x0.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "ST-Ericsson CCU9540 platform with Device Tree"; | ||
17 | compatible = "st-ericsson,ccu9540", "st-ericsson,u9540"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x00000000 0x20000000>; | ||
21 | }; | ||
22 | |||
23 | soc-u9500 { | ||
24 | uart@80120000 { | ||
25 | status = "okay"; | ||
26 | }; | ||
27 | |||
28 | uart@80121000 { | ||
29 | status = "okay"; | ||
30 | }; | ||
31 | |||
32 | uart@80007000 { | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | |||
36 | // External Micro SD slot | ||
37 | sdi0_per1@80126000 { | ||
38 | arm,primecell-periphid = <0x10480180>; | ||
39 | max-frequency = <100000000>; | ||
40 | bus-width = <4>; | ||
41 | mmc-cap-sd-highspeed; | ||
42 | mmc-cap-mmc-highspeed; | ||
43 | vmmc-supply = <&ab8500_ldo_aux3_reg>; | ||
44 | |||
45 | cd-gpios = <&gpio7 6 0x4>; // 230 | ||
46 | cd-inverted; | ||
47 | |||
48 | status = "okay"; | ||
49 | }; | ||
50 | |||
51 | |||
52 | // WLAN SDIO channel | ||
53 | sdi1_per2@80118000 { | ||
54 | arm,primecell-periphid = <0x10480180>; | ||
55 | max-frequency = <50000000>; | ||
56 | bus-width = <4>; | ||
57 | |||
58 | status = "okay"; | ||
59 | }; | ||
60 | |||
61 | // On-board eMMC | ||
62 | sdi4_per2@80114000 { | ||
63 | arm,primecell-periphid = <0x10480180>; | ||
64 | max-frequency = <100000000>; | ||
65 | bus-width = <8>; | ||
66 | mmc-cap-mmc-highspeed; | ||
67 | vmmc-supply = <&ab8500_ldo_aux2_reg>; | ||
68 | |||
69 | status = "okay"; | ||
70 | }; | ||
71 | }; | ||
72 | }; | ||
diff --git a/arch/arm/boot/dts/cros5250-common.dtsi b/arch/arm/boot/dts/cros5250-common.dtsi new file mode 100644 index 000000000000..fddd17417433 --- /dev/null +++ b/arch/arm/boot/dts/cros5250-common.dtsi | |||
@@ -0,0 +1,184 @@ | |||
1 | /* | ||
2 | * Common device tree include for all Exynos 5250 boards based off of Daisy. | ||
3 | * | ||
4 | * Copyright (c) 2012 Google, Inc | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | / { | ||
12 | aliases { | ||
13 | }; | ||
14 | |||
15 | memory { | ||
16 | reg = <0x40000000 0x80000000>; | ||
17 | }; | ||
18 | |||
19 | chosen { | ||
20 | }; | ||
21 | |||
22 | i2c@12C60000 { | ||
23 | samsung,i2c-sda-delay = <100>; | ||
24 | samsung,i2c-max-bus-freq = <378000>; | ||
25 | gpios = <&gpb3 0 2 3 0>, | ||
26 | <&gpb3 1 2 3 0>; | ||
27 | }; | ||
28 | |||
29 | i2c@12C70000 { | ||
30 | samsung,i2c-sda-delay = <100>; | ||
31 | samsung,i2c-max-bus-freq = <378000>; | ||
32 | gpios = <&gpb3 2 2 3 0>, | ||
33 | <&gpb3 3 2 3 0>; | ||
34 | }; | ||
35 | |||
36 | i2c@12C80000 { | ||
37 | samsung,i2c-sda-delay = <100>; | ||
38 | samsung,i2c-max-bus-freq = <66000>; | ||
39 | |||
40 | /* | ||
41 | * Disabled pullups since external part has its own pullups and | ||
42 | * double-pulling gets us out of spec in some cases. | ||
43 | */ | ||
44 | gpios = <&gpa0 6 3 0 0>, | ||
45 | <&gpa0 7 3 0 0>; | ||
46 | |||
47 | hdmiddc@50 { | ||
48 | compatible = "samsung,exynos5-hdmiddc"; | ||
49 | reg = <0x50>; | ||
50 | }; | ||
51 | }; | ||
52 | |||
53 | i2c@12C90000 { | ||
54 | samsung,i2c-sda-delay = <100>; | ||
55 | samsung,i2c-max-bus-freq = <66000>; | ||
56 | gpios = <&gpa1 2 3 3 0>, | ||
57 | <&gpa1 3 3 3 0>; | ||
58 | }; | ||
59 | |||
60 | i2c@12CA0000 { | ||
61 | status = "disabled"; | ||
62 | }; | ||
63 | |||
64 | i2c@12CB0000 { | ||
65 | samsung,i2c-sda-delay = <100>; | ||
66 | samsung,i2c-max-bus-freq = <66000>; | ||
67 | gpios = <&gpa2 2 3 3 0>, | ||
68 | <&gpa2 3 3 3 0>; | ||
69 | }; | ||
70 | |||
71 | i2c@12CC0000 { | ||
72 | status = "disabled"; | ||
73 | }; | ||
74 | |||
75 | i2c@12CD0000 { | ||
76 | samsung,i2c-sda-delay = <100>; | ||
77 | samsung,i2c-max-bus-freq = <66000>; | ||
78 | gpios = <&gpb2 2 3 3 0>, | ||
79 | <&gpb2 3 3 3 0>; | ||
80 | }; | ||
81 | |||
82 | i2c@12CE0000 { | ||
83 | samsung,i2c-sda-delay = <100>; | ||
84 | samsung,i2c-max-bus-freq = <378000>; | ||
85 | |||
86 | hdmiphy@38 { | ||
87 | compatible = "samsung,exynos5-hdmiphy"; | ||
88 | reg = <0x38>; | ||
89 | }; | ||
90 | }; | ||
91 | |||
92 | dwmmc0@12200000 { | ||
93 | num-slots = <1>; | ||
94 | supports-highspeed; | ||
95 | broken-cd; | ||
96 | fifo-depth = <0x80>; | ||
97 | card-detect-delay = <200>; | ||
98 | samsung,dw-mshc-ciu-div = <3>; | ||
99 | samsung,dw-mshc-sdr-timing = <2 3 3>; | ||
100 | samsung,dw-mshc-ddr-timing = <1 2 3>; | ||
101 | |||
102 | slot@0 { | ||
103 | reg = <0>; | ||
104 | bus-width = <8>; | ||
105 | gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>, | ||
106 | <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>, | ||
107 | <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>, | ||
108 | <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>, | ||
109 | <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>; | ||
110 | }; | ||
111 | }; | ||
112 | |||
113 | dwmmc1@12210000 { | ||
114 | status = "disabled"; | ||
115 | }; | ||
116 | |||
117 | dwmmc2@12220000 { | ||
118 | num-slots = <1>; | ||
119 | supports-highspeed; | ||
120 | fifo-depth = <0x80>; | ||
121 | card-detect-delay = <200>; | ||
122 | samsung,dw-mshc-ciu-div = <3>; | ||
123 | samsung,dw-mshc-sdr-timing = <2 3 3>; | ||
124 | samsung,dw-mshc-ddr-timing = <1 2 3>; | ||
125 | |||
126 | slot@0 { | ||
127 | reg = <0>; | ||
128 | bus-width = <4>; | ||
129 | samsung,cd-pinmux-gpio = <&gpc3 2 2 3 3>; | ||
130 | wp-gpios = <&gpc2 1 0 0 3>; | ||
131 | gpios = <&gpc3 0 2 0 3>, <&gpc3 1 2 0 3>, | ||
132 | <&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>, | ||
133 | <&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | dwmmc3@12230000 { | ||
138 | num-slots = <1>; | ||
139 | supports-highspeed; | ||
140 | broken-cd; | ||
141 | fifo-depth = <0x80>; | ||
142 | card-detect-delay = <200>; | ||
143 | samsung,dw-mshc-ciu-div = <3>; | ||
144 | samsung,dw-mshc-sdr-timing = <2 3 3>; | ||
145 | samsung,dw-mshc-ddr-timing = <1 2 3>; | ||
146 | |||
147 | slot@0 { | ||
148 | reg = <0>; | ||
149 | bus-width = <4>; | ||
150 | /* See board-specific dts files for GPIOs */ | ||
151 | }; | ||
152 | }; | ||
153 | |||
154 | spi_0: spi@12d20000 { | ||
155 | status = "disabled"; | ||
156 | }; | ||
157 | |||
158 | spi_1: spi@12d30000 { | ||
159 | gpios = <&gpa2 4 2 3 0>, | ||
160 | <&gpa2 6 2 3 0>, | ||
161 | <&gpa2 7 2 3 0>; | ||
162 | samsung,spi-src-clk = <0>; | ||
163 | num-cs = <1>; | ||
164 | }; | ||
165 | |||
166 | spi_2: spi@12d40000 { | ||
167 | status = "disabled"; | ||
168 | }; | ||
169 | |||
170 | hdmi { | ||
171 | hpd-gpio = <&gpx3 7 0xf 1 3>; | ||
172 | }; | ||
173 | |||
174 | gpio-keys { | ||
175 | compatible = "gpio-keys"; | ||
176 | |||
177 | power { | ||
178 | label = "Power"; | ||
179 | gpios = <&gpx1 3 0 0x10000 0>; | ||
180 | linux,code = <116>; /* KEY_POWER */ | ||
181 | gpio-key,wakeup; | ||
182 | }; | ||
183 | }; | ||
184 | }; | ||
diff --git a/arch/arm/boot/dts/da850-enbw-cmc.dts b/arch/arm/boot/dts/da850-enbw-cmc.dts new file mode 100644 index 000000000000..422fdb3fcfc1 --- /dev/null +++ b/arch/arm/boot/dts/da850-enbw-cmc.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * Device Tree for AM1808 EnBW CMC board | ||
3 | * | ||
4 | * Copyright 2012 DENX Software Engineering GmbH | ||
5 | * Heiko Schocher <hs@denx.de> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | /dts-v1/; | ||
13 | /include/ "da850.dtsi" | ||
14 | |||
15 | / { | ||
16 | compatible = "enbw,cmc", "ti,da850"; | ||
17 | model = "EnBW CMC"; | ||
18 | |||
19 | soc { | ||
20 | serial0: serial@1c42000 { | ||
21 | status = "okay"; | ||
22 | }; | ||
23 | serial1: serial@1d0c000 { | ||
24 | status = "okay"; | ||
25 | }; | ||
26 | serial2: serial@1d0d000 { | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
diff --git a/arch/arm/boot/dts/da850-evm.dts b/arch/arm/boot/dts/da850-evm.dts new file mode 100644 index 000000000000..37dc5a3243b8 --- /dev/null +++ b/arch/arm/boot/dts/da850-evm.dts | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * Device Tree for DA850 EVM board | ||
3 | * | ||
4 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License as published by the | ||
8 | * Free Software Foundation, version 2. | ||
9 | */ | ||
10 | /dts-v1/; | ||
11 | /include/ "da850.dtsi" | ||
12 | |||
13 | / { | ||
14 | compatible = "ti,da850-evm", "ti,da850"; | ||
15 | model = "DA850/AM1808/OMAP-L138 EVM"; | ||
16 | |||
17 | soc { | ||
18 | serial0: serial@1c42000 { | ||
19 | status = "okay"; | ||
20 | }; | ||
21 | serial1: serial@1d0c000 { | ||
22 | status = "okay"; | ||
23 | }; | ||
24 | serial2: serial@1d0d000 { | ||
25 | status = "okay"; | ||
26 | }; | ||
27 | }; | ||
28 | }; | ||
diff --git a/arch/arm/boot/dts/da850.dtsi b/arch/arm/boot/dts/da850.dtsi new file mode 100644 index 000000000000..640ab75c20db --- /dev/null +++ b/arch/arm/boot/dts/da850.dtsi | |||
@@ -0,0 +1,60 @@ | |||
1 | /* | ||
2 | * Copyright 2012 DENX Software Engineering GmbH | ||
3 | * Heiko Schocher <hs@denx.de> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License as published by the | ||
7 | * Free Software Foundation; either version 2 of the License, or (at your | ||
8 | * option) any later version. | ||
9 | */ | ||
10 | /include/ "skeleton.dtsi" | ||
11 | |||
12 | / { | ||
13 | arm { | ||
14 | #address-cells = <1>; | ||
15 | #size-cells = <1>; | ||
16 | ranges; | ||
17 | intc: interrupt-controller { | ||
18 | compatible = "ti,cp-intc"; | ||
19 | interrupt-controller; | ||
20 | #interrupt-cells = <1>; | ||
21 | ti,intc-size = <100>; | ||
22 | reg = <0xfffee000 0x2000>; | ||
23 | }; | ||
24 | }; | ||
25 | soc { | ||
26 | compatible = "simple-bus"; | ||
27 | model = "da850"; | ||
28 | #address-cells = <1>; | ||
29 | #size-cells = <1>; | ||
30 | ranges = <0x0 0x01c00000 0x400000>; | ||
31 | |||
32 | serial0: serial@1c42000 { | ||
33 | compatible = "ns16550a"; | ||
34 | reg = <0x42000 0x100>; | ||
35 | clock-frequency = <150000000>; | ||
36 | reg-shift = <2>; | ||
37 | interrupts = <25>; | ||
38 | interrupt-parent = <&intc>; | ||
39 | status = "disabled"; | ||
40 | }; | ||
41 | serial1: serial@1d0c000 { | ||
42 | compatible = "ns16550a"; | ||
43 | reg = <0x10c000 0x100>; | ||
44 | clock-frequency = <150000000>; | ||
45 | reg-shift = <2>; | ||
46 | interrupts = <53>; | ||
47 | interrupt-parent = <&intc>; | ||
48 | status = "disabled"; | ||
49 | }; | ||
50 | serial2: serial@1d0d000 { | ||
51 | compatible = "ns16550a"; | ||
52 | reg = <0x10d000 0x100>; | ||
53 | clock-frequency = <150000000>; | ||
54 | reg-shift = <2>; | ||
55 | interrupts = <61>; | ||
56 | interrupt-parent = <&intc>; | ||
57 | status = "disabled"; | ||
58 | }; | ||
59 | }; | ||
60 | }; | ||
diff --git a/arch/arm/boot/dts/dbx5x0.dtsi b/arch/arm/boot/dts/dbx5x0.dtsi index 4b0e0ca08f40..0d69322f689f 100644 --- a/arch/arm/boot/dts/dbx5x0.dtsi +++ b/arch/arm/boot/dts/dbx5x0.dtsi | |||
@@ -203,129 +203,117 @@ | |||
203 | reg = <0x80157450 0xC>; | 203 | reg = <0x80157450 0xC>; |
204 | }; | 204 | }; |
205 | 205 | ||
206 | thermal@801573c0 { | ||
207 | compatible = "stericsson,db8500-thermal"; | ||
208 | reg = <0x801573c0 0x40>; | ||
209 | interrupts = <21 0x4>, <22 0x4>; | ||
210 | interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH"; | ||
211 | status = "disabled"; | ||
212 | }; | ||
213 | |||
206 | db8500-prcmu-regulators { | 214 | db8500-prcmu-regulators { |
207 | compatible = "stericsson,db8500-prcmu-regulator"; | 215 | compatible = "stericsson,db8500-prcmu-regulator"; |
208 | 216 | ||
209 | // DB8500_REGULATOR_VAPE | 217 | // DB8500_REGULATOR_VAPE |
210 | db8500_vape_reg: db8500_vape { | 218 | db8500_vape_reg: db8500_vape { |
211 | regulator-compatible = "db8500_vape"; | 219 | regulator-compatible = "db8500_vape"; |
212 | regulator-name = "db8500-vape"; | ||
213 | regulator-always-on; | 220 | regulator-always-on; |
214 | }; | 221 | }; |
215 | 222 | ||
216 | // DB8500_REGULATOR_VARM | 223 | // DB8500_REGULATOR_VARM |
217 | db8500_varm_reg: db8500_varm { | 224 | db8500_varm_reg: db8500_varm { |
218 | regulator-compatible = "db8500_varm"; | 225 | regulator-compatible = "db8500_varm"; |
219 | regulator-name = "db8500-varm"; | ||
220 | }; | 226 | }; |
221 | 227 | ||
222 | // DB8500_REGULATOR_VMODEM | 228 | // DB8500_REGULATOR_VMODEM |
223 | db8500_vmodem_reg: db8500_vmodem { | 229 | db8500_vmodem_reg: db8500_vmodem { |
224 | regulator-compatible = "db8500_vmodem"; | 230 | regulator-compatible = "db8500_vmodem"; |
225 | regulator-name = "db8500-vmodem"; | ||
226 | }; | 231 | }; |
227 | 232 | ||
228 | // DB8500_REGULATOR_VPLL | 233 | // DB8500_REGULATOR_VPLL |
229 | db8500_vpll_reg: db8500_vpll { | 234 | db8500_vpll_reg: db8500_vpll { |
230 | regulator-compatible = "db8500_vpll"; | 235 | regulator-compatible = "db8500_vpll"; |
231 | regulator-name = "db8500-vpll"; | ||
232 | }; | 236 | }; |
233 | 237 | ||
234 | // DB8500_REGULATOR_VSMPS1 | 238 | // DB8500_REGULATOR_VSMPS1 |
235 | db8500_vsmps1_reg: db8500_vsmps1 { | 239 | db8500_vsmps1_reg: db8500_vsmps1 { |
236 | regulator-compatible = "db8500_vsmps1"; | 240 | regulator-compatible = "db8500_vsmps1"; |
237 | regulator-name = "db8500-vsmps1"; | ||
238 | }; | 241 | }; |
239 | 242 | ||
240 | // DB8500_REGULATOR_VSMPS2 | 243 | // DB8500_REGULATOR_VSMPS2 |
241 | db8500_vsmps2_reg: db8500_vsmps2 { | 244 | db8500_vsmps2_reg: db8500_vsmps2 { |
242 | regulator-compatible = "db8500_vsmps2"; | 245 | regulator-compatible = "db8500_vsmps2"; |
243 | regulator-name = "db8500-vsmps2"; | ||
244 | }; | 246 | }; |
245 | 247 | ||
246 | // DB8500_REGULATOR_VSMPS3 | 248 | // DB8500_REGULATOR_VSMPS3 |
247 | db8500_vsmps3_reg: db8500_vsmps3 { | 249 | db8500_vsmps3_reg: db8500_vsmps3 { |
248 | regulator-compatible = "db8500_vsmps3"; | 250 | regulator-compatible = "db8500_vsmps3"; |
249 | regulator-name = "db8500-vsmps3"; | ||
250 | }; | 251 | }; |
251 | 252 | ||
252 | // DB8500_REGULATOR_VRF1 | 253 | // DB8500_REGULATOR_VRF1 |
253 | db8500_vrf1_reg: db8500_vrf1 { | 254 | db8500_vrf1_reg: db8500_vrf1 { |
254 | regulator-compatible = "db8500_vrf1"; | 255 | regulator-compatible = "db8500_vrf1"; |
255 | regulator-name = "db8500-vrf1"; | ||
256 | }; | 256 | }; |
257 | 257 | ||
258 | // DB8500_REGULATOR_SWITCH_SVAMMDSP | 258 | // DB8500_REGULATOR_SWITCH_SVAMMDSP |
259 | db8500_sva_mmdsp_reg: db8500_sva_mmdsp { | 259 | db8500_sva_mmdsp_reg: db8500_sva_mmdsp { |
260 | regulator-compatible = "db8500_sva_mmdsp"; | 260 | regulator-compatible = "db8500_sva_mmdsp"; |
261 | regulator-name = "db8500-sva-mmdsp"; | ||
262 | }; | 261 | }; |
263 | 262 | ||
264 | // DB8500_REGULATOR_SWITCH_SVAMMDSPRET | 263 | // DB8500_REGULATOR_SWITCH_SVAMMDSPRET |
265 | db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret { | 264 | db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret { |
266 | regulator-compatible = "db8500_sva_mmdsp_ret"; | 265 | regulator-compatible = "db8500_sva_mmdsp_ret"; |
267 | regulator-name = "db8500-sva-mmdsp-ret"; | ||
268 | }; | 266 | }; |
269 | 267 | ||
270 | // DB8500_REGULATOR_SWITCH_SVAPIPE | 268 | // DB8500_REGULATOR_SWITCH_SVAPIPE |
271 | db8500_sva_pipe_reg: db8500_sva_pipe { | 269 | db8500_sva_pipe_reg: db8500_sva_pipe { |
272 | regulator-compatible = "db8500_sva_pipe"; | 270 | regulator-compatible = "db8500_sva_pipe"; |
273 | regulator-name = "db8500_sva_pipe"; | ||
274 | }; | 271 | }; |
275 | 272 | ||
276 | // DB8500_REGULATOR_SWITCH_SIAMMDSP | 273 | // DB8500_REGULATOR_SWITCH_SIAMMDSP |
277 | db8500_sia_mmdsp_reg: db8500_sia_mmdsp { | 274 | db8500_sia_mmdsp_reg: db8500_sia_mmdsp { |
278 | regulator-compatible = "db8500_sia_mmdsp"; | 275 | regulator-compatible = "db8500_sia_mmdsp"; |
279 | regulator-name = "db8500_sia_mmdsp"; | ||
280 | }; | 276 | }; |
281 | 277 | ||
282 | // DB8500_REGULATOR_SWITCH_SIAMMDSPRET | 278 | // DB8500_REGULATOR_SWITCH_SIAMMDSPRET |
283 | db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret { | 279 | db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret { |
284 | regulator-name = "db8500-sia-mmdsp-ret"; | ||
285 | }; | 280 | }; |
286 | 281 | ||
287 | // DB8500_REGULATOR_SWITCH_SIAPIPE | 282 | // DB8500_REGULATOR_SWITCH_SIAPIPE |
288 | db8500_sia_pipe_reg: db8500_sia_pipe { | 283 | db8500_sia_pipe_reg: db8500_sia_pipe { |
289 | regulator-compatible = "db8500_sia_pipe"; | 284 | regulator-compatible = "db8500_sia_pipe"; |
290 | regulator-name = "db8500-sia-pipe"; | ||
291 | }; | 285 | }; |
292 | 286 | ||
293 | // DB8500_REGULATOR_SWITCH_SGA | 287 | // DB8500_REGULATOR_SWITCH_SGA |
294 | db8500_sga_reg: db8500_sga { | 288 | db8500_sga_reg: db8500_sga { |
295 | regulator-compatible = "db8500_sga"; | 289 | regulator-compatible = "db8500_sga"; |
296 | regulator-name = "db8500-sga"; | ||
297 | vin-supply = <&db8500_vape_reg>; | 290 | vin-supply = <&db8500_vape_reg>; |
298 | }; | 291 | }; |
299 | 292 | ||
300 | // DB8500_REGULATOR_SWITCH_B2R2_MCDE | 293 | // DB8500_REGULATOR_SWITCH_B2R2_MCDE |
301 | db8500_b2r2_mcde_reg: db8500_b2r2_mcde { | 294 | db8500_b2r2_mcde_reg: db8500_b2r2_mcde { |
302 | regulator-compatible = "db8500_b2r2_mcde"; | 295 | regulator-compatible = "db8500_b2r2_mcde"; |
303 | regulator-name = "db8500-b2r2-mcde"; | ||
304 | vin-supply = <&db8500_vape_reg>; | 296 | vin-supply = <&db8500_vape_reg>; |
305 | }; | 297 | }; |
306 | 298 | ||
307 | // DB8500_REGULATOR_SWITCH_ESRAM12 | 299 | // DB8500_REGULATOR_SWITCH_ESRAM12 |
308 | db8500_esram12_reg: db8500_esram12 { | 300 | db8500_esram12_reg: db8500_esram12 { |
309 | regulator-compatible = "db8500_esram12"; | 301 | regulator-compatible = "db8500_esram12"; |
310 | regulator-name = "db8500-esram12"; | ||
311 | }; | 302 | }; |
312 | 303 | ||
313 | // DB8500_REGULATOR_SWITCH_ESRAM12RET | 304 | // DB8500_REGULATOR_SWITCH_ESRAM12RET |
314 | db8500_esram12_ret_reg: db8500_esram12_ret { | 305 | db8500_esram12_ret_reg: db8500_esram12_ret { |
315 | regulator-compatible = "db8500_esram12_ret"; | 306 | regulator-compatible = "db8500_esram12_ret"; |
316 | regulator-name = "db8500-esram12-ret"; | ||
317 | }; | 307 | }; |
318 | 308 | ||
319 | // DB8500_REGULATOR_SWITCH_ESRAM34 | 309 | // DB8500_REGULATOR_SWITCH_ESRAM34 |
320 | db8500_esram34_reg: db8500_esram34 { | 310 | db8500_esram34_reg: db8500_esram34 { |
321 | regulator-compatible = "db8500_esram34"; | 311 | regulator-compatible = "db8500_esram34"; |
322 | regulator-name = "db8500-esram34"; | ||
323 | }; | 312 | }; |
324 | 313 | ||
325 | // DB8500_REGULATOR_SWITCH_ESRAM34RET | 314 | // DB8500_REGULATOR_SWITCH_ESRAM34RET |
326 | db8500_esram34_ret_reg: db8500_esram34_ret { | 315 | db8500_esram34_ret_reg: db8500_esram34_ret { |
327 | regulator-compatible = "db8500_esram34_ret"; | 316 | regulator-compatible = "db8500_esram34_ret"; |
328 | regulator-name = "db8500-esram34-ret"; | ||
329 | }; | 317 | }; |
330 | }; | 318 | }; |
331 | 319 | ||
@@ -404,7 +392,6 @@ | |||
404 | // supplies to the display/camera | 392 | // supplies to the display/camera |
405 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | 393 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { |
406 | regulator-compatible = "ab8500_ldo_aux1"; | 394 | regulator-compatible = "ab8500_ldo_aux1"; |
407 | regulator-name = "V-DISPLAY"; | ||
408 | regulator-min-microvolt = <2500000>; | 395 | regulator-min-microvolt = <2500000>; |
409 | regulator-max-microvolt = <2900000>; | 396 | regulator-max-microvolt = <2900000>; |
410 | regulator-boot-on; | 397 | regulator-boot-on; |
@@ -415,7 +402,6 @@ | |||
415 | // supplies to the on-board eMMC | 402 | // supplies to the on-board eMMC |
416 | ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { | 403 | ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { |
417 | regulator-compatible = "ab8500_ldo_aux2"; | 404 | regulator-compatible = "ab8500_ldo_aux2"; |
418 | regulator-name = "V-eMMC1"; | ||
419 | regulator-min-microvolt = <1100000>; | 405 | regulator-min-microvolt = <1100000>; |
420 | regulator-max-microvolt = <3300000>; | 406 | regulator-max-microvolt = <3300000>; |
421 | }; | 407 | }; |
@@ -423,7 +409,6 @@ | |||
423 | // supply for VAUX3; SDcard slots | 409 | // supply for VAUX3; SDcard slots |
424 | ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { | 410 | ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { |
425 | regulator-compatible = "ab8500_ldo_aux3"; | 411 | regulator-compatible = "ab8500_ldo_aux3"; |
426 | regulator-name = "V-MMC-SD"; | ||
427 | regulator-min-microvolt = <1100000>; | 412 | regulator-min-microvolt = <1100000>; |
428 | regulator-max-microvolt = <3300000>; | 413 | regulator-max-microvolt = <3300000>; |
429 | }; | 414 | }; |
@@ -431,49 +416,41 @@ | |||
431 | // supply for v-intcore12; VINTCORE12 LDO | 416 | // supply for v-intcore12; VINTCORE12 LDO |
432 | ab8500_ldo_initcore_reg: ab8500_ldo_initcore { | 417 | ab8500_ldo_initcore_reg: ab8500_ldo_initcore { |
433 | regulator-compatible = "ab8500_ldo_initcore"; | 418 | regulator-compatible = "ab8500_ldo_initcore"; |
434 | regulator-name = "V-INTCORE"; | ||
435 | }; | 419 | }; |
436 | 420 | ||
437 | // supply for tvout; gpadc; TVOUT LDO | 421 | // supply for tvout; gpadc; TVOUT LDO |
438 | ab8500_ldo_tvout_reg: ab8500_ldo_tvout { | 422 | ab8500_ldo_tvout_reg: ab8500_ldo_tvout { |
439 | regulator-compatible = "ab8500_ldo_tvout"; | 423 | regulator-compatible = "ab8500_ldo_tvout"; |
440 | regulator-name = "V-TVOUT"; | ||
441 | }; | 424 | }; |
442 | 425 | ||
443 | // supply for ab8500-usb; USB LDO | 426 | // supply for ab8500-usb; USB LDO |
444 | ab8500_ldo_usb_reg: ab8500_ldo_usb { | 427 | ab8500_ldo_usb_reg: ab8500_ldo_usb { |
445 | regulator-compatible = "ab8500_ldo_usb"; | 428 | regulator-compatible = "ab8500_ldo_usb"; |
446 | regulator-name = "dummy"; | ||
447 | }; | 429 | }; |
448 | 430 | ||
449 | // supply for ab8500-vaudio; VAUDIO LDO | 431 | // supply for ab8500-vaudio; VAUDIO LDO |
450 | ab8500_ldo_audio_reg: ab8500_ldo_audio { | 432 | ab8500_ldo_audio_reg: ab8500_ldo_audio { |
451 | regulator-compatible = "ab8500_ldo_audio"; | 433 | regulator-compatible = "ab8500_ldo_audio"; |
452 | regulator-name = "V-AUD"; | ||
453 | }; | 434 | }; |
454 | 435 | ||
455 | // supply for v-anamic1 VAMic1-LDO | 436 | // supply for v-anamic1 VAMic1-LDO |
456 | ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { | 437 | ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { |
457 | regulator-compatible = "ab8500_ldo_anamic1"; | 438 | regulator-compatible = "ab8500_ldo_anamic1"; |
458 | regulator-name = "V-AMIC1"; | ||
459 | }; | 439 | }; |
460 | 440 | ||
461 | // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1 | 441 | // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1 |
462 | ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 { | 442 | ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 { |
463 | regulator-compatible = "ab8500_ldo_amamic2"; | 443 | regulator-compatible = "ab8500_ldo_amamic2"; |
464 | regulator-name = "V-AMIC2"; | ||
465 | }; | 444 | }; |
466 | 445 | ||
467 | // supply for v-dmic; VDMIC LDO | 446 | // supply for v-dmic; VDMIC LDO |
468 | ab8500_ldo_dmic_reg: ab8500_ldo_dmic { | 447 | ab8500_ldo_dmic_reg: ab8500_ldo_dmic { |
469 | regulator-compatible = "ab8500_ldo_dmic"; | 448 | regulator-compatible = "ab8500_ldo_dmic"; |
470 | regulator-name = "V-DMIC"; | ||
471 | }; | 449 | }; |
472 | 450 | ||
473 | // supply for U8500 CSI/DSI; VANA LDO | 451 | // supply for U8500 CSI/DSI; VANA LDO |
474 | ab8500_ldo_ana_reg: ab8500_ldo_ana { | 452 | ab8500_ldo_ana_reg: ab8500_ldo_ana { |
475 | regulator-compatible = "ab8500_ldo_ana"; | 453 | regulator-compatible = "ab8500_ldo_ana"; |
476 | regulator-name = "V-CSI/DSI"; | ||
477 | }; | 454 | }; |
478 | }; | 455 | }; |
479 | }; | 456 | }; |
@@ -577,42 +554,42 @@ | |||
577 | status = "disabled"; | 554 | status = "disabled"; |
578 | }; | 555 | }; |
579 | 556 | ||
580 | sdi@80126000 { | 557 | sdi0_per1@80126000 { |
581 | compatible = "arm,pl18x", "arm,primecell"; | 558 | compatible = "arm,pl18x", "arm,primecell"; |
582 | reg = <0x80126000 0x1000>; | 559 | reg = <0x80126000 0x1000>; |
583 | interrupts = <0 60 0x4>; | 560 | interrupts = <0 60 0x4>; |
584 | status = "disabled"; | 561 | status = "disabled"; |
585 | }; | 562 | }; |
586 | 563 | ||
587 | sdi@80118000 { | 564 | sdi1_per2@80118000 { |
588 | compatible = "arm,pl18x", "arm,primecell"; | 565 | compatible = "arm,pl18x", "arm,primecell"; |
589 | reg = <0x80118000 0x1000>; | 566 | reg = <0x80118000 0x1000>; |
590 | interrupts = <0 50 0x4>; | 567 | interrupts = <0 50 0x4>; |
591 | status = "disabled"; | 568 | status = "disabled"; |
592 | }; | 569 | }; |
593 | 570 | ||
594 | sdi@80005000 { | 571 | sdi2_per3@80005000 { |
595 | compatible = "arm,pl18x", "arm,primecell"; | 572 | compatible = "arm,pl18x", "arm,primecell"; |
596 | reg = <0x80005000 0x1000>; | 573 | reg = <0x80005000 0x1000>; |
597 | interrupts = <0 41 0x4>; | 574 | interrupts = <0 41 0x4>; |
598 | status = "disabled"; | 575 | status = "disabled"; |
599 | }; | 576 | }; |
600 | 577 | ||
601 | sdi@80119000 { | 578 | sdi3_per2@80119000 { |
602 | compatible = "arm,pl18x", "arm,primecell"; | 579 | compatible = "arm,pl18x", "arm,primecell"; |
603 | reg = <0x80119000 0x1000>; | 580 | reg = <0x80119000 0x1000>; |
604 | interrupts = <0 59 0x4>; | 581 | interrupts = <0 59 0x4>; |
605 | status = "disabled"; | 582 | status = "disabled"; |
606 | }; | 583 | }; |
607 | 584 | ||
608 | sdi@80114000 { | 585 | sdi4_per2@80114000 { |
609 | compatible = "arm,pl18x", "arm,primecell"; | 586 | compatible = "arm,pl18x", "arm,primecell"; |
610 | reg = <0x80114000 0x1000>; | 587 | reg = <0x80114000 0x1000>; |
611 | interrupts = <0 99 0x4>; | 588 | interrupts = <0 99 0x4>; |
612 | status = "disabled"; | 589 | status = "disabled"; |
613 | }; | 590 | }; |
614 | 591 | ||
615 | sdi@80008000 { | 592 | sdi5_per3@80008000 { |
616 | compatible = "arm,pl18x", "arm,primecell"; | 593 | compatible = "arm,pl18x", "arm,primecell"; |
617 | reg = <0x80008000 0x1000>; | 594 | reg = <0x80008000 0x1000>; |
618 | interrupts = <0 100 0x4>; | 595 | interrupts = <0 100 0x4>; |
@@ -660,5 +637,24 @@ | |||
660 | ranges = <0 0x50000000 0x4000000>; | 637 | ranges = <0 0x50000000 0x4000000>; |
661 | status = "disabled"; | 638 | status = "disabled"; |
662 | }; | 639 | }; |
640 | |||
641 | cpufreq-cooling { | ||
642 | compatible = "stericsson,db8500-cpufreq-cooling"; | ||
643 | status = "disabled"; | ||
644 | }; | ||
645 | |||
646 | vmmci: regulator-gpio { | ||
647 | compatible = "regulator-gpio"; | ||
648 | |||
649 | regulator-min-microvolt = <1800000>; | ||
650 | regulator-max-microvolt = <2600000>; | ||
651 | regulator-name = "mmci-reg"; | ||
652 | regulator-type = "voltage"; | ||
653 | |||
654 | states = <1800000 0x1 | ||
655 | 2900000 0x0>; | ||
656 | |||
657 | status = "disabled"; | ||
658 | }; | ||
663 | }; | 659 | }; |
664 | }; | 660 | }; |
diff --git a/arch/arm/boot/dts/dove-cubox.dts b/arch/arm/boot/dts/dove-cubox.dts index 0adbd5a38095..fed7d3f9f431 100644 --- a/arch/arm/boot/dts/dove-cubox.dts +++ b/arch/arm/boot/dts/dove-cubox.dts | |||
@@ -40,3 +40,13 @@ | |||
40 | reg = <0>; | 40 | reg = <0>; |
41 | }; | 41 | }; |
42 | }; | 42 | }; |
43 | |||
44 | &pinctrl { | ||
45 | pinctrl-0 = <&pmx_gpio_18>; | ||
46 | pinctrl-names = "default"; | ||
47 | |||
48 | pmx_gpio_18: pmx-gpio-18 { | ||
49 | marvell,pins = "mpp18"; | ||
50 | marvell,function = "gpio"; | ||
51 | }; | ||
52 | }; | ||
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi index 5a00022383e7..61f391412a5a 100644 --- a/arch/arm/boot/dts/dove.dtsi +++ b/arch/arm/boot/dts/dove.dtsi | |||
@@ -4,6 +4,12 @@ | |||
4 | compatible = "marvell,dove"; | 4 | compatible = "marvell,dove"; |
5 | model = "Marvell Armada 88AP510 SoC"; | 5 | model = "Marvell Armada 88AP510 SoC"; |
6 | 6 | ||
7 | aliases { | ||
8 | gpio0 = &gpio0; | ||
9 | gpio1 = &gpio1; | ||
10 | gpio2 = &gpio2; | ||
11 | }; | ||
12 | |||
7 | soc@f1000000 { | 13 | soc@f1000000 { |
8 | compatible = "simple-bus"; | 14 | compatible = "simple-bus"; |
9 | #address-cells = <1>; | 15 | #address-cells = <1>; |
@@ -72,7 +78,8 @@ | |||
72 | #gpio-cells = <2>; | 78 | #gpio-cells = <2>; |
73 | gpio-controller; | 79 | gpio-controller; |
74 | reg = <0xd0400 0x20>; | 80 | reg = <0xd0400 0x20>; |
75 | ngpio = <32>; | 81 | ngpios = <32>; |
82 | interrupt-controller; | ||
76 | interrupts = <12>, <13>, <14>, <60>; | 83 | interrupts = <12>, <13>, <14>, <60>; |
77 | }; | 84 | }; |
78 | 85 | ||
@@ -81,7 +88,8 @@ | |||
81 | #gpio-cells = <2>; | 88 | #gpio-cells = <2>; |
82 | gpio-controller; | 89 | gpio-controller; |
83 | reg = <0xd0420 0x20>; | 90 | reg = <0xd0420 0x20>; |
84 | ngpio = <32>; | 91 | ngpios = <32>; |
92 | interrupt-controller; | ||
85 | interrupts = <61>; | 93 | interrupts = <61>; |
86 | }; | 94 | }; |
87 | 95 | ||
@@ -90,7 +98,12 @@ | |||
90 | #gpio-cells = <2>; | 98 | #gpio-cells = <2>; |
91 | gpio-controller; | 99 | gpio-controller; |
92 | reg = <0xe8400 0x0c>; | 100 | reg = <0xe8400 0x0c>; |
93 | ngpio = <8>; | 101 | ngpios = <8>; |
102 | }; | ||
103 | |||
104 | pinctrl: pinctrl@d0200 { | ||
105 | compatible = "marvell,dove-pinctrl"; | ||
106 | reg = <0xd0200 0x10>; | ||
94 | }; | 107 | }; |
95 | 108 | ||
96 | spi0: spi@10600 { | 109 | spi0: spi@10600 { |
diff --git a/arch/arm/boot/dts/ecx-2000.dts b/arch/arm/boot/dts/ecx-2000.dts new file mode 100644 index 000000000000..46477ac1de99 --- /dev/null +++ b/arch/arm/boot/dts/ecx-2000.dts | |||
@@ -0,0 +1,104 @@ | |||
1 | /* | ||
2 | * Copyright 2011-2012 Calxeda, Inc. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it | ||
5 | * under the terms and conditions of the GNU General Public License, | ||
6 | * version 2, as published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
9 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
10 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
11 | * more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License along with | ||
14 | * this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | /dts-v1/; | ||
18 | |||
19 | /* First 4KB has pen for secondary cores. */ | ||
20 | /memreserve/ 0x00000000 0x0001000; | ||
21 | |||
22 | / { | ||
23 | model = "Calxeda ECX-2000"; | ||
24 | compatible = "calxeda,ecx-2000"; | ||
25 | #address-cells = <2>; | ||
26 | #size-cells = <2>; | ||
27 | clock-ranges; | ||
28 | |||
29 | cpus { | ||
30 | #address-cells = <1>; | ||
31 | #size-cells = <0>; | ||
32 | |||
33 | cpu@0 { | ||
34 | compatible = "arm,cortex-a15"; | ||
35 | reg = <0>; | ||
36 | clocks = <&a9pll>; | ||
37 | clock-names = "cpu"; | ||
38 | }; | ||
39 | |||
40 | cpu@1 { | ||
41 | compatible = "arm,cortex-a15"; | ||
42 | reg = <1>; | ||
43 | clocks = <&a9pll>; | ||
44 | clock-names = "cpu"; | ||
45 | }; | ||
46 | |||
47 | cpu@2 { | ||
48 | compatible = "arm,cortex-a15"; | ||
49 | reg = <2>; | ||
50 | clocks = <&a9pll>; | ||
51 | clock-names = "cpu"; | ||
52 | }; | ||
53 | |||
54 | cpu@3 { | ||
55 | compatible = "arm,cortex-a15"; | ||
56 | reg = <3>; | ||
57 | clocks = <&a9pll>; | ||
58 | clock-names = "cpu"; | ||
59 | }; | ||
60 | }; | ||
61 | |||
62 | memory@0 { | ||
63 | name = "memory"; | ||
64 | device_type = "memory"; | ||
65 | reg = <0x00000000 0x00000000 0x00000000 0xff800000>; | ||
66 | }; | ||
67 | |||
68 | memory@200000000 { | ||
69 | name = "memory"; | ||
70 | device_type = "memory"; | ||
71 | reg = <0x00000002 0x00000000 0x00000003 0x00000000>; | ||
72 | }; | ||
73 | |||
74 | soc { | ||
75 | ranges = <0x00000000 0x00000000 0x00000000 0xffffffff>; | ||
76 | |||
77 | timer { | ||
78 | compatible = "arm,cortex-a15-timer", "arm,armv7-timer"; interrupts = <1 13 0xf08>, | ||
79 | <1 14 0xf08>, | ||
80 | <1 11 0xf08>, | ||
81 | <1 10 0xf08>; | ||
82 | }; | ||
83 | |||
84 | intc: interrupt-controller@fff11000 { | ||
85 | compatible = "arm,cortex-a15-gic"; | ||
86 | #interrupt-cells = <3>; | ||
87 | #size-cells = <0>; | ||
88 | #address-cells = <1>; | ||
89 | interrupt-controller; | ||
90 | interrupts = <1 9 0xf04>; | ||
91 | reg = <0xfff11000 0x1000>, | ||
92 | <0xfff12000 0x1000>, | ||
93 | <0xfff14000 0x2000>, | ||
94 | <0xfff16000 0x2000>; | ||
95 | }; | ||
96 | |||
97 | pmu { | ||
98 | compatible = "arm,cortex-a9-pmu"; | ||
99 | interrupts = <0 76 4 0 75 4 0 74 4 0 73 4>; | ||
100 | }; | ||
101 | }; | ||
102 | }; | ||
103 | |||
104 | /include/ "ecx-common.dtsi" | ||
diff --git a/arch/arm/boot/dts/ecx-common.dtsi b/arch/arm/boot/dts/ecx-common.dtsi new file mode 100644 index 000000000000..d61b535f682a --- /dev/null +++ b/arch/arm/boot/dts/ecx-common.dtsi | |||
@@ -0,0 +1,237 @@ | |||
1 | /* | ||
2 | * Copyright 2011-2012 Calxeda, Inc. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify it | ||
5 | * under the terms and conditions of the GNU General Public License, | ||
6 | * version 2, as published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
9 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
10 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
11 | * more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License along with | ||
14 | * this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | / { | ||
18 | chosen { | ||
19 | bootargs = "console=ttyAMA0"; | ||
20 | }; | ||
21 | |||
22 | soc { | ||
23 | #address-cells = <1>; | ||
24 | #size-cells = <1>; | ||
25 | compatible = "simple-bus"; | ||
26 | interrupt-parent = <&intc>; | ||
27 | |||
28 | sata@ffe08000 { | ||
29 | compatible = "calxeda,hb-ahci"; | ||
30 | reg = <0xffe08000 0x10000>; | ||
31 | interrupts = <0 83 4>; | ||
32 | dma-coherent; | ||
33 | calxeda,port-phys = <&combophy5 0 &combophy0 0 | ||
34 | &combophy0 1 &combophy0 2 | ||
35 | &combophy0 3>; | ||
36 | }; | ||
37 | |||
38 | sdhci@ffe0e000 { | ||
39 | compatible = "calxeda,hb-sdhci"; | ||
40 | reg = <0xffe0e000 0x1000>; | ||
41 | interrupts = <0 90 4>; | ||
42 | clocks = <&eclk>; | ||
43 | status = "disabled"; | ||
44 | }; | ||
45 | |||
46 | memory-controller@fff00000 { | ||
47 | compatible = "calxeda,hb-ddr-ctrl"; | ||
48 | reg = <0xfff00000 0x1000>; | ||
49 | interrupts = <0 91 4>; | ||
50 | }; | ||
51 | |||
52 | ipc@fff20000 { | ||
53 | compatible = "arm,pl320", "arm,primecell"; | ||
54 | reg = <0xfff20000 0x1000>; | ||
55 | interrupts = <0 7 4>; | ||
56 | clocks = <&pclk>; | ||
57 | clock-names = "apb_pclk"; | ||
58 | }; | ||
59 | |||
60 | gpioe: gpio@fff30000 { | ||
61 | #gpio-cells = <2>; | ||
62 | compatible = "arm,pl061", "arm,primecell"; | ||
63 | gpio-controller; | ||
64 | reg = <0xfff30000 0x1000>; | ||
65 | interrupts = <0 14 4>; | ||
66 | clocks = <&pclk>; | ||
67 | clock-names = "apb_pclk"; | ||
68 | status = "disabled"; | ||
69 | }; | ||
70 | |||
71 | gpiof: gpio@fff31000 { | ||
72 | #gpio-cells = <2>; | ||
73 | compatible = "arm,pl061", "arm,primecell"; | ||
74 | gpio-controller; | ||
75 | reg = <0xfff31000 0x1000>; | ||
76 | interrupts = <0 15 4>; | ||
77 | clocks = <&pclk>; | ||
78 | clock-names = "apb_pclk"; | ||
79 | status = "disabled"; | ||
80 | }; | ||
81 | |||
82 | gpiog: gpio@fff32000 { | ||
83 | #gpio-cells = <2>; | ||
84 | compatible = "arm,pl061", "arm,primecell"; | ||
85 | gpio-controller; | ||
86 | reg = <0xfff32000 0x1000>; | ||
87 | interrupts = <0 16 4>; | ||
88 | clocks = <&pclk>; | ||
89 | clock-names = "apb_pclk"; | ||
90 | status = "disabled"; | ||
91 | }; | ||
92 | |||
93 | gpioh: gpio@fff33000 { | ||
94 | #gpio-cells = <2>; | ||
95 | compatible = "arm,pl061", "arm,primecell"; | ||
96 | gpio-controller; | ||
97 | reg = <0xfff33000 0x1000>; | ||
98 | interrupts = <0 17 4>; | ||
99 | clocks = <&pclk>; | ||
100 | clock-names = "apb_pclk"; | ||
101 | status = "disabled"; | ||
102 | }; | ||
103 | |||
104 | timer@fff34000 { | ||
105 | compatible = "arm,sp804", "arm,primecell"; | ||
106 | reg = <0xfff34000 0x1000>; | ||
107 | interrupts = <0 18 4>; | ||
108 | clocks = <&pclk>; | ||
109 | clock-names = "apb_pclk"; | ||
110 | }; | ||
111 | |||
112 | rtc@fff35000 { | ||
113 | compatible = "arm,pl031", "arm,primecell"; | ||
114 | reg = <0xfff35000 0x1000>; | ||
115 | interrupts = <0 19 4>; | ||
116 | clocks = <&pclk>; | ||
117 | clock-names = "apb_pclk"; | ||
118 | }; | ||
119 | |||
120 | serial@fff36000 { | ||
121 | compatible = "arm,pl011", "arm,primecell"; | ||
122 | reg = <0xfff36000 0x1000>; | ||
123 | interrupts = <0 20 4>; | ||
124 | clocks = <&pclk>; | ||
125 | clock-names = "apb_pclk"; | ||
126 | }; | ||
127 | |||
128 | smic@fff3a000 { | ||
129 | compatible = "ipmi-smic"; | ||
130 | device_type = "ipmi"; | ||
131 | reg = <0xfff3a000 0x1000>; | ||
132 | interrupts = <0 24 4>; | ||
133 | reg-size = <4>; | ||
134 | reg-spacing = <4>; | ||
135 | }; | ||
136 | |||
137 | sregs@fff3c000 { | ||
138 | compatible = "calxeda,hb-sregs"; | ||
139 | reg = <0xfff3c000 0x1000>; | ||
140 | |||
141 | clocks { | ||
142 | #address-cells = <1>; | ||
143 | #size-cells = <0>; | ||
144 | |||
145 | osc: oscillator { | ||
146 | #clock-cells = <0>; | ||
147 | compatible = "fixed-clock"; | ||
148 | clock-frequency = <33333000>; | ||
149 | }; | ||
150 | |||
151 | ddrpll: ddrpll { | ||
152 | #clock-cells = <0>; | ||
153 | compatible = "calxeda,hb-pll-clock"; | ||
154 | clocks = <&osc>; | ||
155 | reg = <0x108>; | ||
156 | }; | ||
157 | |||
158 | a9pll: a9pll { | ||
159 | #clock-cells = <0>; | ||
160 | compatible = "calxeda,hb-pll-clock"; | ||
161 | clocks = <&osc>; | ||
162 | reg = <0x100>; | ||
163 | }; | ||
164 | |||
165 | a9periphclk: a9periphclk { | ||
166 | #clock-cells = <0>; | ||
167 | compatible = "calxeda,hb-a9periph-clock"; | ||
168 | clocks = <&a9pll>; | ||
169 | reg = <0x104>; | ||
170 | }; | ||
171 | |||
172 | a9bclk: a9bclk { | ||
173 | #clock-cells = <0>; | ||
174 | compatible = "calxeda,hb-a9bus-clock"; | ||
175 | clocks = <&a9pll>; | ||
176 | reg = <0x104>; | ||
177 | }; | ||
178 | |||
179 | emmcpll: emmcpll { | ||
180 | #clock-cells = <0>; | ||
181 | compatible = "calxeda,hb-pll-clock"; | ||
182 | clocks = <&osc>; | ||
183 | reg = <0x10C>; | ||
184 | }; | ||
185 | |||
186 | eclk: eclk { | ||
187 | #clock-cells = <0>; | ||
188 | compatible = "calxeda,hb-emmc-clock"; | ||
189 | clocks = <&emmcpll>; | ||
190 | reg = <0x114>; | ||
191 | }; | ||
192 | |||
193 | pclk: pclk { | ||
194 | #clock-cells = <0>; | ||
195 | compatible = "fixed-clock"; | ||
196 | clock-frequency = <150000000>; | ||
197 | }; | ||
198 | }; | ||
199 | }; | ||
200 | |||
201 | dma@fff3d000 { | ||
202 | compatible = "arm,pl330", "arm,primecell"; | ||
203 | reg = <0xfff3d000 0x1000>; | ||
204 | interrupts = <0 92 4>; | ||
205 | clocks = <&pclk>; | ||
206 | clock-names = "apb_pclk"; | ||
207 | }; | ||
208 | |||
209 | ethernet@fff50000 { | ||
210 | compatible = "calxeda,hb-xgmac"; | ||
211 | reg = <0xfff50000 0x1000>; | ||
212 | interrupts = <0 77 4 0 78 4 0 79 4>; | ||
213 | dma-coherent; | ||
214 | }; | ||
215 | |||
216 | ethernet@fff51000 { | ||
217 | compatible = "calxeda,hb-xgmac"; | ||
218 | reg = <0xfff51000 0x1000>; | ||
219 | interrupts = <0 80 4 0 81 4 0 82 4>; | ||
220 | dma-coherent; | ||
221 | }; | ||
222 | |||
223 | combophy0: combo-phy@fff58000 { | ||
224 | compatible = "calxeda,hb-combophy"; | ||
225 | #phy-cells = <1>; | ||
226 | reg = <0xfff58000 0x1000>; | ||
227 | phydev = <5>; | ||
228 | }; | ||
229 | |||
230 | combophy5: combo-phy@fff5d000 { | ||
231 | compatible = "calxeda,hb-combophy"; | ||
232 | #phy-cells = <1>; | ||
233 | reg = <0xfff5d000 0x1000>; | ||
234 | phydev = <31>; | ||
235 | }; | ||
236 | }; | ||
237 | }; | ||
diff --git a/arch/arm/boot/dts/evk-pro3.dts b/arch/arm/boot/dts/evk-pro3.dts index b7354e6506de..96e50f569433 100644 --- a/arch/arm/boot/dts/evk-pro3.dts +++ b/arch/arm/boot/dts/evk-pro3.dts | |||
@@ -22,10 +22,22 @@ | |||
22 | status = "okay"; | 22 | status = "okay"; |
23 | }; | 23 | }; |
24 | 24 | ||
25 | usart0: serial@fffb0000 { | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | usart2: serial@fffb8000 { | ||
30 | status = "okay"; | ||
31 | }; | ||
32 | |||
25 | usb1: gadget@fffa4000 { | 33 | usb1: gadget@fffa4000 { |
26 | atmel,vbus-gpio = <&pioC 5 0>; | 34 | atmel,vbus-gpio = <&pioC 5 0>; |
27 | status = "okay"; | 35 | status = "okay"; |
28 | }; | 36 | }; |
37 | |||
38 | watchdog@fffffd40 { | ||
39 | status = "okay"; | ||
40 | }; | ||
29 | }; | 41 | }; |
30 | 42 | ||
31 | usb0: ohci@00500000 { | 43 | usb0: ohci@00500000 { |
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi index a26c3dd58269..e1347fceb5bc 100644 --- a/arch/arm/boot/dts/exynos4.dtsi +++ b/arch/arm/boot/dts/exynos4.dtsi | |||
@@ -28,6 +28,44 @@ | |||
28 | spi0 = &spi_0; | 28 | spi0 = &spi_0; |
29 | spi1 = &spi_1; | 29 | spi1 = &spi_1; |
30 | spi2 = &spi_2; | 30 | spi2 = &spi_2; |
31 | i2c0 = &i2c_0; | ||
32 | i2c1 = &i2c_1; | ||
33 | i2c2 = &i2c_2; | ||
34 | i2c3 = &i2c_3; | ||
35 | i2c4 = &i2c_4; | ||
36 | i2c5 = &i2c_5; | ||
37 | i2c6 = &i2c_6; | ||
38 | i2c7 = &i2c_7; | ||
39 | }; | ||
40 | |||
41 | pd_mfc: mfc-power-domain@10023C40 { | ||
42 | compatible = "samsung,exynos4210-pd"; | ||
43 | reg = <0x10023C40 0x20>; | ||
44 | }; | ||
45 | |||
46 | pd_g3d: g3d-power-domain@10023C60 { | ||
47 | compatible = "samsung,exynos4210-pd"; | ||
48 | reg = <0x10023C60 0x20>; | ||
49 | }; | ||
50 | |||
51 | pd_lcd0: lcd0-power-domain@10023C80 { | ||
52 | compatible = "samsung,exynos4210-pd"; | ||
53 | reg = <0x10023C80 0x20>; | ||
54 | }; | ||
55 | |||
56 | pd_tv: tv-power-domain@10023C20 { | ||
57 | compatible = "samsung,exynos4210-pd"; | ||
58 | reg = <0x10023C20 0x20>; | ||
59 | }; | ||
60 | |||
61 | pd_cam: cam-power-domain@10023C00 { | ||
62 | compatible = "samsung,exynos4210-pd"; | ||
63 | reg = <0x10023C00 0x20>; | ||
64 | }; | ||
65 | |||
66 | pd_gps: gps-power-domain@10023CE0 { | ||
67 | compatible = "samsung,exynos4210-pd"; | ||
68 | reg = <0x10023CE0 0x20>; | ||
31 | }; | 69 | }; |
32 | 70 | ||
33 | gic:interrupt-controller@10490000 { | 71 | gic:interrupt-controller@10490000 { |
@@ -121,7 +159,7 @@ | |||
121 | status = "disabled"; | 159 | status = "disabled"; |
122 | }; | 160 | }; |
123 | 161 | ||
124 | i2c@13860000 { | 162 | i2c_0: i2c@13860000 { |
125 | #address-cells = <1>; | 163 | #address-cells = <1>; |
126 | #size-cells = <0>; | 164 | #size-cells = <0>; |
127 | compatible = "samsung,s3c2440-i2c"; | 165 | compatible = "samsung,s3c2440-i2c"; |
@@ -130,7 +168,7 @@ | |||
130 | status = "disabled"; | 168 | status = "disabled"; |
131 | }; | 169 | }; |
132 | 170 | ||
133 | i2c@13870000 { | 171 | i2c_1: i2c@13870000 { |
134 | #address-cells = <1>; | 172 | #address-cells = <1>; |
135 | #size-cells = <0>; | 173 | #size-cells = <0>; |
136 | compatible = "samsung,s3c2440-i2c"; | 174 | compatible = "samsung,s3c2440-i2c"; |
@@ -139,7 +177,7 @@ | |||
139 | status = "disabled"; | 177 | status = "disabled"; |
140 | }; | 178 | }; |
141 | 179 | ||
142 | i2c@13880000 { | 180 | i2c_2: i2c@13880000 { |
143 | #address-cells = <1>; | 181 | #address-cells = <1>; |
144 | #size-cells = <0>; | 182 | #size-cells = <0>; |
145 | compatible = "samsung,s3c2440-i2c"; | 183 | compatible = "samsung,s3c2440-i2c"; |
@@ -148,7 +186,7 @@ | |||
148 | status = "disabled"; | 186 | status = "disabled"; |
149 | }; | 187 | }; |
150 | 188 | ||
151 | i2c@13890000 { | 189 | i2c_3: i2c@13890000 { |
152 | #address-cells = <1>; | 190 | #address-cells = <1>; |
153 | #size-cells = <0>; | 191 | #size-cells = <0>; |
154 | compatible = "samsung,s3c2440-i2c"; | 192 | compatible = "samsung,s3c2440-i2c"; |
@@ -157,7 +195,7 @@ | |||
157 | status = "disabled"; | 195 | status = "disabled"; |
158 | }; | 196 | }; |
159 | 197 | ||
160 | i2c@138A0000 { | 198 | i2c_4: i2c@138A0000 { |
161 | #address-cells = <1>; | 199 | #address-cells = <1>; |
162 | #size-cells = <0>; | 200 | #size-cells = <0>; |
163 | compatible = "samsung,s3c2440-i2c"; | 201 | compatible = "samsung,s3c2440-i2c"; |
@@ -166,7 +204,7 @@ | |||
166 | status = "disabled"; | 204 | status = "disabled"; |
167 | }; | 205 | }; |
168 | 206 | ||
169 | i2c@138B0000 { | 207 | i2c_5: i2c@138B0000 { |
170 | #address-cells = <1>; | 208 | #address-cells = <1>; |
171 | #size-cells = <0>; | 209 | #size-cells = <0>; |
172 | compatible = "samsung,s3c2440-i2c"; | 210 | compatible = "samsung,s3c2440-i2c"; |
@@ -175,7 +213,7 @@ | |||
175 | status = "disabled"; | 213 | status = "disabled"; |
176 | }; | 214 | }; |
177 | 215 | ||
178 | i2c@138C0000 { | 216 | i2c_6: i2c@138C0000 { |
179 | #address-cells = <1>; | 217 | #address-cells = <1>; |
180 | #size-cells = <0>; | 218 | #size-cells = <0>; |
181 | compatible = "samsung,s3c2440-i2c"; | 219 | compatible = "samsung,s3c2440-i2c"; |
@@ -184,7 +222,7 @@ | |||
184 | status = "disabled"; | 222 | status = "disabled"; |
185 | }; | 223 | }; |
186 | 224 | ||
187 | i2c@138D0000 { | 225 | i2c_7: i2c@138D0000 { |
188 | #address-cells = <1>; | 226 | #address-cells = <1>; |
189 | #size-cells = <0>; | 227 | #size-cells = <0>; |
190 | compatible = "samsung,s3c2440-i2c"; | 228 | compatible = "samsung,s3c2440-i2c"; |
@@ -244,5 +282,11 @@ | |||
244 | reg = <0x12690000 0x1000>; | 282 | reg = <0x12690000 0x1000>; |
245 | interrupts = <0 36 0>; | 283 | interrupts = <0 36 0>; |
246 | }; | 284 | }; |
285 | |||
286 | mdma1: mdma@12850000 { | ||
287 | compatible = "arm,pl330", "arm,primecell"; | ||
288 | reg = <0x12850000 0x1000>; | ||
289 | interrupts = <0 34 0>; | ||
290 | }; | ||
247 | }; | 291 | }; |
248 | }; | 292 | }; |
diff --git a/arch/arm/boot/dts/exynos4210-origen.dts b/arch/arm/boot/dts/exynos4210-origen.dts index 3e68f52e8454..f2710018e84e 100644 --- a/arch/arm/boot/dts/exynos4210-origen.dts +++ b/arch/arm/boot/dts/exynos4210-origen.dts | |||
@@ -22,38 +22,54 @@ | |||
22 | compatible = "insignal,origen", "samsung,exynos4210"; | 22 | compatible = "insignal,origen", "samsung,exynos4210"; |
23 | 23 | ||
24 | memory { | 24 | memory { |
25 | reg = <0x40000000 0x40000000>; | 25 | reg = <0x40000000 0x10000000 |
26 | 0x50000000 0x10000000 | ||
27 | 0x60000000 0x10000000 | ||
28 | 0x70000000 0x10000000>; | ||
26 | }; | 29 | }; |
27 | 30 | ||
28 | chosen { | 31 | chosen { |
29 | bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc"; | 32 | bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc"; |
30 | }; | 33 | }; |
31 | 34 | ||
35 | mmc_reg: voltage-regulator { | ||
36 | compatible = "regulator-fixed"; | ||
37 | regulator-name = "VMEM_VDD_2.8V"; | ||
38 | regulator-min-microvolt = <2800000>; | ||
39 | regulator-max-microvolt = <2800000>; | ||
40 | gpio = <&gpx1 1 0>; | ||
41 | enable-active-high; | ||
42 | }; | ||
43 | |||
32 | sdhci@12530000 { | 44 | sdhci@12530000 { |
33 | samsung,sdhci-bus-width = <4>; | 45 | bus-width = <4>; |
34 | linux,mmc_cap_4_bit_data; | 46 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>; |
35 | samsung,sdhci-cd-internal; | 47 | pinctrl-names = "default"; |
36 | gpio-cd = <&gpk2 2 2 3 3>; | 48 | vmmc-supply = <&mmc_reg>; |
37 | gpios = <&gpk2 0 2 0 3>, | ||
38 | <&gpk2 1 2 0 3>, | ||
39 | <&gpk2 3 2 3 3>, | ||
40 | <&gpk2 4 2 3 3>, | ||
41 | <&gpk2 5 2 3 3>, | ||
42 | <&gpk2 6 2 3 3>; | ||
43 | status = "okay"; | 49 | status = "okay"; |
44 | }; | 50 | }; |
45 | 51 | ||
46 | sdhci@12510000 { | 52 | sdhci@12510000 { |
47 | samsung,sdhci-bus-width = <4>; | 53 | bus-width = <4>; |
48 | linux,mmc_cap_4_bit_data; | 54 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_cd>; |
49 | samsung,sdhci-cd-internal; | 55 | pinctrl-names = "default"; |
50 | gpio-cd = <&gpk0 2 2 3 3>; | 56 | vmmc-supply = <&mmc_reg>; |
51 | gpios = <&gpk0 0 2 0 3>, | 57 | status = "okay"; |
52 | <&gpk0 1 2 0 3>, | 58 | }; |
53 | <&gpk0 3 2 3 3>, | 59 | |
54 | <&gpk0 4 2 3 3>, | 60 | serial@13800000 { |
55 | <&gpk0 5 2 3 3>, | 61 | status = "okay"; |
56 | <&gpk0 6 2 3 3>; | 62 | }; |
63 | |||
64 | serial@13810000 { | ||
65 | status = "okay"; | ||
66 | }; | ||
67 | |||
68 | serial@13820000 { | ||
69 | status = "okay"; | ||
70 | }; | ||
71 | |||
72 | serial@13830000 { | ||
57 | status = "okay"; | 73 | status = "okay"; |
58 | }; | 74 | }; |
59 | 75 | ||
@@ -64,35 +80,35 @@ | |||
64 | 80 | ||
65 | up { | 81 | up { |
66 | label = "Up"; | 82 | label = "Up"; |
67 | gpios = <&gpx2 0 0 0x10000 2>; | 83 | gpios = <&gpx2 0 1>; |
68 | linux,code = <103>; | 84 | linux,code = <103>; |
69 | gpio-key,wakeup; | 85 | gpio-key,wakeup; |
70 | }; | 86 | }; |
71 | 87 | ||
72 | down { | 88 | down { |
73 | label = "Down"; | 89 | label = "Down"; |
74 | gpios = <&gpx2 1 0 0x10000 2>; | 90 | gpios = <&gpx2 1 1>; |
75 | linux,code = <108>; | 91 | linux,code = <108>; |
76 | gpio-key,wakeup; | 92 | gpio-key,wakeup; |
77 | }; | 93 | }; |
78 | 94 | ||
79 | back { | 95 | back { |
80 | label = "Back"; | 96 | label = "Back"; |
81 | gpios = <&gpx1 7 0 0x10000 2>; | 97 | gpios = <&gpx1 7 1>; |
82 | linux,code = <158>; | 98 | linux,code = <158>; |
83 | gpio-key,wakeup; | 99 | gpio-key,wakeup; |
84 | }; | 100 | }; |
85 | 101 | ||
86 | home { | 102 | home { |
87 | label = "Home"; | 103 | label = "Home"; |
88 | gpios = <&gpx1 6 0 0x10000 2>; | 104 | gpios = <&gpx1 6 1>; |
89 | linux,code = <102>; | 105 | linux,code = <102>; |
90 | gpio-key,wakeup; | 106 | gpio-key,wakeup; |
91 | }; | 107 | }; |
92 | 108 | ||
93 | menu { | 109 | menu { |
94 | label = "Menu"; | 110 | label = "Menu"; |
95 | gpios = <&gpx1 5 0 0x10000 2>; | 111 | gpios = <&gpx1 5 1>; |
96 | linux,code = <139>; | 112 | linux,code = <139>; |
97 | gpio-key,wakeup; | 113 | gpio-key,wakeup; |
98 | }; | 114 | }; |
@@ -101,7 +117,7 @@ | |||
101 | leds { | 117 | leds { |
102 | compatible = "gpio-leds"; | 118 | compatible = "gpio-leds"; |
103 | status { | 119 | status { |
104 | gpios = <&gpx1 3 0 0x10000 2>; | 120 | gpios = <&gpx1 3 1>; |
105 | linux,default-trigger = "heartbeat"; | 121 | linux,default-trigger = "heartbeat"; |
106 | }; | 122 | }; |
107 | }; | 123 | }; |
diff --git a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi index b12cf272ad0d..55a2efb763d1 100644 --- a/arch/arm/boot/dts/exynos4210-pinctrl.dtsi +++ b/arch/arm/boot/dts/exynos4210-pinctrl.dtsi | |||
@@ -16,6 +16,134 @@ | |||
16 | 16 | ||
17 | / { | 17 | / { |
18 | pinctrl@11400000 { | 18 | pinctrl@11400000 { |
19 | gpa0: gpa0 { | ||
20 | gpio-controller; | ||
21 | #gpio-cells = <2>; | ||
22 | |||
23 | interrupt-controller; | ||
24 | #interrupt-cells = <2>; | ||
25 | }; | ||
26 | |||
27 | gpa1: gpa1 { | ||
28 | gpio-controller; | ||
29 | #gpio-cells = <2>; | ||
30 | |||
31 | interrupt-controller; | ||
32 | #interrupt-cells = <2>; | ||
33 | }; | ||
34 | |||
35 | gpb: gpb { | ||
36 | gpio-controller; | ||
37 | #gpio-cells = <2>; | ||
38 | |||
39 | interrupt-controller; | ||
40 | #interrupt-cells = <2>; | ||
41 | }; | ||
42 | |||
43 | gpc0: gpc0 { | ||
44 | gpio-controller; | ||
45 | #gpio-cells = <2>; | ||
46 | |||
47 | interrupt-controller; | ||
48 | #interrupt-cells = <2>; | ||
49 | }; | ||
50 | |||
51 | gpc1: gpc1 { | ||
52 | gpio-controller; | ||
53 | #gpio-cells = <2>; | ||
54 | |||
55 | interrupt-controller; | ||
56 | #interrupt-cells = <2>; | ||
57 | }; | ||
58 | |||
59 | gpd0: gpd0 { | ||
60 | gpio-controller; | ||
61 | #gpio-cells = <2>; | ||
62 | |||
63 | interrupt-controller; | ||
64 | #interrupt-cells = <2>; | ||
65 | }; | ||
66 | |||
67 | gpd1: gpd1 { | ||
68 | gpio-controller; | ||
69 | #gpio-cells = <2>; | ||
70 | |||
71 | interrupt-controller; | ||
72 | #interrupt-cells = <2>; | ||
73 | }; | ||
74 | |||
75 | gpe0: gpe0 { | ||
76 | gpio-controller; | ||
77 | #gpio-cells = <2>; | ||
78 | |||
79 | interrupt-controller; | ||
80 | #interrupt-cells = <2>; | ||
81 | }; | ||
82 | |||
83 | gpe1: gpe1 { | ||
84 | gpio-controller; | ||
85 | #gpio-cells = <2>; | ||
86 | |||
87 | interrupt-controller; | ||
88 | #interrupt-cells = <2>; | ||
89 | }; | ||
90 | |||
91 | gpe2: gpe2 { | ||
92 | gpio-controller; | ||
93 | #gpio-cells = <2>; | ||
94 | |||
95 | interrupt-controller; | ||
96 | #interrupt-cells = <2>; | ||
97 | }; | ||
98 | |||
99 | gpe3: gpe3 { | ||
100 | gpio-controller; | ||
101 | #gpio-cells = <2>; | ||
102 | |||
103 | interrupt-controller; | ||
104 | #interrupt-cells = <2>; | ||
105 | }; | ||
106 | |||
107 | gpe4: gpe4 { | ||
108 | gpio-controller; | ||
109 | #gpio-cells = <2>; | ||
110 | |||
111 | interrupt-controller; | ||
112 | #interrupt-cells = <2>; | ||
113 | }; | ||
114 | |||
115 | gpf0: gpf0 { | ||
116 | gpio-controller; | ||
117 | #gpio-cells = <2>; | ||
118 | |||
119 | interrupt-controller; | ||
120 | #interrupt-cells = <2>; | ||
121 | }; | ||
122 | |||
123 | gpf1: gpf1 { | ||
124 | gpio-controller; | ||
125 | #gpio-cells = <2>; | ||
126 | |||
127 | interrupt-controller; | ||
128 | #interrupt-cells = <2>; | ||
129 | }; | ||
130 | |||
131 | gpf2: gpf2 { | ||
132 | gpio-controller; | ||
133 | #gpio-cells = <2>; | ||
134 | |||
135 | interrupt-controller; | ||
136 | #interrupt-cells = <2>; | ||
137 | }; | ||
138 | |||
139 | gpf3: gpf3 { | ||
140 | gpio-controller; | ||
141 | #gpio-cells = <2>; | ||
142 | |||
143 | interrupt-controller; | ||
144 | #interrupt-cells = <2>; | ||
145 | }; | ||
146 | |||
19 | uart0_data: uart0-data { | 147 | uart0_data: uart0-data { |
20 | samsung,pins = "gpa0-0", "gpa0-1"; | 148 | samsung,pins = "gpa0-0", "gpa0-1"; |
21 | samsung,pin-function = <0x2>; | 149 | samsung,pin-function = <0x2>; |
@@ -205,200 +333,345 @@ | |||
205 | }; | 333 | }; |
206 | 334 | ||
207 | pinctrl@11000000 { | 335 | pinctrl@11000000 { |
336 | gpj0: gpj0 { | ||
337 | gpio-controller; | ||
338 | #gpio-cells = <2>; | ||
339 | |||
340 | interrupt-controller; | ||
341 | #interrupt-cells = <2>; | ||
342 | }; | ||
343 | |||
344 | gpj1: gpj1 { | ||
345 | gpio-controller; | ||
346 | #gpio-cells = <2>; | ||
347 | |||
348 | interrupt-controller; | ||
349 | #interrupt-cells = <2>; | ||
350 | }; | ||
351 | |||
352 | gpk0: gpk0 { | ||
353 | gpio-controller; | ||
354 | #gpio-cells = <2>; | ||
355 | |||
356 | interrupt-controller; | ||
357 | #interrupt-cells = <2>; | ||
358 | }; | ||
359 | |||
360 | gpk1: gpk1 { | ||
361 | gpio-controller; | ||
362 | #gpio-cells = <2>; | ||
363 | |||
364 | interrupt-controller; | ||
365 | #interrupt-cells = <2>; | ||
366 | }; | ||
367 | |||
368 | gpk2: gpk2 { | ||
369 | gpio-controller; | ||
370 | #gpio-cells = <2>; | ||
371 | |||
372 | interrupt-controller; | ||
373 | #interrupt-cells = <2>; | ||
374 | }; | ||
375 | |||
376 | gpk3: gpk3 { | ||
377 | gpio-controller; | ||
378 | #gpio-cells = <2>; | ||
379 | |||
380 | interrupt-controller; | ||
381 | #interrupt-cells = <2>; | ||
382 | }; | ||
383 | |||
384 | gpl0: gpl0 { | ||
385 | gpio-controller; | ||
386 | #gpio-cells = <2>; | ||
387 | |||
388 | interrupt-controller; | ||
389 | #interrupt-cells = <2>; | ||
390 | }; | ||
391 | |||
392 | gpl1: gpl1 { | ||
393 | gpio-controller; | ||
394 | #gpio-cells = <2>; | ||
395 | |||
396 | interrupt-controller; | ||
397 | #interrupt-cells = <2>; | ||
398 | }; | ||
399 | |||
400 | gpl2: gpl2 { | ||
401 | gpio-controller; | ||
402 | #gpio-cells = <2>; | ||
403 | |||
404 | interrupt-controller; | ||
405 | #interrupt-cells = <2>; | ||
406 | }; | ||
407 | |||
408 | gpy0: gpy0 { | ||
409 | gpio-controller; | ||
410 | #gpio-cells = <2>; | ||
411 | }; | ||
412 | |||
413 | gpy1: gpy1 { | ||
414 | gpio-controller; | ||
415 | #gpio-cells = <2>; | ||
416 | }; | ||
417 | |||
418 | gpy2: gpy2 { | ||
419 | gpio-controller; | ||
420 | #gpio-cells = <2>; | ||
421 | }; | ||
422 | |||
423 | gpy3: gpy3 { | ||
424 | gpio-controller; | ||
425 | #gpio-cells = <2>; | ||
426 | }; | ||
427 | |||
428 | gpy4: gpy4 { | ||
429 | gpio-controller; | ||
430 | #gpio-cells = <2>; | ||
431 | }; | ||
432 | |||
433 | gpy5: gpy5 { | ||
434 | gpio-controller; | ||
435 | #gpio-cells = <2>; | ||
436 | }; | ||
437 | |||
438 | gpy6: gpy6 { | ||
439 | gpio-controller; | ||
440 | #gpio-cells = <2>; | ||
441 | }; | ||
442 | |||
443 | gpx0: gpx0 { | ||
444 | gpio-controller; | ||
445 | #gpio-cells = <2>; | ||
446 | |||
447 | interrupt-controller; | ||
448 | interrupt-parent = <&gic>; | ||
449 | interrupts = <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>, | ||
450 | <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>; | ||
451 | #interrupt-cells = <2>; | ||
452 | }; | ||
453 | |||
454 | gpx1: gpx1 { | ||
455 | gpio-controller; | ||
456 | #gpio-cells = <2>; | ||
457 | |||
458 | interrupt-controller; | ||
459 | interrupt-parent = <&gic>; | ||
460 | interrupts = <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>, | ||
461 | <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>; | ||
462 | #interrupt-cells = <2>; | ||
463 | }; | ||
464 | |||
465 | gpx2: gpx2 { | ||
466 | gpio-controller; | ||
467 | #gpio-cells = <2>; | ||
468 | |||
469 | interrupt-controller; | ||
470 | #interrupt-cells = <2>; | ||
471 | }; | ||
472 | |||
473 | gpx3: gpx3 { | ||
474 | gpio-controller; | ||
475 | #gpio-cells = <2>; | ||
476 | |||
477 | interrupt-controller; | ||
478 | #interrupt-cells = <2>; | ||
479 | }; | ||
480 | |||
208 | sd0_clk: sd0-clk { | 481 | sd0_clk: sd0-clk { |
209 | samsung,pins = "gpk0-0"; | 482 | samsung,pins = "gpk0-0"; |
210 | samsung,pin-function = <2>; | 483 | samsung,pin-function = <2>; |
211 | samsung,pin-pud = <0>; | 484 | samsung,pin-pud = <0>; |
212 | samsung,pin-drv = <0>; | 485 | samsung,pin-drv = <3>; |
213 | }; | 486 | }; |
214 | 487 | ||
215 | sd0_cmd: sd0-cmd { | 488 | sd0_cmd: sd0-cmd { |
216 | samsung,pins = "gpk0-1"; | 489 | samsung,pins = "gpk0-1"; |
217 | samsung,pin-function = <2>; | 490 | samsung,pin-function = <2>; |
218 | samsung,pin-pud = <0>; | 491 | samsung,pin-pud = <0>; |
219 | samsung,pin-drv = <0>; | 492 | samsung,pin-drv = <3>; |
220 | }; | 493 | }; |
221 | 494 | ||
222 | sd0_cd: sd0-cd { | 495 | sd0_cd: sd0-cd { |
223 | samsung,pins = "gpk0-2"; | 496 | samsung,pins = "gpk0-2"; |
224 | samsung,pin-function = <2>; | 497 | samsung,pin-function = <2>; |
225 | samsung,pin-pud = <3>; | 498 | samsung,pin-pud = <3>; |
226 | samsung,pin-drv = <0>; | 499 | samsung,pin-drv = <3>; |
227 | }; | 500 | }; |
228 | 501 | ||
229 | sd0_bus1: sd0-bus-width1 { | 502 | sd0_bus1: sd0-bus-width1 { |
230 | samsung,pins = "gpk0-3"; | 503 | samsung,pins = "gpk0-3"; |
231 | samsung,pin-function = <2>; | 504 | samsung,pin-function = <2>; |
232 | samsung,pin-pud = <3>; | 505 | samsung,pin-pud = <3>; |
233 | samsung,pin-drv = <0>; | 506 | samsung,pin-drv = <3>; |
234 | }; | 507 | }; |
235 | 508 | ||
236 | sd0_bus4: sd0-bus-width4 { | 509 | sd0_bus4: sd0-bus-width4 { |
237 | samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6"; | 510 | samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6"; |
238 | samsung,pin-function = <2>; | 511 | samsung,pin-function = <2>; |
239 | samsung,pin-pud = <3>; | 512 | samsung,pin-pud = <3>; |
240 | samsung,pin-drv = <0>; | 513 | samsung,pin-drv = <3>; |
241 | }; | 514 | }; |
242 | 515 | ||
243 | sd0_bus8: sd0-bus-width8 { | 516 | sd0_bus8: sd0-bus-width8 { |
244 | samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; | 517 | samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; |
245 | samsung,pin-function = <3>; | 518 | samsung,pin-function = <3>; |
246 | samsung,pin-pud = <3>; | 519 | samsung,pin-pud = <3>; |
247 | samsung,pin-drv = <0>; | 520 | samsung,pin-drv = <3>; |
248 | }; | 521 | }; |
249 | 522 | ||
250 | sd4_clk: sd4-clk { | 523 | sd4_clk: sd4-clk { |
251 | samsung,pins = "gpk0-0"; | 524 | samsung,pins = "gpk0-0"; |
252 | samsung,pin-function = <3>; | 525 | samsung,pin-function = <3>; |
253 | samsung,pin-pud = <0>; | 526 | samsung,pin-pud = <0>; |
254 | samsung,pin-drv = <0>; | 527 | samsung,pin-drv = <3>; |
255 | }; | 528 | }; |
256 | 529 | ||
257 | sd4_cmd: sd4-cmd { | 530 | sd4_cmd: sd4-cmd { |
258 | samsung,pins = "gpk0-1"; | 531 | samsung,pins = "gpk0-1"; |
259 | samsung,pin-function = <3>; | 532 | samsung,pin-function = <3>; |
260 | samsung,pin-pud = <0>; | 533 | samsung,pin-pud = <0>; |
261 | samsung,pin-drv = <0>; | 534 | samsung,pin-drv = <3>; |
262 | }; | 535 | }; |
263 | 536 | ||
264 | sd4_cd: sd4-cd { | 537 | sd4_cd: sd4-cd { |
265 | samsung,pins = "gpk0-2"; | 538 | samsung,pins = "gpk0-2"; |
266 | samsung,pin-function = <3>; | 539 | samsung,pin-function = <3>; |
267 | samsung,pin-pud = <3>; | 540 | samsung,pin-pud = <3>; |
268 | samsung,pin-drv = <0>; | 541 | samsung,pin-drv = <3>; |
269 | }; | 542 | }; |
270 | 543 | ||
271 | sd4_bus1: sd4-bus-width1 { | 544 | sd4_bus1: sd4-bus-width1 { |
272 | samsung,pins = "gpk0-3"; | 545 | samsung,pins = "gpk0-3"; |
273 | samsung,pin-function = <3>; | 546 | samsung,pin-function = <3>; |
274 | samsung,pin-pud = <3>; | 547 | samsung,pin-pud = <3>; |
275 | samsung,pin-drv = <0>; | 548 | samsung,pin-drv = <3>; |
276 | }; | 549 | }; |
277 | 550 | ||
278 | sd4_bus4: sd4-bus-width4 { | 551 | sd4_bus4: sd4-bus-width4 { |
279 | samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6"; | 552 | samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6"; |
280 | samsung,pin-function = <3>; | 553 | samsung,pin-function = <3>; |
281 | samsung,pin-pud = <3>; | 554 | samsung,pin-pud = <3>; |
282 | samsung,pin-drv = <0>; | 555 | samsung,pin-drv = <3>; |
283 | }; | 556 | }; |
284 | 557 | ||
285 | sd4_bus8: sd4-bus-width8 { | 558 | sd4_bus8: sd4-bus-width8 { |
286 | samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; | 559 | samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; |
287 | samsung,pin-function = <3>; | 560 | samsung,pin-function = <3>; |
288 | samsung,pin-pud = <4>; | 561 | samsung,pin-pud = <4>; |
289 | samsung,pin-drv = <0>; | 562 | samsung,pin-drv = <3>; |
290 | }; | 563 | }; |
291 | 564 | ||
292 | sd1_clk: sd1-clk { | 565 | sd1_clk: sd1-clk { |
293 | samsung,pins = "gpk1-0"; | 566 | samsung,pins = "gpk1-0"; |
294 | samsung,pin-function = <2>; | 567 | samsung,pin-function = <2>; |
295 | samsung,pin-pud = <0>; | 568 | samsung,pin-pud = <0>; |
296 | samsung,pin-drv = <0>; | 569 | samsung,pin-drv = <3>; |
297 | }; | 570 | }; |
298 | 571 | ||
299 | sd1_cmd: sd1-cmd { | 572 | sd1_cmd: sd1-cmd { |
300 | samsung,pins = "gpk1-1"; | 573 | samsung,pins = "gpk1-1"; |
301 | samsung,pin-function = <2>; | 574 | samsung,pin-function = <2>; |
302 | samsung,pin-pud = <0>; | 575 | samsung,pin-pud = <0>; |
303 | samsung,pin-drv = <0>; | 576 | samsung,pin-drv = <3>; |
304 | }; | 577 | }; |
305 | 578 | ||
306 | sd1_cd: sd1-cd { | 579 | sd1_cd: sd1-cd { |
307 | samsung,pins = "gpk1-2"; | 580 | samsung,pins = "gpk1-2"; |
308 | samsung,pin-function = <2>; | 581 | samsung,pin-function = <2>; |
309 | samsung,pin-pud = <3>; | 582 | samsung,pin-pud = <3>; |
310 | samsung,pin-drv = <0>; | 583 | samsung,pin-drv = <3>; |
311 | }; | 584 | }; |
312 | 585 | ||
313 | sd1_bus1: sd1-bus-width1 { | 586 | sd1_bus1: sd1-bus-width1 { |
314 | samsung,pins = "gpk1-3"; | 587 | samsung,pins = "gpk1-3"; |
315 | samsung,pin-function = <2>; | 588 | samsung,pin-function = <2>; |
316 | samsung,pin-pud = <3>; | 589 | samsung,pin-pud = <3>; |
317 | samsung,pin-drv = <0>; | 590 | samsung,pin-drv = <3>; |
318 | }; | 591 | }; |
319 | 592 | ||
320 | sd1_bus4: sd1-bus-width4 { | 593 | sd1_bus4: sd1-bus-width4 { |
321 | samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; | 594 | samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; |
322 | samsung,pin-function = <2>; | 595 | samsung,pin-function = <2>; |
323 | samsung,pin-pud = <3>; | 596 | samsung,pin-pud = <3>; |
324 | samsung,pin-drv = <0>; | 597 | samsung,pin-drv = <3>; |
325 | }; | 598 | }; |
326 | 599 | ||
327 | sd2_clk: sd2-clk { | 600 | sd2_clk: sd2-clk { |
328 | samsung,pins = "gpk2-0"; | 601 | samsung,pins = "gpk2-0"; |
329 | samsung,pin-function = <2>; | 602 | samsung,pin-function = <2>; |
330 | samsung,pin-pud = <0>; | 603 | samsung,pin-pud = <0>; |
331 | samsung,pin-drv = <0>; | 604 | samsung,pin-drv = <3>; |
332 | }; | 605 | }; |
333 | 606 | ||
334 | sd2_cmd: sd2-cmd { | 607 | sd2_cmd: sd2-cmd { |
335 | samsung,pins = "gpk2-1"; | 608 | samsung,pins = "gpk2-1"; |
336 | samsung,pin-function = <2>; | 609 | samsung,pin-function = <2>; |
337 | samsung,pin-pud = <0>; | 610 | samsung,pin-pud = <0>; |
338 | samsung,pin-drv = <0>; | 611 | samsung,pin-drv = <3>; |
339 | }; | 612 | }; |
340 | 613 | ||
341 | sd2_cd: sd2-cd { | 614 | sd2_cd: sd2-cd { |
342 | samsung,pins = "gpk2-2"; | 615 | samsung,pins = "gpk2-2"; |
343 | samsung,pin-function = <2>; | 616 | samsung,pin-function = <2>; |
344 | samsung,pin-pud = <3>; | 617 | samsung,pin-pud = <3>; |
345 | samsung,pin-drv = <0>; | 618 | samsung,pin-drv = <3>; |
346 | }; | 619 | }; |
347 | 620 | ||
348 | sd2_bus1: sd2-bus-width1 { | 621 | sd2_bus1: sd2-bus-width1 { |
349 | samsung,pins = "gpk2-3"; | 622 | samsung,pins = "gpk2-3"; |
350 | samsung,pin-function = <2>; | 623 | samsung,pin-function = <2>; |
351 | samsung,pin-pud = <3>; | 624 | samsung,pin-pud = <3>; |
352 | samsung,pin-drv = <0>; | 625 | samsung,pin-drv = <3>; |
353 | }; | 626 | }; |
354 | 627 | ||
355 | sd2_bus4: sd2-bus-width4 { | 628 | sd2_bus4: sd2-bus-width4 { |
356 | samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6"; | 629 | samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6"; |
357 | samsung,pin-function = <2>; | 630 | samsung,pin-function = <2>; |
358 | samsung,pin-pud = <3>; | 631 | samsung,pin-pud = <3>; |
359 | samsung,pin-drv = <0>; | 632 | samsung,pin-drv = <3>; |
360 | }; | 633 | }; |
361 | 634 | ||
362 | sd2_bus8: sd2-bus-width8 { | 635 | sd2_bus8: sd2-bus-width8 { |
363 | samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; | 636 | samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; |
364 | samsung,pin-function = <3>; | 637 | samsung,pin-function = <3>; |
365 | samsung,pin-pud = <3>; | 638 | samsung,pin-pud = <3>; |
366 | samsung,pin-drv = <0>; | 639 | samsung,pin-drv = <3>; |
367 | }; | 640 | }; |
368 | 641 | ||
369 | sd3_clk: sd3-clk { | 642 | sd3_clk: sd3-clk { |
370 | samsung,pins = "gpk3-0"; | 643 | samsung,pins = "gpk3-0"; |
371 | samsung,pin-function = <2>; | 644 | samsung,pin-function = <2>; |
372 | samsung,pin-pud = <0>; | 645 | samsung,pin-pud = <0>; |
373 | samsung,pin-drv = <0>; | 646 | samsung,pin-drv = <3>; |
374 | }; | 647 | }; |
375 | 648 | ||
376 | sd3_cmd: sd3-cmd { | 649 | sd3_cmd: sd3-cmd { |
377 | samsung,pins = "gpk3-1"; | 650 | samsung,pins = "gpk3-1"; |
378 | samsung,pin-function = <2>; | 651 | samsung,pin-function = <2>; |
379 | samsung,pin-pud = <0>; | 652 | samsung,pin-pud = <0>; |
380 | samsung,pin-drv = <0>; | 653 | samsung,pin-drv = <3>; |
381 | }; | 654 | }; |
382 | 655 | ||
383 | sd3_cd: sd3-cd { | 656 | sd3_cd: sd3-cd { |
384 | samsung,pins = "gpk3-2"; | 657 | samsung,pins = "gpk3-2"; |
385 | samsung,pin-function = <2>; | 658 | samsung,pin-function = <2>; |
386 | samsung,pin-pud = <3>; | 659 | samsung,pin-pud = <3>; |
387 | samsung,pin-drv = <0>; | 660 | samsung,pin-drv = <3>; |
388 | }; | 661 | }; |
389 | 662 | ||
390 | sd3_bus1: sd3-bus-width1 { | 663 | sd3_bus1: sd3-bus-width1 { |
391 | samsung,pins = "gpk3-3"; | 664 | samsung,pins = "gpk3-3"; |
392 | samsung,pin-function = <2>; | 665 | samsung,pin-function = <2>; |
393 | samsung,pin-pud = <3>; | 666 | samsung,pin-pud = <3>; |
394 | samsung,pin-drv = <0>; | 667 | samsung,pin-drv = <3>; |
395 | }; | 668 | }; |
396 | 669 | ||
397 | sd3_bus4: sd3-bus-width4 { | 670 | sd3_bus4: sd3-bus-width4 { |
398 | samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; | 671 | samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; |
399 | samsung,pin-function = <2>; | 672 | samsung,pin-function = <2>; |
400 | samsung,pin-pud = <3>; | 673 | samsung,pin-pud = <3>; |
401 | samsung,pin-drv = <0>; | 674 | samsung,pin-drv = <3>; |
402 | }; | 675 | }; |
403 | 676 | ||
404 | eint0: ext-int0 { | 677 | eint0: ext-int0 { |
@@ -438,6 +711,11 @@ | |||
438 | }; | 711 | }; |
439 | 712 | ||
440 | pinctrl@03860000 { | 713 | pinctrl@03860000 { |
714 | gpz: gpz { | ||
715 | gpio-controller; | ||
716 | #gpio-cells = <2>; | ||
717 | }; | ||
718 | |||
441 | i2s0_bus: i2s0-bus { | 719 | i2s0_bus: i2s0-bus { |
442 | samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3", | 720 | samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3", |
443 | "gpz-4", "gpz-5", "gpz-6"; | 721 | "gpz-4", "gpz-5", "gpz-6"; |
diff --git a/arch/arm/boot/dts/exynos4210-smdkv310.dts b/arch/arm/boot/dts/exynos4210-smdkv310.dts index 63610c3ba3af..9b23a8255e39 100644 --- a/arch/arm/boot/dts/exynos4210-smdkv310.dts +++ b/arch/arm/boot/dts/exynos4210-smdkv310.dts | |||
@@ -43,6 +43,22 @@ | |||
43 | status = "okay"; | 43 | status = "okay"; |
44 | }; | 44 | }; |
45 | 45 | ||
46 | serial@13800000 { | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
50 | serial@13810000 { | ||
51 | status = "okay"; | ||
52 | }; | ||
53 | |||
54 | serial@13820000 { | ||
55 | status = "okay"; | ||
56 | }; | ||
57 | |||
58 | serial@13830000 { | ||
59 | status = "okay"; | ||
60 | }; | ||
61 | |||
46 | keypad@100A0000 { | 62 | keypad@100A0000 { |
47 | samsung,keypad-num-rows = <2>; | 63 | samsung,keypad-num-rows = <2>; |
48 | samsung,keypad-num-columns = <8>; | 64 | samsung,keypad-num-columns = <8>; |
diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts index a21511c14071..c346b64dff55 100644 --- a/arch/arm/boot/dts/exynos4210-trats.dts +++ b/arch/arm/boot/dts/exynos4210-trats.dts | |||
@@ -35,24 +35,15 @@ | |||
35 | regulator-name = "VMEM_VDD_2.8V"; | 35 | regulator-name = "VMEM_VDD_2.8V"; |
36 | regulator-min-microvolt = <2800000>; | 36 | regulator-min-microvolt = <2800000>; |
37 | regulator-max-microvolt = <2800000>; | 37 | regulator-max-microvolt = <2800000>; |
38 | gpio = <&gpk0 2 1 0 0>; | 38 | gpio = <&gpk0 2 0>; |
39 | enable-active-high; | 39 | enable-active-high; |
40 | }; | 40 | }; |
41 | 41 | ||
42 | sdhci_emmc: sdhci@12510000 { | 42 | sdhci_emmc: sdhci@12510000 { |
43 | bus-width = <8>; | 43 | bus-width = <8>; |
44 | non-removable; | 44 | non-removable; |
45 | broken-voltage; | 45 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>; |
46 | gpios = <&gpk0 0 2 0 3>, | 46 | pinctrl-names = "default"; |
47 | <&gpk0 1 2 0 3>, | ||
48 | <&gpk0 3 2 2 3>, | ||
49 | <&gpk0 4 2 2 3>, | ||
50 | <&gpk0 5 2 2 3>, | ||
51 | <&gpk0 6 2 2 3>, | ||
52 | <&gpk1 3 3 3 3>, | ||
53 | <&gpk1 4 3 3 3>, | ||
54 | <&gpk1 5 3 3 3>, | ||
55 | <&gpk1 6 3 3 3>; | ||
56 | vmmc-supply = <&vemmc_reg>; | 47 | vmmc-supply = <&vemmc_reg>; |
57 | status = "okay"; | 48 | status = "okay"; |
58 | }; | 49 | }; |
@@ -73,12 +64,74 @@ | |||
73 | status = "okay"; | 64 | status = "okay"; |
74 | }; | 65 | }; |
75 | 66 | ||
67 | gpio-keys { | ||
68 | compatible = "gpio-keys"; | ||
69 | |||
70 | vol-down-key { | ||
71 | gpios = <&gpx2 1 1>; | ||
72 | linux,code = <114>; | ||
73 | label = "volume down"; | ||
74 | debounce-interval = <10>; | ||
75 | }; | ||
76 | |||
77 | vol-up-key { | ||
78 | gpios = <&gpx2 0 1>; | ||
79 | linux,code = <115>; | ||
80 | label = "volume up"; | ||
81 | debounce-interval = <10>; | ||
82 | }; | ||
83 | |||
84 | power-key { | ||
85 | gpios = <&gpx2 7 1>; | ||
86 | linux,code = <116>; | ||
87 | label = "power"; | ||
88 | debounce-interval = <10>; | ||
89 | gpio-key,wakeup; | ||
90 | }; | ||
91 | |||
92 | ok-key { | ||
93 | gpios = <&gpx3 5 1>; | ||
94 | linux,code = <352>; | ||
95 | label = "ok"; | ||
96 | debounce-interval = <10>; | ||
97 | }; | ||
98 | }; | ||
99 | |||
100 | tsp_reg: voltage-regulator { | ||
101 | compatible = "regulator-fixed"; | ||
102 | regulator-name = "TSP_FIXED_VOLTAGES"; | ||
103 | regulator-min-microvolt = <2800000>; | ||
104 | regulator-max-microvolt = <2800000>; | ||
105 | gpio = <&gpl0 3 0>; | ||
106 | enable-active-high; | ||
107 | }; | ||
108 | |||
109 | i2c@13890000 { | ||
110 | samsung,i2c-sda-delay = <100>; | ||
111 | samsung,i2c-slave-addr = <0x10>; | ||
112 | samsung,i2c-max-bus-freq = <400000>; | ||
113 | pinctrl-0 = <&i2c3_bus>; | ||
114 | pinctrl-names = "default"; | ||
115 | status = "okay"; | ||
116 | |||
117 | mms114-touchscreen@48 { | ||
118 | compatible = "melfas,mms114"; | ||
119 | reg = <0x48>; | ||
120 | interrupt-parent = <&gpx0>; | ||
121 | interrupts = <4 2>; | ||
122 | x-size = <720>; | ||
123 | y-size = <1280>; | ||
124 | avdd-supply = <&tsp_reg>; | ||
125 | vdd-supply = <&tsp_reg>; | ||
126 | }; | ||
127 | }; | ||
128 | |||
76 | i2c@138B0000 { | 129 | i2c@138B0000 { |
77 | samsung,i2c-sda-delay = <100>; | 130 | samsung,i2c-sda-delay = <100>; |
78 | samsung,i2c-slave-addr = <0x10>; | 131 | samsung,i2c-slave-addr = <0x10>; |
79 | samsung,i2c-max-bus-freq = <100000>; | 132 | samsung,i2c-max-bus-freq = <100000>; |
80 | gpios = <&gpb 6 3 3 0>, | 133 | pinctrl-0 = <&i2c5_bus>; |
81 | <&gpb 7 3 3 0>; | 134 | pinctrl-names = "default"; |
82 | status = "okay"; | 135 | status = "okay"; |
83 | 136 | ||
84 | max8997_pmic@66 { | 137 | max8997_pmic@66 { |
@@ -93,9 +146,9 @@ | |||
93 | max8997,pmic-ignore-gpiodvs-side-effect; | 146 | max8997,pmic-ignore-gpiodvs-side-effect; |
94 | max8997,pmic-buck125-default-dvs-idx = <0>; | 147 | max8997,pmic-buck125-default-dvs-idx = <0>; |
95 | 148 | ||
96 | max8997,pmic-buck125-dvs-gpios = <&gpx0 5 1 0 0>, | 149 | max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>, |
97 | <&gpx0 6 1 0 0>, | 150 | <&gpx0 6 0>, |
98 | <&gpl0 0 1 0 0>; | 151 | <&gpl0 0 0>; |
99 | 152 | ||
100 | max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, | 153 | max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, |
101 | <1250000>, <1200000>, | 154 | <1250000>, <1200000>, |
diff --git a/arch/arm/boot/dts/exynos4210.dtsi b/arch/arm/boot/dts/exynos4210.dtsi index 214c557eda7f..e31bfc4a6f09 100644 --- a/arch/arm/boot/dts/exynos4210.dtsi +++ b/arch/arm/boot/dts/exynos4210.dtsi | |||
@@ -31,6 +31,11 @@ | |||
31 | pinctrl2 = &pinctrl_2; | 31 | pinctrl2 = &pinctrl_2; |
32 | }; | 32 | }; |
33 | 33 | ||
34 | pd_lcd1: lcd1-power-domain@10023CA0 { | ||
35 | compatible = "samsung,exynos4210-pd"; | ||
36 | reg = <0x10023CA0 0x20>; | ||
37 | }; | ||
38 | |||
34 | gic:interrupt-controller@10490000 { | 39 | gic:interrupt-controller@10490000 { |
35 | cpu-offset = <0x8000>; | 40 | cpu-offset = <0x8000>; |
36 | }; | 41 | }; |
@@ -46,27 +51,17 @@ | |||
46 | compatible = "samsung,pinctrl-exynos4210"; | 51 | compatible = "samsung,pinctrl-exynos4210"; |
47 | reg = <0x11400000 0x1000>; | 52 | reg = <0x11400000 0x1000>; |
48 | interrupts = <0 47 0>; | 53 | interrupts = <0 47 0>; |
49 | interrupt-controller; | ||
50 | #interrupt-cells = <2>; | ||
51 | }; | 54 | }; |
52 | 55 | ||
53 | pinctrl_1: pinctrl@11000000 { | 56 | pinctrl_1: pinctrl@11000000 { |
54 | compatible = "samsung,pinctrl-exynos4210"; | 57 | compatible = "samsung,pinctrl-exynos4210"; |
55 | reg = <0x11000000 0x1000>; | 58 | reg = <0x11000000 0x1000>; |
56 | interrupts = <0 46 0>; | 59 | interrupts = <0 46 0>; |
57 | interrupt-controller; | ||
58 | #interrupt-cells = <2>; | ||
59 | 60 | ||
60 | wakup_eint: wakeup-interrupt-controller { | 61 | wakup_eint: wakeup-interrupt-controller { |
61 | compatible = "samsung,exynos4210-wakeup-eint"; | 62 | compatible = "samsung,exynos4210-wakeup-eint"; |
62 | interrupt-parent = <&gic>; | 63 | interrupt-parent = <&gic>; |
63 | interrupt-controller; | 64 | interrupts = <0 32 0>; |
64 | #interrupt-cells = <2>; | ||
65 | interrupts = <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>, | ||
66 | <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>, | ||
67 | <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>, | ||
68 | <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>, | ||
69 | <0 32 0>; | ||
70 | }; | 65 | }; |
71 | }; | 66 | }; |
72 | 67 | ||
@@ -75,232 +70,10 @@ | |||
75 | reg = <0x03860000 0x1000>; | 70 | reg = <0x03860000 0x1000>; |
76 | }; | 71 | }; |
77 | 72 | ||
78 | gpio-controllers { | 73 | tmu@100C0000 { |
79 | #address-cells = <1>; | 74 | compatible = "samsung,exynos4210-tmu"; |
80 | #size-cells = <1>; | 75 | interrupt-parent = <&combiner>; |
81 | gpio-controller; | 76 | reg = <0x100C0000 0x100>; |
82 | ranges; | 77 | interrupts = <2 4>; |
83 | |||
84 | gpa0: gpio-controller@11400000 { | ||
85 | compatible = "samsung,exynos4-gpio"; | ||
86 | reg = <0x11400000 0x20>; | ||
87 | #gpio-cells = <4>; | ||
88 | }; | ||
89 | |||
90 | gpa1: gpio-controller@11400020 { | ||
91 | compatible = "samsung,exynos4-gpio"; | ||
92 | reg = <0x11400020 0x20>; | ||
93 | #gpio-cells = <4>; | ||
94 | }; | ||
95 | |||
96 | gpb: gpio-controller@11400040 { | ||
97 | compatible = "samsung,exynos4-gpio"; | ||
98 | reg = <0x11400040 0x20>; | ||
99 | #gpio-cells = <4>; | ||
100 | }; | ||
101 | |||
102 | gpc0: gpio-controller@11400060 { | ||
103 | compatible = "samsung,exynos4-gpio"; | ||
104 | reg = <0x11400060 0x20>; | ||
105 | #gpio-cells = <4>; | ||
106 | }; | ||
107 | |||
108 | gpc1: gpio-controller@11400080 { | ||
109 | compatible = "samsung,exynos4-gpio"; | ||
110 | reg = <0x11400080 0x20>; | ||
111 | #gpio-cells = <4>; | ||
112 | }; | ||
113 | |||
114 | gpd0: gpio-controller@114000A0 { | ||
115 | compatible = "samsung,exynos4-gpio"; | ||
116 | reg = <0x114000A0 0x20>; | ||
117 | #gpio-cells = <4>; | ||
118 | }; | ||
119 | |||
120 | gpd1: gpio-controller@114000C0 { | ||
121 | compatible = "samsung,exynos4-gpio"; | ||
122 | reg = <0x114000C0 0x20>; | ||
123 | #gpio-cells = <4>; | ||
124 | }; | ||
125 | |||
126 | gpe0: gpio-controller@114000E0 { | ||
127 | compatible = "samsung,exynos4-gpio"; | ||
128 | reg = <0x114000E0 0x20>; | ||
129 | #gpio-cells = <4>; | ||
130 | }; | ||
131 | |||
132 | gpe1: gpio-controller@11400100 { | ||
133 | compatible = "samsung,exynos4-gpio"; | ||
134 | reg = <0x11400100 0x20>; | ||
135 | #gpio-cells = <4>; | ||
136 | }; | ||
137 | |||
138 | gpe2: gpio-controller@11400120 { | ||
139 | compatible = "samsung,exynos4-gpio"; | ||
140 | reg = <0x11400120 0x20>; | ||
141 | #gpio-cells = <4>; | ||
142 | }; | ||
143 | |||
144 | gpe3: gpio-controller@11400140 { | ||
145 | compatible = "samsung,exynos4-gpio"; | ||
146 | reg = <0x11400140 0x20>; | ||
147 | #gpio-cells = <4>; | ||
148 | }; | ||
149 | |||
150 | gpe4: gpio-controller@11400160 { | ||
151 | compatible = "samsung,exynos4-gpio"; | ||
152 | reg = <0x11400160 0x20>; | ||
153 | #gpio-cells = <4>; | ||
154 | }; | ||
155 | |||
156 | gpf0: gpio-controller@11400180 { | ||
157 | compatible = "samsung,exynos4-gpio"; | ||
158 | reg = <0x11400180 0x20>; | ||
159 | #gpio-cells = <4>; | ||
160 | }; | ||
161 | |||
162 | gpf1: gpio-controller@114001A0 { | ||
163 | compatible = "samsung,exynos4-gpio"; | ||
164 | reg = <0x114001A0 0x20>; | ||
165 | #gpio-cells = <4>; | ||
166 | }; | ||
167 | |||
168 | gpf2: gpio-controller@114001C0 { | ||
169 | compatible = "samsung,exynos4-gpio"; | ||
170 | reg = <0x114001C0 0x20>; | ||
171 | #gpio-cells = <4>; | ||
172 | }; | ||
173 | |||
174 | gpf3: gpio-controller@114001E0 { | ||
175 | compatible = "samsung,exynos4-gpio"; | ||
176 | reg = <0x114001E0 0x20>; | ||
177 | #gpio-cells = <4>; | ||
178 | }; | ||
179 | |||
180 | gpj0: gpio-controller@11000000 { | ||
181 | compatible = "samsung,exynos4-gpio"; | ||
182 | reg = <0x11000000 0x20>; | ||
183 | #gpio-cells = <4>; | ||
184 | }; | ||
185 | |||
186 | gpj1: gpio-controller@11000020 { | ||
187 | compatible = "samsung,exynos4-gpio"; | ||
188 | reg = <0x11000020 0x20>; | ||
189 | #gpio-cells = <4>; | ||
190 | }; | ||
191 | |||
192 | gpk0: gpio-controller@11000040 { | ||
193 | compatible = "samsung,exynos4-gpio"; | ||
194 | reg = <0x11000040 0x20>; | ||
195 | #gpio-cells = <4>; | ||
196 | }; | ||
197 | |||
198 | gpk1: gpio-controller@11000060 { | ||
199 | compatible = "samsung,exynos4-gpio"; | ||
200 | reg = <0x11000060 0x20>; | ||
201 | #gpio-cells = <4>; | ||
202 | }; | ||
203 | |||
204 | gpk2: gpio-controller@11000080 { | ||
205 | compatible = "samsung,exynos4-gpio"; | ||
206 | reg = <0x11000080 0x20>; | ||
207 | #gpio-cells = <4>; | ||
208 | }; | ||
209 | |||
210 | gpk3: gpio-controller@110000A0 { | ||
211 | compatible = "samsung,exynos4-gpio"; | ||
212 | reg = <0x110000A0 0x20>; | ||
213 | #gpio-cells = <4>; | ||
214 | }; | ||
215 | |||
216 | gpl0: gpio-controller@110000C0 { | ||
217 | compatible = "samsung,exynos4-gpio"; | ||
218 | reg = <0x110000C0 0x20>; | ||
219 | #gpio-cells = <4>; | ||
220 | }; | ||
221 | |||
222 | gpl1: gpio-controller@110000E0 { | ||
223 | compatible = "samsung,exynos4-gpio"; | ||
224 | reg = <0x110000E0 0x20>; | ||
225 | #gpio-cells = <4>; | ||
226 | }; | ||
227 | |||
228 | gpl2: gpio-controller@11000100 { | ||
229 | compatible = "samsung,exynos4-gpio"; | ||
230 | reg = <0x11000100 0x20>; | ||
231 | #gpio-cells = <4>; | ||
232 | }; | ||
233 | |||
234 | gpy0: gpio-controller@11000120 { | ||
235 | compatible = "samsung,exynos4-gpio"; | ||
236 | reg = <0x11000120 0x20>; | ||
237 | #gpio-cells = <4>; | ||
238 | }; | ||
239 | |||
240 | gpy1: gpio-controller@11000140 { | ||
241 | compatible = "samsung,exynos4-gpio"; | ||
242 | reg = <0x11000140 0x20>; | ||
243 | #gpio-cells = <4>; | ||
244 | }; | ||
245 | |||
246 | gpy2: gpio-controller@11000160 { | ||
247 | compatible = "samsung,exynos4-gpio"; | ||
248 | reg = <0x11000160 0x20>; | ||
249 | #gpio-cells = <4>; | ||
250 | }; | ||
251 | |||
252 | gpy3: gpio-controller@11000180 { | ||
253 | compatible = "samsung,exynos4-gpio"; | ||
254 | reg = <0x11000180 0x20>; | ||
255 | #gpio-cells = <4>; | ||
256 | }; | ||
257 | |||
258 | gpy4: gpio-controller@110001A0 { | ||
259 | compatible = "samsung,exynos4-gpio"; | ||
260 | reg = <0x110001A0 0x20>; | ||
261 | #gpio-cells = <4>; | ||
262 | }; | ||
263 | |||
264 | gpy5: gpio-controller@110001C0 { | ||
265 | compatible = "samsung,exynos4-gpio"; | ||
266 | reg = <0x110001C0 0x20>; | ||
267 | #gpio-cells = <4>; | ||
268 | }; | ||
269 | |||
270 | gpy6: gpio-controller@110001E0 { | ||
271 | compatible = "samsung,exynos4-gpio"; | ||
272 | reg = <0x110001E0 0x20>; | ||
273 | #gpio-cells = <4>; | ||
274 | }; | ||
275 | |||
276 | gpx0: gpio-controller@11000C00 { | ||
277 | compatible = "samsung,exynos4-gpio"; | ||
278 | reg = <0x11000C00 0x20>; | ||
279 | #gpio-cells = <4>; | ||
280 | }; | ||
281 | |||
282 | gpx1: gpio-controller@11000C20 { | ||
283 | compatible = "samsung,exynos4-gpio"; | ||
284 | reg = <0x11000C20 0x20>; | ||
285 | #gpio-cells = <4>; | ||
286 | }; | ||
287 | |||
288 | gpx2: gpio-controller@11000C40 { | ||
289 | compatible = "samsung,exynos4-gpio"; | ||
290 | reg = <0x11000C40 0x20>; | ||
291 | #gpio-cells = <4>; | ||
292 | }; | ||
293 | |||
294 | gpx3: gpio-controller@11000C60 { | ||
295 | compatible = "samsung,exynos4-gpio"; | ||
296 | reg = <0x11000C60 0x20>; | ||
297 | #gpio-cells = <4>; | ||
298 | }; | ||
299 | |||
300 | gpz: gpio-controller@03860000 { | ||
301 | compatible = "samsung,exynos4-gpio"; | ||
302 | reg = <0x03860000 0x20>; | ||
303 | #gpio-cells = <4>; | ||
304 | }; | ||
305 | }; | 78 | }; |
306 | }; | 79 | }; |
diff --git a/arch/arm/boot/dts/exynos4212.dtsi b/arch/arm/boot/dts/exynos4212.dtsi new file mode 100644 index 000000000000..c6ae2005961f --- /dev/null +++ b/arch/arm/boot/dts/exynos4212.dtsi | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos4212 SoC device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Samsung's Exynos4212 SoC device nodes are listed in this file. Exynos4212 | ||
8 | * based board files can include this file and provide values for board specfic | ||
9 | * bindings. | ||
10 | * | ||
11 | * Note: This file does not include device nodes for all the controllers in | ||
12 | * Exynos4212 SoC. As device tree coverage for Exynos4212 increases, additional | ||
13 | * nodes can be added to this file. | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License version 2 as | ||
17 | * published by the Free Software Foundation. | ||
18 | */ | ||
19 | |||
20 | /include/ "exynos4x12.dtsi" | ||
21 | |||
22 | / { | ||
23 | compatible = "samsung,exynos4212"; | ||
24 | |||
25 | gic:interrupt-controller@10490000 { | ||
26 | cpu-offset = <0x8000>; | ||
27 | }; | ||
28 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4412-smdk4412.dts b/arch/arm/boot/dts/exynos4412-smdk4412.dts new file mode 100644 index 000000000000..f05bf575cc45 --- /dev/null +++ b/arch/arm/boot/dts/exynos4412-smdk4412.dts | |||
@@ -0,0 +1,45 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos4412 based SMDK board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Device tree source file for Samsung's SMDK4412 board which is based on | ||
8 | * Samsung's Exynos4412 SoC. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | /include/ "exynos4412.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "Samsung SMDK evaluation board based on Exynos4412"; | ||
20 | compatible = "samsung,smdk4412", "samsung,exynos4412"; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x40000000 0x40000000>; | ||
24 | }; | ||
25 | |||
26 | chosen { | ||
27 | bootargs ="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc"; | ||
28 | }; | ||
29 | |||
30 | serial@13800000 { | ||
31 | status = "okay"; | ||
32 | }; | ||
33 | |||
34 | serial@13810000 { | ||
35 | status = "okay"; | ||
36 | }; | ||
37 | |||
38 | serial@13820000 { | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
42 | serial@13830000 { | ||
43 | status = "okay"; | ||
44 | }; | ||
45 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4412.dtsi b/arch/arm/boot/dts/exynos4412.dtsi new file mode 100644 index 000000000000..d7dfe312772a --- /dev/null +++ b/arch/arm/boot/dts/exynos4412.dtsi | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos4412 SoC device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Samsung's Exynos4412 SoC device nodes are listed in this file. Exynos4412 | ||
8 | * based board files can include this file and provide values for board specfic | ||
9 | * bindings. | ||
10 | * | ||
11 | * Note: This file does not include device nodes for all the controllers in | ||
12 | * Exynos4412 SoC. As device tree coverage for Exynos4412 increases, additional | ||
13 | * nodes can be added to this file. | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License version 2 as | ||
17 | * published by the Free Software Foundation. | ||
18 | */ | ||
19 | |||
20 | /include/ "exynos4x12.dtsi" | ||
21 | |||
22 | / { | ||
23 | compatible = "samsung,exynos4412"; | ||
24 | |||
25 | gic:interrupt-controller@10490000 { | ||
26 | cpu-offset = <0x4000>; | ||
27 | }; | ||
28 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi b/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi new file mode 100644 index 000000000000..8e6115adcd97 --- /dev/null +++ b/arch/arm/boot/dts/exynos4x12-pinctrl.dtsi | |||
@@ -0,0 +1,965 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos4x12 SoCs pin-mux and pin-config device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Samsung's Exynos4x12 SoCs pin-mux and pin-config optiosn are listed as device | ||
8 | * tree nodes are listed in this file. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | / { | ||
16 | pinctrl@11400000 { | ||
17 | gpa0: gpa0 { | ||
18 | gpio-controller; | ||
19 | #gpio-cells = <2>; | ||
20 | |||
21 | interrupt-controller; | ||
22 | #interrupt-cells = <2>; | ||
23 | }; | ||
24 | |||
25 | gpa1: gpa1 { | ||
26 | gpio-controller; | ||
27 | #gpio-cells = <2>; | ||
28 | |||
29 | interrupt-controller; | ||
30 | #interrupt-cells = <2>; | ||
31 | }; | ||
32 | |||
33 | gpb: gpb { | ||
34 | gpio-controller; | ||
35 | #gpio-cells = <2>; | ||
36 | |||
37 | interrupt-controller; | ||
38 | #interrupt-cells = <2>; | ||
39 | }; | ||
40 | |||
41 | gpc0: gpc0 { | ||
42 | gpio-controller; | ||
43 | #gpio-cells = <2>; | ||
44 | |||
45 | interrupt-controller; | ||
46 | #interrupt-cells = <2>; | ||
47 | }; | ||
48 | |||
49 | gpc1: gpc1 { | ||
50 | gpio-controller; | ||
51 | #gpio-cells = <2>; | ||
52 | |||
53 | interrupt-controller; | ||
54 | #interrupt-cells = <2>; | ||
55 | }; | ||
56 | |||
57 | gpd0: gpd0 { | ||
58 | gpio-controller; | ||
59 | #gpio-cells = <2>; | ||
60 | |||
61 | interrupt-controller; | ||
62 | #interrupt-cells = <2>; | ||
63 | }; | ||
64 | |||
65 | gpd1: gpd1 { | ||
66 | gpio-controller; | ||
67 | #gpio-cells = <2>; | ||
68 | |||
69 | interrupt-controller; | ||
70 | #interrupt-cells = <2>; | ||
71 | }; | ||
72 | |||
73 | gpf0: gpf0 { | ||
74 | gpio-controller; | ||
75 | #gpio-cells = <2>; | ||
76 | |||
77 | interrupt-controller; | ||
78 | #interrupt-cells = <2>; | ||
79 | }; | ||
80 | |||
81 | gpf1: gpf1 { | ||
82 | gpio-controller; | ||
83 | #gpio-cells = <2>; | ||
84 | |||
85 | interrupt-controller; | ||
86 | #interrupt-cells = <2>; | ||
87 | }; | ||
88 | |||
89 | gpf2: gpf2 { | ||
90 | gpio-controller; | ||
91 | #gpio-cells = <2>; | ||
92 | |||
93 | interrupt-controller; | ||
94 | #interrupt-cells = <2>; | ||
95 | }; | ||
96 | |||
97 | gpf3: gpf3 { | ||
98 | gpio-controller; | ||
99 | #gpio-cells = <2>; | ||
100 | |||
101 | interrupt-controller; | ||
102 | #interrupt-cells = <2>; | ||
103 | }; | ||
104 | |||
105 | gpj0: gpj0 { | ||
106 | gpio-controller; | ||
107 | #gpio-cells = <2>; | ||
108 | |||
109 | interrupt-controller; | ||
110 | #interrupt-cells = <2>; | ||
111 | }; | ||
112 | |||
113 | gpj1: gpj1 { | ||
114 | gpio-controller; | ||
115 | #gpio-cells = <2>; | ||
116 | |||
117 | interrupt-controller; | ||
118 | #interrupt-cells = <2>; | ||
119 | }; | ||
120 | |||
121 | uart0_data: uart0-data { | ||
122 | samsung,pins = "gpa0-0", "gpa0-1"; | ||
123 | samsung,pin-function = <0x2>; | ||
124 | samsung,pin-pud = <0>; | ||
125 | samsung,pin-drv = <0>; | ||
126 | }; | ||
127 | |||
128 | uart0_fctl: uart0-fctl { | ||
129 | samsung,pins = "gpa0-2", "gpa0-3"; | ||
130 | samsung,pin-function = <2>; | ||
131 | samsung,pin-pud = <0>; | ||
132 | samsung,pin-drv = <0>; | ||
133 | }; | ||
134 | |||
135 | uart1_data: uart1-data { | ||
136 | samsung,pins = "gpa0-4", "gpa0-5"; | ||
137 | samsung,pin-function = <2>; | ||
138 | samsung,pin-pud = <0>; | ||
139 | samsung,pin-drv = <0>; | ||
140 | }; | ||
141 | |||
142 | uart1_fctl: uart1-fctl { | ||
143 | samsung,pins = "gpa0-6", "gpa0-7"; | ||
144 | samsung,pin-function = <2>; | ||
145 | samsung,pin-pud = <0>; | ||
146 | samsung,pin-drv = <0>; | ||
147 | }; | ||
148 | |||
149 | i2c2_bus: i2c2-bus { | ||
150 | samsung,pins = "gpa0-6", "gpa0-7"; | ||
151 | samsung,pin-function = <3>; | ||
152 | samsung,pin-pud = <3>; | ||
153 | samsung,pin-drv = <0>; | ||
154 | }; | ||
155 | |||
156 | uart2_data: uart2-data { | ||
157 | samsung,pins = "gpa1-0", "gpa1-1"; | ||
158 | samsung,pin-function = <2>; | ||
159 | samsung,pin-pud = <0>; | ||
160 | samsung,pin-drv = <0>; | ||
161 | }; | ||
162 | |||
163 | uart2_fctl: uart2-fctl { | ||
164 | samsung,pins = "gpa1-2", "gpa1-3"; | ||
165 | samsung,pin-function = <2>; | ||
166 | samsung,pin-pud = <0>; | ||
167 | samsung,pin-drv = <0>; | ||
168 | }; | ||
169 | |||
170 | uart_audio_a: uart-audio-a { | ||
171 | samsung,pins = "gpa1-0", "gpa1-1"; | ||
172 | samsung,pin-function = <4>; | ||
173 | samsung,pin-pud = <0>; | ||
174 | samsung,pin-drv = <0>; | ||
175 | }; | ||
176 | |||
177 | i2c3_bus: i2c3-bus { | ||
178 | samsung,pins = "gpa1-2", "gpa1-3"; | ||
179 | samsung,pin-function = <3>; | ||
180 | samsung,pin-pud = <3>; | ||
181 | samsung,pin-drv = <0>; | ||
182 | }; | ||
183 | |||
184 | uart3_data: uart3-data { | ||
185 | samsung,pins = "gpa1-4", "gpa1-5"; | ||
186 | samsung,pin-function = <2>; | ||
187 | samsung,pin-pud = <0>; | ||
188 | samsung,pin-drv = <0>; | ||
189 | }; | ||
190 | |||
191 | uart_audio_b: uart-audio-b { | ||
192 | samsung,pins = "gpa1-4", "gpa1-5"; | ||
193 | samsung,pin-function = <4>; | ||
194 | samsung,pin-pud = <0>; | ||
195 | samsung,pin-drv = <0>; | ||
196 | }; | ||
197 | |||
198 | spi0_bus: spi0-bus { | ||
199 | samsung,pins = "gpb-0", "gpb-2", "gpb-3"; | ||
200 | samsung,pin-function = <2>; | ||
201 | samsung,pin-pud = <3>; | ||
202 | samsung,pin-drv = <0>; | ||
203 | }; | ||
204 | |||
205 | i2c4_bus: i2c4-bus { | ||
206 | samsung,pins = "gpb-0", "gpb-1"; | ||
207 | samsung,pin-function = <3>; | ||
208 | samsung,pin-pud = <3>; | ||
209 | samsung,pin-drv = <0>; | ||
210 | }; | ||
211 | |||
212 | spi1_bus: spi1-bus { | ||
213 | samsung,pins = "gpb-4", "gpb-6", "gpb-7"; | ||
214 | samsung,pin-function = <2>; | ||
215 | samsung,pin-pud = <3>; | ||
216 | samsung,pin-drv = <0>; | ||
217 | }; | ||
218 | |||
219 | i2c5_bus: i2c5-bus { | ||
220 | samsung,pins = "gpb-2", "gpb-3"; | ||
221 | samsung,pin-function = <3>; | ||
222 | samsung,pin-pud = <3>; | ||
223 | samsung,pin-drv = <0>; | ||
224 | }; | ||
225 | |||
226 | i2s1_bus: i2s1-bus { | ||
227 | samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", | ||
228 | "gpc0-4"; | ||
229 | samsung,pin-function = <2>; | ||
230 | samsung,pin-pud = <0>; | ||
231 | samsung,pin-drv = <0>; | ||
232 | }; | ||
233 | |||
234 | pcm1_bus: pcm1-bus { | ||
235 | samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", | ||
236 | "gpc0-4"; | ||
237 | samsung,pin-function = <3>; | ||
238 | samsung,pin-pud = <0>; | ||
239 | samsung,pin-drv = <0>; | ||
240 | }; | ||
241 | |||
242 | ac97_bus: ac97-bus { | ||
243 | samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3", | ||
244 | "gpc0-4"; | ||
245 | samsung,pin-function = <4>; | ||
246 | samsung,pin-pud = <0>; | ||
247 | samsung,pin-drv = <0>; | ||
248 | }; | ||
249 | |||
250 | i2s2_bus: i2s2-bus { | ||
251 | samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", | ||
252 | "gpc1-4"; | ||
253 | samsung,pin-function = <2>; | ||
254 | samsung,pin-pud = <0>; | ||
255 | samsung,pin-drv = <0>; | ||
256 | }; | ||
257 | |||
258 | pcm2_bus: pcm2-bus { | ||
259 | samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3", | ||
260 | "gpc1-4"; | ||
261 | samsung,pin-function = <3>; | ||
262 | samsung,pin-pud = <0>; | ||
263 | samsung,pin-drv = <0>; | ||
264 | }; | ||
265 | |||
266 | spdif_bus: spdif-bus { | ||
267 | samsung,pins = "gpc1-0", "gpc1-1"; | ||
268 | samsung,pin-function = <4>; | ||
269 | samsung,pin-pud = <0>; | ||
270 | samsung,pin-drv = <0>; | ||
271 | }; | ||
272 | |||
273 | i2c6_bus: i2c6-bus { | ||
274 | samsung,pins = "gpc1-3", "gpc1-4"; | ||
275 | samsung,pin-function = <4>; | ||
276 | samsung,pin-pud = <3>; | ||
277 | samsung,pin-drv = <0>; | ||
278 | }; | ||
279 | |||
280 | spi2_bus: spi2-bus { | ||
281 | samsung,pins = "gpc1-1", "gpc1-3", "gpc1-4"; | ||
282 | samsung,pin-function = <5>; | ||
283 | samsung,pin-pud = <3>; | ||
284 | samsung,pin-drv = <0>; | ||
285 | }; | ||
286 | |||
287 | pwm0_out: pwm0-out { | ||
288 | samsung,pins = "gpd0-0"; | ||
289 | samsung,pin-function = <2>; | ||
290 | samsung,pin-pud = <0>; | ||
291 | samsung,pin-drv = <0>; | ||
292 | }; | ||
293 | |||
294 | pwm1_out: pwm1-out { | ||
295 | samsung,pins = "gpd0-1"; | ||
296 | samsung,pin-function = <2>; | ||
297 | samsung,pin-pud = <0>; | ||
298 | samsung,pin-drv = <0>; | ||
299 | }; | ||
300 | |||
301 | lcd_ctrl: lcd-ctrl { | ||
302 | samsung,pins = "gpd0-0", "gpd0-1"; | ||
303 | samsung,pin-function = <3>; | ||
304 | samsung,pin-pud = <0>; | ||
305 | samsung,pin-drv = <0>; | ||
306 | }; | ||
307 | |||
308 | i2c7_bus: i2c7-bus { | ||
309 | samsung,pins = "gpd0-2", "gpd0-3"; | ||
310 | samsung,pin-function = <3>; | ||
311 | samsung,pin-pud = <3>; | ||
312 | samsung,pin-drv = <0>; | ||
313 | }; | ||
314 | |||
315 | pwm2_out: pwm2-out { | ||
316 | samsung,pins = "gpd0-2"; | ||
317 | samsung,pin-function = <2>; | ||
318 | samsung,pin-pud = <0>; | ||
319 | samsung,pin-drv = <0>; | ||
320 | }; | ||
321 | |||
322 | pwm3_out: pwm3-out { | ||
323 | samsung,pins = "gpd0-3"; | ||
324 | samsung,pin-function = <2>; | ||
325 | samsung,pin-pud = <0>; | ||
326 | samsung,pin-drv = <0>; | ||
327 | }; | ||
328 | |||
329 | i2c0_bus: i2c0-bus { | ||
330 | samsung,pins = "gpd1-0", "gpd1-1"; | ||
331 | samsung,pin-function = <2>; | ||
332 | samsung,pin-pud = <3>; | ||
333 | samsung,pin-drv = <0>; | ||
334 | }; | ||
335 | |||
336 | mipi0_clk: mipi0-clk { | ||
337 | samsung,pins = "gpd1-0", "gpd1-1"; | ||
338 | samsung,pin-function = <3>; | ||
339 | samsung,pin-pud = <0>; | ||
340 | samsung,pin-drv = <0>; | ||
341 | }; | ||
342 | |||
343 | i2c1_bus: i2c1-bus { | ||
344 | samsung,pins = "gpd1-2", "gpd1-3"; | ||
345 | samsung,pin-function = <2>; | ||
346 | samsung,pin-pud = <3>; | ||
347 | samsung,pin-drv = <0>; | ||
348 | }; | ||
349 | |||
350 | mipi1_clk: mipi1-clk { | ||
351 | samsung,pins = "gpd1-2", "gpd1-3"; | ||
352 | samsung,pin-function = <3>; | ||
353 | samsung,pin-pud = <0>; | ||
354 | samsung,pin-drv = <0>; | ||
355 | }; | ||
356 | |||
357 | lcd_clk: lcd-clk { | ||
358 | samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3"; | ||
359 | samsung,pin-function = <2>; | ||
360 | samsung,pin-pud = <0>; | ||
361 | samsung,pin-drv = <0>; | ||
362 | }; | ||
363 | |||
364 | lcd_data16: lcd-data-width16 { | ||
365 | samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2", | ||
366 | "gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0", | ||
367 | "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7", | ||
368 | "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3"; | ||
369 | samsung,pin-function = <2>; | ||
370 | samsung,pin-pud = <0>; | ||
371 | samsung,pin-drv = <0>; | ||
372 | }; | ||
373 | |||
374 | lcd_data18: lcd-data-width18 { | ||
375 | samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1", | ||
376 | "gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7", | ||
377 | "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3", | ||
378 | "gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1", | ||
379 | "gpf3-2", "gpf3-3"; | ||
380 | samsung,pin-function = <2>; | ||
381 | samsung,pin-pud = <0>; | ||
382 | samsung,pin-drv = <0>; | ||
383 | }; | ||
384 | |||
385 | lcd_data24: lcd-data-width24 { | ||
386 | samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7", | ||
387 | "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3", | ||
388 | "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7", | ||
389 | "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3", | ||
390 | "gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7", | ||
391 | "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3"; | ||
392 | samsung,pin-function = <2>; | ||
393 | samsung,pin-pud = <0>; | ||
394 | samsung,pin-drv = <0>; | ||
395 | }; | ||
396 | |||
397 | lcd_ldi: lcd-ldi { | ||
398 | samsung,pins = "gpf3-4"; | ||
399 | samsung,pin-function = <2>; | ||
400 | samsung,pin-pud = <0>; | ||
401 | samsung,pin-drv = <0>; | ||
402 | }; | ||
403 | |||
404 | cam_port_a: cam-port-a { | ||
405 | samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3", | ||
406 | "gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7", | ||
407 | "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-3", | ||
408 | "gpj1-4"; | ||
409 | samsung,pin-function = <2>; | ||
410 | samsung,pin-pud = <3>; | ||
411 | samsung,pin-drv = <0>; | ||
412 | }; | ||
413 | }; | ||
414 | |||
415 | pinctrl@11000000 { | ||
416 | gpk0: gpk0 { | ||
417 | gpio-controller; | ||
418 | #gpio-cells = <2>; | ||
419 | |||
420 | interrupt-controller; | ||
421 | #interrupt-cells = <2>; | ||
422 | }; | ||
423 | |||
424 | gpk1: gpk1 { | ||
425 | gpio-controller; | ||
426 | #gpio-cells = <2>; | ||
427 | |||
428 | interrupt-controller; | ||
429 | #interrupt-cells = <2>; | ||
430 | }; | ||
431 | |||
432 | gpk2: gpk2 { | ||
433 | gpio-controller; | ||
434 | #gpio-cells = <2>; | ||
435 | |||
436 | interrupt-controller; | ||
437 | #interrupt-cells = <2>; | ||
438 | }; | ||
439 | |||
440 | gpk3: gpk3 { | ||
441 | gpio-controller; | ||
442 | #gpio-cells = <2>; | ||
443 | |||
444 | interrupt-controller; | ||
445 | #interrupt-cells = <2>; | ||
446 | }; | ||
447 | |||
448 | gpl0: gpl0 { | ||
449 | gpio-controller; | ||
450 | #gpio-cells = <2>; | ||
451 | |||
452 | interrupt-controller; | ||
453 | #interrupt-cells = <2>; | ||
454 | }; | ||
455 | |||
456 | gpl1: gpl1 { | ||
457 | gpio-controller; | ||
458 | #gpio-cells = <2>; | ||
459 | |||
460 | interrupt-controller; | ||
461 | #interrupt-cells = <2>; | ||
462 | }; | ||
463 | |||
464 | gpl2: gpl2 { | ||
465 | gpio-controller; | ||
466 | #gpio-cells = <2>; | ||
467 | |||
468 | interrupt-controller; | ||
469 | #interrupt-cells = <2>; | ||
470 | }; | ||
471 | |||
472 | gpm0: gpm0 { | ||
473 | gpio-controller; | ||
474 | #gpio-cells = <2>; | ||
475 | |||
476 | interrupt-controller; | ||
477 | #interrupt-cells = <2>; | ||
478 | }; | ||
479 | |||
480 | gpm1: gpm1 { | ||
481 | gpio-controller; | ||
482 | #gpio-cells = <2>; | ||
483 | |||
484 | interrupt-controller; | ||
485 | #interrupt-cells = <2>; | ||
486 | }; | ||
487 | |||
488 | gpm2: gpm2 { | ||
489 | gpio-controller; | ||
490 | #gpio-cells = <2>; | ||
491 | |||
492 | interrupt-controller; | ||
493 | #interrupt-cells = <2>; | ||
494 | }; | ||
495 | |||
496 | gpm3: gpm3 { | ||
497 | gpio-controller; | ||
498 | #gpio-cells = <2>; | ||
499 | |||
500 | interrupt-controller; | ||
501 | #interrupt-cells = <2>; | ||
502 | }; | ||
503 | |||
504 | gpm4: gpm4 { | ||
505 | gpio-controller; | ||
506 | #gpio-cells = <2>; | ||
507 | |||
508 | interrupt-controller; | ||
509 | #interrupt-cells = <2>; | ||
510 | }; | ||
511 | |||
512 | gpy0: gpy0 { | ||
513 | gpio-controller; | ||
514 | #gpio-cells = <2>; | ||
515 | }; | ||
516 | |||
517 | gpy1: gpy1 { | ||
518 | gpio-controller; | ||
519 | #gpio-cells = <2>; | ||
520 | }; | ||
521 | |||
522 | gpy2: gpy2 { | ||
523 | gpio-controller; | ||
524 | #gpio-cells = <2>; | ||
525 | }; | ||
526 | |||
527 | gpy3: gpy3 { | ||
528 | gpio-controller; | ||
529 | #gpio-cells = <2>; | ||
530 | }; | ||
531 | |||
532 | gpy4: gpy4 { | ||
533 | gpio-controller; | ||
534 | #gpio-cells = <2>; | ||
535 | }; | ||
536 | |||
537 | gpy5: gpy5 { | ||
538 | gpio-controller; | ||
539 | #gpio-cells = <2>; | ||
540 | }; | ||
541 | |||
542 | gpy6: gpy6 { | ||
543 | gpio-controller; | ||
544 | #gpio-cells = <2>; | ||
545 | }; | ||
546 | |||
547 | gpx0: gpx0 { | ||
548 | gpio-controller; | ||
549 | #gpio-cells = <2>; | ||
550 | |||
551 | interrupt-controller; | ||
552 | interrupt-parent = <&gic>; | ||
553 | interrupts = <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>, | ||
554 | <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>; | ||
555 | #interrupt-cells = <2>; | ||
556 | }; | ||
557 | |||
558 | gpx1: gpx1 { | ||
559 | gpio-controller; | ||
560 | #gpio-cells = <2>; | ||
561 | |||
562 | interrupt-controller; | ||
563 | interrupt-parent = <&gic>; | ||
564 | interrupts = <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>, | ||
565 | <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>; | ||
566 | #interrupt-cells = <2>; | ||
567 | }; | ||
568 | |||
569 | gpx2: gpx2 { | ||
570 | gpio-controller; | ||
571 | #gpio-cells = <2>; | ||
572 | |||
573 | interrupt-controller; | ||
574 | #interrupt-cells = <2>; | ||
575 | }; | ||
576 | |||
577 | gpx3: gpx3 { | ||
578 | gpio-controller; | ||
579 | #gpio-cells = <2>; | ||
580 | |||
581 | interrupt-controller; | ||
582 | #interrupt-cells = <2>; | ||
583 | }; | ||
584 | |||
585 | sd0_clk: sd0-clk { | ||
586 | samsung,pins = "gpk0-0"; | ||
587 | samsung,pin-function = <2>; | ||
588 | samsung,pin-pud = <0>; | ||
589 | samsung,pin-drv = <3>; | ||
590 | }; | ||
591 | |||
592 | sd0_cmd: sd0-cmd { | ||
593 | samsung,pins = "gpk0-1"; | ||
594 | samsung,pin-function = <2>; | ||
595 | samsung,pin-pud = <0>; | ||
596 | samsung,pin-drv = <3>; | ||
597 | }; | ||
598 | |||
599 | sd0_cd: sd0-cd { | ||
600 | samsung,pins = "gpk0-2"; | ||
601 | samsung,pin-function = <2>; | ||
602 | samsung,pin-pud = <3>; | ||
603 | samsung,pin-drv = <3>; | ||
604 | }; | ||
605 | |||
606 | sd0_bus1: sd0-bus-width1 { | ||
607 | samsung,pins = "gpk0-3"; | ||
608 | samsung,pin-function = <2>; | ||
609 | samsung,pin-pud = <3>; | ||
610 | samsung,pin-drv = <3>; | ||
611 | }; | ||
612 | |||
613 | sd0_bus4: sd0-bus-width4 { | ||
614 | samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6"; | ||
615 | samsung,pin-function = <2>; | ||
616 | samsung,pin-pud = <3>; | ||
617 | samsung,pin-drv = <3>; | ||
618 | }; | ||
619 | |||
620 | sd0_bus8: sd0-bus-width8 { | ||
621 | samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; | ||
622 | samsung,pin-function = <3>; | ||
623 | samsung,pin-pud = <3>; | ||
624 | samsung,pin-drv = <3>; | ||
625 | }; | ||
626 | |||
627 | sd4_clk: sd4-clk { | ||
628 | samsung,pins = "gpk0-0"; | ||
629 | samsung,pin-function = <3>; | ||
630 | samsung,pin-pud = <0>; | ||
631 | samsung,pin-drv = <3>; | ||
632 | }; | ||
633 | |||
634 | sd4_cmd: sd4-cmd { | ||
635 | samsung,pins = "gpk0-1"; | ||
636 | samsung,pin-function = <3>; | ||
637 | samsung,pin-pud = <0>; | ||
638 | samsung,pin-drv = <3>; | ||
639 | }; | ||
640 | |||
641 | sd4_cd: sd4-cd { | ||
642 | samsung,pins = "gpk0-2"; | ||
643 | samsung,pin-function = <3>; | ||
644 | samsung,pin-pud = <3>; | ||
645 | samsung,pin-drv = <3>; | ||
646 | }; | ||
647 | |||
648 | sd4_bus1: sd4-bus-width1 { | ||
649 | samsung,pins = "gpk0-3"; | ||
650 | samsung,pin-function = <3>; | ||
651 | samsung,pin-pud = <3>; | ||
652 | samsung,pin-drv = <3>; | ||
653 | }; | ||
654 | |||
655 | sd4_bus4: sd4-bus-width4 { | ||
656 | samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6"; | ||
657 | samsung,pin-function = <3>; | ||
658 | samsung,pin-pud = <3>; | ||
659 | samsung,pin-drv = <3>; | ||
660 | }; | ||
661 | |||
662 | sd4_bus8: sd4-bus-width8 { | ||
663 | samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; | ||
664 | samsung,pin-function = <3>; | ||
665 | samsung,pin-pud = <4>; | ||
666 | samsung,pin-drv = <3>; | ||
667 | }; | ||
668 | |||
669 | sd1_clk: sd1-clk { | ||
670 | samsung,pins = "gpk1-0"; | ||
671 | samsung,pin-function = <2>; | ||
672 | samsung,pin-pud = <0>; | ||
673 | samsung,pin-drv = <3>; | ||
674 | }; | ||
675 | |||
676 | sd1_cmd: sd1-cmd { | ||
677 | samsung,pins = "gpk1-1"; | ||
678 | samsung,pin-function = <2>; | ||
679 | samsung,pin-pud = <0>; | ||
680 | samsung,pin-drv = <3>; | ||
681 | }; | ||
682 | |||
683 | sd1_cd: sd1-cd { | ||
684 | samsung,pins = "gpk1-2"; | ||
685 | samsung,pin-function = <2>; | ||
686 | samsung,pin-pud = <3>; | ||
687 | samsung,pin-drv = <3>; | ||
688 | }; | ||
689 | |||
690 | sd1_bus1: sd1-bus-width1 { | ||
691 | samsung,pins = "gpk1-3"; | ||
692 | samsung,pin-function = <2>; | ||
693 | samsung,pin-pud = <3>; | ||
694 | samsung,pin-drv = <3>; | ||
695 | }; | ||
696 | |||
697 | sd1_bus4: sd1-bus-width4 { | ||
698 | samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6"; | ||
699 | samsung,pin-function = <2>; | ||
700 | samsung,pin-pud = <3>; | ||
701 | samsung,pin-drv = <3>; | ||
702 | }; | ||
703 | |||
704 | sd2_clk: sd2-clk { | ||
705 | samsung,pins = "gpk2-0"; | ||
706 | samsung,pin-function = <2>; | ||
707 | samsung,pin-pud = <0>; | ||
708 | samsung,pin-drv = <3>; | ||
709 | }; | ||
710 | |||
711 | sd2_cmd: sd2-cmd { | ||
712 | samsung,pins = "gpk2-1"; | ||
713 | samsung,pin-function = <2>; | ||
714 | samsung,pin-pud = <0>; | ||
715 | samsung,pin-drv = <3>; | ||
716 | }; | ||
717 | |||
718 | sd2_cd: sd2-cd { | ||
719 | samsung,pins = "gpk2-2"; | ||
720 | samsung,pin-function = <2>; | ||
721 | samsung,pin-pud = <3>; | ||
722 | samsung,pin-drv = <3>; | ||
723 | }; | ||
724 | |||
725 | sd2_bus1: sd2-bus-width1 { | ||
726 | samsung,pins = "gpk2-3"; | ||
727 | samsung,pin-function = <2>; | ||
728 | samsung,pin-pud = <3>; | ||
729 | samsung,pin-drv = <3>; | ||
730 | }; | ||
731 | |||
732 | sd2_bus4: sd2-bus-width4 { | ||
733 | samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6"; | ||
734 | samsung,pin-function = <2>; | ||
735 | samsung,pin-pud = <3>; | ||
736 | samsung,pin-drv = <3>; | ||
737 | }; | ||
738 | |||
739 | sd2_bus8: sd2-bus-width8 { | ||
740 | samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; | ||
741 | samsung,pin-function = <3>; | ||
742 | samsung,pin-pud = <3>; | ||
743 | samsung,pin-drv = <3>; | ||
744 | }; | ||
745 | |||
746 | sd3_clk: sd3-clk { | ||
747 | samsung,pins = "gpk3-0"; | ||
748 | samsung,pin-function = <2>; | ||
749 | samsung,pin-pud = <0>; | ||
750 | samsung,pin-drv = <3>; | ||
751 | }; | ||
752 | |||
753 | sd3_cmd: sd3-cmd { | ||
754 | samsung,pins = "gpk3-1"; | ||
755 | samsung,pin-function = <2>; | ||
756 | samsung,pin-pud = <0>; | ||
757 | samsung,pin-drv = <3>; | ||
758 | }; | ||
759 | |||
760 | sd3_cd: sd3-cd { | ||
761 | samsung,pins = "gpk3-2"; | ||
762 | samsung,pin-function = <2>; | ||
763 | samsung,pin-pud = <3>; | ||
764 | samsung,pin-drv = <3>; | ||
765 | }; | ||
766 | |||
767 | sd3_bus1: sd3-bus-width1 { | ||
768 | samsung,pins = "gpk3-3"; | ||
769 | samsung,pin-function = <2>; | ||
770 | samsung,pin-pud = <3>; | ||
771 | samsung,pin-drv = <3>; | ||
772 | }; | ||
773 | |||
774 | sd3_bus4: sd3-bus-width4 { | ||
775 | samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; | ||
776 | samsung,pin-function = <2>; | ||
777 | samsung,pin-pud = <3>; | ||
778 | samsung,pin-drv = <3>; | ||
779 | }; | ||
780 | |||
781 | keypad_col0: keypad-col0 { | ||
782 | samsung,pins = "gpl2-0"; | ||
783 | samsung,pin-function = <3>; | ||
784 | samsung,pin-pud = <0>; | ||
785 | samsung,pin-drv = <0>; | ||
786 | }; | ||
787 | |||
788 | keypad_col1: keypad-col1 { | ||
789 | samsung,pins = "gpl2-1"; | ||
790 | samsung,pin-function = <3>; | ||
791 | samsung,pin-pud = <0>; | ||
792 | samsung,pin-drv = <0>; | ||
793 | }; | ||
794 | |||
795 | keypad_col2: keypad-col2 { | ||
796 | samsung,pins = "gpl2-2"; | ||
797 | samsung,pin-function = <3>; | ||
798 | samsung,pin-pud = <0>; | ||
799 | samsung,pin-drv = <0>; | ||
800 | }; | ||
801 | |||
802 | keypad_col3: keypad-col3 { | ||
803 | samsung,pins = "gpl2-3"; | ||
804 | samsung,pin-function = <3>; | ||
805 | samsung,pin-pud = <0>; | ||
806 | samsung,pin-drv = <0>; | ||
807 | }; | ||
808 | |||
809 | keypad_col4: keypad-col4 { | ||
810 | samsung,pins = "gpl2-4"; | ||
811 | samsung,pin-function = <3>; | ||
812 | samsung,pin-pud = <0>; | ||
813 | samsung,pin-drv = <0>; | ||
814 | }; | ||
815 | |||
816 | keypad_col5: keypad-col5 { | ||
817 | samsung,pins = "gpl2-5"; | ||
818 | samsung,pin-function = <3>; | ||
819 | samsung,pin-pud = <0>; | ||
820 | samsung,pin-drv = <0>; | ||
821 | }; | ||
822 | |||
823 | keypad_col6: keypad-col6 { | ||
824 | samsung,pins = "gpl2-6"; | ||
825 | samsung,pin-function = <3>; | ||
826 | samsung,pin-pud = <0>; | ||
827 | samsung,pin-drv = <0>; | ||
828 | }; | ||
829 | |||
830 | keypad_col7: keypad-col7 { | ||
831 | samsung,pins = "gpl2-7"; | ||
832 | samsung,pin-function = <3>; | ||
833 | samsung,pin-pud = <0>; | ||
834 | samsung,pin-drv = <0>; | ||
835 | }; | ||
836 | |||
837 | cam_port_b: cam-port-b { | ||
838 | samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3", | ||
839 | "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7", | ||
840 | "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1", | ||
841 | "gpm2-2"; | ||
842 | samsung,pin-function = <3>; | ||
843 | samsung,pin-pud = <3>; | ||
844 | samsung,pin-drv = <0>; | ||
845 | }; | ||
846 | |||
847 | eint0: ext-int0 { | ||
848 | samsung,pins = "gpx0-0"; | ||
849 | samsung,pin-function = <0xf>; | ||
850 | samsung,pin-pud = <0>; | ||
851 | samsung,pin-drv = <0>; | ||
852 | }; | ||
853 | |||
854 | eint8: ext-int8 { | ||
855 | samsung,pins = "gpx1-0"; | ||
856 | samsung,pin-function = <0xf>; | ||
857 | samsung,pin-pud = <0>; | ||
858 | samsung,pin-drv = <0>; | ||
859 | }; | ||
860 | |||
861 | eint15: ext-int15 { | ||
862 | samsung,pins = "gpx1-7"; | ||
863 | samsung,pin-function = <0xf>; | ||
864 | samsung,pin-pud = <0>; | ||
865 | samsung,pin-drv = <0>; | ||
866 | }; | ||
867 | |||
868 | eint16: ext-int16 { | ||
869 | samsung,pins = "gpx2-0"; | ||
870 | samsung,pin-function = <0xf>; | ||
871 | samsung,pin-pud = <0>; | ||
872 | samsung,pin-drv = <0>; | ||
873 | }; | ||
874 | |||
875 | eint31: ext-int31 { | ||
876 | samsung,pins = "gpx3-7"; | ||
877 | samsung,pin-function = <0xf>; | ||
878 | samsung,pin-pud = <0>; | ||
879 | samsung,pin-drv = <0>; | ||
880 | }; | ||
881 | }; | ||
882 | |||
883 | pinctrl@03860000 { | ||
884 | gpz: gpz { | ||
885 | gpio-controller; | ||
886 | #gpio-cells = <2>; | ||
887 | |||
888 | interrupt-controller; | ||
889 | #interrupt-cells = <2>; | ||
890 | }; | ||
891 | |||
892 | i2s0_bus: i2s0-bus { | ||
893 | samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3", | ||
894 | "gpz-4", "gpz-5", "gpz-6"; | ||
895 | samsung,pin-function = <0x2>; | ||
896 | samsung,pin-pud = <0>; | ||
897 | samsung,pin-drv = <0>; | ||
898 | }; | ||
899 | |||
900 | pcm0_bus: pcm0-bus { | ||
901 | samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3", | ||
902 | "gpz-4"; | ||
903 | samsung,pin-function = <0x3>; | ||
904 | samsung,pin-pud = <0>; | ||
905 | samsung,pin-drv = <0>; | ||
906 | }; | ||
907 | }; | ||
908 | |||
909 | pinctrl@106E0000 { | ||
910 | gpv0: gpv0 { | ||
911 | gpio-controller; | ||
912 | #gpio-cells = <2>; | ||
913 | |||
914 | interrupt-controller; | ||
915 | #interrupt-cells = <2>; | ||
916 | }; | ||
917 | |||
918 | gpv1: gpv1 { | ||
919 | gpio-controller; | ||
920 | #gpio-cells = <2>; | ||
921 | |||
922 | interrupt-controller; | ||
923 | #interrupt-cells = <2>; | ||
924 | }; | ||
925 | |||
926 | gpv2: gpv2 { | ||
927 | gpio-controller; | ||
928 | #gpio-cells = <2>; | ||
929 | |||
930 | interrupt-controller; | ||
931 | #interrupt-cells = <2>; | ||
932 | }; | ||
933 | |||
934 | gpv3: gpv3 { | ||
935 | gpio-controller; | ||
936 | #gpio-cells = <2>; | ||
937 | |||
938 | interrupt-controller; | ||
939 | #interrupt-cells = <2>; | ||
940 | }; | ||
941 | |||
942 | gpv4: gpv4 { | ||
943 | gpio-controller; | ||
944 | #gpio-cells = <2>; | ||
945 | |||
946 | interrupt-controller; | ||
947 | #interrupt-cells = <2>; | ||
948 | }; | ||
949 | |||
950 | c2c_bus: c2c-bus { | ||
951 | samsung,pins = "gpv0-0", "gpv0-1", "gpv0-2", "gpv0-3", | ||
952 | "gpv0-4", "gpv0-5", "gpv0-6", "gpv0-7", | ||
953 | "gpv1-0", "gpv1-1", "gpv1-2", "gpv1-3", | ||
954 | "gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7", | ||
955 | "gpv2-0", "gpv2-1", "gpv2-2", "gpv2-3", | ||
956 | "gpv2-4", "gpv2-5", "gpv2-6", "gpv2-7", | ||
957 | "gpv3-0", "gpv3-1", "gpv3-2", "gpv3-3", | ||
958 | "gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7", | ||
959 | "gpv4-0", "gpv4-1"; | ||
960 | samsung,pin-function = <0x2>; | ||
961 | samsung,pin-pud = <0>; | ||
962 | samsung,pin-drv = <0>; | ||
963 | }; | ||
964 | }; | ||
965 | }; | ||
diff --git a/arch/arm/boot/dts/exynos4x12.dtsi b/arch/arm/boot/dts/exynos4x12.dtsi new file mode 100644 index 000000000000..179a62e46c9d --- /dev/null +++ b/arch/arm/boot/dts/exynos4x12.dtsi | |||
@@ -0,0 +1,69 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos4x12 SoCs device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Samsung's Exynos4x12 SoCs device nodes are listed in this file. Exynos4x12 | ||
8 | * based board files can include this file and provide values for board specfic | ||
9 | * bindings. | ||
10 | * | ||
11 | * Note: This file does not include device nodes for all the controllers in | ||
12 | * Exynos4x12 SoC. As device tree coverage for Exynos4x12 increases, additional | ||
13 | * nodes can be added to this file. | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License version 2 as | ||
17 | * published by the Free Software Foundation. | ||
18 | */ | ||
19 | |||
20 | /include/ "exynos4.dtsi" | ||
21 | /include/ "exynos4x12-pinctrl.dtsi" | ||
22 | |||
23 | / { | ||
24 | aliases { | ||
25 | pinctrl0 = &pinctrl_0; | ||
26 | pinctrl1 = &pinctrl_1; | ||
27 | pinctrl2 = &pinctrl_2; | ||
28 | pinctrl3 = &pinctrl_3; | ||
29 | }; | ||
30 | |||
31 | combiner:interrupt-controller@10440000 { | ||
32 | interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>, | ||
33 | <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>, | ||
34 | <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>, | ||
35 | <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>, | ||
36 | <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>; | ||
37 | }; | ||
38 | |||
39 | pinctrl_0: pinctrl@11400000 { | ||
40 | compatible = "samsung,pinctrl-exynos4x12"; | ||
41 | reg = <0x11400000 0x1000>; | ||
42 | interrupts = <0 47 0>; | ||
43 | }; | ||
44 | |||
45 | pinctrl_1: pinctrl@11000000 { | ||
46 | compatible = "samsung,pinctrl-exynos4x12"; | ||
47 | reg = <0x11000000 0x1000>; | ||
48 | interrupts = <0 46 0>; | ||
49 | |||
50 | wakup_eint: wakeup-interrupt-controller { | ||
51 | compatible = "samsung,exynos4210-wakeup-eint"; | ||
52 | interrupt-parent = <&gic>; | ||
53 | interrupts = <0 32 0>; | ||
54 | }; | ||
55 | }; | ||
56 | |||
57 | pinctrl_2: pinctrl@03860000 { | ||
58 | compatible = "samsung,pinctrl-exynos4x12"; | ||
59 | reg = <0x03860000 0x1000>; | ||
60 | interrupt-parent = <&combiner>; | ||
61 | interrupts = <10 0>; | ||
62 | }; | ||
63 | |||
64 | pinctrl_3: pinctrl@106E0000 { | ||
65 | compatible = "samsung,pinctrl-exynos4x12"; | ||
66 | reg = <0x106E0000 0x1000>; | ||
67 | interrupts = <0 72 0>; | ||
68 | }; | ||
69 | }; | ||
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts index a352df403b7a..942d5761ca97 100644 --- a/arch/arm/boot/dts/exynos5250-smdk5250.dts +++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts | |||
@@ -17,10 +17,6 @@ | |||
17 | compatible = "samsung,smdk5250", "samsung,exynos5250"; | 17 | compatible = "samsung,smdk5250", "samsung,exynos5250"; |
18 | 18 | ||
19 | aliases { | 19 | aliases { |
20 | mshc0 = &dwmmc_0; | ||
21 | mshc1 = &dwmmc_1; | ||
22 | mshc2 = &dwmmc_2; | ||
23 | mshc3 = &dwmmc_3; | ||
24 | }; | 20 | }; |
25 | 21 | ||
26 | memory { | 22 | memory { |
@@ -55,8 +51,31 @@ | |||
55 | }; | 51 | }; |
56 | }; | 52 | }; |
57 | 53 | ||
54 | i2c@121D0000 { | ||
55 | samsung,i2c-sda-delay = <100>; | ||
56 | samsung,i2c-max-bus-freq = <40000>; | ||
57 | samsung,i2c-slave-addr = <0x38>; | ||
58 | |||
59 | sata-phy { | ||
60 | compatible = "samsung,sata-phy"; | ||
61 | reg = <0x38>; | ||
62 | }; | ||
63 | }; | ||
64 | |||
65 | sata@122F0000 { | ||
66 | samsung,sata-freq = <66>; | ||
67 | }; | ||
68 | |||
58 | i2c@12C80000 { | 69 | i2c@12C80000 { |
59 | status = "disabled"; | 70 | samsung,i2c-sda-delay = <100>; |
71 | samsung,i2c-max-bus-freq = <66000>; | ||
72 | gpios = <&gpa0 6 3 3 0>, | ||
73 | <&gpa0 7 3 3 0>; | ||
74 | |||
75 | hdmiddc@50 { | ||
76 | compatible = "samsung,exynos5-hdmiddc"; | ||
77 | reg = <0x50>; | ||
78 | }; | ||
60 | }; | 79 | }; |
61 | 80 | ||
62 | i2c@12C90000 { | 81 | i2c@12C90000 { |
@@ -79,7 +98,17 @@ | |||
79 | status = "disabled"; | 98 | status = "disabled"; |
80 | }; | 99 | }; |
81 | 100 | ||
82 | dwmmc_0: dwmmc0@12200000 { | 101 | i2c@12CE0000 { |
102 | samsung,i2c-sda-delay = <100>; | ||
103 | samsung,i2c-max-bus-freq = <66000>; | ||
104 | |||
105 | hdmiphy@38 { | ||
106 | compatible = "samsung,exynos5-hdmiphy"; | ||
107 | reg = <0x38>; | ||
108 | }; | ||
109 | }; | ||
110 | |||
111 | dwmmc0@12200000 { | ||
83 | num-slots = <1>; | 112 | num-slots = <1>; |
84 | supports-highspeed; | 113 | supports-highspeed; |
85 | broken-cd; | 114 | broken-cd; |
@@ -100,11 +129,11 @@ | |||
100 | }; | 129 | }; |
101 | }; | 130 | }; |
102 | 131 | ||
103 | dwmmc_1: dwmmc1@12210000 { | 132 | dwmmc1@12210000 { |
104 | status = "disabled"; | 133 | status = "disabled"; |
105 | }; | 134 | }; |
106 | 135 | ||
107 | dwmmc_2: dwmmc2@12220000 { | 136 | dwmmc2@12220000 { |
108 | num-slots = <1>; | 137 | num-slots = <1>; |
109 | supports-highspeed; | 138 | supports-highspeed; |
110 | fifo-depth = <0x80>; | 139 | fifo-depth = <0x80>; |
@@ -125,7 +154,7 @@ | |||
125 | }; | 154 | }; |
126 | }; | 155 | }; |
127 | 156 | ||
128 | dwmmc_3: dwmmc3@12230000 { | 157 | dwmmc3@12230000 { |
129 | status = "disabled"; | 158 | status = "disabled"; |
130 | }; | 159 | }; |
131 | 160 | ||
@@ -166,4 +195,13 @@ | |||
166 | spi_2: spi@12d40000 { | 195 | spi_2: spi@12d40000 { |
167 | status = "disabled"; | 196 | status = "disabled"; |
168 | }; | 197 | }; |
198 | |||
199 | hdmi { | ||
200 | hpd-gpio = <&gpx3 7 0xf 1 3>; | ||
201 | }; | ||
202 | |||
203 | codec@11000000 { | ||
204 | samsung,mfc-r = <0x43000000 0x800000>; | ||
205 | samsung,mfc-l = <0x51000000 0x800000>; | ||
206 | }; | ||
169 | }; | 207 | }; |
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts new file mode 100644 index 000000000000..17dd951c1cd2 --- /dev/null +++ b/arch/arm/boot/dts/exynos5250-snow.dts | |||
@@ -0,0 +1,43 @@ | |||
1 | /* | ||
2 | * Google Snow board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Google, Inc | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | /dts-v1/; | ||
12 | /include/ "exynos5250.dtsi" | ||
13 | /include/ "cros5250-common.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Google Snow"; | ||
17 | compatible = "google,snow", "samsung,exynos5250"; | ||
18 | |||
19 | gpio-keys { | ||
20 | compatible = "gpio-keys"; | ||
21 | |||
22 | lid-switch { | ||
23 | label = "Lid"; | ||
24 | gpios = <&gpx3 5 0 0x10000 0>; | ||
25 | linux,input-type = <5>; /* EV_SW */ | ||
26 | linux,code = <0>; /* SW_LID */ | ||
27 | debounce-interval = <1>; | ||
28 | gpio-key,wakeup; | ||
29 | }; | ||
30 | }; | ||
31 | |||
32 | /* | ||
33 | * On Snow we've got SIP WiFi and so can keep drive strengths low to | ||
34 | * reduce EMI. | ||
35 | */ | ||
36 | dwmmc3@12230000 { | ||
37 | slot@0 { | ||
38 | gpios = <&gpc4 0 2 0 0>, <&gpc4 1 2 3 0>, | ||
39 | <&gpc4 3 2 3 0>, <&gpc4 4 2 3 0>, | ||
40 | <&gpc4 5 2 3 0>, <&gpc4 6 2 3 0>; | ||
41 | }; | ||
42 | }; | ||
43 | }; | ||
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi index dddfd6e444dc..36d8246ea50e 100644 --- a/arch/arm/boot/dts/exynos5250.dtsi +++ b/arch/arm/boot/dts/exynos5250.dtsi | |||
@@ -31,6 +31,10 @@ | |||
31 | gsc1 = &gsc_1; | 31 | gsc1 = &gsc_1; |
32 | gsc2 = &gsc_2; | 32 | gsc2 = &gsc_2; |
33 | gsc3 = &gsc_3; | 33 | gsc3 = &gsc_3; |
34 | mshc0 = &dwmmc_0; | ||
35 | mshc1 = &dwmmc_1; | ||
36 | mshc2 = &dwmmc_2; | ||
37 | mshc3 = &dwmmc_3; | ||
34 | }; | 38 | }; |
35 | 39 | ||
36 | gic:interrupt-controller@10481000 { | 40 | gic:interrupt-controller@10481000 { |
@@ -62,12 +66,24 @@ | |||
62 | interrupts = <0 42 0>; | 66 | interrupts = <0 42 0>; |
63 | }; | 67 | }; |
64 | 68 | ||
69 | codec@11000000 { | ||
70 | compatible = "samsung,mfc-v6"; | ||
71 | reg = <0x11000000 0x10000>; | ||
72 | interrupts = <0 96 0>; | ||
73 | }; | ||
74 | |||
65 | rtc { | 75 | rtc { |
66 | compatible = "samsung,s3c6410-rtc"; | 76 | compatible = "samsung,s3c6410-rtc"; |
67 | reg = <0x101E0000 0x100>; | 77 | reg = <0x101E0000 0x100>; |
68 | interrupts = <0 43 0>, <0 44 0>; | 78 | interrupts = <0 43 0>, <0 44 0>; |
69 | }; | 79 | }; |
70 | 80 | ||
81 | tmu@10060000 { | ||
82 | compatible = "samsung,exynos5250-tmu"; | ||
83 | reg = <0x10060000 0x100>; | ||
84 | interrupts = <0 65 0>; | ||
85 | }; | ||
86 | |||
71 | serial@12C00000 { | 87 | serial@12C00000 { |
72 | compatible = "samsung,exynos4210-uart"; | 88 | compatible = "samsung,exynos4210-uart"; |
73 | reg = <0x12C00000 0x100>; | 89 | reg = <0x12C00000 0x100>; |
@@ -92,6 +108,17 @@ | |||
92 | interrupts = <0 54 0>; | 108 | interrupts = <0 54 0>; |
93 | }; | 109 | }; |
94 | 110 | ||
111 | sata@122F0000 { | ||
112 | compatible = "samsung,exynos5-sata-ahci"; | ||
113 | reg = <0x122F0000 0x1ff>; | ||
114 | interrupts = <0 115 0>; | ||
115 | }; | ||
116 | |||
117 | sata-phy@12170000 { | ||
118 | compatible = "samsung,exynos5-sata-phy"; | ||
119 | reg = <0x12170000 0x1ff>; | ||
120 | }; | ||
121 | |||
95 | i2c@12C60000 { | 122 | i2c@12C60000 { |
96 | compatible = "samsung,s3c2440-i2c"; | 123 | compatible = "samsung,s3c2440-i2c"; |
97 | reg = <0x12C60000 0x100>; | 124 | reg = <0x12C60000 0x100>; |
@@ -156,6 +183,21 @@ | |||
156 | #size-cells = <0>; | 183 | #size-cells = <0>; |
157 | }; | 184 | }; |
158 | 185 | ||
186 | i2c@12CE0000 { | ||
187 | compatible = "samsung,s3c2440-hdmiphy-i2c"; | ||
188 | reg = <0x12CE0000 0x1000>; | ||
189 | interrupts = <0 64 0>; | ||
190 | #address-cells = <1>; | ||
191 | #size-cells = <0>; | ||
192 | }; | ||
193 | |||
194 | i2c@121D0000 { | ||
195 | compatible = "samsung,exynos5-sata-phy-i2c"; | ||
196 | reg = <0x121D0000 0x100>; | ||
197 | #address-cells = <1>; | ||
198 | #size-cells = <0>; | ||
199 | }; | ||
200 | |||
159 | spi_0: spi@12d20000 { | 201 | spi_0: spi@12d20000 { |
160 | compatible = "samsung,exynos4210-spi"; | 202 | compatible = "samsung,exynos4210-spi"; |
161 | reg = <0x12d20000 0x100>; | 203 | reg = <0x12d20000 0x100>; |
@@ -186,7 +228,7 @@ | |||
186 | #size-cells = <0>; | 228 | #size-cells = <0>; |
187 | }; | 229 | }; |
188 | 230 | ||
189 | dwmmc0@12200000 { | 231 | dwmmc_0: dwmmc0@12200000 { |
190 | compatible = "samsung,exynos5250-dw-mshc"; | 232 | compatible = "samsung,exynos5250-dw-mshc"; |
191 | reg = <0x12200000 0x1000>; | 233 | reg = <0x12200000 0x1000>; |
192 | interrupts = <0 75 0>; | 234 | interrupts = <0 75 0>; |
@@ -194,7 +236,7 @@ | |||
194 | #size-cells = <0>; | 236 | #size-cells = <0>; |
195 | }; | 237 | }; |
196 | 238 | ||
197 | dwmmc1@12210000 { | 239 | dwmmc_1: dwmmc1@12210000 { |
198 | compatible = "samsung,exynos5250-dw-mshc"; | 240 | compatible = "samsung,exynos5250-dw-mshc"; |
199 | reg = <0x12210000 0x1000>; | 241 | reg = <0x12210000 0x1000>; |
200 | interrupts = <0 76 0>; | 242 | interrupts = <0 76 0>; |
@@ -202,7 +244,7 @@ | |||
202 | #size-cells = <0>; | 244 | #size-cells = <0>; |
203 | }; | 245 | }; |
204 | 246 | ||
205 | dwmmc2@12220000 { | 247 | dwmmc_2: dwmmc2@12220000 { |
206 | compatible = "samsung,exynos5250-dw-mshc"; | 248 | compatible = "samsung,exynos5250-dw-mshc"; |
207 | reg = <0x12220000 0x1000>; | 249 | reg = <0x12220000 0x1000>; |
208 | interrupts = <0 77 0>; | 250 | interrupts = <0 77 0>; |
@@ -210,7 +252,7 @@ | |||
210 | #size-cells = <0>; | 252 | #size-cells = <0>; |
211 | }; | 253 | }; |
212 | 254 | ||
213 | dwmmc3@12230000 { | 255 | dwmmc_3: dwmmc3@12230000 { |
214 | compatible = "samsung,exynos5250-dw-mshc"; | 256 | compatible = "samsung,exynos5250-dw-mshc"; |
215 | reg = <0x12230000 0x1000>; | 257 | reg = <0x12230000 0x1000>; |
216 | interrupts = <0 78 0>; | 258 | interrupts = <0 78 0>; |
@@ -520,4 +562,16 @@ | |||
520 | reg = <0x13e30000 0x1000>; | 562 | reg = <0x13e30000 0x1000>; |
521 | interrupts = <0 88 0>; | 563 | interrupts = <0 88 0>; |
522 | }; | 564 | }; |
565 | |||
566 | hdmi { | ||
567 | compatible = "samsung,exynos5-hdmi"; | ||
568 | reg = <0x14530000 0x100000>; | ||
569 | interrupts = <0 95 0>; | ||
570 | }; | ||
571 | |||
572 | mixer { | ||
573 | compatible = "samsung,exynos5-mixer"; | ||
574 | reg = <0x14450000 0x10000>; | ||
575 | interrupts = <0 94 0>; | ||
576 | }; | ||
523 | }; | 577 | }; |
diff --git a/arch/arm/boot/dts/exynos5440-ssdk5440.dts b/arch/arm/boot/dts/exynos5440-ssdk5440.dts new file mode 100644 index 000000000000..921c83cf694f --- /dev/null +++ b/arch/arm/boot/dts/exynos5440-ssdk5440.dts | |||
@@ -0,0 +1,46 @@ | |||
1 | /* | ||
2 | * SAMSUNG SSDK5440 board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "exynos5440.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "SAMSUNG SSDK5440 board based on EXYNOS5440"; | ||
17 | compatible = "samsung,ssdk5440", "samsung,exynos5440"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x80000000 0x80000000>; | ||
21 | }; | ||
22 | |||
23 | chosen { | ||
24 | bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x81000000,8M console=ttySAC2,115200 init=/linuxrc"; | ||
25 | }; | ||
26 | |||
27 | spi { | ||
28 | status = "disabled"; | ||
29 | }; | ||
30 | |||
31 | i2c@F0000 { | ||
32 | status = "disabled"; | ||
33 | }; | ||
34 | |||
35 | i2c@100000 { | ||
36 | status = "disabled"; | ||
37 | }; | ||
38 | |||
39 | watchdog { | ||
40 | status = "disabled"; | ||
41 | }; | ||
42 | |||
43 | rtc { | ||
44 | status = "disabled"; | ||
45 | }; | ||
46 | }; | ||
diff --git a/arch/arm/boot/dts/exynos5440.dtsi b/arch/arm/boot/dts/exynos5440.dtsi new file mode 100644 index 000000000000..024269de8ee5 --- /dev/null +++ b/arch/arm/boot/dts/exynos5440.dtsi | |||
@@ -0,0 +1,159 @@ | |||
1 | /* | ||
2 | * SAMSUNG EXYNOS5440 SoC device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | /include/ "skeleton.dtsi" | ||
13 | |||
14 | / { | ||
15 | compatible = "samsung,exynos5440"; | ||
16 | |||
17 | interrupt-parent = <&gic>; | ||
18 | |||
19 | gic:interrupt-controller@2E0000 { | ||
20 | compatible = "arm,cortex-a15-gic"; | ||
21 | #interrupt-cells = <3>; | ||
22 | interrupt-controller; | ||
23 | reg = <0x2E1000 0x1000>, <0x2E2000 0x1000>; | ||
24 | }; | ||
25 | |||
26 | cpus { | ||
27 | cpu@0 { | ||
28 | compatible = "arm,cortex-a15"; | ||
29 | timer { | ||
30 | compatible = "arm,armv7-timer"; | ||
31 | interrupts = <1 13 0xf08>; | ||
32 | clock-frequency = <1000000>; | ||
33 | }; | ||
34 | }; | ||
35 | cpu@1 { | ||
36 | compatible = "arm,cortex-a15"; | ||
37 | timer { | ||
38 | compatible = "arm,armv7-timer"; | ||
39 | interrupts = <1 14 0xf08>; | ||
40 | clock-frequency = <1000000>; | ||
41 | }; | ||
42 | }; | ||
43 | cpu@2 { | ||
44 | compatible = "arm,cortex-a15"; | ||
45 | timer { | ||
46 | compatible = "arm,armv7-timer"; | ||
47 | interrupts = <1 14 0xf08>; | ||
48 | clock-frequency = <1000000>; | ||
49 | }; | ||
50 | }; | ||
51 | cpu@3 { | ||
52 | compatible = "arm,cortex-a15"; | ||
53 | timer { | ||
54 | compatible = "arm,armv7-timer"; | ||
55 | interrupts = <1 14 0xf08>; | ||
56 | clock-frequency = <1000000>; | ||
57 | }; | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | common { | ||
62 | compatible = "samsung,exynos5440"; | ||
63 | |||
64 | }; | ||
65 | |||
66 | serial@B0000 { | ||
67 | compatible = "samsung,exynos4210-uart"; | ||
68 | reg = <0xB0000 0x1000>; | ||
69 | interrupts = <0 2 0>; | ||
70 | }; | ||
71 | |||
72 | serial@C0000 { | ||
73 | compatible = "samsung,exynos4210-uart"; | ||
74 | reg = <0xC0000 0x1000>; | ||
75 | interrupts = <0 3 0>; | ||
76 | }; | ||
77 | |||
78 | spi { | ||
79 | compatible = "samsung,exynos4210-spi"; | ||
80 | reg = <0xD0000 0x1000>; | ||
81 | interrupts = <0 4 0>; | ||
82 | tx-dma-channel = <&pdma0 5>; /* preliminary */ | ||
83 | rx-dma-channel = <&pdma0 4>; /* preliminary */ | ||
84 | #address-cells = <1>; | ||
85 | #size-cells = <0>; | ||
86 | }; | ||
87 | |||
88 | pinctrl { | ||
89 | compatible = "samsung,pinctrl-exynos5440"; | ||
90 | reg = <0xE0000 0x1000>; | ||
91 | interrupt-controller; | ||
92 | #interrupt-cells = <2>; | ||
93 | #gpio-cells = <2>; | ||
94 | |||
95 | fan: fan { | ||
96 | samsung,exynos5440-pin-function = <1>; | ||
97 | }; | ||
98 | |||
99 | hdd_led0: hdd_led0 { | ||
100 | samsung,exynos5440-pin-function = <2>; | ||
101 | }; | ||
102 | |||
103 | hdd_led1: hdd_led1 { | ||
104 | samsung,exynos5440-pin-function = <3>; | ||
105 | }; | ||
106 | |||
107 | uart1: uart1 { | ||
108 | samsung,exynos5440-pin-function = <4>; | ||
109 | }; | ||
110 | }; | ||
111 | |||
112 | i2c@F0000 { | ||
113 | compatible = "samsung,s3c2440-i2c"; | ||
114 | reg = <0xF0000 0x1000>; | ||
115 | interrupts = <0 5 0>; | ||
116 | #address-cells = <1>; | ||
117 | #size-cells = <0>; | ||
118 | }; | ||
119 | |||
120 | i2c@100000 { | ||
121 | compatible = "samsung,s3c2440-i2c"; | ||
122 | reg = <0x100000 0x1000>; | ||
123 | interrupts = <0 6 0>; | ||
124 | #address-cells = <1>; | ||
125 | #size-cells = <0>; | ||
126 | }; | ||
127 | |||
128 | watchdog { | ||
129 | compatible = "samsung,s3c2410-wdt"; | ||
130 | reg = <0x110000 0x1000>; | ||
131 | interrupts = <0 1 0>; | ||
132 | }; | ||
133 | |||
134 | amba { | ||
135 | #address-cells = <1>; | ||
136 | #size-cells = <1>; | ||
137 | compatible = "arm,amba-bus"; | ||
138 | interrupt-parent = <&gic>; | ||
139 | ranges; | ||
140 | |||
141 | pdma0: pdma@121A0000 { | ||
142 | compatible = "arm,pl330", "arm,primecell"; | ||
143 | reg = <0x120000 0x1000>; | ||
144 | interrupts = <0 34 0>; | ||
145 | }; | ||
146 | |||
147 | pdma1: pdma@121B0000 { | ||
148 | compatible = "arm,pl330", "arm,primecell"; | ||
149 | reg = <0x121000 0x1000>; | ||
150 | interrupts = <0 35 0>; | ||
151 | }; | ||
152 | }; | ||
153 | |||
154 | rtc { | ||
155 | compatible = "samsung,s3c6410-rtc"; | ||
156 | reg = <0x130000 0x1000>; | ||
157 | interrupts = <0 16 0>, <0 17 0>; | ||
158 | }; | ||
159 | }; | ||
diff --git a/arch/arm/boot/dts/highbank.dts b/arch/arm/boot/dts/highbank.dts index 0c6fc34821f9..a9ae5d32e80d 100644 --- a/arch/arm/boot/dts/highbank.dts +++ b/arch/arm/boot/dts/highbank.dts | |||
@@ -69,16 +69,8 @@ | |||
69 | reg = <0x00000000 0xff900000>; | 69 | reg = <0x00000000 0xff900000>; |
70 | }; | 70 | }; |
71 | 71 | ||
72 | chosen { | ||
73 | bootargs = "console=ttyAMA0"; | ||
74 | }; | ||
75 | |||
76 | soc { | 72 | soc { |
77 | #address-cells = <1>; | 73 | ranges = <0x00000000 0x00000000 0xffffffff>; |
78 | #size-cells = <1>; | ||
79 | compatible = "simple-bus"; | ||
80 | interrupt-parent = <&intc>; | ||
81 | ranges; | ||
82 | 74 | ||
83 | timer@fff10600 { | 75 | timer@fff10600 { |
84 | compatible = "arm,cortex-a9-twd-timer"; | 76 | compatible = "arm,cortex-a9-twd-timer"; |
@@ -117,173 +109,6 @@ | |||
117 | interrupts = <0 76 4 0 75 4 0 74 4 0 73 4>; | 109 | interrupts = <0 76 4 0 75 4 0 74 4 0 73 4>; |
118 | }; | 110 | }; |
119 | 111 | ||
120 | sata@ffe08000 { | ||
121 | compatible = "calxeda,hb-ahci"; | ||
122 | reg = <0xffe08000 0x10000>; | ||
123 | interrupts = <0 83 4>; | ||
124 | calxeda,port-phys = <&combophy5 0 &combophy0 0 | ||
125 | &combophy0 1 &combophy0 2 | ||
126 | &combophy0 3>; | ||
127 | dma-coherent; | ||
128 | }; | ||
129 | |||
130 | sdhci@ffe0e000 { | ||
131 | compatible = "calxeda,hb-sdhci"; | ||
132 | reg = <0xffe0e000 0x1000>; | ||
133 | interrupts = <0 90 4>; | ||
134 | clocks = <&eclk>; | ||
135 | }; | ||
136 | |||
137 | memory-controller@fff00000 { | ||
138 | compatible = "calxeda,hb-ddr-ctrl"; | ||
139 | reg = <0xfff00000 0x1000>; | ||
140 | interrupts = <0 91 4>; | ||
141 | }; | ||
142 | |||
143 | ipc@fff20000 { | ||
144 | compatible = "arm,pl320", "arm,primecell"; | ||
145 | reg = <0xfff20000 0x1000>; | ||
146 | interrupts = <0 7 4>; | ||
147 | clocks = <&pclk>; | ||
148 | clock-names = "apb_pclk"; | ||
149 | }; | ||
150 | |||
151 | gpioe: gpio@fff30000 { | ||
152 | #gpio-cells = <2>; | ||
153 | compatible = "arm,pl061", "arm,primecell"; | ||
154 | gpio-controller; | ||
155 | reg = <0xfff30000 0x1000>; | ||
156 | interrupts = <0 14 4>; | ||
157 | clocks = <&pclk>; | ||
158 | clock-names = "apb_pclk"; | ||
159 | }; | ||
160 | |||
161 | gpiof: gpio@fff31000 { | ||
162 | #gpio-cells = <2>; | ||
163 | compatible = "arm,pl061", "arm,primecell"; | ||
164 | gpio-controller; | ||
165 | reg = <0xfff31000 0x1000>; | ||
166 | interrupts = <0 15 4>; | ||
167 | clocks = <&pclk>; | ||
168 | clock-names = "apb_pclk"; | ||
169 | }; | ||
170 | |||
171 | gpiog: gpio@fff32000 { | ||
172 | #gpio-cells = <2>; | ||
173 | compatible = "arm,pl061", "arm,primecell"; | ||
174 | gpio-controller; | ||
175 | reg = <0xfff32000 0x1000>; | ||
176 | interrupts = <0 16 4>; | ||
177 | clocks = <&pclk>; | ||
178 | clock-names = "apb_pclk"; | ||
179 | }; | ||
180 | |||
181 | gpioh: gpio@fff33000 { | ||
182 | #gpio-cells = <2>; | ||
183 | compatible = "arm,pl061", "arm,primecell"; | ||
184 | gpio-controller; | ||
185 | reg = <0xfff33000 0x1000>; | ||
186 | interrupts = <0 17 4>; | ||
187 | clocks = <&pclk>; | ||
188 | clock-names = "apb_pclk"; | ||
189 | }; | ||
190 | |||
191 | timer { | ||
192 | compatible = "arm,sp804", "arm,primecell"; | ||
193 | reg = <0xfff34000 0x1000>; | ||
194 | interrupts = <0 18 4>; | ||
195 | clocks = <&pclk>; | ||
196 | clock-names = "apb_pclk"; | ||
197 | }; | ||
198 | |||
199 | rtc@fff35000 { | ||
200 | compatible = "arm,pl031", "arm,primecell"; | ||
201 | reg = <0xfff35000 0x1000>; | ||
202 | interrupts = <0 19 4>; | ||
203 | clocks = <&pclk>; | ||
204 | clock-names = "apb_pclk"; | ||
205 | }; | ||
206 | |||
207 | serial@fff36000 { | ||
208 | compatible = "arm,pl011", "arm,primecell"; | ||
209 | reg = <0xfff36000 0x1000>; | ||
210 | interrupts = <0 20 4>; | ||
211 | clocks = <&pclk>; | ||
212 | clock-names = "apb_pclk"; | ||
213 | }; | ||
214 | |||
215 | smic@fff3a000 { | ||
216 | compatible = "ipmi-smic"; | ||
217 | device_type = "ipmi"; | ||
218 | reg = <0xfff3a000 0x1000>; | ||
219 | interrupts = <0 24 4>; | ||
220 | reg-size = <4>; | ||
221 | reg-spacing = <4>; | ||
222 | }; | ||
223 | |||
224 | sregs@fff3c000 { | ||
225 | compatible = "calxeda,hb-sregs"; | ||
226 | reg = <0xfff3c000 0x1000>; | ||
227 | |||
228 | clocks { | ||
229 | #address-cells = <1>; | ||
230 | #size-cells = <0>; | ||
231 | |||
232 | osc: oscillator { | ||
233 | #clock-cells = <0>; | ||
234 | compatible = "fixed-clock"; | ||
235 | clock-frequency = <33333000>; | ||
236 | }; | ||
237 | |||
238 | ddrpll: ddrpll { | ||
239 | #clock-cells = <0>; | ||
240 | compatible = "calxeda,hb-pll-clock"; | ||
241 | clocks = <&osc>; | ||
242 | reg = <0x108>; | ||
243 | }; | ||
244 | |||
245 | a9pll: a9pll { | ||
246 | #clock-cells = <0>; | ||
247 | compatible = "calxeda,hb-pll-clock"; | ||
248 | clocks = <&osc>; | ||
249 | reg = <0x100>; | ||
250 | }; | ||
251 | |||
252 | a9periphclk: a9periphclk { | ||
253 | #clock-cells = <0>; | ||
254 | compatible = "calxeda,hb-a9periph-clock"; | ||
255 | clocks = <&a9pll>; | ||
256 | reg = <0x104>; | ||
257 | }; | ||
258 | |||
259 | a9bclk: a9bclk { | ||
260 | #clock-cells = <0>; | ||
261 | compatible = "calxeda,hb-a9bus-clock"; | ||
262 | clocks = <&a9pll>; | ||
263 | reg = <0x104>; | ||
264 | }; | ||
265 | |||
266 | emmcpll: emmcpll { | ||
267 | #clock-cells = <0>; | ||
268 | compatible = "calxeda,hb-pll-clock"; | ||
269 | clocks = <&osc>; | ||
270 | reg = <0x10C>; | ||
271 | }; | ||
272 | |||
273 | eclk: eclk { | ||
274 | #clock-cells = <0>; | ||
275 | compatible = "calxeda,hb-emmc-clock"; | ||
276 | clocks = <&emmcpll>; | ||
277 | reg = <0x114>; | ||
278 | }; | ||
279 | |||
280 | pclk: pclk { | ||
281 | #clock-cells = <0>; | ||
282 | compatible = "fixed-clock"; | ||
283 | clock-frequency = <150000000>; | ||
284 | }; | ||
285 | }; | ||
286 | }; | ||
287 | 112 | ||
288 | sregs@fff3c200 { | 113 | sregs@fff3c200 { |
289 | compatible = "calxeda,hb-sregs-l2-ecc"; | 114 | compatible = "calxeda,hb-sregs-l2-ecc"; |
@@ -291,38 +116,7 @@ | |||
291 | interrupts = <0 71 4 0 72 4>; | 116 | interrupts = <0 71 4 0 72 4>; |
292 | }; | 117 | }; |
293 | 118 | ||
294 | dma@fff3d000 { | ||
295 | compatible = "arm,pl330", "arm,primecell"; | ||
296 | reg = <0xfff3d000 0x1000>; | ||
297 | interrupts = <0 92 4>; | ||
298 | clocks = <&pclk>; | ||
299 | clock-names = "apb_pclk"; | ||
300 | }; | ||
301 | |||
302 | ethernet@fff50000 { | ||
303 | compatible = "calxeda,hb-xgmac"; | ||
304 | reg = <0xfff50000 0x1000>; | ||
305 | interrupts = <0 77 4 0 78 4 0 79 4>; | ||
306 | }; | ||
307 | |||
308 | ethernet@fff51000 { | ||
309 | compatible = "calxeda,hb-xgmac"; | ||
310 | reg = <0xfff51000 0x1000>; | ||
311 | interrupts = <0 80 4 0 81 4 0 82 4>; | ||
312 | }; | ||
313 | |||
314 | combophy0: combo-phy@fff58000 { | ||
315 | compatible = "calxeda,hb-combophy"; | ||
316 | #phy-cells = <1>; | ||
317 | reg = <0xfff58000 0x1000>; | ||
318 | phydev = <5>; | ||
319 | }; | ||
320 | |||
321 | combophy5: combo-phy@fff5d000 { | ||
322 | compatible = "calxeda,hb-combophy"; | ||
323 | #phy-cells = <1>; | ||
324 | reg = <0xfff5d000 0x1000>; | ||
325 | phydev = <31>; | ||
326 | }; | ||
327 | }; | 119 | }; |
328 | }; | 120 | }; |
121 | |||
122 | /include/ "ecx-common.dtsi" | ||
diff --git a/arch/arm/boot/dts/href.dtsi b/arch/arm/boot/dts/href.dtsi new file mode 100644 index 000000000000..592fb9dc35bd --- /dev/null +++ b/arch/arm/boot/dts/href.dtsi | |||
@@ -0,0 +1,273 @@ | |||
1 | /* | ||
2 | * Copyright 2012 ST-Ericsson AB | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /include/ "dbx5x0.dtsi" | ||
13 | |||
14 | / { | ||
15 | memory { | ||
16 | reg = <0x00000000 0x20000000>; | ||
17 | }; | ||
18 | |||
19 | gpio_keys { | ||
20 | compatible = "gpio-keys"; | ||
21 | #address-cells = <1>; | ||
22 | #size-cells = <0>; | ||
23 | |||
24 | button@1 { | ||
25 | linux,code = <11>; | ||
26 | label = "SFH7741 Proximity Sensor"; | ||
27 | }; | ||
28 | }; | ||
29 | |||
30 | soc-u9500 { | ||
31 | uart@80120000 { | ||
32 | status = "okay"; | ||
33 | }; | ||
34 | |||
35 | uart@80121000 { | ||
36 | status = "okay"; | ||
37 | }; | ||
38 | |||
39 | uart@80007000 { | ||
40 | status = "okay"; | ||
41 | }; | ||
42 | |||
43 | i2c@80004000 { | ||
44 | tc3589x@42 { | ||
45 | compatible = "tc3589x"; | ||
46 | reg = <0x42>; | ||
47 | interrupt-parent = <&gpio6>; | ||
48 | interrupts = <25 0x1>; | ||
49 | |||
50 | interrupt-controller; | ||
51 | #interrupt-cells = <2>; | ||
52 | |||
53 | tc3589x_gpio: tc3589x_gpio { | ||
54 | compatible = "tc3589x-gpio"; | ||
55 | interrupts = <0 0x1>; | ||
56 | |||
57 | interrupt-controller; | ||
58 | #interrupt-cells = <2>; | ||
59 | gpio-controller; | ||
60 | #gpio-cells = <2>; | ||
61 | }; | ||
62 | }; | ||
63 | }; | ||
64 | |||
65 | i2c@80128000 { | ||
66 | lp5521@0x33 { | ||
67 | compatible = "lp5521"; | ||
68 | reg = <0x33>; | ||
69 | }; | ||
70 | |||
71 | lp5521@0x34 { | ||
72 | compatible = "lp5521"; | ||
73 | reg = <0x34>; | ||
74 | }; | ||
75 | |||
76 | bh1780@0x29 { | ||
77 | compatible = "rohm,bh1780gli"; | ||
78 | reg = <0x33>; | ||
79 | }; | ||
80 | }; | ||
81 | |||
82 | // External Micro SD slot | ||
83 | sdi0_per1@80126000 { | ||
84 | arm,primecell-periphid = <0x10480180>; | ||
85 | max-frequency = <50000000>; | ||
86 | bus-width = <4>; | ||
87 | mmc-cap-sd-highspeed; | ||
88 | mmc-cap-mmc-highspeed; | ||
89 | vmmc-supply = <&ab8500_ldo_aux3_reg>; | ||
90 | |||
91 | cd-gpios = <&tc3589x_gpio 3 0x4>; | ||
92 | |||
93 | status = "okay"; | ||
94 | }; | ||
95 | |||
96 | // WLAN SDIO channel | ||
97 | sdi1_per2@80118000 { | ||
98 | arm,primecell-periphid = <0x10480180>; | ||
99 | max-frequency = <50000000>; | ||
100 | bus-width = <4>; | ||
101 | |||
102 | status = "okay"; | ||
103 | }; | ||
104 | |||
105 | // PoP:ed eMMC | ||
106 | sdi2_per3@80005000 { | ||
107 | arm,primecell-periphid = <0x10480180>; | ||
108 | max-frequency = <50000000>; | ||
109 | bus-width = <8>; | ||
110 | mmc-cap-mmc-highspeed; | ||
111 | |||
112 | status = "okay"; | ||
113 | }; | ||
114 | |||
115 | // On-board eMMC | ||
116 | sdi4_per2@80114000 { | ||
117 | arm,primecell-periphid = <0x10480180>; | ||
118 | max-frequency = <50000000>; | ||
119 | bus-width = <8>; | ||
120 | mmc-cap-mmc-highspeed; | ||
121 | vmmc-supply = <&ab8500_ldo_aux2_reg>; | ||
122 | |||
123 | status = "okay"; | ||
124 | }; | ||
125 | |||
126 | sound { | ||
127 | compatible = "stericsson,snd-soc-mop500"; | ||
128 | |||
129 | stericsson,cpu-dai = <&msp1 &msp3>; | ||
130 | stericsson,audio-codec = <&codec>; | ||
131 | }; | ||
132 | |||
133 | msp1: msp@80124000 { | ||
134 | status = "okay"; | ||
135 | }; | ||
136 | |||
137 | msp3: msp@80125000 { | ||
138 | status = "okay"; | ||
139 | }; | ||
140 | |||
141 | prcmu@80157000 { | ||
142 | db8500-prcmu-regulators { | ||
143 | db8500_vape_reg: db8500_vape { | ||
144 | regulator-name = "db8500-vape"; | ||
145 | }; | ||
146 | |||
147 | db8500_varm_reg: db8500_varm { | ||
148 | regulator-name = "db8500-varm"; | ||
149 | }; | ||
150 | |||
151 | db8500_vmodem_reg: db8500_vmodem { | ||
152 | regulator-name = "db8500-vmodem"; | ||
153 | }; | ||
154 | |||
155 | db8500_vpll_reg: db8500_vpll { | ||
156 | regulator-name = "db8500-vpll"; | ||
157 | }; | ||
158 | |||
159 | db8500_vsmps1_reg: db8500_vsmps1 { | ||
160 | regulator-name = "db8500-vsmps1"; | ||
161 | }; | ||
162 | |||
163 | db8500_vsmps2_reg: db8500_vsmps2 { | ||
164 | regulator-name = "db8500-vsmps2"; | ||
165 | }; | ||
166 | |||
167 | db8500_vsmps3_reg: db8500_vsmps3 { | ||
168 | regulator-name = "db8500-vsmps3"; | ||
169 | }; | ||
170 | |||
171 | db8500_vrf1_reg: db8500_vrf1 { | ||
172 | regulator-name = "db8500-vrf1"; | ||
173 | }; | ||
174 | |||
175 | db8500_sva_mmdsp_reg: db8500_sva_mmdsp { | ||
176 | regulator-name = "db8500-sva-mmdsp"; | ||
177 | }; | ||
178 | |||
179 | db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret { | ||
180 | regulator-name = "db8500-sva-mmdsp-ret"; | ||
181 | }; | ||
182 | |||
183 | db8500_sva_pipe_reg: db8500_sva_pipe { | ||
184 | regulator-name = "db8500_sva_pipe"; | ||
185 | }; | ||
186 | |||
187 | db8500_sia_mmdsp_reg: db8500_sia_mmdsp { | ||
188 | regulator-name = "db8500_sia_mmdsp"; | ||
189 | }; | ||
190 | |||
191 | db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret { | ||
192 | regulator-name = "db8500-sia-mmdsp-ret"; | ||
193 | }; | ||
194 | |||
195 | db8500_sia_pipe_reg: db8500_sia_pipe { | ||
196 | regulator-name = "db8500-sia-pipe"; | ||
197 | }; | ||
198 | |||
199 | db8500_sga_reg: db8500_sga { | ||
200 | regulator-name = "db8500-sga"; | ||
201 | }; | ||
202 | |||
203 | db8500_b2r2_mcde_reg: db8500_b2r2_mcde { | ||
204 | regulator-name = "db8500-b2r2-mcde"; | ||
205 | }; | ||
206 | |||
207 | db8500_esram12_reg: db8500_esram12 { | ||
208 | regulator-name = "db8500-esram12"; | ||
209 | }; | ||
210 | |||
211 | db8500_esram12_ret_reg: db8500_esram12_ret { | ||
212 | regulator-name = "db8500-esram12-ret"; | ||
213 | }; | ||
214 | |||
215 | db8500_esram34_reg: db8500_esram34 { | ||
216 | regulator-name = "db8500-esram34"; | ||
217 | }; | ||
218 | |||
219 | db8500_esram34_ret_reg: db8500_esram34_ret { | ||
220 | regulator-name = "db8500-esram34-ret"; | ||
221 | }; | ||
222 | }; | ||
223 | |||
224 | ab8500@5 { | ||
225 | ab8500-regulators { | ||
226 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | ||
227 | regulator-name = "V-DISPLAY"; | ||
228 | }; | ||
229 | |||
230 | ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { | ||
231 | regulator-name = "V-eMMC1"; | ||
232 | }; | ||
233 | |||
234 | ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { | ||
235 | regulator-name = "V-MMC-SD"; | ||
236 | }; | ||
237 | |||
238 | ab8500_ldo_initcore_reg: ab8500_ldo_initcore { | ||
239 | regulator-name = "V-INTCORE"; | ||
240 | }; | ||
241 | |||
242 | ab8500_ldo_tvout_reg: ab8500_ldo_tvout { | ||
243 | regulator-name = "V-TVOUT"; | ||
244 | }; | ||
245 | |||
246 | ab8500_ldo_usb_reg: ab8500_ldo_usb { | ||
247 | regulator-name = "dummy"; | ||
248 | }; | ||
249 | |||
250 | ab8500_ldo_audio_reg: ab8500_ldo_audio { | ||
251 | regulator-name = "V-AUD"; | ||
252 | }; | ||
253 | |||
254 | ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { | ||
255 | regulator-name = "V-AMIC1"; | ||
256 | }; | ||
257 | |||
258 | ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 { | ||
259 | regulator-name = "V-AMIC2"; | ||
260 | }; | ||
261 | |||
262 | ab8500_ldo_dmic_reg: ab8500_ldo_dmic { | ||
263 | regulator-name = "V-DMIC"; | ||
264 | }; | ||
265 | |||
266 | ab8500_ldo_ana_reg: ab8500_ldo_ana { | ||
267 | regulator-name = "V-CSI/DSI"; | ||
268 | }; | ||
269 | }; | ||
270 | }; | ||
271 | }; | ||
272 | }; | ||
273 | }; | ||
diff --git a/arch/arm/boot/dts/hrefprev60.dts b/arch/arm/boot/dts/hrefprev60.dts new file mode 100644 index 000000000000..eec29c4a86dc --- /dev/null +++ b/arch/arm/boot/dts/hrefprev60.dts | |||
@@ -0,0 +1,48 @@ | |||
1 | /* | ||
2 | * Copyright 2012 ST-Ericsson AB | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "dbx5x0.dtsi" | ||
14 | /include/ "href.dtsi" | ||
15 | /include/ "stuib.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "ST-Ericsson HREF (pre-v60) platform with Device Tree"; | ||
19 | compatible = "st-ericsson,mop500", "st-ericsson,u8500"; | ||
20 | |||
21 | gpio_keys { | ||
22 | button@1 { | ||
23 | gpios = <&tc3589x_gpio 7 0x4>; | ||
24 | }; | ||
25 | }; | ||
26 | |||
27 | soc-u9500 { | ||
28 | i2c@80004000 { | ||
29 | tps61052@33 { | ||
30 | compatible = "tps61052"; | ||
31 | reg = <0x33>; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | i2c@80110000 { | ||
36 | bu21013_tp@0x5c { | ||
37 | reset-gpio = <&tc3589x_gpio 13 0x4>; | ||
38 | }; | ||
39 | }; | ||
40 | |||
41 | vmmci: regulator-gpio { | ||
42 | gpios = <&tc3589x_gpio 18 0x4>; | ||
43 | gpio-enable = <&tc3589x_gpio 17 0x4>; | ||
44 | |||
45 | status = "okay"; | ||
46 | }; | ||
47 | }; | ||
48 | }; | ||
diff --git a/arch/arm/boot/dts/hrefv60plus.dts b/arch/arm/boot/dts/hrefv60plus.dts index 2131d77dc9c9..55f4191a626e 100644 --- a/arch/arm/boot/dts/hrefv60plus.dts +++ b/arch/arm/boot/dts/hrefv60plus.dts | |||
@@ -11,85 +11,200 @@ | |||
11 | 11 | ||
12 | /dts-v1/; | 12 | /dts-v1/; |
13 | /include/ "dbx5x0.dtsi" | 13 | /include/ "dbx5x0.dtsi" |
14 | /include/ "href.dtsi" | ||
15 | /include/ "stuib.dtsi" | ||
14 | 16 | ||
15 | / { | 17 | / { |
16 | model = "ST-Ericsson HREF platform with Device Tree"; | 18 | model = "ST-Ericsson HREF (v60+) platform with Device Tree"; |
17 | compatible = "st-ericsson,hrefv60+"; | 19 | compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500"; |
18 | 20 | ||
19 | memory { | 21 | gpio_keys { |
20 | reg = <0x00000000 0x20000000>; | 22 | button@1 { |
23 | gpios = <&gpio6 25 0x4>; | ||
24 | }; | ||
21 | }; | 25 | }; |
22 | 26 | ||
23 | soc-u9500 { | 27 | soc-u9500 { |
24 | uart@80120000 { | 28 | i2c@80110000 { |
29 | bu21013_tp@0x5c { | ||
30 | reset-gpio = <&gpio4 15 0x4>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | // External Micro SD slot | ||
35 | sdi0_per1@80126000 { | ||
36 | arm,primecell-periphid = <0x10480180>; | ||
37 | max-frequency = <50000000>; | ||
38 | bus-width = <4>; | ||
39 | mmc-cap-sd-highspeed; | ||
40 | mmc-cap-mmc-highspeed; | ||
41 | vmmc-supply = <&ab8500_ldo_aux3_reg>; | ||
42 | |||
43 | cd-gpios = <&tc3589x_gpio 3 0x4>; | ||
44 | |||
25 | status = "okay"; | 45 | status = "okay"; |
26 | }; | 46 | }; |
27 | 47 | ||
28 | uart@80121000 { | 48 | // WLAN SDIO channel |
49 | sdi1_per2@80118000 { | ||
50 | arm,primecell-periphid = <0x10480180>; | ||
51 | max-frequency = <50000000>; | ||
52 | bus-width = <4>; | ||
53 | |||
29 | status = "okay"; | 54 | status = "okay"; |
30 | }; | 55 | }; |
31 | 56 | ||
32 | uart@80007000 { | 57 | // PoP:ed eMMC |
58 | sdi2_per3@80005000 { | ||
59 | arm,primecell-periphid = <0x10480180>; | ||
60 | max-frequency = <50000000>; | ||
61 | bus-width = <8>; | ||
62 | mmc-cap-mmc-highspeed; | ||
63 | |||
33 | status = "okay"; | 64 | status = "okay"; |
34 | }; | 65 | }; |
35 | 66 | ||
36 | i2c@80004000 { | 67 | // On-board eMMC |
37 | tc3589x@42 { | 68 | sdi4_per2@80114000 { |
38 | compatible = "tc3589x"; | 69 | arm,primecell-periphid = <0x10480180>; |
39 | reg = <0x42>; | 70 | max-frequency = <50000000>; |
40 | interrupt-parent = <&gpio6>; | 71 | bus-width = <8>; |
41 | interrupts = <25 0x1>; | 72 | mmc-cap-mmc-highspeed; |
73 | vmmc-supply = <&ab8500_ldo_aux2_reg>; | ||
42 | 74 | ||
43 | interrupt-controller; | 75 | status = "okay"; |
44 | #interrupt-cells = <2>; | 76 | }; |
45 | 77 | ||
46 | tc3589x_gpio: tc3589x_gpio { | 78 | prcmu@80157000 { |
47 | compatible = "tc3589x-gpio"; | 79 | db8500-prcmu-regulators { |
48 | interrupts = <0 0x1>; | 80 | db8500_vape_reg: db8500_vape { |
81 | regulator-name = "db8500-vape"; | ||
82 | }; | ||
49 | 83 | ||
50 | interrupt-controller; | 84 | db8500_varm_reg: db8500_varm { |
51 | #interrupt-cells = <2>; | 85 | regulator-name = "db8500-varm"; |
52 | gpio-controller; | ||
53 | #gpio-cells = <2>; | ||
54 | }; | 86 | }; |
55 | }; | ||
56 | 87 | ||
57 | tps61052@33 { | 88 | db8500_vmodem_reg: db8500_vmodem { |
58 | compatible = "tps61052"; | 89 | regulator-name = "db8500-vmodem"; |
59 | reg = <0x33>; | 90 | }; |
60 | }; | ||
61 | }; | ||
62 | 91 | ||
63 | i2c@80128000 { | 92 | db8500_vpll_reg: db8500_vpll { |
64 | lp5521@0x33 { | 93 | regulator-name = "db8500-vpll"; |
65 | compatible = "lp5521"; | 94 | }; |
66 | reg = <0x33>; | ||
67 | }; | ||
68 | 95 | ||
69 | lp5521@0x34 { | 96 | db8500_vsmps1_reg: db8500_vsmps1 { |
70 | compatible = "lp5521"; | 97 | regulator-name = "db8500-vsmps1"; |
71 | reg = <0x34>; | 98 | }; |
72 | }; | 99 | |
100 | db8500_vsmps2_reg: db8500_vsmps2 { | ||
101 | regulator-name = "db8500-vsmps2"; | ||
102 | }; | ||
103 | |||
104 | db8500_vsmps3_reg: db8500_vsmps3 { | ||
105 | regulator-name = "db8500-vsmps3"; | ||
106 | }; | ||
107 | |||
108 | db8500_vrf1_reg: db8500_vrf1 { | ||
109 | regulator-name = "db8500-vrf1"; | ||
110 | }; | ||
111 | |||
112 | db8500_sva_mmdsp_reg: db8500_sva_mmdsp { | ||
113 | regulator-name = "db8500-sva-mmdsp"; | ||
114 | }; | ||
115 | |||
116 | db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret { | ||
117 | regulator-name = "db8500-sva-mmdsp-ret"; | ||
118 | }; | ||
119 | |||
120 | db8500_sva_pipe_reg: db8500_sva_pipe { | ||
121 | regulator-name = "db8500_sva_pipe"; | ||
122 | }; | ||
73 | 123 | ||
74 | bh1780@0x29 { | 124 | db8500_sia_mmdsp_reg: db8500_sia_mmdsp { |
75 | compatible = "rohm,bh1780gli"; | 125 | regulator-name = "db8500_sia_mmdsp"; |
76 | reg = <0x33>; | 126 | }; |
127 | |||
128 | db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret { | ||
129 | regulator-name = "db8500-sia-mmdsp-ret"; | ||
130 | }; | ||
131 | |||
132 | db8500_sia_pipe_reg: db8500_sia_pipe { | ||
133 | regulator-name = "db8500-sia-pipe"; | ||
134 | }; | ||
135 | |||
136 | db8500_sga_reg: db8500_sga { | ||
137 | regulator-name = "db8500-sga"; | ||
138 | }; | ||
139 | |||
140 | db8500_b2r2_mcde_reg: db8500_b2r2_mcde { | ||
141 | regulator-name = "db8500-b2r2-mcde"; | ||
142 | }; | ||
143 | |||
144 | db8500_esram12_reg: db8500_esram12 { | ||
145 | regulator-name = "db8500-esram12"; | ||
146 | }; | ||
147 | |||
148 | db8500_esram12_ret_reg: db8500_esram12_ret { | ||
149 | regulator-name = "db8500-esram12-ret"; | ||
150 | }; | ||
151 | |||
152 | db8500_esram34_reg: db8500_esram34 { | ||
153 | regulator-name = "db8500-esram34"; | ||
154 | }; | ||
155 | |||
156 | db8500_esram34_ret_reg: db8500_esram34_ret { | ||
157 | regulator-name = "db8500-esram34-ret"; | ||
158 | }; | ||
77 | }; | 159 | }; |
78 | }; | ||
79 | 160 | ||
80 | sound { | 161 | ab8500@5 { |
81 | compatible = "stericsson,snd-soc-mop500"; | 162 | ab8500-regulators { |
163 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | ||
164 | regulator-name = "V-DISPLAY"; | ||
165 | }; | ||
82 | 166 | ||
83 | stericsson,cpu-dai = <&msp1 &msp3>; | 167 | ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { |
84 | stericsson,audio-codec = <&codec>; | 168 | regulator-name = "V-eMMC1"; |
85 | }; | 169 | }; |
86 | 170 | ||
87 | msp1: msp@80124000 { | 171 | ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { |
88 | status = "okay"; | 172 | regulator-name = "V-MMC-SD"; |
89 | }; | 173 | }; |
90 | 174 | ||
91 | msp3: msp@80125000 { | 175 | ab8500_ldo_initcore_reg: ab8500_ldo_initcore { |
92 | status = "okay"; | 176 | regulator-name = "V-INTCORE"; |
177 | }; | ||
178 | |||
179 | ab8500_ldo_tvout_reg: ab8500_ldo_tvout { | ||
180 | regulator-name = "V-TVOUT"; | ||
181 | }; | ||
182 | |||
183 | ab8500_ldo_usb_reg: ab8500_ldo_usb { | ||
184 | regulator-name = "dummy"; | ||
185 | }; | ||
186 | |||
187 | ab8500_ldo_audio_reg: ab8500_ldo_audio { | ||
188 | regulator-name = "V-AUD"; | ||
189 | }; | ||
190 | |||
191 | ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { | ||
192 | regulator-name = "V-AMIC1"; | ||
193 | }; | ||
194 | |||
195 | ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 { | ||
196 | regulator-name = "V-AMIC2"; | ||
197 | }; | ||
198 | |||
199 | ab8500_ldo_dmic_reg: ab8500_ldo_dmic { | ||
200 | regulator-name = "V-DMIC"; | ||
201 | }; | ||
202 | |||
203 | ab8500_ldo_ana_reg: ab8500_ldo_ana { | ||
204 | regulator-name = "V-CSI/DSI"; | ||
205 | }; | ||
206 | }; | ||
207 | }; | ||
93 | }; | 208 | }; |
94 | }; | 209 | }; |
95 | }; | 210 | }; |
diff --git a/arch/arm/boot/dts/imx23-olinuxino.dts b/arch/arm/boot/dts/imx23-olinuxino.dts index 384d8b66f337..7c43b8e70b9f 100644 --- a/arch/arm/boot/dts/imx23-olinuxino.dts +++ b/arch/arm/boot/dts/imx23-olinuxino.dts | |||
@@ -40,6 +40,15 @@ | |||
40 | reg = <0>; | 40 | reg = <0>; |
41 | fsl,pinmux-ids = < | 41 | fsl,pinmux-ids = < |
42 | 0x2013 /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */ | 42 | 0x2013 /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */ |
43 | >; | ||
44 | fsl,drive-strength = <0>; | ||
45 | fsl,voltage = <1>; | ||
46 | fsl,pull-up = <0>; | ||
47 | }; | ||
48 | |||
49 | led_pin_gpio0_17: led_gpio0_17@0 { | ||
50 | reg = <0>; | ||
51 | fsl,pinmux-ids = < | ||
43 | 0x0113 /* MX23_PAD_GPMI_ALE__GPIO_0_17 */ | 52 | 0x0113 /* MX23_PAD_GPMI_ALE__GPIO_0_17 */ |
44 | >; | 53 | >; |
45 | fsl,drive-strength = <0>; | 54 | fsl,drive-strength = <0>; |
@@ -47,6 +56,15 @@ | |||
47 | fsl,pull-up = <0>; | 56 | fsl,pull-up = <0>; |
48 | }; | 57 | }; |
49 | }; | 58 | }; |
59 | |||
60 | ssp1: ssp@80034000 { | ||
61 | #address-cells = <1>; | ||
62 | #size-cells = <0>; | ||
63 | compatible = "fsl,imx23-spi"; | ||
64 | pinctrl-names = "default"; | ||
65 | pinctrl-0 = <&spi2_pins_a>; | ||
66 | status = "okay"; | ||
67 | }; | ||
50 | }; | 68 | }; |
51 | 69 | ||
52 | apbx@80040000 { | 70 | apbx@80040000 { |
@@ -91,11 +109,12 @@ | |||
91 | 109 | ||
92 | leds { | 110 | leds { |
93 | compatible = "gpio-leds"; | 111 | compatible = "gpio-leds"; |
112 | pinctrl-names = "default"; | ||
113 | pinctrl-0 = <&led_pin_gpio0_17>; | ||
94 | 114 | ||
95 | user { | 115 | user { |
96 | label = "green"; | 116 | label = "green"; |
97 | gpios = <&gpio2 1 0>; | 117 | gpios = <&gpio2 1 1>; |
98 | linux,default-trigger = "default-on"; | ||
99 | }; | 118 | }; |
100 | }; | 119 | }; |
101 | }; | 120 | }; |
diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi index 6d31aa383460..65415c598a5e 100644 --- a/arch/arm/boot/dts/imx23.dtsi +++ b/arch/arm/boot/dts/imx23.dtsi | |||
@@ -279,6 +279,19 @@ | |||
279 | fsl,voltage = <1>; | 279 | fsl,voltage = <1>; |
280 | fsl,pull-up = <0>; | 280 | fsl,pull-up = <0>; |
281 | }; | 281 | }; |
282 | |||
283 | spi2_pins_a: spi2@0 { | ||
284 | reg = <0>; | ||
285 | fsl,pinmux-ids = < | ||
286 | 0x0182 /* MX23_PAD_GPMI_WRN__SSP2_SCK */ | ||
287 | 0x0142 /* MX23_PAD_GPMI_RDY1__SSP2_CMD */ | ||
288 | 0x0002 /* MX23_PAD_GPMI_D00__SSP2_DATA0 */ | ||
289 | 0x0032 /* MX23_PAD_GPMI_D03__SSP2_DATA3 */ | ||
290 | >; | ||
291 | fsl,drive-strength = <1>; | ||
292 | fsl,voltage = <1>; | ||
293 | fsl,pull-up = <1>; | ||
294 | }; | ||
282 | }; | 295 | }; |
283 | 296 | ||
284 | digctl@8001c000 { | 297 | digctl@8001c000 { |
diff --git a/arch/arm/boot/dts/imx25-karo-tx25.dts b/arch/arm/boot/dts/imx25-karo-tx25.dts new file mode 100644 index 000000000000..d81f8a0b9794 --- /dev/null +++ b/arch/arm/boot/dts/imx25-karo-tx25.dts | |||
@@ -0,0 +1,44 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Sascha Hauer, Pengutronix | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "imx25.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Ka-Ro TX25"; | ||
17 | compatible = "karo,imx25-tx25", "fsl,imx25"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x80000000 0x02000000 0x90000000 0x02000000>; | ||
21 | }; | ||
22 | |||
23 | soc { | ||
24 | aips@43f00000 { | ||
25 | uart1: serial@43f90000 { | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | }; | ||
29 | |||
30 | spba@50000000 { | ||
31 | fec: ethernet@50038000 { | ||
32 | status = "okay"; | ||
33 | phy-mode = "rmii"; | ||
34 | }; | ||
35 | }; | ||
36 | |||
37 | emi@80000000 { | ||
38 | nand@bb000000 { | ||
39 | nand-on-flash-bbt; | ||
40 | status = "okay"; | ||
41 | }; | ||
42 | }; | ||
43 | }; | ||
44 | }; | ||
diff --git a/arch/arm/boot/dts/imx25.dtsi b/arch/arm/boot/dts/imx25.dtsi new file mode 100644 index 000000000000..e1b13ebc96d6 --- /dev/null +++ b/arch/arm/boot/dts/imx25.dtsi | |||
@@ -0,0 +1,515 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Sascha Hauer, Pengutronix <s.hauer@pengutronix.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /include/ "skeleton.dtsi" | ||
13 | |||
14 | / { | ||
15 | aliases { | ||
16 | serial0 = &uart1; | ||
17 | serial1 = &uart2; | ||
18 | serial2 = &uart3; | ||
19 | serial3 = &uart4; | ||
20 | serial4 = &uart5; | ||
21 | gpio0 = &gpio1; | ||
22 | gpio1 = &gpio2; | ||
23 | gpio2 = &gpio3; | ||
24 | gpio3 = &gpio4; | ||
25 | usb0 = &usbotg; | ||
26 | usb1 = &usbhost1; | ||
27 | }; | ||
28 | |||
29 | asic: asic-interrupt-controller@68000000 { | ||
30 | compatible = "fsl,imx25-asic", "fsl,avic"; | ||
31 | interrupt-controller; | ||
32 | #interrupt-cells = <1>; | ||
33 | reg = <0x68000000 0x8000000>; | ||
34 | }; | ||
35 | |||
36 | clocks { | ||
37 | #address-cells = <1>; | ||
38 | #size-cells = <0>; | ||
39 | |||
40 | osc { | ||
41 | compatible = "fsl,imx-osc", "fixed-clock"; | ||
42 | clock-frequency = <24000000>; | ||
43 | }; | ||
44 | }; | ||
45 | |||
46 | soc { | ||
47 | #address-cells = <1>; | ||
48 | #size-cells = <1>; | ||
49 | compatible = "simple-bus"; | ||
50 | interrupt-parent = <&asic>; | ||
51 | ranges; | ||
52 | |||
53 | aips@43f00000 { /* AIPS1 */ | ||
54 | compatible = "fsl,aips-bus", "simple-bus"; | ||
55 | #address-cells = <1>; | ||
56 | #size-cells = <1>; | ||
57 | reg = <0x43f00000 0x100000>; | ||
58 | ranges; | ||
59 | |||
60 | i2c1: i2c@43f80000 { | ||
61 | #address-cells = <1>; | ||
62 | #size-cells = <0>; | ||
63 | compatible = "fsl,imx25-i2c", "fsl,imx21-i2c"; | ||
64 | reg = <0x43f80000 0x4000>; | ||
65 | clocks = <&clks 48>; | ||
66 | clock-names = ""; | ||
67 | interrupts = <3>; | ||
68 | status = "disabled"; | ||
69 | }; | ||
70 | |||
71 | i2c3: i2c@43f84000 { | ||
72 | #address-cells = <1>; | ||
73 | #size-cells = <0>; | ||
74 | compatible = "fsl,imx25-i2c", "fsl,imx21-i2c"; | ||
75 | reg = <0x43f84000 0x4000>; | ||
76 | clocks = <&clks 48>; | ||
77 | clock-names = ""; | ||
78 | interrupts = <10>; | ||
79 | status = "disabled"; | ||
80 | }; | ||
81 | |||
82 | can1: can@43f88000 { | ||
83 | compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan"; | ||
84 | reg = <0x43f88000 0x4000>; | ||
85 | interrupts = <43>; | ||
86 | clocks = <&clks 75>, <&clks 75>; | ||
87 | clock-names = "ipg", "per"; | ||
88 | status = "disabled"; | ||
89 | }; | ||
90 | |||
91 | can2: can@43f8c000 { | ||
92 | compatible = "fsl,imx25-flexcan", "fsl,p1010-flexcan"; | ||
93 | reg = <0x43f8c000 0x4000>; | ||
94 | interrupts = <44>; | ||
95 | clocks = <&clks 76>, <&clks 76>; | ||
96 | clock-names = "ipg", "per"; | ||
97 | status = "disabled"; | ||
98 | }; | ||
99 | |||
100 | uart1: serial@43f90000 { | ||
101 | compatible = "fsl,imx25-uart", "fsl,imx21-uart"; | ||
102 | reg = <0x43f90000 0x4000>; | ||
103 | interrupts = <45>; | ||
104 | clocks = <&clks 120>, <&clks 57>; | ||
105 | clock-names = "ipg", "per"; | ||
106 | status = "disabled"; | ||
107 | }; | ||
108 | |||
109 | uart2: serial@43f94000 { | ||
110 | compatible = "fsl,imx25-uart", "fsl,imx21-uart"; | ||
111 | reg = <0x43f94000 0x4000>; | ||
112 | interrupts = <32>; | ||
113 | clocks = <&clks 121>, <&clks 57>; | ||
114 | clock-names = "ipg", "per"; | ||
115 | status = "disabled"; | ||
116 | }; | ||
117 | |||
118 | i2c2: i2c@43f98000 { | ||
119 | #address-cells = <1>; | ||
120 | #size-cells = <0>; | ||
121 | compatible = "fsl,imx25-i2c", "fsl,imx21-i2c"; | ||
122 | reg = <0x43f98000 0x4000>; | ||
123 | clocks = <&clks 48>; | ||
124 | clock-names = ""; | ||
125 | interrupts = <4>; | ||
126 | status = "disabled"; | ||
127 | }; | ||
128 | |||
129 | owire@43f9c000 { | ||
130 | #address-cells = <1>; | ||
131 | #size-cells = <0>; | ||
132 | reg = <0x43f9c000 0x4000>; | ||
133 | clocks = <&clks 51>; | ||
134 | clock-names = ""; | ||
135 | interrupts = <2>; | ||
136 | status = "disabled"; | ||
137 | }; | ||
138 | |||
139 | spi1: cspi@43fa4000 { | ||
140 | #address-cells = <1>; | ||
141 | #size-cells = <0>; | ||
142 | compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; | ||
143 | reg = <0x43fa4000 0x4000>; | ||
144 | clocks = <&clks 62>; | ||
145 | clock-names = "ipg"; | ||
146 | interrupts = <14>; | ||
147 | status = "disabled"; | ||
148 | }; | ||
149 | |||
150 | kpp@43fa8000 { | ||
151 | #address-cells = <1>; | ||
152 | #size-cells = <0>; | ||
153 | reg = <0x43fa8000 0x4000>; | ||
154 | clocks = <&clks 102>; | ||
155 | clock-names = ""; | ||
156 | interrupts = <24>; | ||
157 | status = "disabled"; | ||
158 | }; | ||
159 | |||
160 | iomuxc@43fac000{ | ||
161 | compatible = "fsl,imx25-iomuxc"; | ||
162 | reg = <0x43fac000 0x4000>; | ||
163 | }; | ||
164 | |||
165 | audmux@43fb0000 { | ||
166 | compatible = "fsl,imx25-audmux", "fsl,imx31-audmux"; | ||
167 | reg = <0x43fb0000 0x4000>; | ||
168 | status = "disabled"; | ||
169 | }; | ||
170 | }; | ||
171 | |||
172 | spba@50000000 { | ||
173 | compatible = "fsl,spba-bus", "simple-bus"; | ||
174 | #address-cells = <1>; | ||
175 | #size-cells = <1>; | ||
176 | reg = <0x50000000 0x40000>; | ||
177 | ranges; | ||
178 | |||
179 | spi3: cspi@50004000 { | ||
180 | #address-cells = <1>; | ||
181 | #size-cells = <0>; | ||
182 | compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; | ||
183 | reg = <0x50004000 0x4000>; | ||
184 | interrupts = <0>; | ||
185 | clocks = <&clks 80>; | ||
186 | clock-names = "ipg"; | ||
187 | status = "disabled"; | ||
188 | }; | ||
189 | |||
190 | uart4: serial@50008000 { | ||
191 | compatible = "fsl,imx25-uart", "fsl,imx21-uart"; | ||
192 | reg = <0x50008000 0x4000>; | ||
193 | interrupts = <5>; | ||
194 | clocks = <&clks 123>, <&clks 57>; | ||
195 | clock-names = "ipg", "per"; | ||
196 | status = "disabled"; | ||
197 | }; | ||
198 | |||
199 | uart3: serial@5000c000 { | ||
200 | compatible = "fsl,imx25-uart", "fsl,imx21-uart"; | ||
201 | reg = <0x5000c000 0x4000>; | ||
202 | interrupts = <18>; | ||
203 | clocks = <&clks 122>, <&clks 57>; | ||
204 | clock-names = "ipg", "per"; | ||
205 | status = "disabled"; | ||
206 | }; | ||
207 | |||
208 | spi2: cspi@50010000 { | ||
209 | #address-cells = <1>; | ||
210 | #size-cells = <0>; | ||
211 | compatible = "fsl,imx25-cspi", "fsl,imx35-cspi"; | ||
212 | reg = <0x50010000 0x4000>; | ||
213 | clocks = <&clks 79>; | ||
214 | clock-names = "ipg"; | ||
215 | interrupts = <13>; | ||
216 | status = "disabled"; | ||
217 | }; | ||
218 | |||
219 | ssi2: ssi@50014000 { | ||
220 | compatible = "fsl,imx25-ssi", "fsl,imx21-ssi"; | ||
221 | reg = <0x50014000 0x4000>; | ||
222 | interrupts = <11>; | ||
223 | status = "disabled"; | ||
224 | }; | ||
225 | |||
226 | esai@50018000 { | ||
227 | reg = <0x50018000 0x4000>; | ||
228 | interrupts = <7>; | ||
229 | }; | ||
230 | |||
231 | uart5: serial@5002c000 { | ||
232 | compatible = "fsl,imx25-uart", "fsl,imx21-uart"; | ||
233 | reg = <0x5002c000 0x4000>; | ||
234 | interrupts = <40>; | ||
235 | clocks = <&clks 124>, <&clks 57>; | ||
236 | clock-names = "ipg", "per"; | ||
237 | status = "disabled"; | ||
238 | }; | ||
239 | |||
240 | tsc: tsc@50030000 { | ||
241 | compatible = "fsl,imx25-adc", "fsl,imx21-tsc"; | ||
242 | reg = <0x50030000 0x4000>; | ||
243 | interrupts = <46>; | ||
244 | clocks = <&clks 119>; | ||
245 | clock-names = "ipg"; | ||
246 | status = "disabled"; | ||
247 | }; | ||
248 | |||
249 | ssi1: ssi@50034000 { | ||
250 | compatible = "fsl,imx25-ssi", "fsl,imx21-ssi"; | ||
251 | reg = <0x50034000 0x4000>; | ||
252 | interrupts = <12>; | ||
253 | status = "disabled"; | ||
254 | }; | ||
255 | |||
256 | fec: ethernet@50038000 { | ||
257 | compatible = "fsl,imx25-fec"; | ||
258 | reg = <0x50038000 0x4000>; | ||
259 | interrupts = <57>; | ||
260 | clocks = <&clks 88>, <&clks 65>; | ||
261 | clock-names = "ipg", "ahb"; | ||
262 | status = "disabled"; | ||
263 | }; | ||
264 | }; | ||
265 | |||
266 | aips@53f00000 { /* AIPS2 */ | ||
267 | compatible = "fsl,aips-bus", "simple-bus"; | ||
268 | #address-cells = <1>; | ||
269 | #size-cells = <1>; | ||
270 | reg = <0x53f00000 0x100000>; | ||
271 | ranges; | ||
272 | |||
273 | clks: ccm@53f80000 { | ||
274 | compatible = "fsl,imx25-ccm"; | ||
275 | reg = <0x53f80000 0x4000>; | ||
276 | interrupts = <31>; | ||
277 | #clock-cells = <1>; | ||
278 | }; | ||
279 | |||
280 | gpt4: timer@53f84000 { | ||
281 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; | ||
282 | reg = <0x53f84000 0x4000>; | ||
283 | clocks = <&clks 9>, <&clks 45>; | ||
284 | clock-names = "ipg", "per"; | ||
285 | interrupts = <1>; | ||
286 | }; | ||
287 | |||
288 | gpt3: timer@53f88000 { | ||
289 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; | ||
290 | reg = <0x53f88000 0x4000>; | ||
291 | clocks = <&clks 9>, <&clks 47>; | ||
292 | clock-names = "ipg", "per"; | ||
293 | interrupts = <29>; | ||
294 | }; | ||
295 | |||
296 | gpt2: timer@53f8c000 { | ||
297 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; | ||
298 | reg = <0x53f8c000 0x4000>; | ||
299 | clocks = <&clks 9>, <&clks 47>; | ||
300 | clock-names = "ipg", "per"; | ||
301 | interrupts = <53>; | ||
302 | }; | ||
303 | |||
304 | gpt1: timer@53f90000 { | ||
305 | compatible = "fsl,imx25-gpt", "fsl,imx31-gpt"; | ||
306 | reg = <0x53f90000 0x4000>; | ||
307 | clocks = <&clks 9>, <&clks 47>; | ||
308 | clock-names = "ipg", "per"; | ||
309 | interrupts = <54>; | ||
310 | }; | ||
311 | |||
312 | epit1: timer@53f94000 { | ||
313 | compatible = "fsl,imx25-epit"; | ||
314 | reg = <0x53f94000 0x4000>; | ||
315 | interrupts = <28>; | ||
316 | }; | ||
317 | |||
318 | epit2: timer@53f98000 { | ||
319 | compatible = "fsl,imx25-epit"; | ||
320 | reg = <0x53f98000 0x4000>; | ||
321 | interrupts = <27>; | ||
322 | }; | ||
323 | |||
324 | gpio4: gpio@53f9c000 { | ||
325 | compatible = "fsl,imx25-gpio", "fsl,imx35-gpio"; | ||
326 | reg = <0x53f9c000 0x4000>; | ||
327 | interrupts = <23>; | ||
328 | gpio-controller; | ||
329 | #gpio-cells = <2>; | ||
330 | interrupt-controller; | ||
331 | #interrupt-cells = <2>; | ||
332 | }; | ||
333 | |||
334 | pwm2: pwm@53fa0000 { | ||
335 | compatible = "fsl,imx25-pwm", "fsl,imx27-pwm"; | ||
336 | #pwm-cells = <2>; | ||
337 | reg = <0x53fa0000 0x4000>; | ||
338 | clocks = <&clks 106>, <&clks 36>; | ||
339 | clock-names = "ipg", "per"; | ||
340 | interrupts = <36>; | ||
341 | }; | ||
342 | |||
343 | gpio3: gpio@53fa4000 { | ||
344 | compatible = "fsl,imx25-gpio", "fsl,imx35-gpio"; | ||
345 | reg = <0x53fa4000 0x4000>; | ||
346 | interrupts = <16>; | ||
347 | gpio-controller; | ||
348 | #gpio-cells = <2>; | ||
349 | interrupt-controller; | ||
350 | #interrupt-cells = <2>; | ||
351 | }; | ||
352 | |||
353 | pwm3: pwm@53fa8000 { | ||
354 | compatible = "fsl,imx25-pwm", "fsl,imx27-pwm"; | ||
355 | #pwm-cells = <2>; | ||
356 | reg = <0x53fa8000 0x4000>; | ||
357 | clocks = <&clks 107>, <&clks 36>; | ||
358 | clock-names = "ipg", "per"; | ||
359 | interrupts = <41>; | ||
360 | }; | ||
361 | |||
362 | esdhc1: esdhc@53fb4000 { | ||
363 | compatible = "fsl,imx25-esdhc"; | ||
364 | reg = <0x53fb4000 0x4000>; | ||
365 | interrupts = <9>; | ||
366 | clocks = <&clks 86>, <&clks 63>, <&clks 45>; | ||
367 | clock-names = "ipg", "ahb", "per"; | ||
368 | status = "disabled"; | ||
369 | }; | ||
370 | |||
371 | esdhc2: esdhc@53fb8000 { | ||
372 | compatible = "fsl,imx25-esdhc"; | ||
373 | reg = <0x53fb8000 0x4000>; | ||
374 | interrupts = <8>; | ||
375 | clocks = <&clks 87>, <&clks 64>, <&clks 46>; | ||
376 | clock-names = "ipg", "ahb", "per"; | ||
377 | status = "disabled"; | ||
378 | }; | ||
379 | |||
380 | lcdc@53fbc000 { | ||
381 | reg = <0x53fbc000 0x4000>; | ||
382 | interrupts = <39>; | ||
383 | clocks = <&clks 103>, <&clks 66>, <&clks 49>; | ||
384 | clock-names = "ipg", "ahb", "per"; | ||
385 | status = "disabled"; | ||
386 | }; | ||
387 | |||
388 | slcdc@53fc0000 { | ||
389 | reg = <0x53fc0000 0x4000>; | ||
390 | interrupts = <38>; | ||
391 | status = "disabled"; | ||
392 | }; | ||
393 | |||
394 | pwm4: pwm@53fc8000 { | ||
395 | compatible = "fsl,imx25-pwm", "fsl,imx27-pwm"; | ||
396 | reg = <0x53fc8000 0x4000>; | ||
397 | clocks = <&clks 108>, <&clks 36>; | ||
398 | clock-names = "ipg", "per"; | ||
399 | interrupts = <42>; | ||
400 | }; | ||
401 | |||
402 | gpio1: gpio@53fcc000 { | ||
403 | compatible = "fsl,imx25-gpio", "fsl,imx35-gpio"; | ||
404 | reg = <0x53fcc000 0x4000>; | ||
405 | interrupts = <52>; | ||
406 | gpio-controller; | ||
407 | #gpio-cells = <2>; | ||
408 | interrupt-controller; | ||
409 | #interrupt-cells = <2>; | ||
410 | }; | ||
411 | |||
412 | gpio2: gpio@53fd0000 { | ||
413 | compatible = "fsl,imx25-gpio", "fsl,imx35-gpio"; | ||
414 | reg = <0x53fd0000 0x4000>; | ||
415 | interrupts = <51>; | ||
416 | gpio-controller; | ||
417 | #gpio-cells = <2>; | ||
418 | interrupt-controller; | ||
419 | #interrupt-cells = <2>; | ||
420 | }; | ||
421 | |||
422 | sdma@53fd4000 { | ||
423 | compatible = "fsl,imx25-sdma", "fsl,imx35-sdma"; | ||
424 | reg = <0x53fd4000 0x4000>; | ||
425 | clocks = <&clks 112>, <&clks 68>; | ||
426 | clock-names = "ipg", "ahb"; | ||
427 | interrupts = <34>; | ||
428 | }; | ||
429 | |||
430 | wdog@53fdc000 { | ||
431 | compatible = "fsl,imx25-wdt", "fsl,imx21-wdt"; | ||
432 | reg = <0x53fdc000 0x4000>; | ||
433 | clocks = <&clks 126>; | ||
434 | clock-names = ""; | ||
435 | interrupts = <55>; | ||
436 | }; | ||
437 | |||
438 | pwm1: pwm@53fe0000 { | ||
439 | compatible = "fsl,imx25-pwm", "fsl,imx27-pwm"; | ||
440 | #pwm-cells = <2>; | ||
441 | reg = <0x53fe0000 0x4000>; | ||
442 | clocks = <&clks 105>, <&clks 36>; | ||
443 | clock-names = "ipg", "per"; | ||
444 | interrupts = <26>; | ||
445 | }; | ||
446 | |||
447 | usbphy1: usbphy@1 { | ||
448 | compatible = "nop-usbphy"; | ||
449 | status = "disabled"; | ||
450 | }; | ||
451 | |||
452 | usbphy2: usbphy@2 { | ||
453 | compatible = "nop-usbphy"; | ||
454 | status = "disabled"; | ||
455 | }; | ||
456 | |||
457 | usbotg: usb@53ff4000 { | ||
458 | compatible = "fsl,imx25-usb", "fsl,imx27-usb"; | ||
459 | reg = <0x53ff4000 0x0200>; | ||
460 | interrupts = <37>; | ||
461 | clocks = <&clks 9>, <&clks 70>, <&clks 8>; | ||
462 | clock-names = "ipg", "ahb", "per"; | ||
463 | fsl,usbmisc = <&usbmisc 0>; | ||
464 | status = "disabled"; | ||
465 | }; | ||
466 | |||
467 | usbhost1: usb@53ff4400 { | ||
468 | compatible = "fsl,imx25-usb", "fsl,imx27-usb"; | ||
469 | reg = <0x53ff4400 0x0200>; | ||
470 | interrupts = <35>; | ||
471 | clocks = <&clks 9>, <&clks 70>, <&clks 8>; | ||
472 | clock-names = "ipg", "ahb", "per"; | ||
473 | fsl,usbmisc = <&usbmisc 1>; | ||
474 | status = "disabled"; | ||
475 | }; | ||
476 | |||
477 | usbmisc: usbmisc@53ff4600 { | ||
478 | #index-cells = <1>; | ||
479 | compatible = "fsl,imx25-usbmisc"; | ||
480 | clocks = <&clks 9>, <&clks 70>, <&clks 8>; | ||
481 | clock-names = "ipg", "ahb", "per"; | ||
482 | reg = <0x53ff4600 0x00f>; | ||
483 | status = "disabled"; | ||
484 | }; | ||
485 | |||
486 | dryice@53ffc000 { | ||
487 | compatible = "fsl,imx25-dryice", "fsl,imx25-rtc"; | ||
488 | reg = <0x53ffc000 0x4000>; | ||
489 | clocks = <&clks 81>; | ||
490 | clock-names = "ipg"; | ||
491 | interrupts = <25>; | ||
492 | }; | ||
493 | }; | ||
494 | |||
495 | emi@80000000 { | ||
496 | compatible = "fsl,emi-bus", "simple-bus"; | ||
497 | #address-cells = <1>; | ||
498 | #size-cells = <1>; | ||
499 | reg = <0x80000000 0x3b002000>; | ||
500 | ranges; | ||
501 | |||
502 | nand@bb000000 { | ||
503 | #address-cells = <1>; | ||
504 | #size-cells = <1>; | ||
505 | |||
506 | compatible = "fsl,imx25-nand"; | ||
507 | reg = <0xbb000000 0x2000>; | ||
508 | clocks = <&clks 50>; | ||
509 | clock-names = ""; | ||
510 | interrupts = <33>; | ||
511 | status = "disabled"; | ||
512 | }; | ||
513 | }; | ||
514 | }; | ||
515 | }; | ||
diff --git a/arch/arm/boot/dts/imx27-3ds.dts b/arch/arm/boot/dts/imx27-3ds.dts index 0a8978a40ece..b01c0d745fc5 100644 --- a/arch/arm/boot/dts/imx27-3ds.dts +++ b/arch/arm/boot/dts/imx27-3ds.dts | |||
@@ -23,10 +23,6 @@ | |||
23 | soc { | 23 | soc { |
24 | aipi@10000000 { /* aipi */ | 24 | aipi@10000000 { /* aipi */ |
25 | 25 | ||
26 | wdog@10002000 { | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | |||
30 | uart1: serial@1000a000 { | 26 | uart1: serial@1000a000 { |
31 | fsl,uart-has-rtscts; | 27 | fsl,uart-has-rtscts; |
32 | status = "okay"; | 28 | status = "okay"; |
diff --git a/arch/arm/boot/dts/imx27-apf27.dts b/arch/arm/boot/dts/imx27-apf27.dts new file mode 100644 index 000000000000..c0327c054de2 --- /dev/null +++ b/arch/arm/boot/dts/imx27-apf27.dts | |||
@@ -0,0 +1,89 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Philippe Reynes <tremyfr@yahoo.fr> | ||
3 | * Copyright 2012 Armadeus Systems <support@armadeus.com> | ||
4 | * | ||
5 | * Based on code which is: Copyright 2012 Sascha Hauer, Pengutronix | ||
6 | * | ||
7 | * The code contained herein is licensed under the GNU General Public | ||
8 | * License. You may obtain a copy of the GNU General Public License | ||
9 | * Version 2 or later at the following locations: | ||
10 | * | ||
11 | * http://www.opensource.org/licenses/gpl-license.html | ||
12 | * http://www.gnu.org/copyleft/gpl.html | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | /include/ "imx27.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "Armadeus Systems APF27 module"; | ||
20 | compatible = "armadeus,imx27-apf27", "fsl,imx27"; | ||
21 | |||
22 | memory { | ||
23 | reg = <0xa0000000 0x04000000>; | ||
24 | }; | ||
25 | |||
26 | clocks { | ||
27 | #address-cells = <1>; | ||
28 | #size-cells = <0>; | ||
29 | |||
30 | osc26m { | ||
31 | compatible = "fsl,imx-osc26m", "fixed-clock"; | ||
32 | clock-frequency = <0>; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | soc { | ||
37 | aipi@10000000 { | ||
38 | serial@1000a000 { | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
42 | ethernet@1002b000 { | ||
43 | status = "okay"; | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | nand@d8000000 { | ||
48 | status = "okay"; | ||
49 | nand-bus-width = <16>; | ||
50 | nand-ecc-mode = "hw"; | ||
51 | nand-on-flash-bbt; | ||
52 | |||
53 | partition@0 { | ||
54 | label = "u-boot"; | ||
55 | reg = <0x0 0x100000>; | ||
56 | }; | ||
57 | |||
58 | partition@100000 { | ||
59 | label = "env"; | ||
60 | reg = <0x100000 0x80000>; | ||
61 | }; | ||
62 | |||
63 | partition@180000 { | ||
64 | label = "env2"; | ||
65 | reg = <0x180000 0x80000>; | ||
66 | }; | ||
67 | |||
68 | partition@200000 { | ||
69 | label = "firmware"; | ||
70 | reg = <0x200000 0x80000>; | ||
71 | }; | ||
72 | |||
73 | partition@280000 { | ||
74 | label = "dtb"; | ||
75 | reg = <0x280000 0x80000>; | ||
76 | }; | ||
77 | |||
78 | partition@300000 { | ||
79 | label = "kernel"; | ||
80 | reg = <0x300000 0x500000>; | ||
81 | }; | ||
82 | |||
83 | partition@800000 { | ||
84 | label = "rootfs"; | ||
85 | reg = <0x800000 0xf800000>; | ||
86 | }; | ||
87 | }; | ||
88 | }; | ||
89 | }; | ||
diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi index 3e54f1498841..b8d3905915ac 100644 --- a/arch/arm/boot/dts/imx27.dtsi +++ b/arch/arm/boot/dts/imx27.dtsi | |||
@@ -58,7 +58,7 @@ | |||
58 | reg = <0x10000000 0x10000000>; | 58 | reg = <0x10000000 0x10000000>; |
59 | ranges; | 59 | ranges; |
60 | 60 | ||
61 | wdog@10002000 { | 61 | wdog: wdog@10002000 { |
62 | compatible = "fsl,imx27-wdt", "fsl,imx21-wdt"; | 62 | compatible = "fsl,imx27-wdt", "fsl,imx21-wdt"; |
63 | reg = <0x10002000 0x4000>; | 63 | reg = <0x10002000 0x4000>; |
64 | interrupts = <27>; | 64 | interrupts = <27>; |
@@ -113,7 +113,7 @@ | |||
113 | i2c1: i2c@10012000 { | 113 | i2c1: i2c@10012000 { |
114 | #address-cells = <1>; | 114 | #address-cells = <1>; |
115 | #size-cells = <0>; | 115 | #size-cells = <0>; |
116 | compatible = "fsl,imx27-i2c", "fsl,imx1-i2c"; | 116 | compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; |
117 | reg = <0x10012000 0x1000>; | 117 | reg = <0x10012000 0x1000>; |
118 | interrupts = <12>; | 118 | interrupts = <12>; |
119 | status = "disabled"; | 119 | status = "disabled"; |
@@ -205,7 +205,7 @@ | |||
205 | i2c2: i2c@1001d000 { | 205 | i2c2: i2c@1001d000 { |
206 | #address-cells = <1>; | 206 | #address-cells = <1>; |
207 | #size-cells = <0>; | 207 | #size-cells = <0>; |
208 | compatible = "fsl,imx27-i2c", "fsl,imx1-i2c"; | 208 | compatible = "fsl,imx27-i2c", "fsl,imx21-i2c"; |
209 | reg = <0x1001d000 0x1000>; | 209 | reg = <0x1001d000 0x1000>; |
210 | interrupts = <1>; | 210 | interrupts = <1>; |
211 | status = "disabled"; | 211 | status = "disabled"; |
@@ -218,7 +218,8 @@ | |||
218 | status = "disabled"; | 218 | status = "disabled"; |
219 | }; | 219 | }; |
220 | }; | 220 | }; |
221 | nand@d8000000 { | 221 | |
222 | nfc: nand@d8000000 { | ||
222 | #address-cells = <1>; | 223 | #address-cells = <1>; |
223 | #size-cells = <1>; | 224 | #size-cells = <1>; |
224 | 225 | ||
diff --git a/arch/arm/boot/dts/imx28-apf28.dts b/arch/arm/boot/dts/imx28-apf28.dts new file mode 100644 index 000000000000..7eb075876c4c --- /dev/null +++ b/arch/arm/boot/dts/imx28-apf28.dts | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Armadeus Systems - <support@armadeus.com> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "imx28.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "Armadeus Systems APF28 module"; | ||
17 | compatible = "armadeus,imx28-apf28", "fsl,imx28"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x40000000 0x08000000>; | ||
21 | }; | ||
22 | |||
23 | apb@80000000 { | ||
24 | apbh@80000000 { | ||
25 | gpmi-nand@8000c000 { | ||
26 | pinctrl-names = "default"; | ||
27 | pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>; | ||
28 | status = "okay"; | ||
29 | |||
30 | partition@0 { | ||
31 | label = "u-boot"; | ||
32 | reg = <0x0 0x300000>; | ||
33 | }; | ||
34 | |||
35 | partition@300000 { | ||
36 | label = "env"; | ||
37 | reg = <0x300000 0x80000>; | ||
38 | }; | ||
39 | |||
40 | partition@380000 { | ||
41 | label = "env2"; | ||
42 | reg = <0x380000 0x80000>; | ||
43 | }; | ||
44 | |||
45 | partition@400000 { | ||
46 | label = "dtb"; | ||
47 | reg = <0x400000 0x80000>; | ||
48 | }; | ||
49 | |||
50 | partition@480000 { | ||
51 | label = "splash"; | ||
52 | reg = <0x480000 0x80000>; | ||
53 | }; | ||
54 | |||
55 | partition@500000 { | ||
56 | label = "kernel"; | ||
57 | reg = <0x500000 0x800000>; | ||
58 | }; | ||
59 | |||
60 | partition@d00000 { | ||
61 | label = "rootfs"; | ||
62 | reg = <0xd00000 0xf300000>; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | |||
67 | apbx@80040000 { | ||
68 | duart: serial@80074000 { | ||
69 | pinctrl-names = "default"; | ||
70 | pinctrl-0 = <&duart_pins_a>; | ||
71 | status = "okay"; | ||
72 | }; | ||
73 | }; | ||
74 | }; | ||
75 | |||
76 | ahb@80080000 { | ||
77 | mac0: ethernet@800f0000 { | ||
78 | phy-mode = "rmii"; | ||
79 | pinctrl-names = "default"; | ||
80 | pinctrl-0 = <&mac0_pins_a>; | ||
81 | phy-reset-gpios = <&gpio4 13 0>; | ||
82 | status = "okay"; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
diff --git a/arch/arm/boot/dts/imx28-apf28dev.dts b/arch/arm/boot/dts/imx28-apf28dev.dts new file mode 100644 index 000000000000..6d8865bfb4b7 --- /dev/null +++ b/arch/arm/boot/dts/imx28-apf28dev.dts | |||
@@ -0,0 +1,154 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Armadeus Systems - <support@armadeus.com> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /* APF28Dev is a docking board for the APF28 SOM */ | ||
13 | /include/ "imx28-apf28.dts" | ||
14 | |||
15 | / { | ||
16 | model = "Armadeus Systems APF28Dev docking/development board"; | ||
17 | compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "fsl,imx28"; | ||
18 | |||
19 | apb@80000000 { | ||
20 | apbh@80000000 { | ||
21 | ssp0: ssp@80010000 { | ||
22 | compatible = "fsl,imx28-mmc"; | ||
23 | pinctrl-names = "default"; | ||
24 | pinctrl-0 = <&mmc0_4bit_pins_a | ||
25 | &mmc0_cd_cfg &mmc0_sck_cfg>; | ||
26 | bus-width = <4>; | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | |||
30 | ssp2: ssp@80014000 { | ||
31 | compatible = "fsl,imx28-spi"; | ||
32 | pinctrl-names = "default"; | ||
33 | pinctrl-0 = <&spi2_pins_a>; | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | |||
37 | pinctrl@80018000 { | ||
38 | pinctrl-names = "default"; | ||
39 | pinctrl-0 = <&hog_pins_apf28dev>; | ||
40 | |||
41 | hog_pins_apf28dev: hog@0 { | ||
42 | reg = <0>; | ||
43 | fsl,pinmux-ids = < | ||
44 | 0x1103 /* MX28_PAD_LCD_D16__GPIO_1_16 */ | ||
45 | 0x1113 /* MX28_PAD_LCD_D17__GPIO_1_17 */ | ||
46 | 0x1123 /* MX28_PAD_LCD_D18__GPIO_1_18 */ | ||
47 | 0x1133 /* MX28_PAD_LCD_D19__GPIO_1_19 */ | ||
48 | 0x1143 /* MX28_PAD_LCD_D20__GPIO_1_20 */ | ||
49 | 0x1153 /* MX28_PAD_LCD_D21__GPIO_1_21 */ | ||
50 | 0x1163 /* MX28_PAD_LCD_D22__GPIO_1_22 */ | ||
51 | >; | ||
52 | fsl,drive-strength = <0>; | ||
53 | fsl,voltage = <1>; | ||
54 | fsl,pull-up = <0>; | ||
55 | }; | ||
56 | |||
57 | lcdif_pins_apf28dev: lcdif-apf28dev@0 { | ||
58 | reg = <0>; | ||
59 | fsl,pinmux-ids = < | ||
60 | 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */ | ||
61 | 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */ | ||
62 | 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */ | ||
63 | 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */ | ||
64 | >; | ||
65 | fsl,drive-strength = <0>; | ||
66 | fsl,voltage = <1>; | ||
67 | fsl,pull-up = <0>; | ||
68 | }; | ||
69 | }; | ||
70 | |||
71 | lcdif@80030000 { | ||
72 | pinctrl-names = "default"; | ||
73 | pinctrl-0 = <&lcdif_16bit_pins_a | ||
74 | &lcdif_pins_apf28dev>; | ||
75 | status = "okay"; | ||
76 | }; | ||
77 | }; | ||
78 | |||
79 | apbx@80040000 { | ||
80 | lradc@80050000 { | ||
81 | status = "okay"; | ||
82 | }; | ||
83 | |||
84 | i2c0: i2c@80058000 { | ||
85 | pinctrl-names = "default"; | ||
86 | pinctrl-0 = <&i2c0_pins_a>; | ||
87 | status = "okay"; | ||
88 | }; | ||
89 | |||
90 | pwm: pwm@80064000 { | ||
91 | pinctrl-names = "default"; | ||
92 | pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>; | ||
93 | status = "okay"; | ||
94 | }; | ||
95 | |||
96 | usbphy0: usbphy@8007c000 { | ||
97 | status = "okay"; | ||
98 | }; | ||
99 | |||
100 | usbphy1: usbphy@8007e000 { | ||
101 | status = "okay"; | ||
102 | }; | ||
103 | }; | ||
104 | }; | ||
105 | |||
106 | ahb@80080000 { | ||
107 | usb0: usb@80080000 { | ||
108 | vbus-supply = <®_usb0_vbus>; | ||
109 | status = "okay"; | ||
110 | }; | ||
111 | |||
112 | usb1: usb@80090000 { | ||
113 | status = "okay"; | ||
114 | }; | ||
115 | |||
116 | mac1: ethernet@800f4000 { | ||
117 | phy-mode = "rmii"; | ||
118 | pinctrl-names = "default"; | ||
119 | pinctrl-0 = <&mac1_pins_a>; | ||
120 | phy-reset-gpios = <&gpio0 23 0>; | ||
121 | status = "okay"; | ||
122 | }; | ||
123 | }; | ||
124 | |||
125 | regulators { | ||
126 | compatible = "simple-bus"; | ||
127 | |||
128 | reg_usb0_vbus: usb0_vbus { | ||
129 | compatible = "regulator-fixed"; | ||
130 | regulator-name = "usb0_vbus"; | ||
131 | regulator-min-microvolt = <5000000>; | ||
132 | regulator-max-microvolt = <5000000>; | ||
133 | gpio = <&gpio1 23 1>; | ||
134 | }; | ||
135 | }; | ||
136 | |||
137 | leds { | ||
138 | compatible = "gpio-leds"; | ||
139 | |||
140 | user { | ||
141 | label = "Heartbeat"; | ||
142 | gpios = <&gpio0 21 0>; | ||
143 | linux,default-trigger = "heartbeat"; | ||
144 | }; | ||
145 | }; | ||
146 | |||
147 | backlight { | ||
148 | compatible = "pwm-backlight"; | ||
149 | |||
150 | pwms = <&pwm 3 191000>; | ||
151 | brightness-levels = <0 4 8 16 32 64 128 255>; | ||
152 | default-brightness-level = <6>; | ||
153 | }; | ||
154 | }; | ||
diff --git a/arch/arm/boot/dts/imx28-cfa10036.dts b/arch/arm/boot/dts/imx28-cfa10036.dts index c03a577beca3..1594694532b9 100644 --- a/arch/arm/boot/dts/imx28-cfa10036.dts +++ b/arch/arm/boot/dts/imx28-cfa10036.dts | |||
@@ -22,6 +22,31 @@ | |||
22 | 22 | ||
23 | apb@80000000 { | 23 | apb@80000000 { |
24 | apbh@80000000 { | 24 | apbh@80000000 { |
25 | pinctrl@80018000 { | ||
26 | pinctrl-names = "default"; | ||
27 | pinctrl-0 = <&hog_pins_cfa10036>; | ||
28 | |||
29 | hog_pins_cfa10036: hog-10036@0 { | ||
30 | reg = <0>; | ||
31 | fsl,pinmux-ids = < | ||
32 | 0x2073 /* MX28_PAD_SSP0_D7__GPIO_2_7 */ | ||
33 | >; | ||
34 | fsl,drive-strength = <0>; | ||
35 | fsl,voltage = <1>; | ||
36 | fsl,pull-up = <0>; | ||
37 | }; | ||
38 | |||
39 | led_pins_cfa10036: leds-10036@0 { | ||
40 | reg = <0>; | ||
41 | fsl,pinmux-ids = < | ||
42 | 0x3043 /* MX28_PAD_AUART1_RX__GPIO_3_4 */ | ||
43 | >; | ||
44 | fsl,drive-strength = <0>; | ||
45 | fsl,voltage = <1>; | ||
46 | fsl,pull-up = <0>; | ||
47 | }; | ||
48 | }; | ||
49 | |||
25 | ssp0: ssp@80010000 { | 50 | ssp0: ssp@80010000 { |
26 | compatible = "fsl,imx28-mmc"; | 51 | compatible = "fsl,imx28-mmc"; |
27 | pinctrl-names = "default"; | 52 | pinctrl-names = "default"; |
@@ -33,16 +58,37 @@ | |||
33 | }; | 58 | }; |
34 | 59 | ||
35 | apbx@80040000 { | 60 | apbx@80040000 { |
61 | pwm: pwm@80064000 { | ||
62 | pinctrl-names = "default"; | ||
63 | pinctrl-0 = <&pwm4_pins_a>; | ||
64 | status = "okay"; | ||
65 | }; | ||
66 | |||
36 | duart: serial@80074000 { | 67 | duart: serial@80074000 { |
37 | pinctrl-names = "default"; | 68 | pinctrl-names = "default"; |
38 | pinctrl-0 = <&duart_pins_b>; | 69 | pinctrl-0 = <&duart_pins_b>; |
39 | status = "okay"; | 70 | status = "okay"; |
40 | }; | 71 | }; |
72 | |||
73 | i2c0: i2c@80058000 { | ||
74 | pinctrl-names = "default"; | ||
75 | pinctrl-0 = <&i2c0_pins_b>; | ||
76 | status = "okay"; | ||
77 | |||
78 | ssd1307: oled@3c { | ||
79 | compatible = "solomon,ssd1307fb-i2c"; | ||
80 | reg = <0x3c>; | ||
81 | pwms = <&pwm 4 3000>; | ||
82 | reset-gpios = <&gpio2 7 0>; | ||
83 | }; | ||
84 | }; | ||
41 | }; | 85 | }; |
42 | }; | 86 | }; |
43 | 87 | ||
44 | leds { | 88 | leds { |
45 | compatible = "gpio-leds"; | 89 | compatible = "gpio-leds"; |
90 | pinctrl-names = "default"; | ||
91 | pinctrl-0 = <&led_pins_cfa10036>; | ||
46 | 92 | ||
47 | power { | 93 | power { |
48 | gpios = <&gpio3 4 1>; | 94 | gpios = <&gpio3 4 1>; |
diff --git a/arch/arm/boot/dts/imx28-cfa10049.dts b/arch/arm/boot/dts/imx28-cfa10049.dts index 05c892e931e3..b222614ac9e0 100644 --- a/arch/arm/boot/dts/imx28-cfa10049.dts +++ b/arch/arm/boot/dts/imx28-cfa10049.dts | |||
@@ -22,6 +22,22 @@ | |||
22 | apb@80000000 { | 22 | apb@80000000 { |
23 | apbh@80000000 { | 23 | apbh@80000000 { |
24 | pinctrl@80018000 { | 24 | pinctrl@80018000 { |
25 | pinctrl-names = "default", "default"; | ||
26 | pinctrl-1 = <&hog_pins_cfa10049>; | ||
27 | |||
28 | hog_pins_cfa10049: hog-10049@0 { | ||
29 | reg = <0>; | ||
30 | fsl,pinmux-ids = < | ||
31 | 0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */ | ||
32 | 0x1163 /* MX28_PAD_LCD_D22__GPIO_1_22 */ | ||
33 | 0x1173 /* MX28_PAD_LCD_D22__GPIO_1_23 */ | ||
34 | 0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */ | ||
35 | >; | ||
36 | fsl,drive-strength = <0>; | ||
37 | fsl,voltage = <1>; | ||
38 | fsl,pull-up = <0>; | ||
39 | }; | ||
40 | |||
25 | spi3_pins_cfa10049: spi3-cfa10049@0 { | 41 | spi3_pins_cfa10049: spi3-cfa10049@0 { |
26 | reg = <0>; | 42 | reg = <0>; |
27 | fsl,pinmux-ids = < | 43 | fsl,pinmux-ids = < |
@@ -29,6 +45,7 @@ | |||
29 | 0x01c1 /* MX28_PAD_GPMI_RESETN__SSP3_CMD */ | 45 | 0x01c1 /* MX28_PAD_GPMI_RESETN__SSP3_CMD */ |
30 | 0x0111 /* MX28_PAD_GPMI_CE1N__SSP3_D3 */ | 46 | 0x0111 /* MX28_PAD_GPMI_CE1N__SSP3_D3 */ |
31 | 0x01a2 /* MX28_PAD_GPMI_ALE__SSP3_D4 */ | 47 | 0x01a2 /* MX28_PAD_GPMI_ALE__SSP3_D4 */ |
48 | 0x01b2 /* MX28_PAD_GPMI_CLE__SSP3_D5 */ | ||
32 | >; | 49 | >; |
33 | fsl,drive-strength = <1>; | 50 | fsl,drive-strength = <1>; |
34 | fsl,voltage = <1>; | 51 | fsl,voltage = <1>; |
@@ -60,6 +77,11 @@ | |||
60 | spi-max-frequency = <100000>; | 77 | spi-max-frequency = <100000>; |
61 | }; | 78 | }; |
62 | 79 | ||
80 | dac0: dh2228@2 { | ||
81 | compatible = "rohm,dh2228fv"; | ||
82 | reg = <2>; | ||
83 | spi-max-frequency = <100000>; | ||
84 | }; | ||
63 | }; | 85 | }; |
64 | }; | 86 | }; |
65 | 87 | ||
@@ -96,4 +118,15 @@ | |||
96 | gpio = <&gpio0 7 1>; | 118 | gpio = <&gpio0 7 1>; |
97 | }; | 119 | }; |
98 | }; | 120 | }; |
121 | |||
122 | ahb@80080000 { | ||
123 | mac0: ethernet@800f0000 { | ||
124 | phy-mode = "rmii"; | ||
125 | pinctrl-names = "default"; | ||
126 | pinctrl-0 = <&mac0_pins_a>; | ||
127 | phy-reset-gpios = <&gpio2 21 0>; | ||
128 | phy-reset-duration = <100>; | ||
129 | status = "okay"; | ||
130 | }; | ||
131 | }; | ||
99 | }; | 132 | }; |
diff --git a/arch/arm/boot/dts/imx28-evk.dts b/arch/arm/boot/dts/imx28-evk.dts index a0ad71ca3a44..2da316e04409 100644 --- a/arch/arm/boot/dts/imx28-evk.dts +++ b/arch/arm/boot/dts/imx28-evk.dts | |||
@@ -76,7 +76,6 @@ | |||
76 | 0x20c3 /* MX28_PAD_SSP1_SCK__GPIO_2_12 */ | 76 | 0x20c3 /* MX28_PAD_SSP1_SCK__GPIO_2_12 */ |
77 | 0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */ | 77 | 0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */ |
78 | 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */ | 78 | 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */ |
79 | 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */ | ||
80 | 0x3083 /* MX28_PAD_AUART2_RX__GPIO_3_8 */ | 79 | 0x3083 /* MX28_PAD_AUART2_RX__GPIO_3_8 */ |
81 | 0x3093 /* MX28_PAD_AUART2_TX__GPIO_3_9 */ | 80 | 0x3093 /* MX28_PAD_AUART2_TX__GPIO_3_9 */ |
82 | >; | 81 | >; |
@@ -85,6 +84,16 @@ | |||
85 | fsl,pull-up = <0>; | 84 | fsl,pull-up = <0>; |
86 | }; | 85 | }; |
87 | 86 | ||
87 | led_pin_gpio3_5: led_gpio3_5@0 { | ||
88 | reg = <0>; | ||
89 | fsl,pinmux-ids = < | ||
90 | 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */ | ||
91 | >; | ||
92 | fsl,drive-strength = <0>; | ||
93 | fsl,voltage = <1>; | ||
94 | fsl,pull-up = <0>; | ||
95 | }; | ||
96 | |||
88 | gpmi_pins_evk: gpmi-nand-evk@0 { | 97 | gpmi_pins_evk: gpmi-nand-evk@0 { |
89 | reg = <0>; | 98 | reg = <0>; |
90 | fsl,pinmux-ids = < | 99 | fsl,pinmux-ids = < |
@@ -288,6 +297,8 @@ | |||
288 | 297 | ||
289 | leds { | 298 | leds { |
290 | compatible = "gpio-leds"; | 299 | compatible = "gpio-leds"; |
300 | pinctrl-names = "default"; | ||
301 | pinctrl-0 = <&led_pin_gpio3_5>; | ||
291 | 302 | ||
292 | user { | 303 | user { |
293 | label = "Heartbeat"; | 304 | label = "Heartbeat"; |
diff --git a/arch/arm/boot/dts/imx28-sps1.dts b/arch/arm/boot/dts/imx28-sps1.dts new file mode 100644 index 000000000000..e6cde8aa7fff --- /dev/null +++ b/arch/arm/boot/dts/imx28-sps1.dts | |||
@@ -0,0 +1,169 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Marek Vasut <marex@denx.de> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "imx28.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "SchulerControl GmbH, SC SPS 1"; | ||
17 | compatible = "schulercontrol,imx28-sps1", "fsl,imx28"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x40000000 0x08000000>; | ||
21 | }; | ||
22 | |||
23 | apb@80000000 { | ||
24 | apbh@80000000 { | ||
25 | pinctrl@80018000 { | ||
26 | pinctrl-names = "default"; | ||
27 | pinctrl-0 = <&hog_pins_a>; | ||
28 | |||
29 | hog_pins_a: hog-gpios@0 { | ||
30 | reg = <0>; | ||
31 | fsl,pinmux-ids = < | ||
32 | 0x0003 /* MX28_PAD_GPMI_D00__GPIO_0_0 */ | ||
33 | 0x0033 /* MX28_PAD_GPMI_D03__GPIO_0_3 */ | ||
34 | 0x0063 /* MX28_PAD_GPMI_D06__GPIO_0_6 */ | ||
35 | >; | ||
36 | fsl,drive-strength = <0>; | ||
37 | fsl,voltage = <1>; | ||
38 | fsl,pull-up = <0>; | ||
39 | }; | ||
40 | |||
41 | }; | ||
42 | |||
43 | ssp0: ssp@80010000 { | ||
44 | compatible = "fsl,imx28-mmc"; | ||
45 | pinctrl-names = "default"; | ||
46 | pinctrl-0 = <&mmc0_4bit_pins_a>; | ||
47 | bus-width = <4>; | ||
48 | status = "okay"; | ||
49 | }; | ||
50 | |||
51 | ssp2: ssp@80014000 { | ||
52 | #address-cells = <1>; | ||
53 | #size-cells = <0>; | ||
54 | compatible = "fsl,imx28-spi"; | ||
55 | pinctrl-names = "default"; | ||
56 | pinctrl-0 = <&spi2_pins_a>; | ||
57 | status = "okay"; | ||
58 | |||
59 | flash: m25p80@0 { | ||
60 | #address-cells = <1>; | ||
61 | #size-cells = <1>; | ||
62 | compatible = "everspin,mr25h256", "mr25h256"; | ||
63 | spi-max-frequency = <40000000>; | ||
64 | reg = <0>; | ||
65 | }; | ||
66 | }; | ||
67 | }; | ||
68 | |||
69 | apbx@80040000 { | ||
70 | i2c0: i2c@80058000 { | ||
71 | pinctrl-names = "default"; | ||
72 | pinctrl-0 = <&i2c0_pins_a>; | ||
73 | clock-frequency = <400000>; | ||
74 | status = "okay"; | ||
75 | |||
76 | rtc: rtc@51 { | ||
77 | compatible = "nxp,pcf8563"; | ||
78 | reg = <0x51>; | ||
79 | }; | ||
80 | |||
81 | eeprom: eeprom@52 { | ||
82 | compatible = "atmel,24c64"; | ||
83 | reg = <0x52>; | ||
84 | pagesize = <32>; | ||
85 | }; | ||
86 | }; | ||
87 | |||
88 | duart: serial@80074000 { | ||
89 | pinctrl-names = "default"; | ||
90 | pinctrl-0 = <&duart_pins_a>; | ||
91 | status = "okay"; | ||
92 | }; | ||
93 | |||
94 | usbphy0: usbphy@8007c000 { | ||
95 | status = "okay"; | ||
96 | }; | ||
97 | |||
98 | auart0: serial@8006a000 { | ||
99 | pinctrl-names = "default"; | ||
100 | pinctrl-0 = <&auart0_pins_a>; | ||
101 | status = "okay"; | ||
102 | }; | ||
103 | }; | ||
104 | }; | ||
105 | |||
106 | ahb@80080000 { | ||
107 | usb0: usb@80080000 { | ||
108 | vbus-supply = <®_usb0_vbus>; | ||
109 | pinctrl-names = "default"; | ||
110 | pinctrl-0 = <&usbphy0_pins_b>; | ||
111 | status = "okay"; | ||
112 | }; | ||
113 | |||
114 | mac0: ethernet@800f0000 { | ||
115 | phy-mode = "rmii"; | ||
116 | pinctrl-names = "default"; | ||
117 | pinctrl-0 = <&mac0_pins_a>; | ||
118 | status = "okay"; | ||
119 | }; | ||
120 | |||
121 | mac1: ethernet@800f4000 { | ||
122 | phy-mode = "rmii"; | ||
123 | pinctrl-names = "default"; | ||
124 | pinctrl-0 = <&mac1_pins_a>; | ||
125 | status = "okay"; | ||
126 | }; | ||
127 | }; | ||
128 | |||
129 | regulators { | ||
130 | compatible = "simple-bus"; | ||
131 | |||
132 | reg_usb0_vbus: usb0_vbus { | ||
133 | compatible = "regulator-fixed"; | ||
134 | regulator-name = "usb0_vbus"; | ||
135 | regulator-min-microvolt = <5000000>; | ||
136 | regulator-max-microvolt = <5000000>; | ||
137 | gpio = <&gpio3 9 0>; | ||
138 | }; | ||
139 | }; | ||
140 | |||
141 | leds { | ||
142 | #address-cells = <1>; | ||
143 | #size-cells = <0>; | ||
144 | compatible = "gpio-leds"; | ||
145 | status = "okay"; | ||
146 | |||
147 | led@1 { | ||
148 | label = "sps1-1:yellow:user"; | ||
149 | gpios = <&gpio0 6 0>; | ||
150 | linux,default-trigger = "heartbeat"; | ||
151 | reg = <0>; | ||
152 | }; | ||
153 | |||
154 | led@2 { | ||
155 | label = "sps1-2:red:user"; | ||
156 | gpios = <&gpio0 3 0>; | ||
157 | linux,default-trigger = "heartbeat"; | ||
158 | reg = <1>; | ||
159 | }; | ||
160 | |||
161 | led@3 { | ||
162 | label = "sps1-3:red:user"; | ||
163 | gpios = <&gpio0 0 0>; | ||
164 | default-trigger = "heartbeat"; | ||
165 | reg = <2>; | ||
166 | }; | ||
167 | |||
168 | }; | ||
169 | }; | ||
diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi index 55c57ea6169e..13b7053d799e 100644 --- a/arch/arm/boot/dts/imx28.dtsi +++ b/arch/arm/boot/dts/imx28.dtsi | |||
@@ -492,6 +492,16 @@ | |||
492 | fsl,pull-up = <0>; | 492 | fsl,pull-up = <0>; |
493 | }; | 493 | }; |
494 | 494 | ||
495 | pwm3_pins_a: pwm3@0 { | ||
496 | reg = <0>; | ||
497 | fsl,pinmux-ids = < | ||
498 | 0x31c0 /* MX28_PAD_PWM3__PWM_3 */ | ||
499 | >; | ||
500 | fsl,drive-strength = <0>; | ||
501 | fsl,voltage = <1>; | ||
502 | fsl,pull-up = <0>; | ||
503 | }; | ||
504 | |||
495 | pwm4_pins_a: pwm4@0 { | 505 | pwm4_pins_a: pwm4@0 { |
496 | reg = <0>; | 506 | reg = <0>; |
497 | fsl,pinmux-ids = < | 507 | fsl,pinmux-ids = < |
@@ -535,6 +545,31 @@ | |||
535 | fsl,pull-up = <0>; | 545 | fsl,pull-up = <0>; |
536 | }; | 546 | }; |
537 | 547 | ||
548 | lcdif_16bit_pins_a: lcdif-16bit@0 { | ||
549 | reg = <0>; | ||
550 | fsl,pinmux-ids = < | ||
551 | 0x1000 /* MX28_PAD_LCD_D00__LCD_D0 */ | ||
552 | 0x1010 /* MX28_PAD_LCD_D01__LCD_D1 */ | ||
553 | 0x1020 /* MX28_PAD_LCD_D02__LCD_D2 */ | ||
554 | 0x1030 /* MX28_PAD_LCD_D03__LCD_D3 */ | ||
555 | 0x1040 /* MX28_PAD_LCD_D04__LCD_D4 */ | ||
556 | 0x1050 /* MX28_PAD_LCD_D05__LCD_D5 */ | ||
557 | 0x1060 /* MX28_PAD_LCD_D06__LCD_D6 */ | ||
558 | 0x1070 /* MX28_PAD_LCD_D07__LCD_D7 */ | ||
559 | 0x1080 /* MX28_PAD_LCD_D08__LCD_D8 */ | ||
560 | 0x1090 /* MX28_PAD_LCD_D09__LCD_D9 */ | ||
561 | 0x10a0 /* MX28_PAD_LCD_D10__LCD_D10 */ | ||
562 | 0x10b0 /* MX28_PAD_LCD_D11__LCD_D11 */ | ||
563 | 0x10c0 /* MX28_PAD_LCD_D12__LCD_D12 */ | ||
564 | 0x10d0 /* MX28_PAD_LCD_D13__LCD_D13 */ | ||
565 | 0x10e0 /* MX28_PAD_LCD_D14__LCD_D14 */ | ||
566 | 0x10f0 /* MX28_PAD_LCD_D15__LCD_D15 */ | ||
567 | >; | ||
568 | fsl,drive-strength = <0>; | ||
569 | fsl,voltage = <1>; | ||
570 | fsl,pull-up = <0>; | ||
571 | }; | ||
572 | |||
538 | can0_pins_a: can0@0 { | 573 | can0_pins_a: can0@0 { |
539 | reg = <0>; | 574 | reg = <0>; |
540 | fsl,pinmux-ids = < | 575 | fsl,pinmux-ids = < |
@@ -799,6 +834,7 @@ | |||
799 | compatible = "fsl,imx28-auart", "fsl,imx23-auart"; | 834 | compatible = "fsl,imx28-auart", "fsl,imx23-auart"; |
800 | reg = <0x8006a000 0x2000>; | 835 | reg = <0x8006a000 0x2000>; |
801 | interrupts = <112 70 71>; | 836 | interrupts = <112 70 71>; |
837 | fsl,auart-dma-channel = <8 9>; | ||
802 | clocks = <&clks 45>; | 838 | clocks = <&clks 45>; |
803 | status = "disabled"; | 839 | status = "disabled"; |
804 | }; | 840 | }; |
diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts index cbd2b1c7487b..567e7ee72f91 100644 --- a/arch/arm/boot/dts/imx51-babbage.dts +++ b/arch/arm/boot/dts/imx51-babbage.dts | |||
@@ -22,6 +22,22 @@ | |||
22 | }; | 22 | }; |
23 | 23 | ||
24 | soc { | 24 | soc { |
25 | display@di0 { | ||
26 | compatible = "fsl,imx-parallel-display"; | ||
27 | crtcs = <&ipu 0>; | ||
28 | interface-pix-fmt = "rgb24"; | ||
29 | pinctrl-names = "default"; | ||
30 | pinctrl-0 = <&pinctrl_ipu_disp1_1>; | ||
31 | }; | ||
32 | |||
33 | display@di1 { | ||
34 | compatible = "fsl,imx-parallel-display"; | ||
35 | crtcs = <&ipu 1>; | ||
36 | interface-pix-fmt = "rgb565"; | ||
37 | pinctrl-names = "default"; | ||
38 | pinctrl-0 = <&pinctrl_ipu_disp2_1>; | ||
39 | }; | ||
40 | |||
25 | aips@70000000 { /* aips-1 */ | 41 | aips@70000000 { /* aips-1 */ |
26 | spba@70000000 { | 42 | spba@70000000 { |
27 | esdhc@70004000 { /* ESDHC1 */ | 43 | esdhc@70004000 { /* ESDHC1 */ |
diff --git a/arch/arm/boot/dts/imx51.dtsi b/arch/arm/boot/dts/imx51.dtsi index 75d069fcf897..1f5d45eff45e 100644 --- a/arch/arm/boot/dts/imx51.dtsi +++ b/arch/arm/boot/dts/imx51.dtsi | |||
@@ -62,6 +62,13 @@ | |||
62 | interrupt-parent = <&tzic>; | 62 | interrupt-parent = <&tzic>; |
63 | ranges; | 63 | ranges; |
64 | 64 | ||
65 | ipu: ipu@40000000 { | ||
66 | #crtc-cells = <1>; | ||
67 | compatible = "fsl,imx51-ipu"; | ||
68 | reg = <0x40000000 0x20000000>; | ||
69 | interrupts = <11 10>; | ||
70 | }; | ||
71 | |||
65 | aips@70000000 { /* AIPS1 */ | 72 | aips@70000000 { /* AIPS1 */ |
66 | compatible = "fsl,aips-bus", "simple-bus"; | 73 | compatible = "fsl,aips-bus", "simple-bus"; |
67 | #address-cells = <1>; | 74 | #address-cells = <1>; |
@@ -76,17 +83,22 @@ | |||
76 | reg = <0x70000000 0x40000>; | 83 | reg = <0x70000000 0x40000>; |
77 | ranges; | 84 | ranges; |
78 | 85 | ||
79 | esdhc@70004000 { /* ESDHC1 */ | 86 | esdhc1: esdhc@70004000 { |
80 | compatible = "fsl,imx51-esdhc"; | 87 | compatible = "fsl,imx51-esdhc"; |
81 | reg = <0x70004000 0x4000>; | 88 | reg = <0x70004000 0x4000>; |
82 | interrupts = <1>; | 89 | interrupts = <1>; |
90 | clocks = <&clks 44>, <&clks 0>, <&clks 71>; | ||
91 | clock-names = "ipg", "ahb", "per"; | ||
83 | status = "disabled"; | 92 | status = "disabled"; |
84 | }; | 93 | }; |
85 | 94 | ||
86 | esdhc@70008000 { /* ESDHC2 */ | 95 | esdhc2: esdhc@70008000 { |
87 | compatible = "fsl,imx51-esdhc"; | 96 | compatible = "fsl,imx51-esdhc"; |
88 | reg = <0x70008000 0x4000>; | 97 | reg = <0x70008000 0x4000>; |
89 | interrupts = <2>; | 98 | interrupts = <2>; |
99 | clocks = <&clks 45>, <&clks 0>, <&clks 72>; | ||
100 | clock-names = "ipg", "ahb", "per"; | ||
101 | bus-width = <4>; | ||
90 | status = "disabled"; | 102 | status = "disabled"; |
91 | }; | 103 | }; |
92 | 104 | ||
@@ -94,15 +106,19 @@ | |||
94 | compatible = "fsl,imx51-uart", "fsl,imx21-uart"; | 106 | compatible = "fsl,imx51-uart", "fsl,imx21-uart"; |
95 | reg = <0x7000c000 0x4000>; | 107 | reg = <0x7000c000 0x4000>; |
96 | interrupts = <33>; | 108 | interrupts = <33>; |
109 | clocks = <&clks 32>, <&clks 33>; | ||
110 | clock-names = "ipg", "per"; | ||
97 | status = "disabled"; | 111 | status = "disabled"; |
98 | }; | 112 | }; |
99 | 113 | ||
100 | ecspi@70010000 { /* ECSPI1 */ | 114 | ecspi1: ecspi@70010000 { |
101 | #address-cells = <1>; | 115 | #address-cells = <1>; |
102 | #size-cells = <0>; | 116 | #size-cells = <0>; |
103 | compatible = "fsl,imx51-ecspi"; | 117 | compatible = "fsl,imx51-ecspi"; |
104 | reg = <0x70010000 0x4000>; | 118 | reg = <0x70010000 0x4000>; |
105 | interrupts = <36>; | 119 | interrupts = <36>; |
120 | clocks = <&clks 51>, <&clks 52>; | ||
121 | clock-names = "ipg", "per"; | ||
106 | status = "disabled"; | 122 | status = "disabled"; |
107 | }; | 123 | }; |
108 | 124 | ||
@@ -110,48 +126,55 @@ | |||
110 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; | 126 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; |
111 | reg = <0x70014000 0x4000>; | 127 | reg = <0x70014000 0x4000>; |
112 | interrupts = <30>; | 128 | interrupts = <30>; |
129 | clocks = <&clks 49>; | ||
113 | fsl,fifo-depth = <15>; | 130 | fsl,fifo-depth = <15>; |
114 | fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */ | 131 | fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */ |
115 | status = "disabled"; | 132 | status = "disabled"; |
116 | }; | 133 | }; |
117 | 134 | ||
118 | esdhc@70020000 { /* ESDHC3 */ | 135 | esdhc3: esdhc@70020000 { |
119 | compatible = "fsl,imx51-esdhc"; | 136 | compatible = "fsl,imx51-esdhc"; |
120 | reg = <0x70020000 0x4000>; | 137 | reg = <0x70020000 0x4000>; |
121 | interrupts = <3>; | 138 | interrupts = <3>; |
139 | clocks = <&clks 46>, <&clks 0>, <&clks 73>; | ||
140 | clock-names = "ipg", "ahb", "per"; | ||
141 | bus-width = <4>; | ||
122 | status = "disabled"; | 142 | status = "disabled"; |
123 | }; | 143 | }; |
124 | 144 | ||
125 | esdhc@70024000 { /* ESDHC4 */ | 145 | esdhc4: esdhc@70024000 { |
126 | compatible = "fsl,imx51-esdhc"; | 146 | compatible = "fsl,imx51-esdhc"; |
127 | reg = <0x70024000 0x4000>; | 147 | reg = <0x70024000 0x4000>; |
128 | interrupts = <4>; | 148 | interrupts = <4>; |
149 | clocks = <&clks 47>, <&clks 0>, <&clks 74>; | ||
150 | clock-names = "ipg", "ahb", "per"; | ||
151 | bus-width = <4>; | ||
129 | status = "disabled"; | 152 | status = "disabled"; |
130 | }; | 153 | }; |
131 | }; | 154 | }; |
132 | 155 | ||
133 | usb@73f80000 { | 156 | usbotg: usb@73f80000 { |
134 | compatible = "fsl,imx51-usb", "fsl,imx27-usb"; | 157 | compatible = "fsl,imx51-usb", "fsl,imx27-usb"; |
135 | reg = <0x73f80000 0x0200>; | 158 | reg = <0x73f80000 0x0200>; |
136 | interrupts = <18>; | 159 | interrupts = <18>; |
137 | status = "disabled"; | 160 | status = "disabled"; |
138 | }; | 161 | }; |
139 | 162 | ||
140 | usb@73f80200 { | 163 | usbh1: usb@73f80200 { |
141 | compatible = "fsl,imx51-usb", "fsl,imx27-usb"; | 164 | compatible = "fsl,imx51-usb", "fsl,imx27-usb"; |
142 | reg = <0x73f80200 0x0200>; | 165 | reg = <0x73f80200 0x0200>; |
143 | interrupts = <14>; | 166 | interrupts = <14>; |
144 | status = "disabled"; | 167 | status = "disabled"; |
145 | }; | 168 | }; |
146 | 169 | ||
147 | usb@73f80400 { | 170 | usbh2: usb@73f80400 { |
148 | compatible = "fsl,imx51-usb", "fsl,imx27-usb"; | 171 | compatible = "fsl,imx51-usb", "fsl,imx27-usb"; |
149 | reg = <0x73f80400 0x0200>; | 172 | reg = <0x73f80400 0x0200>; |
150 | interrupts = <16>; | 173 | interrupts = <16>; |
151 | status = "disabled"; | 174 | status = "disabled"; |
152 | }; | 175 | }; |
153 | 176 | ||
154 | usb@73f80600 { | 177 | usbh3: usb@73f80600 { |
155 | compatible = "fsl,imx51-usb", "fsl,imx27-usb"; | 178 | compatible = "fsl,imx51-usb", "fsl,imx27-usb"; |
156 | reg = <0x73f80600 0x0200>; | 179 | reg = <0x73f80600 0x0200>; |
157 | interrupts = <17>; | 180 | interrupts = <17>; |
@@ -198,20 +221,22 @@ | |||
198 | #interrupt-cells = <2>; | 221 | #interrupt-cells = <2>; |
199 | }; | 222 | }; |
200 | 223 | ||
201 | wdog@73f98000 { /* WDOG1 */ | 224 | wdog1: wdog@73f98000 { |
202 | compatible = "fsl,imx51-wdt", "fsl,imx21-wdt"; | 225 | compatible = "fsl,imx51-wdt", "fsl,imx21-wdt"; |
203 | reg = <0x73f98000 0x4000>; | 226 | reg = <0x73f98000 0x4000>; |
204 | interrupts = <58>; | 227 | interrupts = <58>; |
228 | clocks = <&clks 0>; | ||
205 | }; | 229 | }; |
206 | 230 | ||
207 | wdog@73f9c000 { /* WDOG2 */ | 231 | wdog2: wdog@73f9c000 { |
208 | compatible = "fsl,imx51-wdt", "fsl,imx21-wdt"; | 232 | compatible = "fsl,imx51-wdt", "fsl,imx21-wdt"; |
209 | reg = <0x73f9c000 0x4000>; | 233 | reg = <0x73f9c000 0x4000>; |
210 | interrupts = <59>; | 234 | interrupts = <59>; |
235 | clocks = <&clks 0>; | ||
211 | status = "disabled"; | 236 | status = "disabled"; |
212 | }; | 237 | }; |
213 | 238 | ||
214 | iomuxc@73fa8000 { | 239 | iomuxc: iomuxc@73fa8000 { |
215 | compatible = "fsl,imx51-iomuxc"; | 240 | compatible = "fsl,imx51-iomuxc"; |
216 | reg = <0x73fa8000 0x4000>; | 241 | reg = <0x73fa8000 0x4000>; |
217 | 242 | ||
@@ -295,6 +320,66 @@ | |||
295 | }; | 320 | }; |
296 | }; | 321 | }; |
297 | 322 | ||
323 | ipu_disp1 { | ||
324 | pinctrl_ipu_disp1_1: ipudisp1grp-1 { | ||
325 | fsl,pins = < | ||
326 | 528 0x5 /* MX51_PAD_DISP1_DAT0__DISP1_DAT0 */ | ||
327 | 529 0x5 /* MX51_PAD_DISP1_DAT1__DISP1_DAT1 */ | ||
328 | 530 0x5 /* MX51_PAD_DISP1_DAT2__DISP1_DAT2 */ | ||
329 | 531 0x5 /* MX51_PAD_DISP1_DAT3__DISP1_DAT3 */ | ||
330 | 532 0x5 /* MX51_PAD_DISP1_DAT4__DISP1_DAT4 */ | ||
331 | 533 0x5 /* MX51_PAD_DISP1_DAT5__DISP1_DAT5 */ | ||
332 | 535 0x5 /* MX51_PAD_DISP1_DAT6__DISP1_DAT6 */ | ||
333 | 537 0x5 /* MX51_PAD_DISP1_DAT7__DISP1_DAT7 */ | ||
334 | 539 0x5 /* MX51_PAD_DISP1_DAT8__DISP1_DAT8 */ | ||
335 | 541 0x5 /* MX51_PAD_DISP1_DAT9__DISP1_DAT9 */ | ||
336 | 543 0x5 /* MX51_PAD_DISP1_DAT10__DISP1_DAT10 */ | ||
337 | 545 0x5 /* MX51_PAD_DISP1_DAT11__DISP1_DAT11 */ | ||
338 | 547 0x5 /* MX51_PAD_DISP1_DAT12__DISP1_DAT12 */ | ||
339 | 549 0x5 /* MX51_PAD_DISP1_DAT13__DISP1_DAT13 */ | ||
340 | 551 0x5 /* MX51_PAD_DISP1_DAT14__DISP1_DAT14 */ | ||
341 | 553 0x5 /* MX51_PAD_DISP1_DAT15__DISP1_DAT15 */ | ||
342 | 555 0x5 /* MX51_PAD_DISP1_DAT16__DISP1_DAT16 */ | ||
343 | 557 0x5 /* MX51_PAD_DISP1_DAT17__DISP1_DAT17 */ | ||
344 | 559 0x5 /* MX51_PAD_DISP1_DAT18__DISP1_DAT18 */ | ||
345 | 563 0x5 /* MX51_PAD_DISP1_DAT19__DISP1_DAT19 */ | ||
346 | 567 0x5 /* MX51_PAD_DISP1_DAT20__DISP1_DAT20 */ | ||
347 | 571 0x5 /* MX51_PAD_DISP1_DAT21__DISP1_DAT21 */ | ||
348 | 575 0x5 /* MX51_PAD_DISP1_DAT22__DISP1_DAT22 */ | ||
349 | 579 0x5 /* MX51_PAD_DISP1_DAT23__DISP1_DAT23 */ | ||
350 | 584 0x5 /* MX51_PAD_DI1_PIN2__DI1_PIN2 (hsync) */ | ||
351 | 583 0x5 /* MX51_PAD_DI1_PIN3__DI1_PIN3 (vsync) */ | ||
352 | >; | ||
353 | }; | ||
354 | }; | ||
355 | |||
356 | ipu_disp2 { | ||
357 | pinctrl_ipu_disp2_1: ipudisp2grp-1 { | ||
358 | fsl,pins = < | ||
359 | 603 0x5 /* MX51_PAD_DISP2_DAT0__DISP2_DAT0 */ | ||
360 | 608 0x5 /* MX51_PAD_DISP2_DAT1__DISP2_DAT1 */ | ||
361 | 613 0x5 /* MX51_PAD_DISP2_DAT2__DISP2_DAT2 */ | ||
362 | 614 0x5 /* MX51_PAD_DISP2_DAT3__DISP2_DAT3 */ | ||
363 | 615 0x5 /* MX51_PAD_DISP2_DAT4__DISP2_DAT4 */ | ||
364 | 616 0x5 /* MX51_PAD_DISP2_DAT5__DISP2_DAT5 */ | ||
365 | 617 0x5 /* MX51_PAD_DISP2_DAT6__DISP2_DAT6 */ | ||
366 | 622 0x5 /* MX51_PAD_DISP2_DAT7__DISP2_DAT7 */ | ||
367 | 627 0x5 /* MX51_PAD_DISP2_DAT8__DISP2_DAT8 */ | ||
368 | 633 0x5 /* MX51_PAD_DISP2_DAT9__DISP2_DAT9 */ | ||
369 | 637 0x5 /* MX51_PAD_DISP2_DAT10__DISP2_DAT10 */ | ||
370 | 643 0x5 /* MX51_PAD_DISP2_DAT11__DISP2_DAT11 */ | ||
371 | 648 0x5 /* MX51_PAD_DISP2_DAT12__DISP2_DAT12 */ | ||
372 | 652 0x5 /* MX51_PAD_DISP2_DAT13__DISP2_DAT13 */ | ||
373 | 656 0x5 /* MX51_PAD_DISP2_DAT14__DISP2_DAT14 */ | ||
374 | 661 0x5 /* MX51_PAD_DISP2_DAT15__DISP2_DAT15 */ | ||
375 | 593 0x5 /* MX51_PAD_DI2_PIN2__DI2_PIN2 (hsync) */ | ||
376 | 595 0x5 /* MX51_PAD_DI2_PIN3__DI2_PIN3 (vsync) */ | ||
377 | 597 0x5 /* MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK */ | ||
378 | 599 0x5 /* MX51_PAD_DI_GP4__DI2_PIN15 */ | ||
379 | >; | ||
380 | }; | ||
381 | }; | ||
382 | |||
298 | uart1 { | 383 | uart1 { |
299 | pinctrl_uart1_1: uart1grp-1 { | 384 | pinctrl_uart1_1: uart1grp-1 { |
300 | fsl,pins = < | 385 | fsl,pins = < |
@@ -327,10 +412,30 @@ | |||
327 | }; | 412 | }; |
328 | }; | 413 | }; |
329 | 414 | ||
415 | pwm1: pwm@73fb4000 { | ||
416 | #pwm-cells = <2>; | ||
417 | compatible = "fsl,imx51-pwm", "fsl,imx27-pwm"; | ||
418 | reg = <0x73fb4000 0x4000>; | ||
419 | clocks = <&clks 37>, <&clks 38>; | ||
420 | clock-names = "ipg", "per"; | ||
421 | interrupts = <61>; | ||
422 | }; | ||
423 | |||
424 | pwm2: pwm@73fb8000 { | ||
425 | #pwm-cells = <2>; | ||
426 | compatible = "fsl,imx51-pwm", "fsl,imx27-pwm"; | ||
427 | reg = <0x73fb8000 0x4000>; | ||
428 | clocks = <&clks 39>, <&clks 40>; | ||
429 | clock-names = "ipg", "per"; | ||
430 | interrupts = <94>; | ||
431 | }; | ||
432 | |||
330 | uart1: serial@73fbc000 { | 433 | uart1: serial@73fbc000 { |
331 | compatible = "fsl,imx51-uart", "fsl,imx21-uart"; | 434 | compatible = "fsl,imx51-uart", "fsl,imx21-uart"; |
332 | reg = <0x73fbc000 0x4000>; | 435 | reg = <0x73fbc000 0x4000>; |
333 | interrupts = <31>; | 436 | interrupts = <31>; |
437 | clocks = <&clks 28>, <&clks 29>; | ||
438 | clock-names = "ipg", "per"; | ||
334 | status = "disabled"; | 439 | status = "disabled"; |
335 | }; | 440 | }; |
336 | 441 | ||
@@ -338,8 +443,17 @@ | |||
338 | compatible = "fsl,imx51-uart", "fsl,imx21-uart"; | 443 | compatible = "fsl,imx51-uart", "fsl,imx21-uart"; |
339 | reg = <0x73fc0000 0x4000>; | 444 | reg = <0x73fc0000 0x4000>; |
340 | interrupts = <32>; | 445 | interrupts = <32>; |
446 | clocks = <&clks 30>, <&clks 31>; | ||
447 | clock-names = "ipg", "per"; | ||
341 | status = "disabled"; | 448 | status = "disabled"; |
342 | }; | 449 | }; |
450 | |||
451 | clks: ccm@73fd4000{ | ||
452 | compatible = "fsl,imx51-ccm"; | ||
453 | reg = <0x73fd4000 0x4000>; | ||
454 | interrupts = <0 71 0x04 0 72 0x04>; | ||
455 | #clock-cells = <1>; | ||
456 | }; | ||
343 | }; | 457 | }; |
344 | 458 | ||
345 | aips@80000000 { /* AIPS2 */ | 459 | aips@80000000 { /* AIPS2 */ |
@@ -349,46 +463,54 @@ | |||
349 | reg = <0x80000000 0x10000000>; | 463 | reg = <0x80000000 0x10000000>; |
350 | ranges; | 464 | ranges; |
351 | 465 | ||
352 | ecspi@83fac000 { /* ECSPI2 */ | 466 | ecspi2: ecspi@83fac000 { |
353 | #address-cells = <1>; | 467 | #address-cells = <1>; |
354 | #size-cells = <0>; | 468 | #size-cells = <0>; |
355 | compatible = "fsl,imx51-ecspi"; | 469 | compatible = "fsl,imx51-ecspi"; |
356 | reg = <0x83fac000 0x4000>; | 470 | reg = <0x83fac000 0x4000>; |
357 | interrupts = <37>; | 471 | interrupts = <37>; |
472 | clocks = <&clks 53>, <&clks 54>; | ||
473 | clock-names = "ipg", "per"; | ||
358 | status = "disabled"; | 474 | status = "disabled"; |
359 | }; | 475 | }; |
360 | 476 | ||
361 | sdma@83fb0000 { | 477 | sdma: sdma@83fb0000 { |
362 | compatible = "fsl,imx51-sdma", "fsl,imx35-sdma"; | 478 | compatible = "fsl,imx51-sdma", "fsl,imx35-sdma"; |
363 | reg = <0x83fb0000 0x4000>; | 479 | reg = <0x83fb0000 0x4000>; |
364 | interrupts = <6>; | 480 | interrupts = <6>; |
481 | clocks = <&clks 56>, <&clks 56>; | ||
482 | clock-names = "ipg", "ahb"; | ||
365 | fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin"; | 483 | fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin"; |
366 | }; | 484 | }; |
367 | 485 | ||
368 | cspi@83fc0000 { | 486 | cspi: cspi@83fc0000 { |
369 | #address-cells = <1>; | 487 | #address-cells = <1>; |
370 | #size-cells = <0>; | 488 | #size-cells = <0>; |
371 | compatible = "fsl,imx51-cspi", "fsl,imx35-cspi"; | 489 | compatible = "fsl,imx51-cspi", "fsl,imx35-cspi"; |
372 | reg = <0x83fc0000 0x4000>; | 490 | reg = <0x83fc0000 0x4000>; |
373 | interrupts = <38>; | 491 | interrupts = <38>; |
492 | clocks = <&clks 55>, <&clks 0>; | ||
493 | clock-names = "ipg", "per"; | ||
374 | status = "disabled"; | 494 | status = "disabled"; |
375 | }; | 495 | }; |
376 | 496 | ||
377 | i2c@83fc4000 { /* I2C2 */ | 497 | i2c2: i2c@83fc4000 { |
378 | #address-cells = <1>; | 498 | #address-cells = <1>; |
379 | #size-cells = <0>; | 499 | #size-cells = <0>; |
380 | compatible = "fsl,imx51-i2c", "fsl,imx1-i2c"; | 500 | compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; |
381 | reg = <0x83fc4000 0x4000>; | 501 | reg = <0x83fc4000 0x4000>; |
382 | interrupts = <63>; | 502 | interrupts = <63>; |
503 | clocks = <&clks 35>; | ||
383 | status = "disabled"; | 504 | status = "disabled"; |
384 | }; | 505 | }; |
385 | 506 | ||
386 | i2c@83fc8000 { /* I2C1 */ | 507 | i2c1: i2c@83fc8000 { |
387 | #address-cells = <1>; | 508 | #address-cells = <1>; |
388 | #size-cells = <0>; | 509 | #size-cells = <0>; |
389 | compatible = "fsl,imx51-i2c", "fsl,imx1-i2c"; | 510 | compatible = "fsl,imx51-i2c", "fsl,imx21-i2c"; |
390 | reg = <0x83fc8000 0x4000>; | 511 | reg = <0x83fc8000 0x4000>; |
391 | interrupts = <62>; | 512 | interrupts = <62>; |
513 | clocks = <&clks 34>; | ||
392 | status = "disabled"; | 514 | status = "disabled"; |
393 | }; | 515 | }; |
394 | 516 | ||
@@ -396,21 +518,23 @@ | |||
396 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; | 518 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; |
397 | reg = <0x83fcc000 0x4000>; | 519 | reg = <0x83fcc000 0x4000>; |
398 | interrupts = <29>; | 520 | interrupts = <29>; |
521 | clocks = <&clks 48>; | ||
399 | fsl,fifo-depth = <15>; | 522 | fsl,fifo-depth = <15>; |
400 | fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */ | 523 | fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */ |
401 | status = "disabled"; | 524 | status = "disabled"; |
402 | }; | 525 | }; |
403 | 526 | ||
404 | audmux@83fd0000 { | 527 | audmux: audmux@83fd0000 { |
405 | compatible = "fsl,imx51-audmux", "fsl,imx31-audmux"; | 528 | compatible = "fsl,imx51-audmux", "fsl,imx31-audmux"; |
406 | reg = <0x83fd0000 0x4000>; | 529 | reg = <0x83fd0000 0x4000>; |
407 | status = "disabled"; | 530 | status = "disabled"; |
408 | }; | 531 | }; |
409 | 532 | ||
410 | nand@83fdb000 { | 533 | nfc: nand@83fdb000 { |
411 | compatible = "fsl,imx51-nand"; | 534 | compatible = "fsl,imx51-nand"; |
412 | reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>; | 535 | reg = <0x83fdb000 0x1000 0xcfff0000 0x10000>; |
413 | interrupts = <8>; | 536 | interrupts = <8>; |
537 | clocks = <&clks 60>; | ||
414 | status = "disabled"; | 538 | status = "disabled"; |
415 | }; | 539 | }; |
416 | 540 | ||
@@ -418,15 +542,18 @@ | |||
418 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; | 542 | compatible = "fsl,imx51-ssi", "fsl,imx21-ssi"; |
419 | reg = <0x83fe8000 0x4000>; | 543 | reg = <0x83fe8000 0x4000>; |
420 | interrupts = <96>; | 544 | interrupts = <96>; |
545 | clocks = <&clks 50>; | ||
421 | fsl,fifo-depth = <15>; | 546 | fsl,fifo-depth = <15>; |
422 | fsl,ssi-dma-events = <47 46 37 35>; /* TX0 RX0 TX1 RX1 */ | 547 | fsl,ssi-dma-events = <47 46 37 35>; /* TX0 RX0 TX1 RX1 */ |
423 | status = "disabled"; | 548 | status = "disabled"; |
424 | }; | 549 | }; |
425 | 550 | ||
426 | ethernet@83fec000 { | 551 | fec: ethernet@83fec000 { |
427 | compatible = "fsl,imx51-fec", "fsl,imx27-fec"; | 552 | compatible = "fsl,imx51-fec", "fsl,imx27-fec"; |
428 | reg = <0x83fec000 0x4000>; | 553 | reg = <0x83fec000 0x4000>; |
429 | interrupts = <87>; | 554 | interrupts = <87>; |
555 | clocks = <&clks 42>, <&clks 42>, <&clks 42>; | ||
556 | clock-names = "ipg", "ahb", "ptp"; | ||
430 | status = "disabled"; | 557 | status = "disabled"; |
431 | }; | 558 | }; |
432 | }; | 559 | }; |
diff --git a/arch/arm/boot/dts/imx53-qsb.dts b/arch/arm/boot/dts/imx53-qsb.dts index 08948af86d1a..b0075537195b 100644 --- a/arch/arm/boot/dts/imx53-qsb.dts +++ b/arch/arm/boot/dts/imx53-qsb.dts | |||
@@ -60,10 +60,17 @@ | |||
60 | 697 0x80000000 /* MX53_PAD_EIM_DA12__GPIO3_12 */ | 60 | 697 0x80000000 /* MX53_PAD_EIM_DA12__GPIO3_12 */ |
61 | 701 0x80000000 /* MX53_PAD_EIM_DA13__GPIO3_13 */ | 61 | 701 0x80000000 /* MX53_PAD_EIM_DA13__GPIO3_13 */ |
62 | 868 0x80000000 /* MX53_PAD_PATA_DA_0__GPIO7_6 */ | 62 | 868 0x80000000 /* MX53_PAD_PATA_DA_0__GPIO7_6 */ |
63 | 1149 0x80000000 /* MX53_PAD_GPIO_16__GPIO7_11 */ | ||
64 | >; | ||
65 | }; | ||
66 | |||
67 | led_pin_gpio7_7: led_gpio7_7@0 { | ||
68 | fsl,pins = < | ||
63 | 873 0x80000000 /* MX53_PAD_PATA_DA_1__GPIO7_7 */ | 69 | 873 0x80000000 /* MX53_PAD_PATA_DA_1__GPIO7_7 */ |
64 | >; | 70 | >; |
65 | }; | 71 | }; |
66 | }; | 72 | }; |
73 | |||
67 | }; | 74 | }; |
68 | 75 | ||
69 | uart1: serial@53fbc000 { | 76 | uart1: serial@53fbc000 { |
@@ -100,76 +107,93 @@ | |||
100 | pmic: dialog@48 { | 107 | pmic: dialog@48 { |
101 | compatible = "dlg,da9053-aa", "dlg,da9052"; | 108 | compatible = "dlg,da9053-aa", "dlg,da9052"; |
102 | reg = <0x48>; | 109 | reg = <0x48>; |
110 | interrupt-parent = <&gpio7>; | ||
111 | interrupts = <11 0x8>; /* low-level active IRQ at GPIO7_11 */ | ||
103 | 112 | ||
104 | regulators { | 113 | regulators { |
105 | buck0 { | 114 | buck1_reg: buck1 { |
106 | regulator-min-microvolt = <500000>; | 115 | regulator-min-microvolt = <500000>; |
107 | regulator-max-microvolt = <2075000>; | 116 | regulator-max-microvolt = <2075000>; |
117 | regulator-always-on; | ||
108 | }; | 118 | }; |
109 | 119 | ||
110 | buck1 { | 120 | buck2_reg: buck2 { |
111 | regulator-min-microvolt = <500000>; | 121 | regulator-min-microvolt = <500000>; |
112 | regulator-max-microvolt = <2075000>; | 122 | regulator-max-microvolt = <2075000>; |
123 | regulator-always-on; | ||
113 | }; | 124 | }; |
114 | 125 | ||
115 | buck2 { | 126 | buck3_reg: buck3 { |
116 | regulator-min-microvolt = <925000>; | 127 | regulator-min-microvolt = <925000>; |
117 | regulator-max-microvolt = <2500000>; | 128 | regulator-max-microvolt = <2500000>; |
129 | regulator-always-on; | ||
118 | }; | 130 | }; |
119 | 131 | ||
120 | buck3 { | 132 | buck4_reg: buck4 { |
121 | regulator-min-microvolt = <925000>; | 133 | regulator-min-microvolt = <925000>; |
122 | regulator-max-microvolt = <2500000>; | 134 | regulator-max-microvolt = <2500000>; |
135 | regulator-always-on; | ||
123 | }; | 136 | }; |
124 | 137 | ||
125 | ldo4 { | 138 | ldo1_reg: ldo1 { |
126 | regulator-min-microvolt = <600000>; | 139 | regulator-min-microvolt = <600000>; |
127 | regulator-max-microvolt = <1800000>; | 140 | regulator-max-microvolt = <1800000>; |
141 | regulator-boot-on; | ||
142 | regulator-always-on; | ||
128 | }; | 143 | }; |
129 | 144 | ||
130 | ldo5 { | 145 | ldo2_reg: ldo2 { |
146 | regulator-min-microvolt = <600000>; | ||
147 | regulator-max-microvolt = <1800000>; | ||
148 | regulator-always-on; | ||
149 | }; | ||
150 | |||
151 | ldo3_reg: ldo3 { | ||
131 | regulator-min-microvolt = <600000>; | 152 | regulator-min-microvolt = <600000>; |
132 | regulator-max-microvolt = <1800000>; | 153 | regulator-max-microvolt = <1800000>; |
154 | regulator-always-on; | ||
133 | }; | 155 | }; |
134 | 156 | ||
135 | ldo6 { | 157 | ldo4_reg: ldo4 { |
136 | regulator-min-microvolt = <1725000>; | 158 | regulator-min-microvolt = <1725000>; |
137 | regulator-max-microvolt = <3300000>; | 159 | regulator-max-microvolt = <3300000>; |
160 | regulator-always-on; | ||
138 | }; | 161 | }; |
139 | 162 | ||
140 | ldo7 { | 163 | ldo5_reg: ldo5 { |
141 | regulator-min-microvolt = <1725000>; | 164 | regulator-min-microvolt = <1725000>; |
142 | regulator-max-microvolt = <3300000>; | 165 | regulator-max-microvolt = <3300000>; |
166 | regulator-always-on; | ||
143 | }; | 167 | }; |
144 | 168 | ||
145 | ldo8 { | 169 | ldo6_reg: ldo6 { |
146 | regulator-min-microvolt = <1200000>; | 170 | regulator-min-microvolt = <1200000>; |
147 | regulator-max-microvolt = <3600000>; | 171 | regulator-max-microvolt = <3600000>; |
172 | regulator-always-on; | ||
148 | }; | 173 | }; |
149 | 174 | ||
150 | ldo9 { | 175 | ldo7_reg: ldo7 { |
151 | regulator-min-microvolt = <1200000>; | 176 | regulator-min-microvolt = <1200000>; |
152 | regulator-max-microvolt = <3600000>; | 177 | regulator-max-microvolt = <3600000>; |
178 | regulator-always-on; | ||
153 | }; | 179 | }; |
154 | 180 | ||
155 | ldo10 { | 181 | ldo8_reg: ldo8 { |
156 | regulator-min-microvolt = <1200000>; | 182 | regulator-min-microvolt = <1200000>; |
157 | regulator-max-microvolt = <3600000>; | 183 | regulator-max-microvolt = <3600000>; |
184 | regulator-always-on; | ||
158 | }; | 185 | }; |
159 | 186 | ||
160 | ldo11 { | 187 | ldo9_reg: ldo9 { |
161 | regulator-min-microvolt = <1200000>; | 188 | regulator-min-microvolt = <1200000>; |
162 | regulator-max-microvolt = <3600000>; | 189 | regulator-max-microvolt = <3600000>; |
190 | regulator-always-on; | ||
163 | }; | 191 | }; |
164 | 192 | ||
165 | ldo12 { | 193 | ldo10_reg: ldo10 { |
166 | regulator-min-microvolt = <1250000>; | 194 | regulator-min-microvolt = <1250000>; |
167 | regulator-max-microvolt = <3650000>; | 195 | regulator-max-microvolt = <3650000>; |
168 | }; | 196 | regulator-always-on; |
169 | |||
170 | ldo13 { | ||
171 | regulator-min-microvolt = <1200000>; | ||
172 | regulator-max-microvolt = <3600000>; | ||
173 | }; | 197 | }; |
174 | }; | 198 | }; |
175 | }; | 199 | }; |
@@ -216,6 +240,8 @@ | |||
216 | 240 | ||
217 | leds { | 241 | leds { |
218 | compatible = "gpio-leds"; | 242 | compatible = "gpio-leds"; |
243 | pinctrl-names = "default"; | ||
244 | pinctrl-0 = <&led_pin_gpio7_7>; | ||
219 | 245 | ||
220 | user { | 246 | user { |
221 | label = "Heartbeat"; | 247 | label = "Heartbeat"; |
diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi index 76ebb1ad2675..552aed4ff982 100644 --- a/arch/arm/boot/dts/imx53.dtsi +++ b/arch/arm/boot/dts/imx53.dtsi | |||
@@ -67,6 +67,13 @@ | |||
67 | interrupt-parent = <&tzic>; | 67 | interrupt-parent = <&tzic>; |
68 | ranges; | 68 | ranges; |
69 | 69 | ||
70 | ipu: ipu@18000000 { | ||
71 | #crtc-cells = <1>; | ||
72 | compatible = "fsl,imx53-ipu"; | ||
73 | reg = <0x18000000 0x080000000>; | ||
74 | interrupts = <11 10>; | ||
75 | }; | ||
76 | |||
70 | aips@50000000 { /* AIPS1 */ | 77 | aips@50000000 { /* AIPS1 */ |
71 | compatible = "fsl,aips-bus", "simple-bus"; | 78 | compatible = "fsl,aips-bus", "simple-bus"; |
72 | #address-cells = <1>; | 79 | #address-cells = <1>; |
@@ -81,17 +88,23 @@ | |||
81 | reg = <0x50000000 0x40000>; | 88 | reg = <0x50000000 0x40000>; |
82 | ranges; | 89 | ranges; |
83 | 90 | ||
84 | esdhc@50004000 { /* ESDHC1 */ | 91 | esdhc1: esdhc@50004000 { |
85 | compatible = "fsl,imx53-esdhc"; | 92 | compatible = "fsl,imx53-esdhc"; |
86 | reg = <0x50004000 0x4000>; | 93 | reg = <0x50004000 0x4000>; |
87 | interrupts = <1>; | 94 | interrupts = <1>; |
95 | clocks = <&clks 44>, <&clks 0>, <&clks 71>; | ||
96 | clock-names = "ipg", "ahb", "per"; | ||
97 | bus-width = <4>; | ||
88 | status = "disabled"; | 98 | status = "disabled"; |
89 | }; | 99 | }; |
90 | 100 | ||
91 | esdhc@50008000 { /* ESDHC2 */ | 101 | esdhc2: esdhc@50008000 { |
92 | compatible = "fsl,imx53-esdhc"; | 102 | compatible = "fsl,imx53-esdhc"; |
93 | reg = <0x50008000 0x4000>; | 103 | reg = <0x50008000 0x4000>; |
94 | interrupts = <2>; | 104 | interrupts = <2>; |
105 | clocks = <&clks 45>, <&clks 0>, <&clks 72>; | ||
106 | clock-names = "ipg", "ahb", "per"; | ||
107 | bus-width = <4>; | ||
95 | status = "disabled"; | 108 | status = "disabled"; |
96 | }; | 109 | }; |
97 | 110 | ||
@@ -99,15 +112,19 @@ | |||
99 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; | 112 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; |
100 | reg = <0x5000c000 0x4000>; | 113 | reg = <0x5000c000 0x4000>; |
101 | interrupts = <33>; | 114 | interrupts = <33>; |
115 | clocks = <&clks 32>, <&clks 33>; | ||
116 | clock-names = "ipg", "per"; | ||
102 | status = "disabled"; | 117 | status = "disabled"; |
103 | }; | 118 | }; |
104 | 119 | ||
105 | ecspi@50010000 { /* ECSPI1 */ | 120 | ecspi1: ecspi@50010000 { |
106 | #address-cells = <1>; | 121 | #address-cells = <1>; |
107 | #size-cells = <0>; | 122 | #size-cells = <0>; |
108 | compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi"; | 123 | compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi"; |
109 | reg = <0x50010000 0x4000>; | 124 | reg = <0x50010000 0x4000>; |
110 | interrupts = <36>; | 125 | interrupts = <36>; |
126 | clocks = <&clks 51>, <&clks 52>; | ||
127 | clock-names = "ipg", "per"; | ||
111 | status = "disabled"; | 128 | status = "disabled"; |
112 | }; | 129 | }; |
113 | 130 | ||
@@ -115,48 +132,55 @@ | |||
115 | compatible = "fsl,imx53-ssi", "fsl,imx21-ssi"; | 132 | compatible = "fsl,imx53-ssi", "fsl,imx21-ssi"; |
116 | reg = <0x50014000 0x4000>; | 133 | reg = <0x50014000 0x4000>; |
117 | interrupts = <30>; | 134 | interrupts = <30>; |
135 | clocks = <&clks 49>; | ||
118 | fsl,fifo-depth = <15>; | 136 | fsl,fifo-depth = <15>; |
119 | fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */ | 137 | fsl,ssi-dma-events = <25 24 23 22>; /* TX0 RX0 TX1 RX1 */ |
120 | status = "disabled"; | 138 | status = "disabled"; |
121 | }; | 139 | }; |
122 | 140 | ||
123 | esdhc@50020000 { /* ESDHC3 */ | 141 | esdhc3: esdhc@50020000 { |
124 | compatible = "fsl,imx53-esdhc"; | 142 | compatible = "fsl,imx53-esdhc"; |
125 | reg = <0x50020000 0x4000>; | 143 | reg = <0x50020000 0x4000>; |
126 | interrupts = <3>; | 144 | interrupts = <3>; |
145 | clocks = <&clks 46>, <&clks 0>, <&clks 73>; | ||
146 | clock-names = "ipg", "ahb", "per"; | ||
147 | bus-width = <4>; | ||
127 | status = "disabled"; | 148 | status = "disabled"; |
128 | }; | 149 | }; |
129 | 150 | ||
130 | esdhc@50024000 { /* ESDHC4 */ | 151 | esdhc4: esdhc@50024000 { |
131 | compatible = "fsl,imx53-esdhc"; | 152 | compatible = "fsl,imx53-esdhc"; |
132 | reg = <0x50024000 0x4000>; | 153 | reg = <0x50024000 0x4000>; |
133 | interrupts = <4>; | 154 | interrupts = <4>; |
155 | clocks = <&clks 47>, <&clks 0>, <&clks 74>; | ||
156 | clock-names = "ipg", "ahb", "per"; | ||
157 | bus-width = <4>; | ||
134 | status = "disabled"; | 158 | status = "disabled"; |
135 | }; | 159 | }; |
136 | }; | 160 | }; |
137 | 161 | ||
138 | usb@53f80000 { | 162 | usbotg: usb@53f80000 { |
139 | compatible = "fsl,imx53-usb", "fsl,imx27-usb"; | 163 | compatible = "fsl,imx53-usb", "fsl,imx27-usb"; |
140 | reg = <0x53f80000 0x0200>; | 164 | reg = <0x53f80000 0x0200>; |
141 | interrupts = <18>; | 165 | interrupts = <18>; |
142 | status = "disabled"; | 166 | status = "disabled"; |
143 | }; | 167 | }; |
144 | 168 | ||
145 | usb@53f80200 { | 169 | usbh1: usb@53f80200 { |
146 | compatible = "fsl,imx53-usb", "fsl,imx27-usb"; | 170 | compatible = "fsl,imx53-usb", "fsl,imx27-usb"; |
147 | reg = <0x53f80200 0x0200>; | 171 | reg = <0x53f80200 0x0200>; |
148 | interrupts = <14>; | 172 | interrupts = <14>; |
149 | status = "disabled"; | 173 | status = "disabled"; |
150 | }; | 174 | }; |
151 | 175 | ||
152 | usb@53f80400 { | 176 | usbh2: usb@53f80400 { |
153 | compatible = "fsl,imx53-usb", "fsl,imx27-usb"; | 177 | compatible = "fsl,imx53-usb", "fsl,imx27-usb"; |
154 | reg = <0x53f80400 0x0200>; | 178 | reg = <0x53f80400 0x0200>; |
155 | interrupts = <16>; | 179 | interrupts = <16>; |
156 | status = "disabled"; | 180 | status = "disabled"; |
157 | }; | 181 | }; |
158 | 182 | ||
159 | usb@53f80600 { | 183 | usbh3: usb@53f80600 { |
160 | compatible = "fsl,imx53-usb", "fsl,imx27-usb"; | 184 | compatible = "fsl,imx53-usb", "fsl,imx27-usb"; |
161 | reg = <0x53f80600 0x0200>; | 185 | reg = <0x53f80600 0x0200>; |
162 | interrupts = <17>; | 186 | interrupts = <17>; |
@@ -203,20 +227,22 @@ | |||
203 | #interrupt-cells = <2>; | 227 | #interrupt-cells = <2>; |
204 | }; | 228 | }; |
205 | 229 | ||
206 | wdog@53f98000 { /* WDOG1 */ | 230 | wdog1: wdog@53f98000 { |
207 | compatible = "fsl,imx53-wdt", "fsl,imx21-wdt"; | 231 | compatible = "fsl,imx53-wdt", "fsl,imx21-wdt"; |
208 | reg = <0x53f98000 0x4000>; | 232 | reg = <0x53f98000 0x4000>; |
209 | interrupts = <58>; | 233 | interrupts = <58>; |
234 | clocks = <&clks 0>; | ||
210 | }; | 235 | }; |
211 | 236 | ||
212 | wdog@53f9c000 { /* WDOG2 */ | 237 | wdog2: wdog@53f9c000 { |
213 | compatible = "fsl,imx53-wdt", "fsl,imx21-wdt"; | 238 | compatible = "fsl,imx53-wdt", "fsl,imx21-wdt"; |
214 | reg = <0x53f9c000 0x4000>; | 239 | reg = <0x53f9c000 0x4000>; |
215 | interrupts = <59>; | 240 | interrupts = <59>; |
241 | clocks = <&clks 0>; | ||
216 | status = "disabled"; | 242 | status = "disabled"; |
217 | }; | 243 | }; |
218 | 244 | ||
219 | iomuxc@53fa8000 { | 245 | iomuxc: iomuxc@53fa8000 { |
220 | compatible = "fsl,imx53-iomuxc"; | 246 | compatible = "fsl,imx53-iomuxc"; |
221 | reg = <0x53fa8000 0x4000>; | 247 | reg = <0x53fa8000 0x4000>; |
222 | 248 | ||
@@ -316,6 +342,24 @@ | |||
316 | }; | 342 | }; |
317 | }; | 343 | }; |
318 | 344 | ||
345 | can1 { | ||
346 | pinctrl_can1_1: can1grp-1 { | ||
347 | fsl,pins = < | ||
348 | 847 0x80000000 /* MX53_PAD_PATA_INTRQ__CAN1_TXCAN */ | ||
349 | 853 0x80000000 /* MX53_PAD_PATA_DIOR__CAN1_RXCAN */ | ||
350 | >; | ||
351 | }; | ||
352 | }; | ||
353 | |||
354 | can2 { | ||
355 | pinctrl_can2_1: can2grp-1 { | ||
356 | fsl,pins = < | ||
357 | 67 0x80000000 /* MX53_PAD_KEY_COL4__CAN2_TXCAN */ | ||
358 | 74 0x80000000 /* MX53_PAD_KEY_ROW4__CAN2_RXCAN */ | ||
359 | >; | ||
360 | }; | ||
361 | }; | ||
362 | |||
319 | i2c1 { | 363 | i2c1 { |
320 | pinctrl_i2c1_1: i2c1grp-1 { | 364 | pinctrl_i2c1_1: i2c1grp-1 { |
321 | fsl,pins = < | 365 | fsl,pins = < |
@@ -334,6 +378,15 @@ | |||
334 | }; | 378 | }; |
335 | }; | 379 | }; |
336 | 380 | ||
381 | i2c3 { | ||
382 | pinctrl_i2c3_1: i2c3grp-1 { | ||
383 | fsl,pins = < | ||
384 | 1102 0xc0000000 /* MX53_PAD_GPIO_6__I2C3_SDA */ | ||
385 | 1130 0xc0000000 /* MX53_PAD_GPIO_5__I2C3_SCL */ | ||
386 | >; | ||
387 | }; | ||
388 | }; | ||
389 | |||
337 | uart1 { | 390 | uart1 { |
338 | pinctrl_uart1_1: uart1grp-1 { | 391 | pinctrl_uart1_1: uart1grp-1 { |
339 | fsl,pins = < | 392 | fsl,pins = < |
@@ -369,12 +422,51 @@ | |||
369 | >; | 422 | >; |
370 | }; | 423 | }; |
371 | }; | 424 | }; |
425 | |||
426 | uart4 { | ||
427 | pinctrl_uart4_1: uart4grp-1 { | ||
428 | fsl,pins = < | ||
429 | 11 0x1c5 /* MX53_PAD_KEY_COL0__UART4_TXD_MUX */ | ||
430 | 18 0x1c5 /* MX53_PAD_KEY_ROW0__UART4_RXD_MUX */ | ||
431 | >; | ||
432 | }; | ||
433 | }; | ||
434 | |||
435 | uart5 { | ||
436 | pinctrl_uart5_1: uart5grp-1 { | ||
437 | fsl,pins = < | ||
438 | 24 0x1c5 /* MX53_PAD_KEY_COL1__UART5_TXD_MUX */ | ||
439 | 31 0x1c5 /* MX53_PAD_KEY_ROW1__UART5_RXD_MUX */ | ||
440 | >; | ||
441 | }; | ||
442 | }; | ||
443 | |||
444 | }; | ||
445 | |||
446 | pwm1: pwm@53fb4000 { | ||
447 | #pwm-cells = <2>; | ||
448 | compatible = "fsl,imx53-pwm", "fsl,imx27-pwm"; | ||
449 | reg = <0x53fb4000 0x4000>; | ||
450 | clocks = <&clks 37>, <&clks 38>; | ||
451 | clock-names = "ipg", "per"; | ||
452 | interrupts = <61>; | ||
453 | }; | ||
454 | |||
455 | pwm2: pwm@53fb8000 { | ||
456 | #pwm-cells = <2>; | ||
457 | compatible = "fsl,imx53-pwm", "fsl,imx27-pwm"; | ||
458 | reg = <0x53fb8000 0x4000>; | ||
459 | clocks = <&clks 39>, <&clks 40>; | ||
460 | clock-names = "ipg", "per"; | ||
461 | interrupts = <94>; | ||
372 | }; | 462 | }; |
373 | 463 | ||
374 | uart1: serial@53fbc000 { | 464 | uart1: serial@53fbc000 { |
375 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; | 465 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; |
376 | reg = <0x53fbc000 0x4000>; | 466 | reg = <0x53fbc000 0x4000>; |
377 | interrupts = <31>; | 467 | interrupts = <31>; |
468 | clocks = <&clks 28>, <&clks 29>; | ||
469 | clock-names = "ipg", "per"; | ||
378 | status = "disabled"; | 470 | status = "disabled"; |
379 | }; | 471 | }; |
380 | 472 | ||
@@ -382,6 +474,8 @@ | |||
382 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; | 474 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; |
383 | reg = <0x53fc0000 0x4000>; | 475 | reg = <0x53fc0000 0x4000>; |
384 | interrupts = <32>; | 476 | interrupts = <32>; |
477 | clocks = <&clks 30>, <&clks 31>; | ||
478 | clock-names = "ipg", "per"; | ||
385 | status = "disabled"; | 479 | status = "disabled"; |
386 | }; | 480 | }; |
387 | 481 | ||
@@ -389,6 +483,8 @@ | |||
389 | compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan"; | 483 | compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan"; |
390 | reg = <0x53fc8000 0x4000>; | 484 | reg = <0x53fc8000 0x4000>; |
391 | interrupts = <82>; | 485 | interrupts = <82>; |
486 | clocks = <&clks 158>, <&clks 157>; | ||
487 | clock-names = "ipg", "per"; | ||
392 | status = "disabled"; | 488 | status = "disabled"; |
393 | }; | 489 | }; |
394 | 490 | ||
@@ -396,9 +492,18 @@ | |||
396 | compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan"; | 492 | compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan"; |
397 | reg = <0x53fcc000 0x4000>; | 493 | reg = <0x53fcc000 0x4000>; |
398 | interrupts = <83>; | 494 | interrupts = <83>; |
495 | clocks = <&clks 158>, <&clks 157>; | ||
496 | clock-names = "ipg", "per"; | ||
399 | status = "disabled"; | 497 | status = "disabled"; |
400 | }; | 498 | }; |
401 | 499 | ||
500 | clks: ccm@53fd4000{ | ||
501 | compatible = "fsl,imx53-ccm"; | ||
502 | reg = <0x53fd4000 0x4000>; | ||
503 | interrupts = <0 71 0x04 0 72 0x04>; | ||
504 | #clock-cells = <1>; | ||
505 | }; | ||
506 | |||
402 | gpio5: gpio@53fdc000 { | 507 | gpio5: gpio@53fdc000 { |
403 | compatible = "fsl,imx53-gpio", "fsl,imx35-gpio"; | 508 | compatible = "fsl,imx53-gpio", "fsl,imx35-gpio"; |
404 | reg = <0x53fdc000 0x4000>; | 509 | reg = <0x53fdc000 0x4000>; |
@@ -429,12 +534,13 @@ | |||
429 | #interrupt-cells = <2>; | 534 | #interrupt-cells = <2>; |
430 | }; | 535 | }; |
431 | 536 | ||
432 | i2c@53fec000 { /* I2C3 */ | 537 | i2c3: i2c@53fec000 { |
433 | #address-cells = <1>; | 538 | #address-cells = <1>; |
434 | #size-cells = <0>; | 539 | #size-cells = <0>; |
435 | compatible = "fsl,imx53-i2c", "fsl,imx1-i2c"; | 540 | compatible = "fsl,imx53-i2c", "fsl,imx21-i2c"; |
436 | reg = <0x53fec000 0x4000>; | 541 | reg = <0x53fec000 0x4000>; |
437 | interrupts = <64>; | 542 | interrupts = <64>; |
543 | clocks = <&clks 88>; | ||
438 | status = "disabled"; | 544 | status = "disabled"; |
439 | }; | 545 | }; |
440 | 546 | ||
@@ -442,6 +548,8 @@ | |||
442 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; | 548 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; |
443 | reg = <0x53ff0000 0x4000>; | 549 | reg = <0x53ff0000 0x4000>; |
444 | interrupts = <13>; | 550 | interrupts = <13>; |
551 | clocks = <&clks 65>, <&clks 66>; | ||
552 | clock-names = "ipg", "per"; | ||
445 | status = "disabled"; | 553 | status = "disabled"; |
446 | }; | 554 | }; |
447 | }; | 555 | }; |
@@ -457,49 +565,59 @@ | |||
457 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; | 565 | compatible = "fsl,imx53-uart", "fsl,imx21-uart"; |
458 | reg = <0x63f90000 0x4000>; | 566 | reg = <0x63f90000 0x4000>; |
459 | interrupts = <86>; | 567 | interrupts = <86>; |
568 | clocks = <&clks 67>, <&clks 68>; | ||
569 | clock-names = "ipg", "per"; | ||
460 | status = "disabled"; | 570 | status = "disabled"; |
461 | }; | 571 | }; |
462 | 572 | ||
463 | ecspi@63fac000 { /* ECSPI2 */ | 573 | ecspi2: ecspi@63fac000 { |
464 | #address-cells = <1>; | 574 | #address-cells = <1>; |
465 | #size-cells = <0>; | 575 | #size-cells = <0>; |
466 | compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi"; | 576 | compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi"; |
467 | reg = <0x63fac000 0x4000>; | 577 | reg = <0x63fac000 0x4000>; |
468 | interrupts = <37>; | 578 | interrupts = <37>; |
579 | clocks = <&clks 53>, <&clks 54>; | ||
580 | clock-names = "ipg", "per"; | ||
469 | status = "disabled"; | 581 | status = "disabled"; |
470 | }; | 582 | }; |
471 | 583 | ||
472 | sdma@63fb0000 { | 584 | sdma: sdma@63fb0000 { |
473 | compatible = "fsl,imx53-sdma", "fsl,imx35-sdma"; | 585 | compatible = "fsl,imx53-sdma", "fsl,imx35-sdma"; |
474 | reg = <0x63fb0000 0x4000>; | 586 | reg = <0x63fb0000 0x4000>; |
475 | interrupts = <6>; | 587 | interrupts = <6>; |
588 | clocks = <&clks 56>, <&clks 56>; | ||
589 | clock-names = "ipg", "ahb"; | ||
476 | fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin"; | 590 | fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin"; |
477 | }; | 591 | }; |
478 | 592 | ||
479 | cspi@63fc0000 { | 593 | cspi: cspi@63fc0000 { |
480 | #address-cells = <1>; | 594 | #address-cells = <1>; |
481 | #size-cells = <0>; | 595 | #size-cells = <0>; |
482 | compatible = "fsl,imx53-cspi", "fsl,imx35-cspi"; | 596 | compatible = "fsl,imx53-cspi", "fsl,imx35-cspi"; |
483 | reg = <0x63fc0000 0x4000>; | 597 | reg = <0x63fc0000 0x4000>; |
484 | interrupts = <38>; | 598 | interrupts = <38>; |
599 | clocks = <&clks 55>, <&clks 0>; | ||
600 | clock-names = "ipg", "per"; | ||
485 | status = "disabled"; | 601 | status = "disabled"; |
486 | }; | 602 | }; |
487 | 603 | ||
488 | i2c@63fc4000 { /* I2C2 */ | 604 | i2c2: i2c@63fc4000 { |
489 | #address-cells = <1>; | 605 | #address-cells = <1>; |
490 | #size-cells = <0>; | 606 | #size-cells = <0>; |
491 | compatible = "fsl,imx53-i2c", "fsl,imx1-i2c"; | 607 | compatible = "fsl,imx53-i2c", "fsl,imx21-i2c"; |
492 | reg = <0x63fc4000 0x4000>; | 608 | reg = <0x63fc4000 0x4000>; |
493 | interrupts = <63>; | 609 | interrupts = <63>; |
610 | clocks = <&clks 35>; | ||
494 | status = "disabled"; | 611 | status = "disabled"; |
495 | }; | 612 | }; |
496 | 613 | ||
497 | i2c@63fc8000 { /* I2C1 */ | 614 | i2c1: i2c@63fc8000 { |
498 | #address-cells = <1>; | 615 | #address-cells = <1>; |
499 | #size-cells = <0>; | 616 | #size-cells = <0>; |
500 | compatible = "fsl,imx53-i2c", "fsl,imx1-i2c"; | 617 | compatible = "fsl,imx53-i2c", "fsl,imx21-i2c"; |
501 | reg = <0x63fc8000 0x4000>; | 618 | reg = <0x63fc8000 0x4000>; |
502 | interrupts = <62>; | 619 | interrupts = <62>; |
620 | clocks = <&clks 34>; | ||
503 | status = "disabled"; | 621 | status = "disabled"; |
504 | }; | 622 | }; |
505 | 623 | ||
@@ -507,21 +625,23 @@ | |||
507 | compatible = "fsl,imx53-ssi", "fsl,imx21-ssi"; | 625 | compatible = "fsl,imx53-ssi", "fsl,imx21-ssi"; |
508 | reg = <0x63fcc000 0x4000>; | 626 | reg = <0x63fcc000 0x4000>; |
509 | interrupts = <29>; | 627 | interrupts = <29>; |
628 | clocks = <&clks 48>; | ||
510 | fsl,fifo-depth = <15>; | 629 | fsl,fifo-depth = <15>; |
511 | fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */ | 630 | fsl,ssi-dma-events = <29 28 27 26>; /* TX0 RX0 TX1 RX1 */ |
512 | status = "disabled"; | 631 | status = "disabled"; |
513 | }; | 632 | }; |
514 | 633 | ||
515 | audmux@63fd0000 { | 634 | audmux: audmux@63fd0000 { |
516 | compatible = "fsl,imx53-audmux", "fsl,imx31-audmux"; | 635 | compatible = "fsl,imx53-audmux", "fsl,imx31-audmux"; |
517 | reg = <0x63fd0000 0x4000>; | 636 | reg = <0x63fd0000 0x4000>; |
518 | status = "disabled"; | 637 | status = "disabled"; |
519 | }; | 638 | }; |
520 | 639 | ||
521 | nand@63fdb000 { | 640 | nfc: nand@63fdb000 { |
522 | compatible = "fsl,imx53-nand"; | 641 | compatible = "fsl,imx53-nand"; |
523 | reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>; | 642 | reg = <0x63fdb000 0x1000 0xf7ff0000 0x10000>; |
524 | interrupts = <8>; | 643 | interrupts = <8>; |
644 | clocks = <&clks 60>; | ||
525 | status = "disabled"; | 645 | status = "disabled"; |
526 | }; | 646 | }; |
527 | 647 | ||
@@ -529,15 +649,18 @@ | |||
529 | compatible = "fsl,imx53-ssi", "fsl,imx21-ssi"; | 649 | compatible = "fsl,imx53-ssi", "fsl,imx21-ssi"; |
530 | reg = <0x63fe8000 0x4000>; | 650 | reg = <0x63fe8000 0x4000>; |
531 | interrupts = <96>; | 651 | interrupts = <96>; |
652 | clocks = <&clks 50>; | ||
532 | fsl,fifo-depth = <15>; | 653 | fsl,fifo-depth = <15>; |
533 | fsl,ssi-dma-events = <47 46 45 44>; /* TX0 RX0 TX1 RX1 */ | 654 | fsl,ssi-dma-events = <47 46 45 44>; /* TX0 RX0 TX1 RX1 */ |
534 | status = "disabled"; | 655 | status = "disabled"; |
535 | }; | 656 | }; |
536 | 657 | ||
537 | ethernet@63fec000 { | 658 | fec: ethernet@63fec000 { |
538 | compatible = "fsl,imx53-fec", "fsl,imx25-fec"; | 659 | compatible = "fsl,imx53-fec", "fsl,imx25-fec"; |
539 | reg = <0x63fec000 0x4000>; | 660 | reg = <0x63fec000 0x4000>; |
540 | interrupts = <87>; | 661 | interrupts = <87>; |
662 | clocks = <&clks 42>, <&clks 42>, <&clks 42>; | ||
663 | clock-names = "ipg", "ahb", "ptp"; | ||
541 | status = "disabled"; | 664 | status = "disabled"; |
542 | }; | 665 | }; |
543 | }; | 666 | }; |
diff --git a/arch/arm/boot/dts/imx6q-sabreauto.dts b/arch/arm/boot/dts/imx6q-sabreauto.dts new file mode 100644 index 000000000000..826e4ad1477e --- /dev/null +++ b/arch/arm/boot/dts/imx6q-sabreauto.dts | |||
@@ -0,0 +1,64 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Freescale Semiconductor, Inc. | ||
3 | * Copyright 2011 Linaro Ltd. | ||
4 | * | ||
5 | * The code contained herein is licensed under the GNU General Public | ||
6 | * License. You may obtain a copy of the GNU General Public License | ||
7 | * Version 2 or later at the following locations: | ||
8 | * | ||
9 | * http://www.opensource.org/licenses/gpl-license.html | ||
10 | * http://www.gnu.org/copyleft/gpl.html | ||
11 | */ | ||
12 | |||
13 | /dts-v1/; | ||
14 | /include/ "imx6q.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Freescale i.MX6 Quad SABRE Automotive Board"; | ||
18 | compatible = "fsl,imx6q-sabreauto", "fsl,imx6q"; | ||
19 | |||
20 | memory { | ||
21 | reg = <0x10000000 0x80000000>; | ||
22 | }; | ||
23 | |||
24 | soc { | ||
25 | aips-bus@02000000 { /* AIPS1 */ | ||
26 | iomuxc@020e0000 { | ||
27 | pinctrl-names = "default"; | ||
28 | pinctrl-0 = <&pinctrl_hog>; | ||
29 | |||
30 | hog { | ||
31 | pinctrl_hog: hoggrp { | ||
32 | fsl,pins = < | ||
33 | 1376 0x80000000 /* MX6Q_PAD_NANDF_CS2__GPIO_6_15 */ | ||
34 | 13 0x80000000 /* MX6Q_PAD_SD2_DAT2__GPIO_1_13 */ | ||
35 | >; | ||
36 | }; | ||
37 | }; | ||
38 | }; | ||
39 | }; | ||
40 | |||
41 | aips-bus@02100000 { /* AIPS2 */ | ||
42 | uart4: serial@021f0000 { | ||
43 | pinctrl-names = "default"; | ||
44 | pinctrl-0 = <&pinctrl_uart4_1>; | ||
45 | status = "okay"; | ||
46 | }; | ||
47 | |||
48 | ethernet@02188000 { | ||
49 | pinctrl-names = "default"; | ||
50 | pinctrl-0 = <&pinctrl_enet_2>; | ||
51 | phy-mode = "rgmii"; | ||
52 | status = "okay"; | ||
53 | }; | ||
54 | |||
55 | usdhc@02198000 { /* uSDHC3 */ | ||
56 | pinctrl-names = "default"; | ||
57 | pinctrl-0 = <&pinctrl_usdhc3_1>; | ||
58 | cd-gpios = <&gpio6 15 0>; | ||
59 | wp-gpios = <&gpio1 13 0>; | ||
60 | status = "okay"; | ||
61 | }; | ||
62 | }; | ||
63 | }; | ||
64 | }; | ||
diff --git a/arch/arm/boot/dts/imx6q-sabresd.dts b/arch/arm/boot/dts/imx6q-sabresd.dts index e596c28c214d..a42402562b7b 100644 --- a/arch/arm/boot/dts/imx6q-sabresd.dts +++ b/arch/arm/boot/dts/imx6q-sabresd.dts | |||
@@ -38,6 +38,8 @@ | |||
38 | hog { | 38 | hog { |
39 | pinctrl_hog: hoggrp { | 39 | pinctrl_hog: hoggrp { |
40 | fsl,pins = < | 40 | fsl,pins = < |
41 | 1004 0x80000000 /* MX6Q_PAD_GPIO_4__GPIO_1_4 */ | ||
42 | 1012 0x80000000 /* MX6Q_PAD_GPIO_5__GPIO_1_5 */ | ||
41 | 1402 0x80000000 /* MX6Q_PAD_NANDF_D0__GPIO_2_0 */ | 43 | 1402 0x80000000 /* MX6Q_PAD_NANDF_D0__GPIO_2_0 */ |
42 | 1410 0x80000000 /* MX6Q_PAD_NANDF_D1__GPIO_2_1 */ | 44 | 1410 0x80000000 /* MX6Q_PAD_NANDF_D1__GPIO_2_1 */ |
43 | 1418 0x80000000 /* MX6Q_PAD_NANDF_D2__GPIO_2_2 */ | 45 | 1418 0x80000000 /* MX6Q_PAD_NANDF_D2__GPIO_2_2 */ |
@@ -73,4 +75,20 @@ | |||
73 | }; | 75 | }; |
74 | }; | 76 | }; |
75 | }; | 77 | }; |
78 | |||
79 | gpio-keys { | ||
80 | compatible = "gpio-keys"; | ||
81 | |||
82 | volume-up { | ||
83 | label = "Volume Up"; | ||
84 | gpios = <&gpio1 4 0>; | ||
85 | linux,code = <115>; /* KEY_VOLUMEUP */ | ||
86 | }; | ||
87 | |||
88 | volume-down { | ||
89 | label = "Volume Down"; | ||
90 | gpios = <&gpio1 5 0>; | ||
91 | linux,code = <114>; /* KEY_VOLUMEDOWN */ | ||
92 | }; | ||
93 | }; | ||
76 | }; | 94 | }; |
diff --git a/arch/arm/boot/dts/imx6q.dtsi b/arch/arm/boot/dts/imx6q.dtsi index f3990b04fecf..d6265ca97119 100644 --- a/arch/arm/boot/dts/imx6q.dtsi +++ b/arch/arm/boot/dts/imx6q.dtsi | |||
@@ -36,6 +36,14 @@ | |||
36 | compatible = "arm,cortex-a9"; | 36 | compatible = "arm,cortex-a9"; |
37 | reg = <0>; | 37 | reg = <0>; |
38 | next-level-cache = <&L2>; | 38 | next-level-cache = <&L2>; |
39 | operating-points = < | ||
40 | /* kHz uV */ | ||
41 | 792000 1100000 | ||
42 | 396000 950000 | ||
43 | 198000 850000 | ||
44 | >; | ||
45 | clock-latency = <61036>; /* two CLK32 periods */ | ||
46 | cpu0-supply = <®_cpu>; | ||
39 | }; | 47 | }; |
40 | 48 | ||
41 | cpu@1 { | 49 | cpu@1 { |
@@ -100,7 +108,7 @@ | |||
100 | clocks = <&clks 106>; | 108 | clocks = <&clks 106>; |
101 | }; | 109 | }; |
102 | 110 | ||
103 | gpmi-nand@00112000 { | 111 | nfc: gpmi-nand@00112000 { |
104 | compatible = "fsl,imx6q-gpmi-nand"; | 112 | compatible = "fsl,imx6q-gpmi-nand"; |
105 | #address-cells = <1>; | 113 | #address-cells = <1>; |
106 | #size-cells = <1>; | 114 | #size-cells = <1>; |
@@ -144,12 +152,12 @@ | |||
144 | reg = <0x02000000 0x40000>; | 152 | reg = <0x02000000 0x40000>; |
145 | ranges; | 153 | ranges; |
146 | 154 | ||
147 | spdif@02004000 { | 155 | spdif: spdif@02004000 { |
148 | reg = <0x02004000 0x4000>; | 156 | reg = <0x02004000 0x4000>; |
149 | interrupts = <0 52 0x04>; | 157 | interrupts = <0 52 0x04>; |
150 | }; | 158 | }; |
151 | 159 | ||
152 | ecspi@02008000 { /* eCSPI1 */ | 160 | ecspi1: ecspi@02008000 { |
153 | #address-cells = <1>; | 161 | #address-cells = <1>; |
154 | #size-cells = <0>; | 162 | #size-cells = <0>; |
155 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 163 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
@@ -160,7 +168,7 @@ | |||
160 | status = "disabled"; | 168 | status = "disabled"; |
161 | }; | 169 | }; |
162 | 170 | ||
163 | ecspi@0200c000 { /* eCSPI2 */ | 171 | ecspi2: ecspi@0200c000 { |
164 | #address-cells = <1>; | 172 | #address-cells = <1>; |
165 | #size-cells = <0>; | 173 | #size-cells = <0>; |
166 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 174 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
@@ -171,7 +179,7 @@ | |||
171 | status = "disabled"; | 179 | status = "disabled"; |
172 | }; | 180 | }; |
173 | 181 | ||
174 | ecspi@02010000 { /* eCSPI3 */ | 182 | ecspi3: ecspi@02010000 { |
175 | #address-cells = <1>; | 183 | #address-cells = <1>; |
176 | #size-cells = <0>; | 184 | #size-cells = <0>; |
177 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 185 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
@@ -182,7 +190,7 @@ | |||
182 | status = "disabled"; | 190 | status = "disabled"; |
183 | }; | 191 | }; |
184 | 192 | ||
185 | ecspi@02014000 { /* eCSPI4 */ | 193 | ecspi4: ecspi@02014000 { |
186 | #address-cells = <1>; | 194 | #address-cells = <1>; |
187 | #size-cells = <0>; | 195 | #size-cells = <0>; |
188 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 196 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
@@ -193,7 +201,7 @@ | |||
193 | status = "disabled"; | 201 | status = "disabled"; |
194 | }; | 202 | }; |
195 | 203 | ||
196 | ecspi@02018000 { /* eCSPI5 */ | 204 | ecspi5: ecspi@02018000 { |
197 | #address-cells = <1>; | 205 | #address-cells = <1>; |
198 | #size-cells = <0>; | 206 | #size-cells = <0>; |
199 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; | 207 | compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi"; |
@@ -213,7 +221,7 @@ | |||
213 | status = "disabled"; | 221 | status = "disabled"; |
214 | }; | 222 | }; |
215 | 223 | ||
216 | esai@02024000 { | 224 | esai: esai@02024000 { |
217 | reg = <0x02024000 0x4000>; | 225 | reg = <0x02024000 0x4000>; |
218 | interrupts = <0 51 0x04>; | 226 | interrupts = <0 51 0x04>; |
219 | }; | 227 | }; |
@@ -248,7 +256,7 @@ | |||
248 | status = "disabled"; | 256 | status = "disabled"; |
249 | }; | 257 | }; |
250 | 258 | ||
251 | asrc@02034000 { | 259 | asrc: asrc@02034000 { |
252 | reg = <0x02034000 0x4000>; | 260 | reg = <0x02034000 0x4000>; |
253 | interrupts = <0 50 0x04>; | 261 | interrupts = <0 50 0x04>; |
254 | }; | 262 | }; |
@@ -258,7 +266,7 @@ | |||
258 | }; | 266 | }; |
259 | }; | 267 | }; |
260 | 268 | ||
261 | vpu@02040000 { | 269 | vpu: vpu@02040000 { |
262 | reg = <0x02040000 0x3c000>; | 270 | reg = <0x02040000 0x3c000>; |
263 | interrupts = <0 3 0x04 0 12 0x04>; | 271 | interrupts = <0 3 0x04 0 12 0x04>; |
264 | }; | 272 | }; |
@@ -267,37 +275,53 @@ | |||
267 | reg = <0x0207c000 0x4000>; | 275 | reg = <0x0207c000 0x4000>; |
268 | }; | 276 | }; |
269 | 277 | ||
270 | pwm@02080000 { /* PWM1 */ | 278 | pwm1: pwm@02080000 { |
279 | #pwm-cells = <2>; | ||
280 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; | ||
271 | reg = <0x02080000 0x4000>; | 281 | reg = <0x02080000 0x4000>; |
272 | interrupts = <0 83 0x04>; | 282 | interrupts = <0 83 0x04>; |
283 | clocks = <&clks 62>, <&clks 145>; | ||
284 | clock-names = "ipg", "per"; | ||
273 | }; | 285 | }; |
274 | 286 | ||
275 | pwm@02084000 { /* PWM2 */ | 287 | pwm2: pwm@02084000 { |
288 | #pwm-cells = <2>; | ||
289 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; | ||
276 | reg = <0x02084000 0x4000>; | 290 | reg = <0x02084000 0x4000>; |
277 | interrupts = <0 84 0x04>; | 291 | interrupts = <0 84 0x04>; |
292 | clocks = <&clks 62>, <&clks 146>; | ||
293 | clock-names = "ipg", "per"; | ||
278 | }; | 294 | }; |
279 | 295 | ||
280 | pwm@02088000 { /* PWM3 */ | 296 | pwm3: pwm@02088000 { |
297 | #pwm-cells = <2>; | ||
298 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; | ||
281 | reg = <0x02088000 0x4000>; | 299 | reg = <0x02088000 0x4000>; |
282 | interrupts = <0 85 0x04>; | 300 | interrupts = <0 85 0x04>; |
301 | clocks = <&clks 62>, <&clks 147>; | ||
302 | clock-names = "ipg", "per"; | ||
283 | }; | 303 | }; |
284 | 304 | ||
285 | pwm@0208c000 { /* PWM4 */ | 305 | pwm4: pwm@0208c000 { |
306 | #pwm-cells = <2>; | ||
307 | compatible = "fsl,imx6q-pwm", "fsl,imx27-pwm"; | ||
286 | reg = <0x0208c000 0x4000>; | 308 | reg = <0x0208c000 0x4000>; |
287 | interrupts = <0 86 0x04>; | 309 | interrupts = <0 86 0x04>; |
310 | clocks = <&clks 62>, <&clks 148>; | ||
311 | clock-names = "ipg", "per"; | ||
288 | }; | 312 | }; |
289 | 313 | ||
290 | flexcan@02090000 { /* CAN1 */ | 314 | can1: flexcan@02090000 { |
291 | reg = <0x02090000 0x4000>; | 315 | reg = <0x02090000 0x4000>; |
292 | interrupts = <0 110 0x04>; | 316 | interrupts = <0 110 0x04>; |
293 | }; | 317 | }; |
294 | 318 | ||
295 | flexcan@02094000 { /* CAN2 */ | 319 | can2: flexcan@02094000 { |
296 | reg = <0x02094000 0x4000>; | 320 | reg = <0x02094000 0x4000>; |
297 | interrupts = <0 111 0x04>; | 321 | interrupts = <0 111 0x04>; |
298 | }; | 322 | }; |
299 | 323 | ||
300 | gpt@02098000 { | 324 | gpt: gpt@02098000 { |
301 | compatible = "fsl,imx6q-gpt"; | 325 | compatible = "fsl,imx6q-gpt"; |
302 | reg = <0x02098000 0x4000>; | 326 | reg = <0x02098000 0x4000>; |
303 | interrupts = <0 55 0x04>; | 327 | interrupts = <0 55 0x04>; |
@@ -373,19 +397,19 @@ | |||
373 | #interrupt-cells = <2>; | 397 | #interrupt-cells = <2>; |
374 | }; | 398 | }; |
375 | 399 | ||
376 | kpp@020b8000 { | 400 | kpp: kpp@020b8000 { |
377 | reg = <0x020b8000 0x4000>; | 401 | reg = <0x020b8000 0x4000>; |
378 | interrupts = <0 82 0x04>; | 402 | interrupts = <0 82 0x04>; |
379 | }; | 403 | }; |
380 | 404 | ||
381 | wdog@020bc000 { /* WDOG1 */ | 405 | wdog1: wdog@020bc000 { |
382 | compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; | 406 | compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; |
383 | reg = <0x020bc000 0x4000>; | 407 | reg = <0x020bc000 0x4000>; |
384 | interrupts = <0 80 0x04>; | 408 | interrupts = <0 80 0x04>; |
385 | clocks = <&clks 0>; | 409 | clocks = <&clks 0>; |
386 | }; | 410 | }; |
387 | 411 | ||
388 | wdog@020c0000 { /* WDOG2 */ | 412 | wdog2: wdog@020c0000 { |
389 | compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; | 413 | compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt"; |
390 | reg = <0x020c0000 0x4000>; | 414 | reg = <0x020c0000 0x4000>; |
391 | interrupts = <0 81 0x04>; | 415 | interrupts = <0 81 0x04>; |
@@ -447,7 +471,7 @@ | |||
447 | anatop-max-voltage = <2750000>; | 471 | anatop-max-voltage = <2750000>; |
448 | }; | 472 | }; |
449 | 473 | ||
450 | regulator-vddcore@140 { | 474 | reg_cpu: regulator-vddcore@140 { |
451 | compatible = "fsl,anatop-regulator"; | 475 | compatible = "fsl,anatop-regulator"; |
452 | regulator-name = "cpu"; | 476 | regulator-name = "cpu"; |
453 | regulator-min-microvolt = <725000>; | 477 | regulator-min-microvolt = <725000>; |
@@ -505,27 +529,35 @@ | |||
505 | }; | 529 | }; |
506 | 530 | ||
507 | snvs@020cc000 { | 531 | snvs@020cc000 { |
508 | reg = <0x020cc000 0x4000>; | 532 | compatible = "fsl,sec-v4.0-mon", "simple-bus"; |
509 | interrupts = <0 19 0x04 0 20 0x04>; | 533 | #address-cells = <1>; |
534 | #size-cells = <1>; | ||
535 | ranges = <0 0x020cc000 0x4000>; | ||
536 | |||
537 | snvs-rtc-lp@34 { | ||
538 | compatible = "fsl,sec-v4.0-mon-rtc-lp"; | ||
539 | reg = <0x34 0x58>; | ||
540 | interrupts = <0 19 0x04 0 20 0x04>; | ||
541 | }; | ||
510 | }; | 542 | }; |
511 | 543 | ||
512 | epit@020d0000 { /* EPIT1 */ | 544 | epit1: epit@020d0000 { /* EPIT1 */ |
513 | reg = <0x020d0000 0x4000>; | 545 | reg = <0x020d0000 0x4000>; |
514 | interrupts = <0 56 0x04>; | 546 | interrupts = <0 56 0x04>; |
515 | }; | 547 | }; |
516 | 548 | ||
517 | epit@020d4000 { /* EPIT2 */ | 549 | epit2: epit@020d4000 { /* EPIT2 */ |
518 | reg = <0x020d4000 0x4000>; | 550 | reg = <0x020d4000 0x4000>; |
519 | interrupts = <0 57 0x04>; | 551 | interrupts = <0 57 0x04>; |
520 | }; | 552 | }; |
521 | 553 | ||
522 | src@020d8000 { | 554 | src: src@020d8000 { |
523 | compatible = "fsl,imx6q-src"; | 555 | compatible = "fsl,imx6q-src"; |
524 | reg = <0x020d8000 0x4000>; | 556 | reg = <0x020d8000 0x4000>; |
525 | interrupts = <0 91 0x04 0 96 0x04>; | 557 | interrupts = <0 91 0x04 0 96 0x04>; |
526 | }; | 558 | }; |
527 | 559 | ||
528 | gpc@020dc000 { | 560 | gpc: gpc@020dc000 { |
529 | compatible = "fsl,imx6q-gpc"; | 561 | compatible = "fsl,imx6q-gpc"; |
530 | reg = <0x020dc000 0x4000>; | 562 | reg = <0x020dc000 0x4000>; |
531 | interrupts = <0 89 0x04 0 90 0x04>; | 563 | interrupts = <0 89 0x04 0 90 0x04>; |
@@ -536,7 +568,7 @@ | |||
536 | reg = <0x020e0000 0x38>; | 568 | reg = <0x020e0000 0x38>; |
537 | }; | 569 | }; |
538 | 570 | ||
539 | iomuxc@020e0000 { | 571 | iomuxc: iomuxc@020e0000 { |
540 | compatible = "fsl,imx6q-iomuxc"; | 572 | compatible = "fsl,imx6q-iomuxc"; |
541 | reg = <0x020e0000 0x4000>; | 573 | reg = <0x020e0000 0x4000>; |
542 | 574 | ||
@@ -580,6 +612,7 @@ | |||
580 | 66 0x1b0b0 /* MX6Q_PAD_RGMII_RD2__ENET_RGMII_RD2 */ | 612 | 66 0x1b0b0 /* MX6Q_PAD_RGMII_RD2__ENET_RGMII_RD2 */ |
581 | 70 0x1b0b0 /* MX6Q_PAD_RGMII_RD3__ENET_RGMII_RD3 */ | 613 | 70 0x1b0b0 /* MX6Q_PAD_RGMII_RD3__ENET_RGMII_RD3 */ |
582 | 48 0x1b0b0 /* MX6Q_PAD_RGMII_RX_CTL__RGMII_RX_CTL */ | 614 | 48 0x1b0b0 /* MX6Q_PAD_RGMII_RX_CTL__RGMII_RX_CTL */ |
615 | 1033 0x4001b0a8 /* MX6Q_PAD_GPIO_16__ENET_ANATOP_ETHERNET_REF_OUT*/ | ||
583 | >; | 616 | >; |
584 | }; | 617 | }; |
585 | 618 | ||
@@ -748,17 +781,17 @@ | |||
748 | }; | 781 | }; |
749 | }; | 782 | }; |
750 | 783 | ||
751 | dcic@020e4000 { /* DCIC1 */ | 784 | dcic1: dcic@020e4000 { |
752 | reg = <0x020e4000 0x4000>; | 785 | reg = <0x020e4000 0x4000>; |
753 | interrupts = <0 124 0x04>; | 786 | interrupts = <0 124 0x04>; |
754 | }; | 787 | }; |
755 | 788 | ||
756 | dcic@020e8000 { /* DCIC2 */ | 789 | dcic2: dcic@020e8000 { |
757 | reg = <0x020e8000 0x4000>; | 790 | reg = <0x020e8000 0x4000>; |
758 | interrupts = <0 125 0x04>; | 791 | interrupts = <0 125 0x04>; |
759 | }; | 792 | }; |
760 | 793 | ||
761 | sdma@020ec000 { | 794 | sdma: sdma@020ec000 { |
762 | compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma"; | 795 | compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma"; |
763 | reg = <0x020ec000 0x4000>; | 796 | reg = <0x020ec000 0x4000>; |
764 | interrupts = <0 2 0x04>; | 797 | interrupts = <0 2 0x04>; |
@@ -784,7 +817,7 @@ | |||
784 | reg = <0x0217c000 0x4000>; | 817 | reg = <0x0217c000 0x4000>; |
785 | }; | 818 | }; |
786 | 819 | ||
787 | usb@02184000 { /* USB OTG */ | 820 | usbotg: usb@02184000 { |
788 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; | 821 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; |
789 | reg = <0x02184000 0x200>; | 822 | reg = <0x02184000 0x200>; |
790 | interrupts = <0 43 0x04>; | 823 | interrupts = <0 43 0x04>; |
@@ -794,7 +827,7 @@ | |||
794 | status = "disabled"; | 827 | status = "disabled"; |
795 | }; | 828 | }; |
796 | 829 | ||
797 | usb@02184200 { /* USB1 */ | 830 | usbh1: usb@02184200 { |
798 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; | 831 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; |
799 | reg = <0x02184200 0x200>; | 832 | reg = <0x02184200 0x200>; |
800 | interrupts = <0 40 0x04>; | 833 | interrupts = <0 40 0x04>; |
@@ -804,7 +837,7 @@ | |||
804 | status = "disabled"; | 837 | status = "disabled"; |
805 | }; | 838 | }; |
806 | 839 | ||
807 | usb@02184400 { /* USB2 */ | 840 | usbh2: usb@02184400 { |
808 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; | 841 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; |
809 | reg = <0x02184400 0x200>; | 842 | reg = <0x02184400 0x200>; |
810 | interrupts = <0 41 0x04>; | 843 | interrupts = <0 41 0x04>; |
@@ -813,7 +846,7 @@ | |||
813 | status = "disabled"; | 846 | status = "disabled"; |
814 | }; | 847 | }; |
815 | 848 | ||
816 | usb@02184600 { /* USB3 */ | 849 | usbh3: usb@02184600 { |
817 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; | 850 | compatible = "fsl,imx6q-usb", "fsl,imx27-usb"; |
818 | reg = <0x02184600 0x200>; | 851 | reg = <0x02184600 0x200>; |
819 | interrupts = <0 42 0x04>; | 852 | interrupts = <0 42 0x04>; |
@@ -822,19 +855,19 @@ | |||
822 | status = "disabled"; | 855 | status = "disabled"; |
823 | }; | 856 | }; |
824 | 857 | ||
825 | usbmisc: usbmisc@02184800 { | 858 | usbmisc: usbmisc: usbmisc@02184800 { |
826 | #index-cells = <1>; | 859 | #index-cells = <1>; |
827 | compatible = "fsl,imx6q-usbmisc"; | 860 | compatible = "fsl,imx6q-usbmisc"; |
828 | reg = <0x02184800 0x200>; | 861 | reg = <0x02184800 0x200>; |
829 | clocks = <&clks 162>; | 862 | clocks = <&clks 162>; |
830 | }; | 863 | }; |
831 | 864 | ||
832 | ethernet@02188000 { | 865 | fec: ethernet@02188000 { |
833 | compatible = "fsl,imx6q-fec"; | 866 | compatible = "fsl,imx6q-fec"; |
834 | reg = <0x02188000 0x4000>; | 867 | reg = <0x02188000 0x4000>; |
835 | interrupts = <0 118 0x04 0 119 0x04>; | 868 | interrupts = <0 118 0x04 0 119 0x04>; |
836 | clocks = <&clks 117>, <&clks 117>; | 869 | clocks = <&clks 117>, <&clks 117>, <&clks 177>; |
837 | clock-names = "ipg", "ahb"; | 870 | clock-names = "ipg", "ahb", "ptp"; |
838 | status = "disabled"; | 871 | status = "disabled"; |
839 | }; | 872 | }; |
840 | 873 | ||
@@ -843,66 +876,70 @@ | |||
843 | interrupts = <0 53 0x04 0 117 0x04 0 126 0x04>; | 876 | interrupts = <0 53 0x04 0 117 0x04 0 126 0x04>; |
844 | }; | 877 | }; |
845 | 878 | ||
846 | usdhc@02190000 { /* uSDHC1 */ | 879 | usdhc1: usdhc@02190000 { |
847 | compatible = "fsl,imx6q-usdhc"; | 880 | compatible = "fsl,imx6q-usdhc"; |
848 | reg = <0x02190000 0x4000>; | 881 | reg = <0x02190000 0x4000>; |
849 | interrupts = <0 22 0x04>; | 882 | interrupts = <0 22 0x04>; |
850 | clocks = <&clks 163>, <&clks 163>, <&clks 163>; | 883 | clocks = <&clks 163>, <&clks 163>, <&clks 163>; |
851 | clock-names = "ipg", "ahb", "per"; | 884 | clock-names = "ipg", "ahb", "per"; |
885 | bus-width = <4>; | ||
852 | status = "disabled"; | 886 | status = "disabled"; |
853 | }; | 887 | }; |
854 | 888 | ||
855 | usdhc@02194000 { /* uSDHC2 */ | 889 | usdhc2: usdhc@02194000 { |
856 | compatible = "fsl,imx6q-usdhc"; | 890 | compatible = "fsl,imx6q-usdhc"; |
857 | reg = <0x02194000 0x4000>; | 891 | reg = <0x02194000 0x4000>; |
858 | interrupts = <0 23 0x04>; | 892 | interrupts = <0 23 0x04>; |
859 | clocks = <&clks 164>, <&clks 164>, <&clks 164>; | 893 | clocks = <&clks 164>, <&clks 164>, <&clks 164>; |
860 | clock-names = "ipg", "ahb", "per"; | 894 | clock-names = "ipg", "ahb", "per"; |
895 | bus-width = <4>; | ||
861 | status = "disabled"; | 896 | status = "disabled"; |
862 | }; | 897 | }; |
863 | 898 | ||
864 | usdhc@02198000 { /* uSDHC3 */ | 899 | usdhc3: usdhc@02198000 { |
865 | compatible = "fsl,imx6q-usdhc"; | 900 | compatible = "fsl,imx6q-usdhc"; |
866 | reg = <0x02198000 0x4000>; | 901 | reg = <0x02198000 0x4000>; |
867 | interrupts = <0 24 0x04>; | 902 | interrupts = <0 24 0x04>; |
868 | clocks = <&clks 165>, <&clks 165>, <&clks 165>; | 903 | clocks = <&clks 165>, <&clks 165>, <&clks 165>; |
869 | clock-names = "ipg", "ahb", "per"; | 904 | clock-names = "ipg", "ahb", "per"; |
905 | bus-width = <4>; | ||
870 | status = "disabled"; | 906 | status = "disabled"; |
871 | }; | 907 | }; |
872 | 908 | ||
873 | usdhc@0219c000 { /* uSDHC4 */ | 909 | usdhc4: usdhc@0219c000 { |
874 | compatible = "fsl,imx6q-usdhc"; | 910 | compatible = "fsl,imx6q-usdhc"; |
875 | reg = <0x0219c000 0x4000>; | 911 | reg = <0x0219c000 0x4000>; |
876 | interrupts = <0 25 0x04>; | 912 | interrupts = <0 25 0x04>; |
877 | clocks = <&clks 166>, <&clks 166>, <&clks 166>; | 913 | clocks = <&clks 166>, <&clks 166>, <&clks 166>; |
878 | clock-names = "ipg", "ahb", "per"; | 914 | clock-names = "ipg", "ahb", "per"; |
915 | bus-width = <4>; | ||
879 | status = "disabled"; | 916 | status = "disabled"; |
880 | }; | 917 | }; |
881 | 918 | ||
882 | i2c@021a0000 { /* I2C1 */ | 919 | i2c1: i2c@021a0000 { |
883 | #address-cells = <1>; | 920 | #address-cells = <1>; |
884 | #size-cells = <0>; | 921 | #size-cells = <0>; |
885 | compatible = "fsl,imx6q-i2c", "fsl,imx1-i2c"; | 922 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; |
886 | reg = <0x021a0000 0x4000>; | 923 | reg = <0x021a0000 0x4000>; |
887 | interrupts = <0 36 0x04>; | 924 | interrupts = <0 36 0x04>; |
888 | clocks = <&clks 125>; | 925 | clocks = <&clks 125>; |
889 | status = "disabled"; | 926 | status = "disabled"; |
890 | }; | 927 | }; |
891 | 928 | ||
892 | i2c@021a4000 { /* I2C2 */ | 929 | i2c2: i2c@021a4000 { |
893 | #address-cells = <1>; | 930 | #address-cells = <1>; |
894 | #size-cells = <0>; | 931 | #size-cells = <0>; |
895 | compatible = "fsl,imx6q-i2c", "fsl,imx1-i2c"; | 932 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; |
896 | reg = <0x021a4000 0x4000>; | 933 | reg = <0x021a4000 0x4000>; |
897 | interrupts = <0 37 0x04>; | 934 | interrupts = <0 37 0x04>; |
898 | clocks = <&clks 126>; | 935 | clocks = <&clks 126>; |
899 | status = "disabled"; | 936 | status = "disabled"; |
900 | }; | 937 | }; |
901 | 938 | ||
902 | i2c@021a8000 { /* I2C3 */ | 939 | i2c3: i2c@021a8000 { |
903 | #address-cells = <1>; | 940 | #address-cells = <1>; |
904 | #size-cells = <0>; | 941 | #size-cells = <0>; |
905 | compatible = "fsl,imx6q-i2c", "fsl,imx1-i2c"; | 942 | compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c"; |
906 | reg = <0x021a8000 0x4000>; | 943 | reg = <0x021a8000 0x4000>; |
907 | interrupts = <0 38 0x04>; | 944 | interrupts = <0 38 0x04>; |
908 | clocks = <&clks 127>; | 945 | clocks = <&clks 127>; |
@@ -913,12 +950,12 @@ | |||
913 | reg = <0x021ac000 0x4000>; | 950 | reg = <0x021ac000 0x4000>; |
914 | }; | 951 | }; |
915 | 952 | ||
916 | mmdc@021b0000 { /* MMDC0 */ | 953 | mmdc0: mmdc@021b0000 { /* MMDC0 */ |
917 | compatible = "fsl,imx6q-mmdc"; | 954 | compatible = "fsl,imx6q-mmdc"; |
918 | reg = <0x021b0000 0x4000>; | 955 | reg = <0x021b0000 0x4000>; |
919 | }; | 956 | }; |
920 | 957 | ||
921 | mmdc@021b4000 { /* MMDC1 */ | 958 | mmdc1: mmdc@021b4000 { /* MMDC1 */ |
922 | reg = <0x021b4000 0x4000>; | 959 | reg = <0x021b4000 0x4000>; |
923 | }; | 960 | }; |
924 | 961 | ||
@@ -946,7 +983,7 @@ | |||
946 | interrupts = <0 109 0x04>; | 983 | interrupts = <0 109 0x04>; |
947 | }; | 984 | }; |
948 | 985 | ||
949 | audmux@021d8000 { | 986 | audmux: audmux@021d8000 { |
950 | compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux"; | 987 | compatible = "fsl,imx6q-audmux", "fsl,imx31-audmux"; |
951 | reg = <0x021d8000 0x4000>; | 988 | reg = <0x021d8000 0x4000>; |
952 | status = "disabled"; | 989 | status = "disabled"; |
@@ -1001,5 +1038,23 @@ | |||
1001 | status = "disabled"; | 1038 | status = "disabled"; |
1002 | }; | 1039 | }; |
1003 | }; | 1040 | }; |
1041 | |||
1042 | ipu1: ipu@02400000 { | ||
1043 | #crtc-cells = <1>; | ||
1044 | compatible = "fsl,imx6q-ipu"; | ||
1045 | reg = <0x02400000 0x400000>; | ||
1046 | interrupts = <0 6 0x4 0 5 0x4>; | ||
1047 | clocks = <&clks 130>, <&clks 131>, <&clks 132>; | ||
1048 | clock-names = "bus", "di0", "di1"; | ||
1049 | }; | ||
1050 | |||
1051 | ipu2: ipu@02800000 { | ||
1052 | #crtc-cells = <1>; | ||
1053 | compatible = "fsl,imx6q-ipu"; | ||
1054 | reg = <0x02800000 0x400000>; | ||
1055 | interrupts = <0 8 0x4 0 7 0x4>; | ||
1056 | clocks = <&clks 133>, <&clks 134>, <&clks 137>; | ||
1057 | clock-names = "bus", "di0", "di1"; | ||
1058 | }; | ||
1004 | }; | 1059 | }; |
1005 | }; | 1060 | }; |
diff --git a/arch/arm/boot/dts/integratorap.dts b/arch/arm/boot/dts/integratorap.dts index 61767757b50a..c9c3fa344647 100644 --- a/arch/arm/boot/dts/integratorap.dts +++ b/arch/arm/boot/dts/integratorap.dts | |||
@@ -18,6 +18,11 @@ | |||
18 | bootargs = "root=/dev/ram0 console=ttyAM0,38400n8 earlyprintk"; | 18 | bootargs = "root=/dev/ram0 console=ttyAM0,38400n8 earlyprintk"; |
19 | }; | 19 | }; |
20 | 20 | ||
21 | syscon { | ||
22 | /* AP system controller registers */ | ||
23 | reg = <0x11000000 0x100>; | ||
24 | }; | ||
25 | |||
21 | timer0: timer@13000000 { | 26 | timer0: timer@13000000 { |
22 | compatible = "arm,integrator-timer"; | 27 | compatible = "arm,integrator-timer"; |
23 | }; | 28 | }; |
diff --git a/arch/arm/boot/dts/integratorcp.dts b/arch/arm/boot/dts/integratorcp.dts index 2dd5e4e48481..8b119399025a 100644 --- a/arch/arm/boot/dts/integratorcp.dts +++ b/arch/arm/boot/dts/integratorcp.dts | |||
@@ -18,6 +18,11 @@ | |||
18 | bootargs = "root=/dev/ram0 console=ttyAMA0,38400n8 earlyprintk"; | 18 | bootargs = "root=/dev/ram0 console=ttyAMA0,38400n8 earlyprintk"; |
19 | }; | 19 | }; |
20 | 20 | ||
21 | cpcon { | ||
22 | /* CP controller registers */ | ||
23 | reg = <0xcb000000 0x100>; | ||
24 | }; | ||
25 | |||
21 | timer0: timer@13000000 { | 26 | timer0: timer@13000000 { |
22 | compatible = "arm,sp804", "arm,primecell"; | 27 | compatible = "arm,sp804", "arm,primecell"; |
23 | }; | 28 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-6281.dtsi b/arch/arm/boot/dts/kirkwood-6281.dtsi new file mode 100644 index 000000000000..d6c9d65cbaeb --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-6281.dtsi | |||
@@ -0,0 +1,44 @@ | |||
1 | / { | ||
2 | ocp@f1000000 { | ||
3 | pinctrl: pinctrl@10000 { | ||
4 | compatible = "marvell,88f6281-pinctrl"; | ||
5 | reg = <0x10000 0x20>; | ||
6 | |||
7 | pmx_nand: pmx-nand { | ||
8 | marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3", | ||
9 | "mpp4", "mpp5", "mpp18", | ||
10 | "mpp19"; | ||
11 | marvell,function = "nand"; | ||
12 | }; | ||
13 | pmx_sata0: pmx-sata0 { | ||
14 | marvell,pins = "mpp5", "mpp21", "mpp23"; | ||
15 | marvell,function = "sata0"; | ||
16 | }; | ||
17 | pmx_sata1: pmx-sata1 { | ||
18 | marvell,pins = "mpp4", "mpp20", "mpp22"; | ||
19 | marvell,function = "sata1"; | ||
20 | }; | ||
21 | pmx_spi: pmx-spi { | ||
22 | marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3"; | ||
23 | marvell,function = "spi"; | ||
24 | }; | ||
25 | pmx_twsi0: pmx-twsi0 { | ||
26 | marvell,pins = "mpp8", "mpp9"; | ||
27 | marvell,function = "twsi0"; | ||
28 | }; | ||
29 | pmx_uart0: pmx-uart0 { | ||
30 | marvell,pins = "mpp10", "mpp11"; | ||
31 | marvell,function = "uart0"; | ||
32 | }; | ||
33 | pmx_uart1: pmx-uart1 { | ||
34 | marvell,pins = "mpp13", "mpp14"; | ||
35 | marvell,function = "uart1"; | ||
36 | }; | ||
37 | pmx_sdio: pmx-sdio { | ||
38 | marvell,pins = "mpp12", "mpp13", "mpp14", | ||
39 | "mpp15", "mpp16", "mpp17"; | ||
40 | marvell,function = "sdio"; | ||
41 | }; | ||
42 | }; | ||
43 | }; | ||
44 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-6282.dtsi b/arch/arm/boot/dts/kirkwood-6282.dtsi new file mode 100644 index 000000000000..9ae2004d5675 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-6282.dtsi | |||
@@ -0,0 +1,45 @@ | |||
1 | / { | ||
2 | ocp@f1000000 { | ||
3 | |||
4 | pinctrl: pinctrl@10000 { | ||
5 | compatible = "marvell,88f6282-pinctrl"; | ||
6 | reg = <0x10000 0x20>; | ||
7 | |||
8 | pmx_sata0: pmx-sata0 { | ||
9 | marvell,pins = "mpp5", "mpp21", "mpp23"; | ||
10 | marvell,function = "sata0"; | ||
11 | }; | ||
12 | pmx_sata1: pmx-sata1 { | ||
13 | marvell,pins = "mpp4", "mpp20", "mpp22"; | ||
14 | marvell,function = "sata1"; | ||
15 | }; | ||
16 | pmx_spi: pmx-spi { | ||
17 | marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3"; | ||
18 | marvell,function = "spi"; | ||
19 | }; | ||
20 | pmx_twsi0: pmx-twsi0 { | ||
21 | marvell,pins = "mpp8", "mpp9"; | ||
22 | marvell,function = "twsi0"; | ||
23 | }; | ||
24 | pmx_uart0: pmx-uart0 { | ||
25 | marvell,pins = "mpp10", "mpp11"; | ||
26 | marvell,function = "uart0"; | ||
27 | }; | ||
28 | |||
29 | pmx_uart1: pmx-uart1 { | ||
30 | marvell,pins = "mpp13", "mpp14"; | ||
31 | marvell,function = "uart1"; | ||
32 | }; | ||
33 | }; | ||
34 | |||
35 | i2c@11100 { | ||
36 | compatible = "marvell,mv64xxx-i2c"; | ||
37 | reg = <0x11100 0x20>; | ||
38 | #address-cells = <1>; | ||
39 | #size-cells = <0>; | ||
40 | interrupts = <32>; | ||
41 | clock-frequency = <100000>; | ||
42 | status = "disabled"; | ||
43 | }; | ||
44 | }; | ||
45 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-98dx4122.dtsi b/arch/arm/boot/dts/kirkwood-98dx4122.dtsi new file mode 100644 index 000000000000..3271e4c8ea07 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-98dx4122.dtsi | |||
@@ -0,0 +1,31 @@ | |||
1 | / { | ||
2 | ocp@f1000000 { | ||
3 | pinctrl: pinctrl@10000 { | ||
4 | compatible = "marvell,98dx4122-pinctrl"; | ||
5 | reg = <0x10000 0x20>; | ||
6 | |||
7 | pmx_nand: pmx-nand { | ||
8 | marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3", | ||
9 | "mpp4", "mpp5", "mpp18", | ||
10 | "mpp19"; | ||
11 | marvell,function = "nand"; | ||
12 | }; | ||
13 | pmx_spi: pmx-spi { | ||
14 | marvell,pins = "mpp0", "mpp1", "mpp2", "mpp3"; | ||
15 | marvell,function = "spi"; | ||
16 | }; | ||
17 | pmx_twsi0: pmx-twsi0 { | ||
18 | marvell,pins = "mpp8", "mpp9"; | ||
19 | marvell,function = "twsi0"; | ||
20 | }; | ||
21 | pmx_uart0: pmx-uart0 { | ||
22 | marvell,pins = "mpp10", "mpp11"; | ||
23 | marvell,function = "uart0"; | ||
24 | }; | ||
25 | pmx_uart1: pmx-uart1 { | ||
26 | marvell,pins = "mpp13", "mpp14"; | ||
27 | marvell,function = "uart1"; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
31 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-dnskw.dtsi b/arch/arm/boot/dts/kirkwood-dnskw.dtsi index 9b32d0272825..6875ac00c174 100644 --- a/arch/arm/boot/dts/kirkwood-dnskw.dtsi +++ b/arch/arm/boot/dts/kirkwood-dnskw.dtsi | |||
@@ -1,4 +1,5 @@ | |||
1 | /include/ "kirkwood.dtsi" | 1 | /include/ "kirkwood.dtsi" |
2 | /include/ "kirkwood-6281.dtsi" | ||
2 | 3 | ||
3 | / { | 4 | / { |
4 | model = "D-Link DNS NASes (kirkwood-based)"; | 5 | model = "D-Link DNS NASes (kirkwood-based)"; |
@@ -35,7 +36,116 @@ | |||
35 | 6000 2>; | 36 | 6000 2>; |
36 | }; | 37 | }; |
37 | 38 | ||
39 | gpio_poweroff { | ||
40 | compatible = "gpio-poweroff"; | ||
41 | gpios = <&gpio1 4 0>; | ||
42 | }; | ||
43 | |||
38 | ocp@f1000000 { | 44 | ocp@f1000000 { |
45 | pinctrl: pinctrl@10000 { | ||
46 | |||
47 | pinctrl-0 = < &pmx_nand &pmx_uart1 | ||
48 | &pmx_sata0 &pmx_sata1 | ||
49 | &pmx_led_power | ||
50 | &pmx_led_red_right_hdd | ||
51 | &pmx_led_red_left_hdd | ||
52 | &pmx_led_red_usb_325 | ||
53 | &pmx_button_power | ||
54 | &pmx_led_red_usb_320 | ||
55 | &pmx_power_off &pmx_power_back_on | ||
56 | &pmx_power_sata0 &pmx_power_sata1 | ||
57 | &pmx_present_sata0 &pmx_present_sata1 | ||
58 | &pmx_led_white_usb &pmx_fan_tacho | ||
59 | &pmx_fan_high_speed &pmx_fan_low_speed | ||
60 | &pmx_button_unmount &pmx_button_reset | ||
61 | &pmx_temp_alarm >; | ||
62 | pinctrl-names = "default"; | ||
63 | |||
64 | pmx_sata0: pmx-sata0 { | ||
65 | marvell,pins = "mpp20"; | ||
66 | marvell,function = "sata1"; | ||
67 | }; | ||
68 | pmx_sata1: pmx-sata1 { | ||
69 | marvell,pins = "mpp21"; | ||
70 | marvell,function = "sata0"; | ||
71 | }; | ||
72 | pmx_led_power: pmx-led-power { | ||
73 | marvell,pins = "mpp26"; | ||
74 | marvell,function = "gpio"; | ||
75 | }; | ||
76 | pmx_led_red_right_hdd: pmx-led-red-right-hdd { | ||
77 | marvell,pins = "mpp27"; | ||
78 | marvell,function = "gpio"; | ||
79 | }; | ||
80 | pmx_led_red_left_hdd: pmx-led-red-left-hdd { | ||
81 | marvell,pins = "mpp28"; | ||
82 | marvell,function = "gpio"; | ||
83 | }; | ||
84 | pmx_led_red_usb_325: pmx-led-red-usb-325 { | ||
85 | marvell,pins = "mpp29"; | ||
86 | marvell,function = "gpio"; | ||
87 | }; | ||
88 | pmx_button_power: pmx-button-power { | ||
89 | marvell,pins = "mpp34"; | ||
90 | marvell,function = "gpio"; | ||
91 | }; | ||
92 | pmx_led_red_usb_320: pmx-led-red-usb-320 { | ||
93 | marvell,pins = "mpp35"; | ||
94 | marvell,function = "gpio"; | ||
95 | }; | ||
96 | pmx_power_off: pmx-power-off { | ||
97 | marvell,pins = "mpp36"; | ||
98 | marvell,function = "gpio"; | ||
99 | }; | ||
100 | pmx_power_back_on: pmx-power-back-on { | ||
101 | marvell,pins = "mpp37"; | ||
102 | marvell,function = "gpio"; | ||
103 | }; | ||
104 | pmx_power_sata0: pmx-power-sata0 { | ||
105 | marvell,pins = "mpp39"; | ||
106 | marvell,function = "gpio"; | ||
107 | }; | ||
108 | pmx_power_sata1: pmx-power-sata1 { | ||
109 | marvell,pins = "mpp40"; | ||
110 | marvell,function = "gpio"; | ||
111 | }; | ||
112 | pmx_present_sata0: pmx-present-sata0 { | ||
113 | marvell,pins = "mpp41"; | ||
114 | marvell,function = "gpio"; | ||
115 | }; | ||
116 | pmx_present_sata1: pmx-present-sata1 { | ||
117 | marvell,pins = "mpp42"; | ||
118 | marvell,function = "gpio"; | ||
119 | }; | ||
120 | pmx_led_white_usb: pmx-led-white-usb { | ||
121 | marvell,pins = "mpp43"; | ||
122 | marvell,function = "gpio"; | ||
123 | }; | ||
124 | pmx_fan_tacho: pmx-fan-tacho { | ||
125 | marvell,pins = "mpp44"; | ||
126 | marvell,function = "gpio"; | ||
127 | }; | ||
128 | pmx_fan_high_speed: pmx-fan-high-speed { | ||
129 | marvell,pins = "mpp45"; | ||
130 | marvell,function = "gpio"; | ||
131 | }; | ||
132 | pmx_fan_low_speed: pmx-fan-low-speed { | ||
133 | marvell,pins = "mpp46"; | ||
134 | marvell,function = "gpio"; | ||
135 | }; | ||
136 | pmx_button_unmount: pmx-button-unmount { | ||
137 | marvell,pins = "mpp47"; | ||
138 | marvell,function = "gpio"; | ||
139 | }; | ||
140 | pmx_button_reset: pmx-button-reset { | ||
141 | marvell,pins = "mpp48"; | ||
142 | marvell,function = "gpio"; | ||
143 | }; | ||
144 | pmx_temp_alarm: pmx-temp-alarm { | ||
145 | marvell,pins = "mpp49"; | ||
146 | marvell,function = "gpio"; | ||
147 | }; | ||
148 | }; | ||
39 | sata@80000 { | 149 | sata@80000 { |
40 | status = "okay"; | 150 | status = "okay"; |
41 | nr-ports = <2>; | 151 | nr-ports = <2>; |
@@ -43,6 +153,7 @@ | |||
43 | 153 | ||
44 | nand@3000000 { | 154 | nand@3000000 { |
45 | status = "okay"; | 155 | status = "okay"; |
156 | chip-delay = <35>; | ||
46 | 157 | ||
47 | partition@0 { | 158 | partition@0 { |
48 | label = "u-boot"; | 159 | label = "u-boot"; |
@@ -76,4 +187,33 @@ | |||
76 | }; | 187 | }; |
77 | }; | 188 | }; |
78 | }; | 189 | }; |
190 | |||
191 | regulators { | ||
192 | compatible = "simple-bus"; | ||
193 | #address-cells = <1>; | ||
194 | #size-cells = <0>; | ||
195 | |||
196 | sata0_power: regulator@1 { | ||
197 | compatible = "regulator-fixed"; | ||
198 | reg = <1>; | ||
199 | regulator-name = "SATA0 Power"; | ||
200 | regulator-min-microvolt = <5000000>; | ||
201 | regulator-max-microvolt = <5000000>; | ||
202 | enable-active-high; | ||
203 | regulator-always-on; | ||
204 | regulator-boot-on; | ||
205 | gpio = <&gpio1 7 0>; | ||
206 | }; | ||
207 | sata1_power: regulator@2 { | ||
208 | compatible = "regulator-fixed"; | ||
209 | reg = <2>; | ||
210 | regulator-name = "SATA1 Power"; | ||
211 | regulator-min-microvolt = <5000000>; | ||
212 | regulator-max-microvolt = <5000000>; | ||
213 | enable-active-high; | ||
214 | regulator-always-on; | ||
215 | regulator-boot-on; | ||
216 | gpio = <&gpio1 8 0>; | ||
217 | }; | ||
218 | }; | ||
79 | }; | 219 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-dockstar.dts b/arch/arm/boot/dts/kirkwood-dockstar.dts index 08a582414b88..2e3dd34e21a5 100644 --- a/arch/arm/boot/dts/kirkwood-dockstar.dts +++ b/arch/arm/boot/dts/kirkwood-dockstar.dts | |||
@@ -1,6 +1,7 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood.dtsi" | 3 | /include/ "kirkwood.dtsi" |
4 | /include/ "kirkwood-6281.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | model = "Seagate FreeAgent Dockstar"; | 7 | model = "Seagate FreeAgent Dockstar"; |
@@ -16,6 +17,25 @@ | |||
16 | }; | 17 | }; |
17 | 18 | ||
18 | ocp@f1000000 { | 19 | ocp@f1000000 { |
20 | pinctrl: pinctrl@10000 { | ||
21 | |||
22 | pinctrl-0 = < &pmx_usb_power_enable | ||
23 | &pmx_led_green &pmx_led_orange >; | ||
24 | pinctrl-names = "default"; | ||
25 | |||
26 | pmx_usb_power_enable: pmx-usb-power-enable { | ||
27 | marvell,pins = "mpp29"; | ||
28 | marvell,function = "gpio"; | ||
29 | }; | ||
30 | pmx_led_green: pmx-led-green { | ||
31 | marvell,pins = "mpp46"; | ||
32 | marvell,function = "gpio"; | ||
33 | }; | ||
34 | pmx_led_orange: pmx-led-orange { | ||
35 | marvell,pins = "mpp47"; | ||
36 | marvell,function = "gpio"; | ||
37 | }; | ||
38 | }; | ||
19 | serial@12000 { | 39 | serial@12000 { |
20 | clock-frequency = <200000000>; | 40 | clock-frequency = <200000000>; |
21 | status = "ok"; | 41 | status = "ok"; |
@@ -54,4 +74,21 @@ | |||
54 | gpios = <&gpio1 15 1>; | 74 | gpios = <&gpio1 15 1>; |
55 | }; | 75 | }; |
56 | }; | 76 | }; |
77 | regulators { | ||
78 | compatible = "simple-bus"; | ||
79 | #address-cells = <1>; | ||
80 | #size-cells = <0>; | ||
81 | |||
82 | usb_power: regulator@1 { | ||
83 | compatible = "regulator-fixed"; | ||
84 | reg = <1>; | ||
85 | regulator-name = "USB Power"; | ||
86 | regulator-min-microvolt = <5000000>; | ||
87 | regulator-max-microvolt = <5000000>; | ||
88 | enable-active-high; | ||
89 | regulator-always-on; | ||
90 | regulator-boot-on; | ||
91 | gpio = <&gpio0 29 0>; | ||
92 | }; | ||
93 | }; | ||
57 | }; | 94 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-dreamplug.dts b/arch/arm/boot/dts/kirkwood-dreamplug.dts index 26e281fbf6bc..f2d386c95b07 100644 --- a/arch/arm/boot/dts/kirkwood-dreamplug.dts +++ b/arch/arm/boot/dts/kirkwood-dreamplug.dts | |||
@@ -1,6 +1,7 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood.dtsi" | 3 | /include/ "kirkwood.dtsi" |
4 | /include/ "kirkwood-6281.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | model = "Globalscale Technologies Dreamplug"; | 7 | model = "Globalscale Technologies Dreamplug"; |
@@ -16,6 +17,26 @@ | |||
16 | }; | 17 | }; |
17 | 18 | ||
18 | ocp@f1000000 { | 19 | ocp@f1000000 { |
20 | pinctrl: pinctrl@10000 { | ||
21 | |||
22 | pinctrl-0 = < &pmx_spi | ||
23 | &pmx_led_bluetooth &pmx_led_wifi | ||
24 | &pmx_led_wifi_ap >; | ||
25 | pinctrl-names = "default"; | ||
26 | |||
27 | pmx_led_bluetooth: pmx-led-bluetooth { | ||
28 | marvell,pins = "mpp47"; | ||
29 | marvell,function = "gpio"; | ||
30 | }; | ||
31 | pmx_led_wifi: pmx-led-wifi { | ||
32 | marvell,pins = "mpp48"; | ||
33 | marvell,function = "gpio"; | ||
34 | }; | ||
35 | pmx_led_wifi_ap: pmx-led-wifi-ap { | ||
36 | marvell,pins = "mpp49"; | ||
37 | marvell,function = "gpio"; | ||
38 | }; | ||
39 | }; | ||
19 | serial@12000 { | 40 | serial@12000 { |
20 | clock-frequency = <200000000>; | 41 | clock-frequency = <200000000>; |
21 | status = "ok"; | 42 | status = "ok"; |
diff --git a/arch/arm/boot/dts/kirkwood-goflexnet.dts b/arch/arm/boot/dts/kirkwood-goflexnet.dts index 7c8238fbb6f9..1b133e0c566e 100644 --- a/arch/arm/boot/dts/kirkwood-goflexnet.dts +++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts | |||
@@ -1,6 +1,7 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood.dtsi" | 3 | /include/ "kirkwood.dtsi" |
4 | /include/ "kirkwood-6281.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | model = "Seagate GoFlex Net"; | 7 | model = "Seagate GoFlex Net"; |
@@ -16,6 +17,61 @@ | |||
16 | }; | 17 | }; |
17 | 18 | ||
18 | ocp@f1000000 { | 19 | ocp@f1000000 { |
20 | pinctrl: pinctrl@10000 { | ||
21 | |||
22 | pinctrl-0 = < &pmx_usb_power_enable &pmx_led_orange | ||
23 | &pmx_led_left_cap_0 &pmx_led_left_cap_1 | ||
24 | &pmx_led_left_cap_2 &pmx_led_left_cap_3 | ||
25 | &pmx_led_right_cap_0 &pmx_led_right_cap_1 | ||
26 | &pmx_led_right_cap_2 &pmx_led_right_cap_3 | ||
27 | >; | ||
28 | pinctrl-names = "default"; | ||
29 | |||
30 | pmx_usb_power_enable: pmx-usb-power-enable { | ||
31 | marvell,pins = "mpp29"; | ||
32 | marvell,function = "gpio"; | ||
33 | }; | ||
34 | pmx_led_right_cap_0: pmx-led_right_cap_0 { | ||
35 | marvell,pins = "mpp38"; | ||
36 | marvell,function = "gpio"; | ||
37 | }; | ||
38 | pmx_led_right_cap_1: pmx-led_right_cap_1 { | ||
39 | marvell,pins = "mpp39"; | ||
40 | marvell,function = "gpio"; | ||
41 | }; | ||
42 | pmx_led_right_cap_2: pmx-led_right_cap_2 { | ||
43 | marvell,pins = "mpp40"; | ||
44 | marvell,function = "gpio"; | ||
45 | }; | ||
46 | pmx_led_right_cap_3: pmx-led_right_cap_3 { | ||
47 | marvell,pins = "mpp41"; | ||
48 | marvell,function = "gpio"; | ||
49 | }; | ||
50 | pmx_led_left_cap_0: pmx-led_left_cap_0 { | ||
51 | marvell,pins = "mpp42"; | ||
52 | marvell,function = "gpio"; | ||
53 | }; | ||
54 | pmx_led_left_cap_1: pmx-led_left_cap_1 { | ||
55 | marvell,pins = "mpp43"; | ||
56 | marvell,function = "gpio"; | ||
57 | }; | ||
58 | pmx_led_left_cap_2: pmx-led_left_cap_2 { | ||
59 | marvell,pins = "mpp44"; | ||
60 | marvell,function = "gpio"; | ||
61 | }; | ||
62 | pmx_led_left_cap_3: pmx-led_left_cap_3 { | ||
63 | marvell,pins = "mpp45"; | ||
64 | marvell,function = "gpio"; | ||
65 | }; | ||
66 | pmx_led_green: pmx-led_green { | ||
67 | marvell,pins = "mpp46"; | ||
68 | marvell,function = "gpio"; | ||
69 | }; | ||
70 | pmx_led_orange: pmx-led_orange { | ||
71 | marvell,pins = "mpp47"; | ||
72 | marvell,function = "gpio"; | ||
73 | }; | ||
74 | }; | ||
19 | serial@12000 { | 75 | serial@12000 { |
20 | clock-frequency = <200000000>; | 76 | clock-frequency = <200000000>; |
21 | status = "ok"; | 77 | status = "ok"; |
@@ -96,4 +152,21 @@ | |||
96 | gpios = <&gpio1 9 0>; | 152 | gpios = <&gpio1 9 0>; |
97 | }; | 153 | }; |
98 | }; | 154 | }; |
155 | regulators { | ||
156 | compatible = "simple-bus"; | ||
157 | #address-cells = <1>; | ||
158 | #size-cells = <0>; | ||
159 | |||
160 | usb_power: regulator@1 { | ||
161 | compatible = "regulator-fixed"; | ||
162 | reg = <1>; | ||
163 | regulator-name = "USB Power"; | ||
164 | regulator-min-microvolt = <5000000>; | ||
165 | regulator-max-microvolt = <5000000>; | ||
166 | enable-active-high; | ||
167 | regulator-always-on; | ||
168 | regulator-boot-on; | ||
169 | gpio = <&gpio0 29 0>; | ||
170 | }; | ||
171 | }; | ||
99 | }; | 172 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-ib62x0.dts b/arch/arm/boot/dts/kirkwood-ib62x0.dts index 66794ed75ff1..71902da33d63 100644 --- a/arch/arm/boot/dts/kirkwood-ib62x0.dts +++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts | |||
@@ -1,6 +1,7 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood.dtsi" | 3 | /include/ "kirkwood.dtsi" |
4 | /include/ "kirkwood-6281.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | model = "RaidSonic ICY BOX IB-NAS62x0 (Rev B)"; | 7 | model = "RaidSonic ICY BOX IB-NAS62x0 (Rev B)"; |
@@ -16,6 +17,39 @@ | |||
16 | }; | 17 | }; |
17 | 18 | ||
18 | ocp@f1000000 { | 19 | ocp@f1000000 { |
20 | pinctrl: pinctrl@10000 { | ||
21 | |||
22 | pinctrl-0 = < &pmx_nand | ||
23 | &pmx_led_os_red &pmx_power_off | ||
24 | &pmx_led_os_green &pmx_led_usb_transfer | ||
25 | &pmx_button_reset &pmx_button_usb_copy >; | ||
26 | pinctrl-names = "default"; | ||
27 | |||
28 | pmx_led_os_red: pmx-led-os-red { | ||
29 | marvell,pins = "mpp22"; | ||
30 | marvell,function = "gpio"; | ||
31 | }; | ||
32 | pmx_power_off: pmx-power-off { | ||
33 | marvell,pins = "mpp24"; | ||
34 | marvell,function = "gpio"; | ||
35 | }; | ||
36 | pmx_led_os_green: pmx-led-os-green { | ||
37 | marvell,pins = "mpp25"; | ||
38 | marvell,function = "gpio"; | ||
39 | }; | ||
40 | pmx_led_usb_transfer: pmx-led-usb-transfer { | ||
41 | marvell,pins = "mpp27"; | ||
42 | marvell,function = "gpio"; | ||
43 | }; | ||
44 | pmx_button_reset: pmx-button-reset { | ||
45 | marvell,pins = "mpp28"; | ||
46 | marvell,function = "gpio"; | ||
47 | }; | ||
48 | pmx_button_usb_copy: pmx-button-usb-copy { | ||
49 | marvell,pins = "mpp29"; | ||
50 | marvell,function = "gpio"; | ||
51 | }; | ||
52 | }; | ||
19 | serial@12000 { | 53 | serial@12000 { |
20 | clock-frequency = <200000000>; | 54 | clock-frequency = <200000000>; |
21 | status = "okay"; | 55 | status = "okay"; |
@@ -79,4 +113,10 @@ | |||
79 | gpios = <&gpio0 27 0>; | 113 | gpios = <&gpio0 27 0>; |
80 | }; | 114 | }; |
81 | }; | 115 | }; |
116 | gpio_poweroff { | ||
117 | compatible = "gpio-poweroff"; | ||
118 | gpios = <&gpio0 24 0>; | ||
119 | }; | ||
120 | |||
121 | |||
82 | }; | 122 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-iconnect.dts b/arch/arm/boot/dts/kirkwood-iconnect.dts index d97cd9d4753e..504f16be8b54 100644 --- a/arch/arm/boot/dts/kirkwood-iconnect.dts +++ b/arch/arm/boot/dts/kirkwood-iconnect.dts | |||
@@ -1,6 +1,7 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood.dtsi" | 3 | /include/ "kirkwood.dtsi" |
4 | /include/ "kirkwood-6281.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | model = "Iomega Iconnect"; | 7 | model = "Iomega Iconnect"; |
@@ -18,6 +19,56 @@ | |||
18 | }; | 19 | }; |
19 | 20 | ||
20 | ocp@f1000000 { | 21 | ocp@f1000000 { |
22 | pinctrl: pinctrl@10000 { | ||
23 | |||
24 | pinctrl-0 = < &pmx_gpio_12 &pmx_gpio_35 | ||
25 | &pmx_gpio_41 &pmx_gpio_42 | ||
26 | &pmx_gpio_43 &pmx_gpio_44 | ||
27 | &pmx_gpio_45 &pmx_gpio_46 | ||
28 | &pmx_gpio_47 &pmx_gpio_48 >; | ||
29 | pinctrl-names = "default"; | ||
30 | |||
31 | pmx_gpio_12: pmx-gpio-12 { | ||
32 | marvell,pins = "mpp12"; | ||
33 | marvell,function = "gpio"; | ||
34 | }; | ||
35 | pmx_gpio_35: pmx-gpio-35 { | ||
36 | marvell,pins = "mpp35"; | ||
37 | marvell,function = "gpio"; | ||
38 | }; | ||
39 | pmx_gpio_41: pmx-gpio-41 { | ||
40 | marvell,pins = "mpp41"; | ||
41 | marvell,function = "gpio"; | ||
42 | }; | ||
43 | pmx_gpio_42: pmx-gpio-42 { | ||
44 | marvell,pins = "mpp42"; | ||
45 | marvell,function = "gpio"; | ||
46 | }; | ||
47 | pmx_gpio_43: pmx-gpio-43 { | ||
48 | marvell,pins = "mpp43"; | ||
49 | marvell,function = "gpio"; | ||
50 | }; | ||
51 | pmx_gpio_44: pmx-gpio-44 { | ||
52 | marvell,pins = "mpp44"; | ||
53 | marvell,function = "gpio"; | ||
54 | }; | ||
55 | pmx_gpio_45: pmx-gpio-45 { | ||
56 | marvell,pins = "mpp45"; | ||
57 | marvell,function = "gpio"; | ||
58 | }; | ||
59 | pmx_gpio_46: pmx-gpio-46 { | ||
60 | marvell,pins = "mpp46"; | ||
61 | marvell,function = "gpio"; | ||
62 | }; | ||
63 | pmx_gpio_47: pmx-gpio-47 { | ||
64 | marvell,pins = "mpp47"; | ||
65 | marvell,function = "gpio"; | ||
66 | }; | ||
67 | pmx_gpio_48: pmx-gpio-48 { | ||
68 | marvell,pins = "mpp48"; | ||
69 | marvell,function = "gpio"; | ||
70 | }; | ||
71 | }; | ||
21 | i2c@11000 { | 72 | i2c@11000 { |
22 | status = "okay"; | 73 | status = "okay"; |
23 | 74 | ||
diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts index 865aeec40a26..6cae4599c4b3 100644 --- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | |||
@@ -1,6 +1,7 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood.dtsi" | 3 | /include/ "kirkwood.dtsi" |
4 | /include/ "kirkwood-6281.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | model = "Iomega StorCenter ix2-200"; | 7 | model = "Iomega StorCenter ix2-200"; |
@@ -16,6 +17,94 @@ | |||
16 | }; | 17 | }; |
17 | 18 | ||
18 | ocp@f1000000 { | 19 | ocp@f1000000 { |
20 | pinctrl: pinctrl@10000 { | ||
21 | |||
22 | pinctrl-0 = < &pmx_button_reset &pmx_button_power | ||
23 | &pmx_led_backup &pmx_led_power | ||
24 | &pmx_button_otb &pmx_led_rebuild | ||
25 | &pmx_led_health | ||
26 | &pmx_led_sata_brt_ctrl_1 | ||
27 | &pmx_led_sata_brt_ctrl_2 | ||
28 | &pmx_led_backup_brt_ctrl_1 | ||
29 | &pmx_led_backup_brt_ctrl_2 | ||
30 | &pmx_led_power_brt_ctrl_1 | ||
31 | &pmx_led_power_brt_ctrl_2 | ||
32 | &pmx_led_health_brt_ctrl_1 | ||
33 | &pmx_led_health_brt_ctrl_2 | ||
34 | &pmx_led_rebuild_brt_ctrl_1 | ||
35 | &pmx_led_rebuild_brt_ctrl_2 >; | ||
36 | pinctrl-names = "default"; | ||
37 | |||
38 | pmx_button_reset: pmx-button-reset { | ||
39 | marvell,pins = "mpp12"; | ||
40 | marvell,function = "gpio"; | ||
41 | }; | ||
42 | pmx_button_power: pmx-button-power { | ||
43 | marvell,pins = "mpp14"; | ||
44 | marvell,function = "gpio"; | ||
45 | }; | ||
46 | pmx_led_backup: pmx-led-backup { | ||
47 | marvell,pins = "mpp15"; | ||
48 | marvell,function = "gpio"; | ||
49 | }; | ||
50 | pmx_led_power: pmx-led-power { | ||
51 | marvell,pins = "mpp16"; | ||
52 | marvell,function = "gpio"; | ||
53 | }; | ||
54 | pmx_button_otb: pmx-button-otb { | ||
55 | marvell,pins = "mpp35"; | ||
56 | marvell,function = "gpio"; | ||
57 | }; | ||
58 | pmx_led_rebuild: pmx-led-rebuild { | ||
59 | marvell,pins = "mpp36"; | ||
60 | marvell,function = "gpio"; | ||
61 | }; | ||
62 | pmx_led_health: pmx-led_health { | ||
63 | marvell,pins = "mpp37"; | ||
64 | marvell,function = "gpio"; | ||
65 | }; | ||
66 | pmx_led_sata_brt_ctrl_1: pmx-led-sata-brt-ctrl-1 { | ||
67 | marvell,pins = "mpp38"; | ||
68 | marvell,function = "gpio"; | ||
69 | }; | ||
70 | pmx_led_sata_brt_ctrl_2: pmx-led-sata-brt-ctrl-2 { | ||
71 | marvell,pins = "mpp39"; | ||
72 | marvell,function = "gpio"; | ||
73 | }; | ||
74 | pmx_led_backup_brt_ctrl_1: pmx-led-backup-brt-ctrl-1 { | ||
75 | marvell,pins = "mpp40"; | ||
76 | marvell,function = "gpio"; | ||
77 | }; | ||
78 | pmx_led_backup_brt_ctrl_2: pmx-led-backup-brt-ctrl-2 { | ||
79 | marvell,pins = "mpp41"; | ||
80 | marvell,function = "gpio"; | ||
81 | }; | ||
82 | pmx_led_power_brt_ctrl_1: pmx-led-power-brt-ctrl-1 { | ||
83 | marvell,pins = "mpp42"; | ||
84 | marvell,function = "gpio"; | ||
85 | }; | ||
86 | pmx_led_power_brt_ctrl_2: pmx-led-power-brt-ctrl-2 { | ||
87 | marvell,pins = "mpp43"; | ||
88 | marvell,function = "gpio"; | ||
89 | }; | ||
90 | pmx_led_health_brt_ctrl_1: pmx-led-health-brt-ctrl-1 { | ||
91 | marvell,pins = "mpp44"; | ||
92 | marvell,function = "gpio"; | ||
93 | }; | ||
94 | pmx_led_health_brt_ctrl_2: pmx-led-health-brt-ctrl-2 { | ||
95 | marvell,pins = "mpp45"; | ||
96 | marvell,function = "gpio"; | ||
97 | }; | ||
98 | pmx_led_rebuild_brt_ctrl_1: pmx-led-rebuild-brt-ctrl-1 { | ||
99 | marvell,pins = "mpp44"; | ||
100 | marvell,function = "gpio"; | ||
101 | }; | ||
102 | pmx_led_rebuild_brt_ctrl_2: pmx-led-rebuild-brt-ctrl-2 { | ||
103 | marvell,pins = "mpp45"; | ||
104 | marvell,function = "gpio"; | ||
105 | }; | ||
106 | |||
107 | }; | ||
19 | i2c@11000 { | 108 | i2c@11000 { |
20 | status = "okay"; | 109 | status = "okay"; |
21 | 110 | ||
diff --git a/arch/arm/boot/dts/kirkwood-is2.dts b/arch/arm/boot/dts/kirkwood-is2.dts new file mode 100644 index 000000000000..0bdce0ad7277 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-is2.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood-ns2-common.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "LaCie Internet Space v2"; | ||
7 | compatible = "lacie,inetspace_v2", "marvell,kirkwood-88f6281", "marvell,kirkwood"; | ||
8 | |||
9 | memory { | ||
10 | device_type = "memory"; | ||
11 | reg = <0x00000000 0x8000000>; | ||
12 | }; | ||
13 | |||
14 | ocp@f1000000 { | ||
15 | sata@80000 { | ||
16 | status = "okay"; | ||
17 | nr-ports = <1>; | ||
18 | }; | ||
19 | }; | ||
20 | |||
21 | ns2-leds { | ||
22 | compatible = "lacie,ns2-leds"; | ||
23 | |||
24 | blue-sata { | ||
25 | label = "ns2:blue:sata"; | ||
26 | slow-gpio = <&gpio0 29 0>; | ||
27 | cmd-gpio = <&gpio0 30 0>; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts index 75bdb93fed26..8db3123ac80f 100644 --- a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts +++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts | |||
@@ -1,6 +1,7 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood.dtsi" | 3 | /include/ "kirkwood.dtsi" |
4 | /include/ "kirkwood-98dx4122.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
6 | model = "Keymile Kirkwood Reference Design"; | 7 | model = "Keymile Kirkwood Reference Design"; |
@@ -16,6 +17,22 @@ | |||
16 | }; | 17 | }; |
17 | 18 | ||
18 | ocp@f1000000 { | 19 | ocp@f1000000 { |
20 | pinctrl: pinctrl@10000 { | ||
21 | |||
22 | pinctrl-0 = < &pmx_nand &pmx_i2c_gpio_sda | ||
23 | &pmx_i2c_gpio_scl >; | ||
24 | pinctrl-names = "default"; | ||
25 | |||
26 | pmx_i2c_gpio_sda: pmx-gpio-sda { | ||
27 | marvell,pins = "mpp8"; | ||
28 | marvell,function = "gpio"; | ||
29 | }; | ||
30 | pmx_i2c_gpio_scl: pmx-gpio-scl { | ||
31 | marvell,pins = "mpp9"; | ||
32 | marvell,function = "gpio"; | ||
33 | }; | ||
34 | }; | ||
35 | |||
19 | serial@12000 { | 36 | serial@12000 { |
20 | clock-frequency = <200000000>; | 37 | clock-frequency = <200000000>; |
21 | status = "ok"; | 38 | status = "ok"; |
diff --git a/arch/arm/boot/dts/kirkwood-lsxl.dtsi b/arch/arm/boot/dts/kirkwood-lsxl.dtsi index 8fea375c734d..37d45c4f88fb 100644 --- a/arch/arm/boot/dts/kirkwood-lsxl.dtsi +++ b/arch/arm/boot/dts/kirkwood-lsxl.dtsi | |||
@@ -1,4 +1,5 @@ | |||
1 | /include/ "kirkwood.dtsi" | 1 | /include/ "kirkwood.dtsi" |
2 | /include/ "kirkwood-6281.dtsi" | ||
2 | 3 | ||
3 | / { | 4 | / { |
4 | chosen { | 5 | chosen { |
@@ -6,6 +7,71 @@ | |||
6 | }; | 7 | }; |
7 | 8 | ||
8 | ocp@f1000000 { | 9 | ocp@f1000000 { |
10 | pinctrl: pinctrl@10000 { | ||
11 | |||
12 | pinctrl-0 = < &pmx_power_hdd &pmx_usb_vbus | ||
13 | &pmx_fan_low &pmx_fan_high | ||
14 | &pmx_led_function_red &pmx_led_alarm | ||
15 | &pmx_led_info &pmx_led_power | ||
16 | &pmx_fan_lock &pmx_button_function | ||
17 | &pmx_power_switch &pmx_power_auto_switch | ||
18 | &pmx_led_function_blue >; | ||
19 | pinctrl-names = "default"; | ||
20 | |||
21 | pmx_power_hdd: pmx-power-hdd { | ||
22 | marvell,pins = "mpp10"; | ||
23 | marvell,function = "gpo"; | ||
24 | }; | ||
25 | pmx_usb_vbus: pmx-usb-vbus { | ||
26 | marvell,pins = "mpp11"; | ||
27 | marvell,function = "gpio"; | ||
28 | }; | ||
29 | pmx_fan_high: pmx-fan-high { | ||
30 | marvell,pins = "mpp18"; | ||
31 | marvell,function = "gpo"; | ||
32 | }; | ||
33 | pmx_fan_low: pmx-fan-low { | ||
34 | marvell,pins = "mpp19"; | ||
35 | marvell,function = "gpo"; | ||
36 | }; | ||
37 | pmx_led_function_blue: pmx-led-function-blue { | ||
38 | marvell,pins = "mpp36"; | ||
39 | marvell,function = "gpio"; | ||
40 | }; | ||
41 | pmx_led_alarm: pmx-led-alarm { | ||
42 | marvell,pins = "mpp37"; | ||
43 | marvell,function = "gpio"; | ||
44 | }; | ||
45 | pmx_led_info: pmx-led-info { | ||
46 | marvell,pins = "mpp38"; | ||
47 | marvell,function = "gpio"; | ||
48 | }; | ||
49 | pmx_led_power: pmx-led-power { | ||
50 | marvell,pins = "mpp39"; | ||
51 | marvell,function = "gpio"; | ||
52 | }; | ||
53 | pmx_fan_lock: pmx-fan-lock { | ||
54 | marvell,pins = "mpp40"; | ||
55 | marvell,function = "gpio"; | ||
56 | }; | ||
57 | pmx_button_function: pmx-button-function { | ||
58 | marvell,pins = "mpp41"; | ||
59 | marvell,function = "gpio"; | ||
60 | }; | ||
61 | pmx_power_switch: pmx-power-switch { | ||
62 | marvell,pins = "mpp42"; | ||
63 | marvell,function = "gpio"; | ||
64 | }; | ||
65 | pmx_power_auto_switch: pmx-power-auto-switch { | ||
66 | marvell,pins = "mpp43"; | ||
67 | marvell,function = "gpio"; | ||
68 | }; | ||
69 | pmx_led_function_red: pmx-led-function_red { | ||
70 | marvell,pins = "mpp48"; | ||
71 | marvell,function = "gpio"; | ||
72 | }; | ||
73 | |||
74 | }; | ||
9 | sata@80000 { | 75 | sata@80000 { |
10 | status = "okay"; | 76 | status = "okay"; |
11 | nr-ports = <1>; | 77 | nr-ports = <1>; |
@@ -94,4 +160,44 @@ | |||
94 | gpios = <&gpio1 16 1>; | 160 | gpios = <&gpio1 16 1>; |
95 | }; | 161 | }; |
96 | }; | 162 | }; |
163 | |||
164 | gpio_fan { | ||
165 | compatible = "gpio-fan"; | ||
166 | gpios = <&gpio0 19 1 | ||
167 | &gpio0 18 1>; | ||
168 | gpio-fan,speed-map = <0 3 | ||
169 | 1500 2 | ||
170 | 3250 1 | ||
171 | 5000 0>; | ||
172 | alarm-gpios = <&gpio1 8 0>; | ||
173 | }; | ||
174 | |||
175 | regulators { | ||
176 | compatible = "simple-bus"; | ||
177 | #address-cells = <1>; | ||
178 | #size-cells = <0>; | ||
179 | |||
180 | usb_power: regulator@1 { | ||
181 | compatible = "regulator-fixed"; | ||
182 | reg = <1>; | ||
183 | regulator-name = "USB Power"; | ||
184 | regulator-min-microvolt = <5000000>; | ||
185 | regulator-max-microvolt = <5000000>; | ||
186 | enable-active-high; | ||
187 | regulator-always-on; | ||
188 | regulator-boot-on; | ||
189 | gpio = <&gpio0 11 0>; | ||
190 | }; | ||
191 | hdd_power: regulator@2 { | ||
192 | compatible = "regulator-fixed"; | ||
193 | reg = <2>; | ||
194 | regulator-name = "HDD Power"; | ||
195 | regulator-min-microvolt = <5000000>; | ||
196 | regulator-max-microvolt = <5000000>; | ||
197 | enable-active-high; | ||
198 | regulator-always-on; | ||
199 | regulator-boot-on; | ||
200 | gpio = <&gpio0 10 0>; | ||
201 | }; | ||
202 | }; | ||
97 | }; | 203 | }; |
diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts new file mode 100644 index 000000000000..262c65403760 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts | |||
@@ -0,0 +1,178 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood.dtsi" | ||
4 | /include/ "kirkwood-6281.dtsi" | ||
5 | |||
6 | / { | ||
7 | model = "MPL CEC4"; | ||
8 | compatible = "mpl,cec4-10", "mpl,cec4", "marvell,kirkwood-88f6281", "marvell,kirkwood"; | ||
9 | |||
10 | memory { | ||
11 | device_type = "memory"; | ||
12 | reg = <0x00000000 0x20000000>; | ||
13 | }; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
17 | }; | ||
18 | |||
19 | ocp@f1000000 { | ||
20 | pinctrl: pinctrl@10000 { | ||
21 | |||
22 | pinctrl-0 = < &pmx_nand &pmx_uart0 | ||
23 | &pmx_led_health &pmx_sdio | ||
24 | &pmx_sata0 &pmx_sata1 | ||
25 | &pmx_led_user1o | ||
26 | &pmx_led_user1g &pmx_led_user0o | ||
27 | &pmx_led_user0g &pmx_led_misc | ||
28 | &pmx_sdio_cd | ||
29 | >; | ||
30 | pinctrl-names = "default"; | ||
31 | |||
32 | pmx_led_health: pmx-led-health { | ||
33 | marvell,pins = "mpp7"; | ||
34 | marvell,function = "gpo"; | ||
35 | }; | ||
36 | |||
37 | pmx_sata1: pmx-sata1 { | ||
38 | marvell,pins = "mpp34"; | ||
39 | marvell,function = "sata1"; | ||
40 | }; | ||
41 | |||
42 | pmx_sata0: pmx-sata0 { | ||
43 | marvell,pins = "mpp35"; | ||
44 | marvell,function = "sata0"; | ||
45 | }; | ||
46 | |||
47 | pmx_led_user1o: pmx-led-user1o { | ||
48 | marvell,pins = "mpp40"; | ||
49 | marvell,function = "gpio"; | ||
50 | }; | ||
51 | |||
52 | pmx_led_user1g: pmx-led-user1g { | ||
53 | marvell,pins = "mpp41"; | ||
54 | marvell,function = "gpio"; | ||
55 | }; | ||
56 | |||
57 | pmx_led_user0o: pmx-led-user0o { | ||
58 | marvell,pins = "mpp44"; | ||
59 | marvell,function = "gpio"; | ||
60 | }; | ||
61 | |||
62 | pmx_led_user0g: pmx-led-user0g { | ||
63 | marvell,pins = "mpp45"; | ||
64 | marvell,function = "gpio"; | ||
65 | }; | ||
66 | |||
67 | pmx_led_misc: pmx-led-misc { | ||
68 | marvell,pins = "mpp46"; | ||
69 | marvell,function = "gpio"; | ||
70 | }; | ||
71 | |||
72 | pmx_sdio_cd: pmx-sdio-cd { | ||
73 | marvell,pins = "mpp47"; | ||
74 | marvell,function = "gpio"; | ||
75 | }; | ||
76 | }; | ||
77 | |||
78 | i2c@11000 { | ||
79 | status = "okay"; | ||
80 | |||
81 | rtc@51 { | ||
82 | compatible = "nxp,pcf8563"; | ||
83 | reg = <0x51>; | ||
84 | }; | ||
85 | |||
86 | eeprom@57 { | ||
87 | compatible = "atmel,24c02"; | ||
88 | reg = <0x57>; | ||
89 | }; | ||
90 | |||
91 | }; | ||
92 | |||
93 | serial@12000 { | ||
94 | clock-frequency = <200000000>; | ||
95 | status = "ok"; | ||
96 | }; | ||
97 | |||
98 | nand@3000000 { | ||
99 | status = "okay"; | ||
100 | |||
101 | partition@0 { | ||
102 | label = "uboot"; | ||
103 | reg = <0x0000000 0x100000>; | ||
104 | }; | ||
105 | |||
106 | partition@100000 { | ||
107 | label = "env"; | ||
108 | reg = <0x100000 0x80000>; | ||
109 | }; | ||
110 | |||
111 | partition@180000 { | ||
112 | label = "fdt"; | ||
113 | reg = <0x180000 0x80000>; | ||
114 | }; | ||
115 | |||
116 | partition@200000 { | ||
117 | label = "kernel"; | ||
118 | reg = <0x200000 0x400000>; | ||
119 | }; | ||
120 | |||
121 | partition@600000 { | ||
122 | label = "rootfs"; | ||
123 | reg = <0x600000 0x1fa00000>; | ||
124 | }; | ||
125 | }; | ||
126 | |||
127 | rtc@10300 { | ||
128 | status = "disabled"; | ||
129 | }; | ||
130 | |||
131 | sata@80000 { | ||
132 | nr-ports = <2>; | ||
133 | status = "okay"; | ||
134 | |||
135 | }; | ||
136 | }; | ||
137 | |||
138 | gpio-leds { | ||
139 | compatible = "gpio-leds"; | ||
140 | |||
141 | health { | ||
142 | label = "status:green:health"; | ||
143 | gpios = <&gpio0 7 1>; | ||
144 | }; | ||
145 | |||
146 | user1o { | ||
147 | label = "user1:orange"; | ||
148 | gpios = <&gpio1 8 1>; | ||
149 | default-state = "on"; | ||
150 | }; | ||
151 | |||
152 | user1g { | ||
153 | label = "user1:green"; | ||
154 | gpios = <&gpio1 9 1>; | ||
155 | default-state = "on"; | ||
156 | }; | ||
157 | |||
158 | user0o { | ||
159 | label = "user0:orange"; | ||
160 | gpios = <&gpio1 12 1>; | ||
161 | default-state = "on"; | ||
162 | }; | ||
163 | |||
164 | user0g { | ||
165 | label = "user0:green"; | ||
166 | gpios = <&gpio1 13 1>; | ||
167 | default-state = "on"; | ||
168 | }; | ||
169 | |||
170 | misc { | ||
171 | label = "status:orange:misc"; | ||
172 | gpios = <&gpio1 14 1>; | ||
173 | default-state = "on"; | ||
174 | }; | ||
175 | |||
176 | }; | ||
177 | }; | ||
178 | |||
diff --git a/arch/arm/boot/dts/kirkwood-ns2-common.dtsi b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi new file mode 100644 index 000000000000..9bc6785ad228 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-ns2-common.dtsi | |||
@@ -0,0 +1,63 @@ | |||
1 | /include/ "kirkwood.dtsi" | ||
2 | |||
3 | / { | ||
4 | chosen { | ||
5 | bootargs = "console=ttyS0,115200n8"; | ||
6 | }; | ||
7 | |||
8 | ocp@f1000000 { | ||
9 | serial@12000 { | ||
10 | clock-frequency = <166666667>; | ||
11 | status = "okay"; | ||
12 | }; | ||
13 | |||
14 | spi@10600 { | ||
15 | status = "okay"; | ||
16 | |||
17 | flash@0 { | ||
18 | #address-cells = <1>; | ||
19 | #size-cells = <1>; | ||
20 | compatible = "mx25l4005a"; | ||
21 | reg = <0>; | ||
22 | spi-max-frequency = <20000000>; | ||
23 | mode = <0>; | ||
24 | |||
25 | partition@0 { | ||
26 | reg = <0x0 0x80000>; | ||
27 | label = "u-boot"; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
31 | |||
32 | i2c@11000 { | ||
33 | status = "okay"; | ||
34 | |||
35 | eeprom@50 { | ||
36 | compatible = "at,24c04"; | ||
37 | pagesize = <16>; | ||
38 | reg = <0x50>; | ||
39 | }; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | gpio_keys { | ||
44 | compatible = "gpio-keys"; | ||
45 | #address-cells = <1>; | ||
46 | #size-cells = <0>; | ||
47 | |||
48 | button@1 { | ||
49 | label = "Power push button"; | ||
50 | linux,code = <116>; | ||
51 | gpios = <&gpio1 0 0>; | ||
52 | }; | ||
53 | }; | ||
54 | |||
55 | gpio-leds { | ||
56 | compatible = "gpio-leds"; | ||
57 | |||
58 | red-fail { | ||
59 | label = "ns2:red:fail"; | ||
60 | gpios = <&gpio0 12 0>; | ||
61 | }; | ||
62 | }; | ||
63 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-ns2.dts b/arch/arm/boot/dts/kirkwood-ns2.dts new file mode 100644 index 000000000000..f2d36ecf36d8 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-ns2.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood-ns2-common.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "LaCie Network Space v2"; | ||
7 | compatible = "lacie,netspace_v2", "marvell,kirkwood-88f6281", "marvell,kirkwood"; | ||
8 | |||
9 | memory { | ||
10 | device_type = "memory"; | ||
11 | reg = <0x00000000 0x10000000>; | ||
12 | }; | ||
13 | |||
14 | ocp@f1000000 { | ||
15 | sata@80000 { | ||
16 | status = "okay"; | ||
17 | nr-ports = <1>; | ||
18 | }; | ||
19 | }; | ||
20 | |||
21 | ns2-leds { | ||
22 | compatible = "lacie,ns2-leds"; | ||
23 | |||
24 | blue-sata { | ||
25 | label = "ns2:blue:sata"; | ||
26 | slow-gpio = <&gpio0 29 0>; | ||
27 | cmd-gpio = <&gpio0 30 0>; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-ns2lite.dts b/arch/arm/boot/dts/kirkwood-ns2lite.dts new file mode 100644 index 000000000000..b02eb4ea1bb4 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-ns2lite.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood-ns2-common.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "LaCie Network Space Lite v2"; | ||
7 | compatible = "lacie,netspace_lite_v2", "marvell,kirkwood-88f6192", "marvell,kirkwood"; | ||
8 | |||
9 | memory { | ||
10 | device_type = "memory"; | ||
11 | reg = <0x00000000 0x8000000>; | ||
12 | }; | ||
13 | |||
14 | ocp@f1000000 { | ||
15 | sata@80000 { | ||
16 | status = "okay"; | ||
17 | nr-ports = <1>; | ||
18 | }; | ||
19 | }; | ||
20 | |||
21 | gpio-leds { | ||
22 | compatible = "gpio-leds"; | ||
23 | |||
24 | blue-sata { | ||
25 | label = "ns2:blue:sata"; | ||
26 | gpios = <&gpio0 30 1>; | ||
27 | linux,default-trigger = "default-on"; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-ns2max.dts b/arch/arm/boot/dts/kirkwood-ns2max.dts new file mode 100644 index 000000000000..bcec4d6cada7 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-ns2max.dts | |||
@@ -0,0 +1,49 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood-ns2-common.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "LaCie Network Space Max v2"; | ||
7 | compatible = "lacie,netspace_max_v2", "marvell,kirkwood-88f6281", "marvell,kirkwood"; | ||
8 | |||
9 | memory { | ||
10 | device_type = "memory"; | ||
11 | reg = <0x00000000 0x10000000>; | ||
12 | }; | ||
13 | |||
14 | ocp@f1000000 { | ||
15 | sata@80000 { | ||
16 | status = "okay"; | ||
17 | nr-ports = <2>; | ||
18 | }; | ||
19 | }; | ||
20 | |||
21 | gpio_fan { | ||
22 | compatible = "gpio-fan"; | ||
23 | gpios = <&gpio0 22 1 | ||
24 | &gpio0 7 1 | ||
25 | &gpio1 1 1 | ||
26 | &gpio0 23 1>; | ||
27 | gpio-fan,speed-map = | ||
28 | < 0 0 | ||
29 | 1500 15 | ||
30 | 1700 14 | ||
31 | 1800 13 | ||
32 | 2100 12 | ||
33 | 3100 11 | ||
34 | 3300 10 | ||
35 | 4300 9 | ||
36 | 5500 8>; | ||
37 | alarm-gpios = <&gpio0 25 1>; | ||
38 | }; | ||
39 | |||
40 | ns2-leds { | ||
41 | compatible = "lacie,ns2-leds"; | ||
42 | |||
43 | blue-sata { | ||
44 | label = "ns2:blue:sata"; | ||
45 | slow-gpio = <&gpio0 29 0>; | ||
46 | cmd-gpio = <&gpio0 30 0>; | ||
47 | }; | ||
48 | }; | ||
49 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-ns2mini.dts b/arch/arm/boot/dts/kirkwood-ns2mini.dts new file mode 100644 index 000000000000..b79f5eb25589 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-ns2mini.dts | |||
@@ -0,0 +1,49 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood-ns2-common.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "LaCie Network Space Mini v2"; | ||
7 | compatible = "lacie,netspace_mini_v2", "marvell,kirkwood-88f6192", "marvell,kirkwood"; | ||
8 | |||
9 | memory { | ||
10 | device_type = "memory"; | ||
11 | reg = <0x00000000 0x8000000>; | ||
12 | }; | ||
13 | |||
14 | ocp@f1000000 { | ||
15 | sata@80000 { | ||
16 | status = "okay"; | ||
17 | nr-ports = <1>; | ||
18 | }; | ||
19 | }; | ||
20 | |||
21 | gpio_fan { | ||
22 | compatible = "gpio-fan"; | ||
23 | gpios = <&gpio0 22 1 | ||
24 | &gpio0 7 1 | ||
25 | &gpio1 1 1 | ||
26 | &gpio0 23 1>; | ||
27 | gpio-fan,speed-map = | ||
28 | < 0 0 | ||
29 | 3000 15 | ||
30 | 3180 14 | ||
31 | 4140 13 | ||
32 | 4570 12 | ||
33 | 6760 11 | ||
34 | 7140 10 | ||
35 | 7980 9 | ||
36 | 9200 8>; | ||
37 | alarm-gpios = <&gpio0 25 1>; | ||
38 | }; | ||
39 | |||
40 | ns2-leds { | ||
41 | compatible = "lacie,ns2-leds"; | ||
42 | |||
43 | blue-sata { | ||
44 | label = "ns2:blue:sata"; | ||
45 | slow-gpio = <&gpio0 29 0>; | ||
46 | cmd-gpio = <&gpio0 30 0>; | ||
47 | }; | ||
48 | }; | ||
49 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-nsa310.dts b/arch/arm/boot/dts/kirkwood-nsa310.dts new file mode 100644 index 000000000000..5509f9659546 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-nsa310.dts | |||
@@ -0,0 +1,144 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "ZyXEL NSA310"; | ||
7 | compatible = "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood"; | ||
8 | |||
9 | memory { | ||
10 | device_type = "memory"; | ||
11 | reg = <0x00000000 0x10000000>; | ||
12 | }; | ||
13 | |||
14 | chosen { | ||
15 | bootargs = "console=ttyS0,115200"; | ||
16 | }; | ||
17 | |||
18 | ocp@f1000000 { | ||
19 | |||
20 | serial@12000 { | ||
21 | clock-frequency = <200000000>; | ||
22 | status = "ok"; | ||
23 | }; | ||
24 | |||
25 | sata@80000 { | ||
26 | status = "okay"; | ||
27 | nr-ports = <2>; | ||
28 | }; | ||
29 | |||
30 | i2c@11000 { | ||
31 | status = "okay"; | ||
32 | }; | ||
33 | |||
34 | nand@3000000 { | ||
35 | status = "okay"; | ||
36 | chip-delay = <35>; | ||
37 | |||
38 | partition@0 { | ||
39 | label = "uboot"; | ||
40 | reg = <0x0000000 0x0100000>; | ||
41 | read-only; | ||
42 | }; | ||
43 | partition@100000 { | ||
44 | label = "uboot_env"; | ||
45 | reg = <0x0100000 0x0080000>; | ||
46 | }; | ||
47 | partition@180000 { | ||
48 | label = "key_store"; | ||
49 | reg = <0x0180000 0x0080000>; | ||
50 | }; | ||
51 | partition@200000 { | ||
52 | label = "info"; | ||
53 | reg = <0x0200000 0x0080000>; | ||
54 | }; | ||
55 | partition@280000 { | ||
56 | label = "etc"; | ||
57 | reg = <0x0280000 0x0a00000>; | ||
58 | }; | ||
59 | partition@c80000 { | ||
60 | label = "kernel_1"; | ||
61 | reg = <0x0c80000 0x0a00000>; | ||
62 | }; | ||
63 | partition@1680000 { | ||
64 | label = "rootfs1"; | ||
65 | reg = <0x1680000 0x2fc0000>; | ||
66 | }; | ||
67 | partition@4640000 { | ||
68 | label = "kernel_2"; | ||
69 | reg = <0x4640000 0x0a00000>; | ||
70 | }; | ||
71 | partition@5040000 { | ||
72 | label = "rootfs2"; | ||
73 | reg = <0x5040000 0x2fc0000>; | ||
74 | }; | ||
75 | }; | ||
76 | }; | ||
77 | |||
78 | gpio_keys { | ||
79 | compatible = "gpio-keys"; | ||
80 | #address-cells = <1>; | ||
81 | #size-cells = <0>; | ||
82 | |||
83 | button@1 { | ||
84 | label = "Power Button"; | ||
85 | linux,code = <116>; | ||
86 | gpios = <&gpio1 14 0>; | ||
87 | }; | ||
88 | button@2 { | ||
89 | label = "Copy Button"; | ||
90 | linux,code = <133>; | ||
91 | gpios = <&gpio1 5 1>; | ||
92 | }; | ||
93 | button@3 { | ||
94 | label = "Reset Button"; | ||
95 | linux,code = <0x198>; | ||
96 | gpios = <&gpio1 4 1>; | ||
97 | }; | ||
98 | }; | ||
99 | |||
100 | gpio-leds { | ||
101 | compatible = "gpio-leds"; | ||
102 | |||
103 | green-sys { | ||
104 | label = "nsa310:green:sys"; | ||
105 | gpios = <&gpio0 28 0>; | ||
106 | }; | ||
107 | red-sys { | ||
108 | label = "nsa310:red:sys"; | ||
109 | gpios = <&gpio0 29 0>; | ||
110 | }; | ||
111 | green-hdd { | ||
112 | label = "nsa310:green:hdd"; | ||
113 | gpios = <&gpio1 9 0>; | ||
114 | }; | ||
115 | red-hdd { | ||
116 | label = "nsa310:red:hdd"; | ||
117 | gpios = <&gpio1 10 0>; | ||
118 | }; | ||
119 | green-esata { | ||
120 | label = "nsa310:green:esata"; | ||
121 | gpios = <&gpio0 12 0>; | ||
122 | }; | ||
123 | red-esata { | ||
124 | label = "nsa310:red:esata"; | ||
125 | gpios = <&gpio0 13 0>; | ||
126 | }; | ||
127 | green-usb { | ||
128 | label = "nsa310:green:usb"; | ||
129 | gpios = <&gpio0 15 0>; | ||
130 | }; | ||
131 | red-usb { | ||
132 | label = "nsa310:red:usb"; | ||
133 | gpios = <&gpio0 16 0>; | ||
134 | }; | ||
135 | green-copy { | ||
136 | label = "nsa310:green:copy"; | ||
137 | gpios = <&gpio1 7 0>; | ||
138 | }; | ||
139 | red-copy { | ||
140 | label = "nsa310:red:copy"; | ||
141 | gpios = <&gpio1 8 0>; | ||
142 | }; | ||
143 | }; | ||
144 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts new file mode 100644 index 000000000000..49d3d74d4d38 --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts | |||
@@ -0,0 +1,98 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood.dtsi" | ||
4 | /include/ "kirkwood-6282.dtsi" | ||
5 | |||
6 | / { | ||
7 | model = "Plat'Home OpenBlocksA6"; | ||
8 | compatible = "plathome,openblocks-a6", "marvell,kirkwood-88f6283", "marvell,kirkwood"; | ||
9 | |||
10 | memory { | ||
11 | device_type = "memory"; | ||
12 | reg = <0x00000000 0x20000000>; | ||
13 | }; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
17 | }; | ||
18 | |||
19 | ocp@f1000000 { | ||
20 | serial@12000 { | ||
21 | clock-frequency = <200000000>; | ||
22 | status = "ok"; | ||
23 | }; | ||
24 | |||
25 | serial@12100 { | ||
26 | clock-frequency = <200000000>; | ||
27 | status = "ok"; | ||
28 | }; | ||
29 | |||
30 | nand@3000000 { | ||
31 | chip-delay = <25>; | ||
32 | status = "okay"; | ||
33 | |||
34 | partition@0 { | ||
35 | label = "uboot"; | ||
36 | reg = <0x0 0x90000>; | ||
37 | }; | ||
38 | |||
39 | partition@90000 { | ||
40 | label = "env"; | ||
41 | reg = <0x90000 0x44000>; | ||
42 | }; | ||
43 | |||
44 | partition@d4000 { | ||
45 | label = "test"; | ||
46 | reg = <0xd4000 0x24000>; | ||
47 | }; | ||
48 | |||
49 | partition@f4000 { | ||
50 | label = "conf"; | ||
51 | reg = <0xf4000 0x400000>; | ||
52 | }; | ||
53 | |||
54 | partition@4f4000 { | ||
55 | label = "linux"; | ||
56 | reg = <0x4f4000 0x1d20000>; | ||
57 | }; | ||
58 | |||
59 | partition@2214000 { | ||
60 | label = "user"; | ||
61 | reg = <0x2214000 0x1dec000>; | ||
62 | }; | ||
63 | }; | ||
64 | |||
65 | sata@80000 { | ||
66 | nr-ports = <1>; | ||
67 | status = "okay"; | ||
68 | }; | ||
69 | |||
70 | i2c@11100 { | ||
71 | status = "okay"; | ||
72 | |||
73 | s35390a: s35390a@30 { | ||
74 | compatible = "s35390a"; | ||
75 | reg = <0x30>; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
79 | |||
80 | gpio-leds { | ||
81 | compatible = "gpio-leds"; | ||
82 | |||
83 | led-red { | ||
84 | label = "obsa6:red:stat"; | ||
85 | gpios = <&gpio1 9 1>; | ||
86 | }; | ||
87 | |||
88 | led-green { | ||
89 | label = "obsa6:green:stat"; | ||
90 | gpios = <&gpio1 10 1>; | ||
91 | }; | ||
92 | |||
93 | led-yellow { | ||
94 | label = "obsa6:yellow:stat"; | ||
95 | gpios = <&gpio1 11 1>; | ||
96 | }; | ||
97 | }; | ||
98 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-topkick.dts b/arch/arm/boot/dts/kirkwood-topkick.dts new file mode 100644 index 000000000000..c0de5a7f660d --- /dev/null +++ b/arch/arm/boot/dts/kirkwood-topkick.dts | |||
@@ -0,0 +1,85 @@ | |||
1 | /dts-v1/; | ||
2 | |||
3 | /include/ "kirkwood.dtsi" | ||
4 | |||
5 | / { | ||
6 | model = "Univeral Scientific Industrial Co. Topkick-1281P2"; | ||
7 | compatible = "usi,topkick-1281P2", "usi,topkick", "marvell,kirkwood-88f6282", "marvell,kirkwood"; | ||
8 | |||
9 | memory { | ||
10 | device_type = "memory"; | ||
11 | reg = <0x00000000 0x10000000>; | ||
12 | }; | ||
13 | |||
14 | chosen { | ||
15 | bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
16 | }; | ||
17 | |||
18 | ocp@f1000000 { | ||
19 | serial@12000 { | ||
20 | clock-frequency = <200000000>; | ||
21 | status = "ok"; | ||
22 | }; | ||
23 | |||
24 | nand@3000000 { | ||
25 | status = "okay"; | ||
26 | |||
27 | partition@0 { | ||
28 | label = "u-boot"; | ||
29 | reg = <0x0000000 0x180000>; | ||
30 | }; | ||
31 | |||
32 | partition@180000 { | ||
33 | label = "u-boot env"; | ||
34 | reg = <0x0180000 0x20000>; | ||
35 | }; | ||
36 | |||
37 | partition@200000 { | ||
38 | label = "uImage"; | ||
39 | reg = <0x0200000 0x600000>; | ||
40 | }; | ||
41 | |||
42 | partition@800000 { | ||
43 | label = "uInitrd"; | ||
44 | reg = <0x0800000 0x1000000>; | ||
45 | }; | ||
46 | |||
47 | partition@1800000 { | ||
48 | label = "rootfs"; | ||
49 | reg = <0x1800000 0xe800000>; | ||
50 | }; | ||
51 | }; | ||
52 | |||
53 | sata@80000 { | ||
54 | status = "okay"; | ||
55 | nr-ports = <1>; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | gpio-leds { | ||
60 | compatible = "gpio-leds"; | ||
61 | |||
62 | disk { | ||
63 | label = "topkick:yellow:disk"; | ||
64 | gpios = <&gpio0 21 1>; | ||
65 | linux,default-trigger = "ide-disk"; | ||
66 | }; | ||
67 | system2 { | ||
68 | label = "topkick:red:system"; | ||
69 | gpios = <&gpio1 5 1>; | ||
70 | }; | ||
71 | system { | ||
72 | label = "topkick:blue:system"; | ||
73 | gpios = <&gpio1 6 1>; | ||
74 | default-state = "on"; | ||
75 | }; | ||
76 | wifi { | ||
77 | label = "topkick:green:wifi"; | ||
78 | gpios = <&gpio1 7 1>; | ||
79 | }; | ||
80 | wifi2 { | ||
81 | label = "topkick:yellow:wifi"; | ||
82 | gpios = <&gpio1 16 1>; | ||
83 | }; | ||
84 | }; | ||
85 | }; | ||
diff --git a/arch/arm/boot/dts/kirkwood-ts219-6281.dts b/arch/arm/boot/dts/kirkwood-ts219-6281.dts index ccbf32757800..8295c833887f 100644 --- a/arch/arm/boot/dts/kirkwood-ts219-6281.dts +++ b/arch/arm/boot/dts/kirkwood-ts219-6281.dts | |||
@@ -1,8 +1,39 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood-ts219.dtsi" | 3 | /include/ "kirkwood-ts219.dtsi" |
4 | /include/ "kirkwood-6281.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
7 | ocp@f1000000 { | ||
8 | pinctrl: pinctrl@10000 { | ||
9 | |||
10 | pinctrl-0 = < &pmx_uart0 &pmx_uart1 &pmx_spi | ||
11 | &pmx_twsi0 &pmx_sata0 &pmx_sata1 | ||
12 | &pmx_ram_size &pmx_reset_button | ||
13 | &pmx_USB_copy_button &pmx_board_id>; | ||
14 | pinctrl-names = "default"; | ||
15 | |||
16 | pmx_ram_size: pmx-ram-size { | ||
17 | /* RAM: 0: 256 MB, 1: 512 MB */ | ||
18 | marvell,pins = "mpp36"; | ||
19 | marvell,function = "gpio"; | ||
20 | }; | ||
21 | pmx_USB_copy_button: pmx-USB-copy-button { | ||
22 | marvell,pins = "mpp15"; | ||
23 | marvell,function = "gpio"; | ||
24 | }; | ||
25 | pmx_reset_button: pmx-reset-button { | ||
26 | marvell,pins = "mpp16"; | ||
27 | marvell,function = "gpio"; | ||
28 | }; | ||
29 | pmx_board_id: pmx-board-id { | ||
30 | /* 0: TS-11x, 1: TS-21x */ | ||
31 | marvell,pins = "mpp44"; | ||
32 | marvell,function = "gpio"; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | |||
6 | gpio_keys { | 37 | gpio_keys { |
7 | compatible = "gpio-keys"; | 38 | compatible = "gpio-keys"; |
8 | #address-cells = <1>; | 39 | #address-cells = <1>; |
diff --git a/arch/arm/boot/dts/kirkwood-ts219-6282.dts b/arch/arm/boot/dts/kirkwood-ts219-6282.dts index fbe9932161a1..df3f95dfba33 100644 --- a/arch/arm/boot/dts/kirkwood-ts219-6282.dts +++ b/arch/arm/boot/dts/kirkwood-ts219-6282.dts | |||
@@ -1,8 +1,39 @@ | |||
1 | /dts-v1/; | 1 | /dts-v1/; |
2 | 2 | ||
3 | /include/ "kirkwood-ts219.dtsi" | 3 | /include/ "kirkwood-ts219.dtsi" |
4 | /include/ "kirkwood-6282.dtsi" | ||
4 | 5 | ||
5 | / { | 6 | / { |
7 | ocp@f1000000 { | ||
8 | pinctrl: pinctrl@10000 { | ||
9 | |||
10 | pinctrl-0 = < &pmx_uart0 &pmx_uart1 &pmx_spi | ||
11 | &pmx_twsi0 &pmx_sata0 &pmx_sata1 | ||
12 | &pmx_ram_size &pmx_reset_button | ||
13 | &pmx_USB_copy_button &pmx_board_id>; | ||
14 | pinctrl-names = "default"; | ||
15 | |||
16 | pmx_ram_size: pmx-ram-size { | ||
17 | /* RAM: 0: 256 MB, 1: 512 MB */ | ||
18 | marvell,pins = "mpp36"; | ||
19 | marvell,function = "gpio"; | ||
20 | }; | ||
21 | pmx_reset_button: pmx-reset-button { | ||
22 | marvell,pins = "mpp37"; | ||
23 | marvell,function = "gpio"; | ||
24 | }; | ||
25 | pmx_USB_copy_button: pmx-USB-copy-button { | ||
26 | marvell,pins = "mpp43"; | ||
27 | marvell,function = "gpio"; | ||
28 | }; | ||
29 | pmx_board_id: pmx-board-id { | ||
30 | /* 0: TS-11x, 1: TS-21x */ | ||
31 | marvell,pins = "mpp44"; | ||
32 | marvell,function = "gpio"; | ||
33 | }; | ||
34 | }; | ||
35 | }; | ||
36 | |||
6 | gpio_keys { | 37 | gpio_keys { |
7 | compatible = "gpio-keys"; | 38 | compatible = "gpio-keys"; |
8 | #address-cells = <1>; | 39 | #address-cells = <1>; |
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi index 4e5b8154a5be..a990c30f0a26 100644 --- a/arch/arm/boot/dts/kirkwood.dtsi +++ b/arch/arm/boot/dts/kirkwood.dtsi | |||
@@ -4,6 +4,10 @@ | |||
4 | compatible = "marvell,kirkwood"; | 4 | compatible = "marvell,kirkwood"; |
5 | interrupt-parent = <&intc>; | 5 | interrupt-parent = <&intc>; |
6 | 6 | ||
7 | aliases { | ||
8 | gpio0 = &gpio0; | ||
9 | gpio1 = &gpio1; | ||
10 | }; | ||
7 | intc: interrupt-controller { | 11 | intc: interrupt-controller { |
8 | compatible = "marvell,orion-intc", "marvell,intc"; | 12 | compatible = "marvell,orion-intc", "marvell,intc"; |
9 | interrupt-controller; | 13 | interrupt-controller; |
@@ -24,7 +28,8 @@ | |||
24 | #gpio-cells = <2>; | 28 | #gpio-cells = <2>; |
25 | gpio-controller; | 29 | gpio-controller; |
26 | reg = <0x10100 0x40>; | 30 | reg = <0x10100 0x40>; |
27 | ngpio = <32>; | 31 | ngpios = <32>; |
32 | interrupt-controller; | ||
28 | interrupts = <35>, <36>, <37>, <38>; | 33 | interrupts = <35>, <36>, <37>, <38>; |
29 | }; | 34 | }; |
30 | 35 | ||
@@ -33,7 +38,8 @@ | |||
33 | #gpio-cells = <2>; | 38 | #gpio-cells = <2>; |
34 | gpio-controller; | 39 | gpio-controller; |
35 | reg = <0x10140 0x40>; | 40 | reg = <0x10140 0x40>; |
36 | ngpio = <18>; | 41 | ngpios = <18>; |
42 | interrupt-controller; | ||
37 | interrupts = <39>, <40>, <41>; | 43 | interrupts = <39>, <40>, <41>; |
38 | }; | 44 | }; |
39 | 45 | ||
@@ -77,6 +83,13 @@ | |||
77 | status = "okay"; | 83 | status = "okay"; |
78 | }; | 84 | }; |
79 | 85 | ||
86 | ehci@50000 { | ||
87 | compatible = "marvell,orion-ehci"; | ||
88 | reg = <0x50000 0x1000>; | ||
89 | interrupts = <19>; | ||
90 | status = "okay"; | ||
91 | }; | ||
92 | |||
80 | sata@80000 { | 93 | sata@80000 { |
81 | compatible = "marvell,orion-sata"; | 94 | compatible = "marvell,orion-sata"; |
82 | reg = <0x80000 0x5000>; | 95 | reg = <0x80000 0x5000>; |
diff --git a/arch/arm/boot/dts/lpc32xx.dtsi b/arch/arm/boot/dts/lpc32xx.dtsi index e5ffe960dbf3..1582f484a867 100644 --- a/arch/arm/boot/dts/lpc32xx.dtsi +++ b/arch/arm/boot/dts/lpc32xx.dtsi | |||
@@ -182,6 +182,13 @@ | |||
182 | pnx,timeout = <0x64>; | 182 | pnx,timeout = <0x64>; |
183 | }; | 183 | }; |
184 | 184 | ||
185 | mpwm: mpwm@400E8000 { | ||
186 | compatible = "nxp,lpc3220-motor-pwm"; | ||
187 | reg = <0x400E8000 0x78>; | ||
188 | status = "disabled"; | ||
189 | #pwm-cells = <2>; | ||
190 | }; | ||
191 | |||
185 | i2cusb: i2c@31020300 { | 192 | i2cusb: i2c@31020300 { |
186 | compatible = "nxp,pnx-i2c"; | 193 | compatible = "nxp,pnx-i2c"; |
187 | reg = <0x31020300 0x100>; | 194 | reg = <0x31020300 0x100>; |
diff --git a/arch/arm/boot/dts/omap2.dtsi b/arch/arm/boot/dts/omap2.dtsi index 581cb081cb0f..761c4b69b25b 100644 --- a/arch/arm/boot/dts/omap2.dtsi +++ b/arch/arm/boot/dts/omap2.dtsi | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | / { | 13 | / { |
14 | compatible = "ti,omap2430", "ti,omap2420", "ti,omap2"; | 14 | compatible = "ti,omap2430", "ti,omap2420", "ti,omap2"; |
15 | interrupt-parent = <&intc>; | ||
15 | 16 | ||
16 | aliases { | 17 | aliases { |
17 | serial0 = &uart1; | 18 | serial0 = &uart1; |
@@ -65,5 +66,90 @@ | |||
65 | ti,hwmods = "uart3"; | 66 | ti,hwmods = "uart3"; |
66 | clock-frequency = <48000000>; | 67 | clock-frequency = <48000000>; |
67 | }; | 68 | }; |
69 | |||
70 | timer2: timer@4802a000 { | ||
71 | compatible = "ti,omap2-timer"; | ||
72 | reg = <0x4802a000 0x400>; | ||
73 | interrupts = <38>; | ||
74 | ti,hwmods = "timer2"; | ||
75 | }; | ||
76 | |||
77 | timer3: timer@48078000 { | ||
78 | compatible = "ti,omap2-timer"; | ||
79 | reg = <0x48078000 0x400>; | ||
80 | interrupts = <39>; | ||
81 | ti,hwmods = "timer3"; | ||
82 | }; | ||
83 | |||
84 | timer4: timer@4807a000 { | ||
85 | compatible = "ti,omap2-timer"; | ||
86 | reg = <0x4807a000 0x400>; | ||
87 | interrupts = <40>; | ||
88 | ti,hwmods = "timer4"; | ||
89 | }; | ||
90 | |||
91 | timer5: timer@4807c000 { | ||
92 | compatible = "ti,omap2-timer"; | ||
93 | reg = <0x4807c000 0x400>; | ||
94 | interrupts = <41>; | ||
95 | ti,hwmods = "timer5"; | ||
96 | ti,timer-dsp; | ||
97 | }; | ||
98 | |||
99 | timer6: timer@4807e000 { | ||
100 | compatible = "ti,omap2-timer"; | ||
101 | reg = <0x4807e000 0x400>; | ||
102 | interrupts = <42>; | ||
103 | ti,hwmods = "timer6"; | ||
104 | ti,timer-dsp; | ||
105 | }; | ||
106 | |||
107 | timer7: timer@48080000 { | ||
108 | compatible = "ti,omap2-timer"; | ||
109 | reg = <0x48080000 0x400>; | ||
110 | interrupts = <43>; | ||
111 | ti,hwmods = "timer7"; | ||
112 | ti,timer-dsp; | ||
113 | }; | ||
114 | |||
115 | timer8: timer@48082000 { | ||
116 | compatible = "ti,omap2-timer"; | ||
117 | reg = <0x48082000 0x400>; | ||
118 | interrupts = <44>; | ||
119 | ti,hwmods = "timer8"; | ||
120 | ti,timer-dsp; | ||
121 | }; | ||
122 | |||
123 | timer9: timer@48084000 { | ||
124 | compatible = "ti,omap2-timer"; | ||
125 | reg = <0x48084000 0x400>; | ||
126 | interrupts = <45>; | ||
127 | ti,hwmods = "timer9"; | ||
128 | ti,timer-pwm; | ||
129 | }; | ||
130 | |||
131 | timer10: timer@48086000 { | ||
132 | compatible = "ti,omap2-timer"; | ||
133 | reg = <0x48086000 0x400>; | ||
134 | interrupts = <46>; | ||
135 | ti,hwmods = "timer10"; | ||
136 | ti,timer-pwm; | ||
137 | }; | ||
138 | |||
139 | timer11: timer@48088000 { | ||
140 | compatible = "ti,omap2-timer"; | ||
141 | reg = <0x48088000 0x400>; | ||
142 | interrupts = <47>; | ||
143 | ti,hwmods = "timer11"; | ||
144 | ti,timer-pwm; | ||
145 | }; | ||
146 | |||
147 | timer12: timer@4808a000 { | ||
148 | compatible = "ti,omap2-timer"; | ||
149 | reg = <0x4808a000 0x400>; | ||
150 | interrupts = <48>; | ||
151 | ti,hwmods = "timer12"; | ||
152 | ti,timer-pwm; | ||
153 | }; | ||
68 | }; | 154 | }; |
69 | }; | 155 | }; |
diff --git a/arch/arm/boot/dts/omap2420.dtsi b/arch/arm/boot/dts/omap2420.dtsi index bfd76b4a0ddc..af6560908905 100644 --- a/arch/arm/boot/dts/omap2420.dtsi +++ b/arch/arm/boot/dts/omap2420.dtsi | |||
@@ -14,6 +14,12 @@ | |||
14 | compatible = "ti,omap2420", "ti,omap2"; | 14 | compatible = "ti,omap2420", "ti,omap2"; |
15 | 15 | ||
16 | ocp { | 16 | ocp { |
17 | counter32k: counter@48004000 { | ||
18 | compatible = "ti,omap-counter32k"; | ||
19 | reg = <0x48004000 0x20>; | ||
20 | ti,hwmods = "counter_32k"; | ||
21 | }; | ||
22 | |||
17 | omap2420_pmx: pinmux@48000030 { | 23 | omap2420_pmx: pinmux@48000030 { |
18 | compatible = "ti,omap2420-padconf", "pinctrl-single"; | 24 | compatible = "ti,omap2420-padconf", "pinctrl-single"; |
19 | reg = <0x48000030 0x0113>; | 25 | reg = <0x48000030 0x0113>; |
@@ -30,7 +36,6 @@ | |||
30 | interrupts = <59>, /* TX interrupt */ | 36 | interrupts = <59>, /* TX interrupt */ |
31 | <60>; /* RX interrupt */ | 37 | <60>; /* RX interrupt */ |
32 | interrupt-names = "tx", "rx"; | 38 | interrupt-names = "tx", "rx"; |
33 | interrupt-parent = <&intc>; | ||
34 | ti,hwmods = "mcbsp1"; | 39 | ti,hwmods = "mcbsp1"; |
35 | }; | 40 | }; |
36 | 41 | ||
@@ -41,8 +46,15 @@ | |||
41 | interrupts = <62>, /* TX interrupt */ | 46 | interrupts = <62>, /* TX interrupt */ |
42 | <63>; /* RX interrupt */ | 47 | <63>; /* RX interrupt */ |
43 | interrupt-names = "tx", "rx"; | 48 | interrupt-names = "tx", "rx"; |
44 | interrupt-parent = <&intc>; | ||
45 | ti,hwmods = "mcbsp2"; | 49 | ti,hwmods = "mcbsp2"; |
46 | }; | 50 | }; |
51 | |||
52 | timer1: timer@48028000 { | ||
53 | compatible = "ti,omap2-timer"; | ||
54 | reg = <0x48028000 0x400>; | ||
55 | interrupts = <37>; | ||
56 | ti,hwmods = "timer1"; | ||
57 | ti,timer-alwon; | ||
58 | }; | ||
47 | }; | 59 | }; |
48 | }; | 60 | }; |
diff --git a/arch/arm/boot/dts/omap2430.dtsi b/arch/arm/boot/dts/omap2430.dtsi index 4565d9750f4d..c3924457c9b6 100644 --- a/arch/arm/boot/dts/omap2430.dtsi +++ b/arch/arm/boot/dts/omap2430.dtsi | |||
@@ -14,6 +14,12 @@ | |||
14 | compatible = "ti,omap2430", "ti,omap2"; | 14 | compatible = "ti,omap2430", "ti,omap2"; |
15 | 15 | ||
16 | ocp { | 16 | ocp { |
17 | counter32k: counter@49020000 { | ||
18 | compatible = "ti,omap-counter32k"; | ||
19 | reg = <0x49020000 0x20>; | ||
20 | ti,hwmods = "counter_32k"; | ||
21 | }; | ||
22 | |||
17 | omap2430_pmx: pinmux@49002030 { | 23 | omap2430_pmx: pinmux@49002030 { |
18 | compatible = "ti,omap2430-padconf", "pinctrl-single"; | 24 | compatible = "ti,omap2430-padconf", "pinctrl-single"; |
19 | reg = <0x49002030 0x0154>; | 25 | reg = <0x49002030 0x0154>; |
@@ -32,7 +38,6 @@ | |||
32 | <60>, /* RX interrupt */ | 38 | <60>, /* RX interrupt */ |
33 | <61>; /* RX overflow interrupt */ | 39 | <61>; /* RX overflow interrupt */ |
34 | interrupt-names = "common", "tx", "rx", "rx_overflow"; | 40 | interrupt-names = "common", "tx", "rx", "rx_overflow"; |
35 | interrupt-parent = <&intc>; | ||
36 | ti,buffer-size = <128>; | 41 | ti,buffer-size = <128>; |
37 | ti,hwmods = "mcbsp1"; | 42 | ti,hwmods = "mcbsp1"; |
38 | }; | 43 | }; |
@@ -45,7 +50,6 @@ | |||
45 | <62>, /* TX interrupt */ | 50 | <62>, /* TX interrupt */ |
46 | <63>; /* RX interrupt */ | 51 | <63>; /* RX interrupt */ |
47 | interrupt-names = "common", "tx", "rx"; | 52 | interrupt-names = "common", "tx", "rx"; |
48 | interrupt-parent = <&intc>; | ||
49 | ti,buffer-size = <128>; | 53 | ti,buffer-size = <128>; |
50 | ti,hwmods = "mcbsp2"; | 54 | ti,hwmods = "mcbsp2"; |
51 | }; | 55 | }; |
@@ -58,7 +62,6 @@ | |||
58 | <89>, /* TX interrupt */ | 62 | <89>, /* TX interrupt */ |
59 | <90>; /* RX interrupt */ | 63 | <90>; /* RX interrupt */ |
60 | interrupt-names = "common", "tx", "rx"; | 64 | interrupt-names = "common", "tx", "rx"; |
61 | interrupt-parent = <&intc>; | ||
62 | ti,buffer-size = <128>; | 65 | ti,buffer-size = <128>; |
63 | ti,hwmods = "mcbsp3"; | 66 | ti,hwmods = "mcbsp3"; |
64 | }; | 67 | }; |
@@ -71,7 +74,6 @@ | |||
71 | <54>, /* TX interrupt */ | 74 | <54>, /* TX interrupt */ |
72 | <55>; /* RX interrupt */ | 75 | <55>; /* RX interrupt */ |
73 | interrupt-names = "common", "tx", "rx"; | 76 | interrupt-names = "common", "tx", "rx"; |
74 | interrupt-parent = <&intc>; | ||
75 | ti,buffer-size = <128>; | 77 | ti,buffer-size = <128>; |
76 | ti,hwmods = "mcbsp4"; | 78 | ti,hwmods = "mcbsp4"; |
77 | }; | 79 | }; |
@@ -84,9 +86,16 @@ | |||
84 | <81>, /* TX interrupt */ | 86 | <81>, /* TX interrupt */ |
85 | <82>; /* RX interrupt */ | 87 | <82>; /* RX interrupt */ |
86 | interrupt-names = "common", "tx", "rx"; | 88 | interrupt-names = "common", "tx", "rx"; |
87 | interrupt-parent = <&intc>; | ||
88 | ti,buffer-size = <128>; | 89 | ti,buffer-size = <128>; |
89 | ti,hwmods = "mcbsp5"; | 90 | ti,hwmods = "mcbsp5"; |
90 | }; | 91 | }; |
92 | |||
93 | timer1: timer@49018000 { | ||
94 | compatible = "ti,omap2-timer"; | ||
95 | reg = <0x49018000 0x400>; | ||
96 | interrupts = <37>; | ||
97 | ti,hwmods = "timer1"; | ||
98 | ti,timer-alwon; | ||
99 | }; | ||
91 | }; | 100 | }; |
92 | }; | 101 | }; |
diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts index c38cf76df81f..3705a81c1fc2 100644 --- a/arch/arm/boot/dts/omap3-beagle-xm.dts +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts | |||
@@ -55,12 +55,6 @@ | |||
55 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | 55 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ |
56 | interrupt-parent = <&intc>; | 56 | interrupt-parent = <&intc>; |
57 | 57 | ||
58 | vsim: regulator-vsim { | ||
59 | compatible = "ti,twl4030-vsim"; | ||
60 | regulator-min-microvolt = <1800000>; | ||
61 | regulator-max-microvolt = <3000000>; | ||
62 | }; | ||
63 | |||
64 | twl_audio: audio { | 58 | twl_audio: audio { |
65 | compatible = "ti,twl4030-audio"; | 59 | compatible = "ti,twl4030-audio"; |
66 | codec { | 60 | codec { |
diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts new file mode 100644 index 000000000000..f624dc85d441 --- /dev/null +++ b/arch/arm/boot/dts/omap3-beagle.dts | |||
@@ -0,0 +1,67 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | |||
10 | /include/ "omap3.dtsi" | ||
11 | |||
12 | / { | ||
13 | model = "TI OMAP3 BeagleBoard"; | ||
14 | compatible = "ti,omap3-beagle", "ti,omap3"; | ||
15 | |||
16 | memory { | ||
17 | device_type = "memory"; | ||
18 | reg = <0x80000000 0x10000000>; /* 256 MB */ | ||
19 | }; | ||
20 | |||
21 | leds { | ||
22 | compatible = "gpio-leds"; | ||
23 | pmu_stat { | ||
24 | label = "beagleboard::pmu_stat"; | ||
25 | gpios = <&twl_gpio 19 0>; /* LEDB */ | ||
26 | }; | ||
27 | |||
28 | heartbeat { | ||
29 | label = "beagleboard::usr0"; | ||
30 | gpios = <&gpio5 22 0>; /* 150 -> D6 LED */ | ||
31 | linux,default-trigger = "heartbeat"; | ||
32 | }; | ||
33 | |||
34 | mmc { | ||
35 | label = "beagleboard::usr1"; | ||
36 | gpios = <&gpio5 21 0>; /* 149 -> D7 LED */ | ||
37 | linux,default-trigger = "mmc0"; | ||
38 | }; | ||
39 | }; | ||
40 | |||
41 | }; | ||
42 | |||
43 | &i2c1 { | ||
44 | clock-frequency = <2600000>; | ||
45 | |||
46 | twl: twl@48 { | ||
47 | reg = <0x48>; | ||
48 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | ||
49 | interrupt-parent = <&intc>; | ||
50 | }; | ||
51 | }; | ||
52 | |||
53 | /include/ "twl4030.dtsi" | ||
54 | |||
55 | &mmc1 { | ||
56 | vmmc-supply = <&vmmc1>; | ||
57 | vmmc_aux-supply = <&vsim>; | ||
58 | bus-width = <8>; | ||
59 | }; | ||
60 | |||
61 | &mmc2 { | ||
62 | status = "disabled"; | ||
63 | }; | ||
64 | |||
65 | &mmc3 { | ||
66 | status = "disabled"; | ||
67 | }; | ||
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi index 696e929d0304..1acc26148ffc 100644 --- a/arch/arm/boot/dts/omap3.dtsi +++ b/arch/arm/boot/dts/omap3.dtsi | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | / { | 13 | / { |
14 | compatible = "ti,omap3430", "ti,omap3"; | 14 | compatible = "ti,omap3430", "ti,omap3"; |
15 | interrupt-parent = <&intc>; | ||
15 | 16 | ||
16 | aliases { | 17 | aliases { |
17 | serial0 = &uart1; | 18 | serial0 = &uart1; |
@@ -60,6 +61,12 @@ | |||
60 | ranges; | 61 | ranges; |
61 | ti,hwmods = "l3_main"; | 62 | ti,hwmods = "l3_main"; |
62 | 63 | ||
64 | counter32k: counter@48320000 { | ||
65 | compatible = "ti,omap-counter32k"; | ||
66 | reg = <0x48320000 0x20>; | ||
67 | ti,hwmods = "counter_32k"; | ||
68 | }; | ||
69 | |||
63 | intc: interrupt-controller@48200000 { | 70 | intc: interrupt-controller@48200000 { |
64 | compatible = "ti,omap2-intc"; | 71 | compatible = "ti,omap2-intc"; |
65 | interrupt-controller; | 72 | interrupt-controller; |
@@ -240,7 +247,6 @@ | |||
240 | <59>, /* TX interrupt */ | 247 | <59>, /* TX interrupt */ |
241 | <60>; /* RX interrupt */ | 248 | <60>; /* RX interrupt */ |
242 | interrupt-names = "common", "tx", "rx"; | 249 | interrupt-names = "common", "tx", "rx"; |
243 | interrupt-parent = <&intc>; | ||
244 | ti,buffer-size = <128>; | 250 | ti,buffer-size = <128>; |
245 | ti,hwmods = "mcbsp1"; | 251 | ti,hwmods = "mcbsp1"; |
246 | }; | 252 | }; |
@@ -255,7 +261,6 @@ | |||
255 | <63>, /* RX interrupt */ | 261 | <63>, /* RX interrupt */ |
256 | <4>; /* Sidetone */ | 262 | <4>; /* Sidetone */ |
257 | interrupt-names = "common", "tx", "rx", "sidetone"; | 263 | interrupt-names = "common", "tx", "rx", "sidetone"; |
258 | interrupt-parent = <&intc>; | ||
259 | ti,buffer-size = <1280>; | 264 | ti,buffer-size = <1280>; |
260 | ti,hwmods = "mcbsp2", "mcbsp2_sidetone"; | 265 | ti,hwmods = "mcbsp2", "mcbsp2_sidetone"; |
261 | }; | 266 | }; |
@@ -270,7 +275,6 @@ | |||
270 | <90>, /* RX interrupt */ | 275 | <90>, /* RX interrupt */ |
271 | <5>; /* Sidetone */ | 276 | <5>; /* Sidetone */ |
272 | interrupt-names = "common", "tx", "rx", "sidetone"; | 277 | interrupt-names = "common", "tx", "rx", "sidetone"; |
273 | interrupt-parent = <&intc>; | ||
274 | ti,buffer-size = <128>; | 278 | ti,buffer-size = <128>; |
275 | ti,hwmods = "mcbsp3", "mcbsp3_sidetone"; | 279 | ti,hwmods = "mcbsp3", "mcbsp3_sidetone"; |
276 | }; | 280 | }; |
@@ -283,7 +287,6 @@ | |||
283 | <54>, /* TX interrupt */ | 287 | <54>, /* TX interrupt */ |
284 | <55>; /* RX interrupt */ | 288 | <55>; /* RX interrupt */ |
285 | interrupt-names = "common", "tx", "rx"; | 289 | interrupt-names = "common", "tx", "rx"; |
286 | interrupt-parent = <&intc>; | ||
287 | ti,buffer-size = <128>; | 290 | ti,buffer-size = <128>; |
288 | ti,hwmods = "mcbsp4"; | 291 | ti,hwmods = "mcbsp4"; |
289 | }; | 292 | }; |
@@ -296,9 +299,103 @@ | |||
296 | <81>, /* TX interrupt */ | 299 | <81>, /* TX interrupt */ |
297 | <82>; /* RX interrupt */ | 300 | <82>; /* RX interrupt */ |
298 | interrupt-names = "common", "tx", "rx"; | 301 | interrupt-names = "common", "tx", "rx"; |
299 | interrupt-parent = <&intc>; | ||
300 | ti,buffer-size = <128>; | 302 | ti,buffer-size = <128>; |
301 | ti,hwmods = "mcbsp5"; | 303 | ti,hwmods = "mcbsp5"; |
302 | }; | 304 | }; |
305 | |||
306 | timer1: timer@48318000 { | ||
307 | compatible = "ti,omap2-timer"; | ||
308 | reg = <0x48318000 0x400>; | ||
309 | interrupts = <37>; | ||
310 | ti,hwmods = "timer1"; | ||
311 | ti,timer-alwon; | ||
312 | }; | ||
313 | |||
314 | timer2: timer@49032000 { | ||
315 | compatible = "ti,omap2-timer"; | ||
316 | reg = <0x49032000 0x400>; | ||
317 | interrupts = <38>; | ||
318 | ti,hwmods = "timer2"; | ||
319 | }; | ||
320 | |||
321 | timer3: timer@49034000 { | ||
322 | compatible = "ti,omap2-timer"; | ||
323 | reg = <0x49034000 0x400>; | ||
324 | interrupts = <39>; | ||
325 | ti,hwmods = "timer3"; | ||
326 | }; | ||
327 | |||
328 | timer4: timer@49036000 { | ||
329 | compatible = "ti,omap2-timer"; | ||
330 | reg = <0x49036000 0x400>; | ||
331 | interrupts = <40>; | ||
332 | ti,hwmods = "timer4"; | ||
333 | }; | ||
334 | |||
335 | timer5: timer@49038000 { | ||
336 | compatible = "ti,omap2-timer"; | ||
337 | reg = <0x49038000 0x400>; | ||
338 | interrupts = <41>; | ||
339 | ti,hwmods = "timer5"; | ||
340 | ti,timer-dsp; | ||
341 | }; | ||
342 | |||
343 | timer6: timer@4903a000 { | ||
344 | compatible = "ti,omap2-timer"; | ||
345 | reg = <0x4903a000 0x400>; | ||
346 | interrupts = <42>; | ||
347 | ti,hwmods = "timer6"; | ||
348 | ti,timer-dsp; | ||
349 | }; | ||
350 | |||
351 | timer7: timer@4903c000 { | ||
352 | compatible = "ti,omap2-timer"; | ||
353 | reg = <0x4903c000 0x400>; | ||
354 | interrupts = <43>; | ||
355 | ti,hwmods = "timer7"; | ||
356 | ti,timer-dsp; | ||
357 | }; | ||
358 | |||
359 | timer8: timer@4903e000 { | ||
360 | compatible = "ti,omap2-timer"; | ||
361 | reg = <0x4903e000 0x400>; | ||
362 | interrupts = <44>; | ||
363 | ti,hwmods = "timer8"; | ||
364 | ti,timer-pwm; | ||
365 | ti,timer-dsp; | ||
366 | }; | ||
367 | |||
368 | timer9: timer@49040000 { | ||
369 | compatible = "ti,omap2-timer"; | ||
370 | reg = <0x49040000 0x400>; | ||
371 | interrupts = <45>; | ||
372 | ti,hwmods = "timer9"; | ||
373 | ti,timer-pwm; | ||
374 | }; | ||
375 | |||
376 | timer10: timer@48086000 { | ||
377 | compatible = "ti,omap2-timer"; | ||
378 | reg = <0x48086000 0x400>; | ||
379 | interrupts = <46>; | ||
380 | ti,hwmods = "timer10"; | ||
381 | ti,timer-pwm; | ||
382 | }; | ||
383 | |||
384 | timer11: timer@48088000 { | ||
385 | compatible = "ti,omap2-timer"; | ||
386 | reg = <0x48088000 0x400>; | ||
387 | interrupts = <47>; | ||
388 | ti,hwmods = "timer11"; | ||
389 | ti,timer-pwm; | ||
390 | }; | ||
391 | |||
392 | timer12: timer@48304000 { | ||
393 | compatible = "ti,omap2-timer"; | ||
394 | reg = <0x48304000 0x400>; | ||
395 | interrupts = <95>; | ||
396 | ti,hwmods = "timer12"; | ||
397 | ti,timer-alwon; | ||
398 | ti,timer-secure; | ||
399 | }; | ||
303 | }; | 400 | }; |
304 | }; | 401 | }; |
diff --git a/arch/arm/boot/dts/omap4-panda-a4.dts b/arch/arm/boot/dts/omap4-panda-a4.dts new file mode 100644 index 000000000000..75466d2abfb5 --- /dev/null +++ b/arch/arm/boot/dts/omap4-panda-a4.dts | |||
@@ -0,0 +1,17 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | /include/ "omap4-panda.dts" | ||
9 | |||
10 | /* Pandaboard Rev A4+ have external pullups on SCL & SDA */ | ||
11 | &dss_hdmi_pins { | ||
12 | pinctrl-single,pins = < | ||
13 | 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ | ||
14 | 0x5c 0x100 /* hdmi_scl.hdmi_scl INPUT | MODE 0 */ | ||
15 | 0x5e 0x100 /* hdmi_sda.hdmi_sda INPUT | MODE 0 */ | ||
16 | >; | ||
17 | }; | ||
diff --git a/arch/arm/boot/dts/omap4-pandaES.dts b/arch/arm/boot/dts/omap4-panda-es.dts index d4ba43a48d9b..73bc1a67e444 100644 --- a/arch/arm/boot/dts/omap4-pandaES.dts +++ b/arch/arm/boot/dts/omap4-panda-es.dts | |||
@@ -22,3 +22,12 @@ | |||
22 | "AFML", "Line In", | 22 | "AFML", "Line In", |
23 | "AFMR", "Line In"; | 23 | "AFMR", "Line In"; |
24 | }; | 24 | }; |
25 | |||
26 | /* PandaboardES has external pullups on SCL & SDA */ | ||
27 | &dss_hdmi_pins { | ||
28 | pinctrl-single,pins = < | ||
29 | 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ | ||
30 | 0x5c 0x100 /* hdmi_scl.hdmi_scl INPUT | MODE 0 */ | ||
31 | 0x5e 0x100 /* hdmi_sda.hdmi_sda INPUT | MODE 0 */ | ||
32 | >; | ||
33 | }; | ||
diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts index e8f927cbb376..4122efe31cfd 100644 --- a/arch/arm/boot/dts/omap4-panda.dts +++ b/arch/arm/boot/dts/omap4-panda.dts | |||
@@ -65,6 +65,8 @@ | |||
65 | &twl6040_pins | 65 | &twl6040_pins |
66 | &mcpdm_pins | 66 | &mcpdm_pins |
67 | &mcbsp1_pins | 67 | &mcbsp1_pins |
68 | &dss_hdmi_pins | ||
69 | &tpd12s015_pins | ||
68 | >; | 70 | >; |
69 | 71 | ||
70 | twl6040_pins: pinmux_twl6040_pins { | 72 | twl6040_pins: pinmux_twl6040_pins { |
@@ -92,6 +94,22 @@ | |||
92 | 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */ | 94 | 0xc4 0x100 /* abe_mcbsp1_fsx.abe_mcbsp1_fsx INPUT | MODE0 */ |
93 | >; | 95 | >; |
94 | }; | 96 | }; |
97 | |||
98 | dss_hdmi_pins: pinmux_dss_hdmi_pins { | ||
99 | pinctrl-single,pins = < | ||
100 | 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ | ||
101 | 0x5c 0x118 /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */ | ||
102 | 0x5e 0x118 /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */ | ||
103 | >; | ||
104 | }; | ||
105 | |||
106 | tpd12s015_pins: pinmux_tpd12s015_pins { | ||
107 | pinctrl-single,pins = < | ||
108 | 0x22 0x3 /* gpmc_a17.gpio_41 OUTPUT | MODE3 */ | ||
109 | 0x48 0x3 /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */ | ||
110 | 0x58 0x10b /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */ | ||
111 | >; | ||
112 | }; | ||
95 | }; | 113 | }; |
96 | 114 | ||
97 | &i2c1 { | 115 | &i2c1 { |
@@ -184,3 +202,7 @@ | |||
184 | &dmic { | 202 | &dmic { |
185 | status = "disabled"; | 203 | status = "disabled"; |
186 | }; | 204 | }; |
205 | |||
206 | &twl_usb_comparator { | ||
207 | usb-supply = <&vusb>; | ||
208 | }; | ||
diff --git a/arch/arm/boot/dts/omap4-sdp-es23plus.dts b/arch/arm/boot/dts/omap4-sdp-es23plus.dts new file mode 100644 index 000000000000..b4a40ffbce31 --- /dev/null +++ b/arch/arm/boot/dts/omap4-sdp-es23plus.dts | |||
@@ -0,0 +1,17 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | /include/ "omap4-sdp.dts" | ||
9 | |||
10 | /* SDP boards with 4430 ES2.3+ or 4460 have external pullups on SCL & SDA */ | ||
11 | &dss_hdmi_pins { | ||
12 | pinctrl-single,pins = < | ||
13 | 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ | ||
14 | 0x5c 0x100 /* hdmi_scl.hdmi_scl INPUT | MODE 0 */ | ||
15 | 0x5e 0x100 /* hdmi_sda.hdmi_sda INPUT | MODE 0 */ | ||
16 | >; | ||
17 | }; | ||
diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts index 5b7e04fbff50..43e5258a9372 100644 --- a/arch/arm/boot/dts/omap4-sdp.dts +++ b/arch/arm/boot/dts/omap4-sdp.dts | |||
@@ -124,6 +124,8 @@ | |||
124 | &dmic_pins | 124 | &dmic_pins |
125 | &mcbsp1_pins | 125 | &mcbsp1_pins |
126 | &mcbsp2_pins | 126 | &mcbsp2_pins |
127 | &dss_hdmi_pins | ||
128 | &tpd12s015_pins | ||
127 | >; | 129 | >; |
128 | 130 | ||
129 | uart2_pins: pinmux_uart2_pins { | 131 | uart2_pins: pinmux_uart2_pins { |
@@ -194,6 +196,22 @@ | |||
194 | 0xbc 0x100 /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */ | 196 | 0xbc 0x100 /* abe_mcbsp2_fsx.abe_mcbsp2_fsx INPUT | MODE0 */ |
195 | >; | 197 | >; |
196 | }; | 198 | }; |
199 | |||
200 | dss_hdmi_pins: pinmux_dss_hdmi_pins { | ||
201 | pinctrl-single,pins = < | ||
202 | 0x5a 0x118 /* hdmi_cec.hdmi_cec INPUT PULLUP | MODE 0 */ | ||
203 | 0x5c 0x118 /* hdmi_scl.hdmi_scl INPUT PULLUP | MODE 0 */ | ||
204 | 0x5e 0x118 /* hdmi_sda.hdmi_sda INPUT PULLUP | MODE 0 */ | ||
205 | >; | ||
206 | }; | ||
207 | |||
208 | tpd12s015_pins: pinmux_tpd12s015_pins { | ||
209 | pinctrl-single,pins = < | ||
210 | 0x22 0x3 /* gpmc_a17.gpio_41 OUTPUT | MODE3 */ | ||
211 | 0x48 0x3 /* gpmc_nbe1.gpio_60 OUTPUT | MODE3 */ | ||
212 | 0x58 0x10b /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */ | ||
213 | >; | ||
214 | }; | ||
197 | }; | 215 | }; |
198 | 216 | ||
199 | &i2c1 { | 217 | &i2c1 { |
@@ -406,3 +424,7 @@ | |||
406 | &mcbsp3 { | 424 | &mcbsp3 { |
407 | status = "disabled"; | 425 | status = "disabled"; |
408 | }; | 426 | }; |
427 | |||
428 | &twl_usb_comparator { | ||
429 | usb-supply = <&vusb>; | ||
430 | }; | ||
diff --git a/arch/arm/boot/dts/omap4-var_som.dts b/arch/arm/boot/dts/omap4-var-som.dts index 6601e6af6092..6601e6af6092 100644 --- a/arch/arm/boot/dts/omap4-var_som.dts +++ b/arch/arm/boot/dts/omap4-var-som.dts | |||
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi index 3883f94fdbd0..739bb79e410e 100644 --- a/arch/arm/boot/dts/omap4.dtsi +++ b/arch/arm/boot/dts/omap4.dtsi | |||
@@ -95,6 +95,12 @@ | |||
95 | ranges; | 95 | ranges; |
96 | ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3"; | 96 | ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3"; |
97 | 97 | ||
98 | counter32k: counter@4a304000 { | ||
99 | compatible = "ti,omap-counter32k"; | ||
100 | reg = <0x4a304000 0x20>; | ||
101 | ti,hwmods = "counter_32k"; | ||
102 | }; | ||
103 | |||
98 | omap4_pmx_core: pinmux@4a100040 { | 104 | omap4_pmx_core: pinmux@4a100040 { |
99 | compatible = "ti,omap4-padconf", "pinctrl-single"; | 105 | compatible = "ti,omap4-padconf", "pinctrl-single"; |
100 | reg = <0x4a100040 0x0196>; | 106 | reg = <0x4a100040 0x0196>; |
@@ -340,7 +346,6 @@ | |||
340 | <0x49032000 0x7f>; /* L3 Interconnect */ | 346 | <0x49032000 0x7f>; /* L3 Interconnect */ |
341 | reg-names = "mpu", "dma"; | 347 | reg-names = "mpu", "dma"; |
342 | interrupts = <0 112 0x4>; | 348 | interrupts = <0 112 0x4>; |
343 | interrupt-parent = <&gic>; | ||
344 | ti,hwmods = "mcpdm"; | 349 | ti,hwmods = "mcpdm"; |
345 | }; | 350 | }; |
346 | 351 | ||
@@ -350,7 +355,6 @@ | |||
350 | <0x4902e000 0x7f>; /* L3 Interconnect */ | 355 | <0x4902e000 0x7f>; /* L3 Interconnect */ |
351 | reg-names = "mpu", "dma"; | 356 | reg-names = "mpu", "dma"; |
352 | interrupts = <0 114 0x4>; | 357 | interrupts = <0 114 0x4>; |
353 | interrupt-parent = <&gic>; | ||
354 | ti,hwmods = "dmic"; | 358 | ti,hwmods = "dmic"; |
355 | }; | 359 | }; |
356 | 360 | ||
@@ -361,7 +365,6 @@ | |||
361 | reg-names = "mpu", "dma"; | 365 | reg-names = "mpu", "dma"; |
362 | interrupts = <0 17 0x4>; | 366 | interrupts = <0 17 0x4>; |
363 | interrupt-names = "common"; | 367 | interrupt-names = "common"; |
364 | interrupt-parent = <&gic>; | ||
365 | ti,buffer-size = <128>; | 368 | ti,buffer-size = <128>; |
366 | ti,hwmods = "mcbsp1"; | 369 | ti,hwmods = "mcbsp1"; |
367 | }; | 370 | }; |
@@ -373,7 +376,6 @@ | |||
373 | reg-names = "mpu", "dma"; | 376 | reg-names = "mpu", "dma"; |
374 | interrupts = <0 22 0x4>; | 377 | interrupts = <0 22 0x4>; |
375 | interrupt-names = "common"; | 378 | interrupt-names = "common"; |
376 | interrupt-parent = <&gic>; | ||
377 | ti,buffer-size = <128>; | 379 | ti,buffer-size = <128>; |
378 | ti,hwmods = "mcbsp2"; | 380 | ti,hwmods = "mcbsp2"; |
379 | }; | 381 | }; |
@@ -385,7 +387,6 @@ | |||
385 | reg-names = "mpu", "dma"; | 387 | reg-names = "mpu", "dma"; |
386 | interrupts = <0 23 0x4>; | 388 | interrupts = <0 23 0x4>; |
387 | interrupt-names = "common"; | 389 | interrupt-names = "common"; |
388 | interrupt-parent = <&gic>; | ||
389 | ti,buffer-size = <128>; | 390 | ti,buffer-size = <128>; |
390 | ti,hwmods = "mcbsp3"; | 391 | ti,hwmods = "mcbsp3"; |
391 | }; | 392 | }; |
@@ -396,7 +397,6 @@ | |||
396 | reg-names = "mpu"; | 397 | reg-names = "mpu"; |
397 | interrupts = <0 16 0x4>; | 398 | interrupts = <0 16 0x4>; |
398 | interrupt-names = "common"; | 399 | interrupt-names = "common"; |
399 | interrupt-parent = <&gic>; | ||
400 | ti,buffer-size = <128>; | 400 | ti,buffer-size = <128>; |
401 | ti,hwmods = "mcbsp4"; | 401 | ti,hwmods = "mcbsp4"; |
402 | }; | 402 | }; |
@@ -431,12 +431,103 @@ | |||
431 | hw-caps-temp-alert; | 431 | hw-caps-temp-alert; |
432 | }; | 432 | }; |
433 | 433 | ||
434 | ocp2scp { | 434 | ocp2scp@4a0ad000 { |
435 | compatible = "ti,omap-ocp2scp"; | 435 | compatible = "ti,omap-ocp2scp"; |
436 | reg = <0x4a0ad000 0x1f>; | ||
436 | #address-cells = <1>; | 437 | #address-cells = <1>; |
437 | #size-cells = <1>; | 438 | #size-cells = <1>; |
438 | ranges; | 439 | ranges; |
439 | ti,hwmods = "ocp2scp_usb_phy"; | 440 | ti,hwmods = "ocp2scp_usb_phy"; |
440 | }; | 441 | }; |
442 | |||
443 | timer1: timer@4a318000 { | ||
444 | compatible = "ti,omap2-timer"; | ||
445 | reg = <0x4a318000 0x80>; | ||
446 | interrupts = <0 37 0x4>; | ||
447 | ti,hwmods = "timer1"; | ||
448 | ti,timer-alwon; | ||
449 | }; | ||
450 | |||
451 | timer2: timer@48032000 { | ||
452 | compatible = "ti,omap2-timer"; | ||
453 | reg = <0x48032000 0x80>; | ||
454 | interrupts = <0 38 0x4>; | ||
455 | ti,hwmods = "timer2"; | ||
456 | }; | ||
457 | |||
458 | timer3: timer@48034000 { | ||
459 | compatible = "ti,omap2-timer"; | ||
460 | reg = <0x48034000 0x80>; | ||
461 | interrupts = <0 39 0x4>; | ||
462 | ti,hwmods = "timer3"; | ||
463 | }; | ||
464 | |||
465 | timer4: timer@48036000 { | ||
466 | compatible = "ti,omap2-timer"; | ||
467 | reg = <0x48036000 0x80>; | ||
468 | interrupts = <0 40 0x4>; | ||
469 | ti,hwmods = "timer4"; | ||
470 | }; | ||
471 | |||
472 | timer5: timer@40138000 { | ||
473 | compatible = "ti,omap2-timer"; | ||
474 | reg = <0x40138000 0x80>, | ||
475 | <0x49038000 0x80>; | ||
476 | interrupts = <0 41 0x4>; | ||
477 | ti,hwmods = "timer5"; | ||
478 | ti,timer-dsp; | ||
479 | }; | ||
480 | |||
481 | timer6: timer@4013a000 { | ||
482 | compatible = "ti,omap2-timer"; | ||
483 | reg = <0x4013a000 0x80>, | ||
484 | <0x4903a000 0x80>; | ||
485 | interrupts = <0 42 0x4>; | ||
486 | ti,hwmods = "timer6"; | ||
487 | ti,timer-dsp; | ||
488 | }; | ||
489 | |||
490 | timer7: timer@4013c000 { | ||
491 | compatible = "ti,omap2-timer"; | ||
492 | reg = <0x4013c000 0x80>, | ||
493 | <0x4903c000 0x80>; | ||
494 | interrupts = <0 43 0x4>; | ||
495 | ti,hwmods = "timer7"; | ||
496 | ti,timer-dsp; | ||
497 | }; | ||
498 | |||
499 | timer8: timer@4013e000 { | ||
500 | compatible = "ti,omap2-timer"; | ||
501 | reg = <0x4013e000 0x80>, | ||
502 | <0x4903e000 0x80>; | ||
503 | interrupts = <0 44 0x4>; | ||
504 | ti,hwmods = "timer8"; | ||
505 | ti,timer-pwm; | ||
506 | ti,timer-dsp; | ||
507 | }; | ||
508 | |||
509 | timer9: timer@4803e000 { | ||
510 | compatible = "ti,omap2-timer"; | ||
511 | reg = <0x4803e000 0x80>; | ||
512 | interrupts = <0 45 0x4>; | ||
513 | ti,hwmods = "timer9"; | ||
514 | ti,timer-pwm; | ||
515 | }; | ||
516 | |||
517 | timer10: timer@48086000 { | ||
518 | compatible = "ti,omap2-timer"; | ||
519 | reg = <0x48086000 0x80>; | ||
520 | interrupts = <0 46 0x4>; | ||
521 | ti,hwmods = "timer10"; | ||
522 | ti,timer-pwm; | ||
523 | }; | ||
524 | |||
525 | timer11: timer@48088000 { | ||
526 | compatible = "ti,omap2-timer"; | ||
527 | reg = <0x48088000 0x80>; | ||
528 | interrupts = <0 47 0x4>; | ||
529 | ti,hwmods = "timer11"; | ||
530 | ti,timer-pwm; | ||
531 | }; | ||
441 | }; | 532 | }; |
442 | }; | 533 | }; |
diff --git a/arch/arm/boot/dts/omap5-evm.dts b/arch/arm/boot/dts/omap5-evm.dts index c663eba73168..8722c15bbba2 100644 --- a/arch/arm/boot/dts/omap5-evm.dts +++ b/arch/arm/boot/dts/omap5-evm.dts | |||
@@ -8,6 +8,7 @@ | |||
8 | /dts-v1/; | 8 | /dts-v1/; |
9 | 9 | ||
10 | /include/ "omap5.dtsi" | 10 | /include/ "omap5.dtsi" |
11 | /include/ "samsung_k3pe0e000b.dtsi" | ||
11 | 12 | ||
12 | / { | 13 | / { |
13 | model = "TI OMAP5 EVM board"; | 14 | model = "TI OMAP5 EVM board"; |
@@ -15,7 +16,7 @@ | |||
15 | 16 | ||
16 | memory { | 17 | memory { |
17 | device_type = "memory"; | 18 | device_type = "memory"; |
18 | reg = <0x80000000 0x40000000>; /* 1 GB */ | 19 | reg = <0x80000000 0x80000000>; /* 2 GB */ |
19 | }; | 20 | }; |
20 | 21 | ||
21 | vmmcsd_fixed: fixedregulator-mmcsd { | 22 | vmmcsd_fixed: fixedregulator-mmcsd { |
@@ -140,3 +141,13 @@ | |||
140 | &mcbsp3 { | 141 | &mcbsp3 { |
141 | status = "disabled"; | 142 | status = "disabled"; |
142 | }; | 143 | }; |
144 | |||
145 | &emif1 { | ||
146 | cs1-used; | ||
147 | device-handle = <&samsung_K3PE0E000B>; | ||
148 | }; | ||
149 | |||
150 | &emif2 { | ||
151 | cs1-used; | ||
152 | device-handle = <&samsung_K3PE0E000B>; | ||
153 | }; | ||
diff --git a/arch/arm/boot/dts/omap5.dtsi b/arch/arm/boot/dts/omap5.dtsi index 42c78beb4fdc..790bb2a4b343 100644 --- a/arch/arm/boot/dts/omap5.dtsi +++ b/arch/arm/boot/dts/omap5.dtsi | |||
@@ -77,6 +77,12 @@ | |||
77 | ranges; | 77 | ranges; |
78 | ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3"; | 78 | ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3"; |
79 | 79 | ||
80 | counter32k: counter@4ae04000 { | ||
81 | compatible = "ti,omap-counter32k"; | ||
82 | reg = <0x4ae04000 0x40>; | ||
83 | ti,hwmods = "counter_32k"; | ||
84 | }; | ||
85 | |||
80 | omap5_pmx_core: pinmux@4a002840 { | 86 | omap5_pmx_core: pinmux@4a002840 { |
81 | compatible = "ti,omap4-padconf", "pinctrl-single"; | 87 | compatible = "ti,omap4-padconf", "pinctrl-single"; |
82 | reg = <0x4a002840 0x01b6>; | 88 | reg = <0x4a002840 0x01b6>; |
@@ -104,6 +110,8 @@ | |||
104 | 110 | ||
105 | gpio1: gpio@4ae10000 { | 111 | gpio1: gpio@4ae10000 { |
106 | compatible = "ti,omap4-gpio"; | 112 | compatible = "ti,omap4-gpio"; |
113 | reg = <0x4ae10000 0x200>; | ||
114 | interrupts = <0 29 0x4>; | ||
107 | ti,hwmods = "gpio1"; | 115 | ti,hwmods = "gpio1"; |
108 | gpio-controller; | 116 | gpio-controller; |
109 | #gpio-cells = <2>; | 117 | #gpio-cells = <2>; |
@@ -113,6 +121,8 @@ | |||
113 | 121 | ||
114 | gpio2: gpio@48055000 { | 122 | gpio2: gpio@48055000 { |
115 | compatible = "ti,omap4-gpio"; | 123 | compatible = "ti,omap4-gpio"; |
124 | reg = <0x48055000 0x200>; | ||
125 | interrupts = <0 30 0x4>; | ||
116 | ti,hwmods = "gpio2"; | 126 | ti,hwmods = "gpio2"; |
117 | gpio-controller; | 127 | gpio-controller; |
118 | #gpio-cells = <2>; | 128 | #gpio-cells = <2>; |
@@ -122,6 +132,8 @@ | |||
122 | 132 | ||
123 | gpio3: gpio@48057000 { | 133 | gpio3: gpio@48057000 { |
124 | compatible = "ti,omap4-gpio"; | 134 | compatible = "ti,omap4-gpio"; |
135 | reg = <0x48057000 0x200>; | ||
136 | interrupts = <0 31 0x4>; | ||
125 | ti,hwmods = "gpio3"; | 137 | ti,hwmods = "gpio3"; |
126 | gpio-controller; | 138 | gpio-controller; |
127 | #gpio-cells = <2>; | 139 | #gpio-cells = <2>; |
@@ -131,6 +143,8 @@ | |||
131 | 143 | ||
132 | gpio4: gpio@48059000 { | 144 | gpio4: gpio@48059000 { |
133 | compatible = "ti,omap4-gpio"; | 145 | compatible = "ti,omap4-gpio"; |
146 | reg = <0x48059000 0x200>; | ||
147 | interrupts = <0 32 0x4>; | ||
134 | ti,hwmods = "gpio4"; | 148 | ti,hwmods = "gpio4"; |
135 | gpio-controller; | 149 | gpio-controller; |
136 | #gpio-cells = <2>; | 150 | #gpio-cells = <2>; |
@@ -140,6 +154,8 @@ | |||
140 | 154 | ||
141 | gpio5: gpio@4805b000 { | 155 | gpio5: gpio@4805b000 { |
142 | compatible = "ti,omap4-gpio"; | 156 | compatible = "ti,omap4-gpio"; |
157 | reg = <0x4805b000 0x200>; | ||
158 | interrupts = <0 33 0x4>; | ||
143 | ti,hwmods = "gpio5"; | 159 | ti,hwmods = "gpio5"; |
144 | gpio-controller; | 160 | gpio-controller; |
145 | #gpio-cells = <2>; | 161 | #gpio-cells = <2>; |
@@ -149,6 +165,8 @@ | |||
149 | 165 | ||
150 | gpio6: gpio@4805d000 { | 166 | gpio6: gpio@4805d000 { |
151 | compatible = "ti,omap4-gpio"; | 167 | compatible = "ti,omap4-gpio"; |
168 | reg = <0x4805d000 0x200>; | ||
169 | interrupts = <0 34 0x4>; | ||
152 | ti,hwmods = "gpio6"; | 170 | ti,hwmods = "gpio6"; |
153 | gpio-controller; | 171 | gpio-controller; |
154 | #gpio-cells = <2>; | 172 | #gpio-cells = <2>; |
@@ -158,6 +176,8 @@ | |||
158 | 176 | ||
159 | gpio7: gpio@48051000 { | 177 | gpio7: gpio@48051000 { |
160 | compatible = "ti,omap4-gpio"; | 178 | compatible = "ti,omap4-gpio"; |
179 | reg = <0x48051000 0x200>; | ||
180 | interrupts = <0 35 0x4>; | ||
161 | ti,hwmods = "gpio7"; | 181 | ti,hwmods = "gpio7"; |
162 | gpio-controller; | 182 | gpio-controller; |
163 | #gpio-cells = <2>; | 183 | #gpio-cells = <2>; |
@@ -167,6 +187,8 @@ | |||
167 | 187 | ||
168 | gpio8: gpio@48053000 { | 188 | gpio8: gpio@48053000 { |
169 | compatible = "ti,omap4-gpio"; | 189 | compatible = "ti,omap4-gpio"; |
190 | reg = <0x48053000 0x200>; | ||
191 | interrupts = <0 121 0x4>; | ||
170 | ti,hwmods = "gpio8"; | 192 | ti,hwmods = "gpio8"; |
171 | gpio-controller; | 193 | gpio-controller; |
172 | #gpio-cells = <2>; | 194 | #gpio-cells = <2>; |
@@ -176,6 +198,8 @@ | |||
176 | 198 | ||
177 | i2c1: i2c@48070000 { | 199 | i2c1: i2c@48070000 { |
178 | compatible = "ti,omap4-i2c"; | 200 | compatible = "ti,omap4-i2c"; |
201 | reg = <0x48070000 0x100>; | ||
202 | interrupts = <0 56 0x4>; | ||
179 | #address-cells = <1>; | 203 | #address-cells = <1>; |
180 | #size-cells = <0>; | 204 | #size-cells = <0>; |
181 | ti,hwmods = "i2c1"; | 205 | ti,hwmods = "i2c1"; |
@@ -183,6 +207,8 @@ | |||
183 | 207 | ||
184 | i2c2: i2c@48072000 { | 208 | i2c2: i2c@48072000 { |
185 | compatible = "ti,omap4-i2c"; | 209 | compatible = "ti,omap4-i2c"; |
210 | reg = <0x48072000 0x100>; | ||
211 | interrupts = <0 57 0x4>; | ||
186 | #address-cells = <1>; | 212 | #address-cells = <1>; |
187 | #size-cells = <0>; | 213 | #size-cells = <0>; |
188 | ti,hwmods = "i2c2"; | 214 | ti,hwmods = "i2c2"; |
@@ -190,20 +216,26 @@ | |||
190 | 216 | ||
191 | i2c3: i2c@48060000 { | 217 | i2c3: i2c@48060000 { |
192 | compatible = "ti,omap4-i2c"; | 218 | compatible = "ti,omap4-i2c"; |
219 | reg = <0x48060000 0x100>; | ||
220 | interrupts = <0 61 0x4>; | ||
193 | #address-cells = <1>; | 221 | #address-cells = <1>; |
194 | #size-cells = <0>; | 222 | #size-cells = <0>; |
195 | ti,hwmods = "i2c3"; | 223 | ti,hwmods = "i2c3"; |
196 | }; | 224 | }; |
197 | 225 | ||
198 | i2c4: i2c@4807A000 { | 226 | i2c4: i2c@4807a000 { |
199 | compatible = "ti,omap4-i2c"; | 227 | compatible = "ti,omap4-i2c"; |
228 | reg = <0x4807a000 0x100>; | ||
229 | interrupts = <0 62 0x4>; | ||
200 | #address-cells = <1>; | 230 | #address-cells = <1>; |
201 | #size-cells = <0>; | 231 | #size-cells = <0>; |
202 | ti,hwmods = "i2c4"; | 232 | ti,hwmods = "i2c4"; |
203 | }; | 233 | }; |
204 | 234 | ||
205 | i2c5: i2c@4807C000 { | 235 | i2c5: i2c@4807c000 { |
206 | compatible = "ti,omap4-i2c"; | 236 | compatible = "ti,omap4-i2c"; |
237 | reg = <0x4807c000 0x100>; | ||
238 | interrupts = <0 60 0x4>; | ||
207 | #address-cells = <1>; | 239 | #address-cells = <1>; |
208 | #size-cells = <0>; | 240 | #size-cells = <0>; |
209 | ti,hwmods = "i2c5"; | 241 | ti,hwmods = "i2c5"; |
@@ -211,42 +243,56 @@ | |||
211 | 243 | ||
212 | uart1: serial@4806a000 { | 244 | uart1: serial@4806a000 { |
213 | compatible = "ti,omap4-uart"; | 245 | compatible = "ti,omap4-uart"; |
246 | reg = <0x4806a000 0x100>; | ||
247 | interrupts = <0 72 0x4>; | ||
214 | ti,hwmods = "uart1"; | 248 | ti,hwmods = "uart1"; |
215 | clock-frequency = <48000000>; | 249 | clock-frequency = <48000000>; |
216 | }; | 250 | }; |
217 | 251 | ||
218 | uart2: serial@4806c000 { | 252 | uart2: serial@4806c000 { |
219 | compatible = "ti,omap4-uart"; | 253 | compatible = "ti,omap4-uart"; |
254 | reg = <0x4806c000 0x100>; | ||
255 | interrupts = <0 73 0x4>; | ||
220 | ti,hwmods = "uart2"; | 256 | ti,hwmods = "uart2"; |
221 | clock-frequency = <48000000>; | 257 | clock-frequency = <48000000>; |
222 | }; | 258 | }; |
223 | 259 | ||
224 | uart3: serial@48020000 { | 260 | uart3: serial@48020000 { |
225 | compatible = "ti,omap4-uart"; | 261 | compatible = "ti,omap4-uart"; |
262 | reg = <0x48020000 0x100>; | ||
263 | interrupts = <0 74 0x4>; | ||
226 | ti,hwmods = "uart3"; | 264 | ti,hwmods = "uart3"; |
227 | clock-frequency = <48000000>; | 265 | clock-frequency = <48000000>; |
228 | }; | 266 | }; |
229 | 267 | ||
230 | uart4: serial@4806e000 { | 268 | uart4: serial@4806e000 { |
231 | compatible = "ti,omap4-uart"; | 269 | compatible = "ti,omap4-uart"; |
270 | reg = <0x4806e000 0x100>; | ||
271 | interrupts = <0 70 0x4>; | ||
232 | ti,hwmods = "uart4"; | 272 | ti,hwmods = "uart4"; |
233 | clock-frequency = <48000000>; | 273 | clock-frequency = <48000000>; |
234 | }; | 274 | }; |
235 | 275 | ||
236 | uart5: serial@48066000 { | 276 | uart5: serial@48066000 { |
237 | compatible = "ti,omap5-uart"; | 277 | compatible = "ti,omap4-uart"; |
278 | reg = <0x48066000 0x100>; | ||
279 | interrupts = <0 105 0x4>; | ||
238 | ti,hwmods = "uart5"; | 280 | ti,hwmods = "uart5"; |
239 | clock-frequency = <48000000>; | 281 | clock-frequency = <48000000>; |
240 | }; | 282 | }; |
241 | 283 | ||
242 | uart6: serial@48068000 { | 284 | uart6: serial@48068000 { |
243 | compatible = "ti,omap6-uart"; | 285 | compatible = "ti,omap4-uart"; |
286 | reg = <0x48068000 0x100>; | ||
287 | interrupts = <0 106 0x4>; | ||
244 | ti,hwmods = "uart6"; | 288 | ti,hwmods = "uart6"; |
245 | clock-frequency = <48000000>; | 289 | clock-frequency = <48000000>; |
246 | }; | 290 | }; |
247 | 291 | ||
248 | mmc1: mmc@4809c000 { | 292 | mmc1: mmc@4809c000 { |
249 | compatible = "ti,omap4-hsmmc"; | 293 | compatible = "ti,omap4-hsmmc"; |
294 | reg = <0x4809c000 0x400>; | ||
295 | interrupts = <0 83 0x4>; | ||
250 | ti,hwmods = "mmc1"; | 296 | ti,hwmods = "mmc1"; |
251 | ti,dual-volt; | 297 | ti,dual-volt; |
252 | ti,needs-special-reset; | 298 | ti,needs-special-reset; |
@@ -254,24 +300,32 @@ | |||
254 | 300 | ||
255 | mmc2: mmc@480b4000 { | 301 | mmc2: mmc@480b4000 { |
256 | compatible = "ti,omap4-hsmmc"; | 302 | compatible = "ti,omap4-hsmmc"; |
303 | reg = <0x480b4000 0x400>; | ||
304 | interrupts = <0 86 0x4>; | ||
257 | ti,hwmods = "mmc2"; | 305 | ti,hwmods = "mmc2"; |
258 | ti,needs-special-reset; | 306 | ti,needs-special-reset; |
259 | }; | 307 | }; |
260 | 308 | ||
261 | mmc3: mmc@480ad000 { | 309 | mmc3: mmc@480ad000 { |
262 | compatible = "ti,omap4-hsmmc"; | 310 | compatible = "ti,omap4-hsmmc"; |
311 | reg = <0x480ad000 0x400>; | ||
312 | interrupts = <0 94 0x4>; | ||
263 | ti,hwmods = "mmc3"; | 313 | ti,hwmods = "mmc3"; |
264 | ti,needs-special-reset; | 314 | ti,needs-special-reset; |
265 | }; | 315 | }; |
266 | 316 | ||
267 | mmc4: mmc@480d1000 { | 317 | mmc4: mmc@480d1000 { |
268 | compatible = "ti,omap4-hsmmc"; | 318 | compatible = "ti,omap4-hsmmc"; |
319 | reg = <0x480d1000 0x400>; | ||
320 | interrupts = <0 96 0x4>; | ||
269 | ti,hwmods = "mmc4"; | 321 | ti,hwmods = "mmc4"; |
270 | ti,needs-special-reset; | 322 | ti,needs-special-reset; |
271 | }; | 323 | }; |
272 | 324 | ||
273 | mmc5: mmc@480d5000 { | 325 | mmc5: mmc@480d5000 { |
274 | compatible = "ti,omap4-hsmmc"; | 326 | compatible = "ti,omap4-hsmmc"; |
327 | reg = <0x480d5000 0x400>; | ||
328 | interrupts = <0 59 0x4>; | ||
275 | ti,hwmods = "mmc5"; | 329 | ti,hwmods = "mmc5"; |
276 | ti,needs-special-reset; | 330 | ti,needs-special-reset; |
277 | }; | 331 | }; |
@@ -287,7 +341,6 @@ | |||
287 | <0x49032000 0x7f>; /* L3 Interconnect */ | 341 | <0x49032000 0x7f>; /* L3 Interconnect */ |
288 | reg-names = "mpu", "dma"; | 342 | reg-names = "mpu", "dma"; |
289 | interrupts = <0 112 0x4>; | 343 | interrupts = <0 112 0x4>; |
290 | interrupt-parent = <&gic>; | ||
291 | ti,hwmods = "mcpdm"; | 344 | ti,hwmods = "mcpdm"; |
292 | }; | 345 | }; |
293 | 346 | ||
@@ -297,7 +350,6 @@ | |||
297 | <0x4902e000 0x7f>; /* L3 Interconnect */ | 350 | <0x4902e000 0x7f>; /* L3 Interconnect */ |
298 | reg-names = "mpu", "dma"; | 351 | reg-names = "mpu", "dma"; |
299 | interrupts = <0 114 0x4>; | 352 | interrupts = <0 114 0x4>; |
300 | interrupt-parent = <&gic>; | ||
301 | ti,hwmods = "dmic"; | 353 | ti,hwmods = "dmic"; |
302 | }; | 354 | }; |
303 | 355 | ||
@@ -308,7 +360,6 @@ | |||
308 | reg-names = "mpu", "dma"; | 360 | reg-names = "mpu", "dma"; |
309 | interrupts = <0 17 0x4>; | 361 | interrupts = <0 17 0x4>; |
310 | interrupt-names = "common"; | 362 | interrupt-names = "common"; |
311 | interrupt-parent = <&gic>; | ||
312 | ti,buffer-size = <128>; | 363 | ti,buffer-size = <128>; |
313 | ti,hwmods = "mcbsp1"; | 364 | ti,hwmods = "mcbsp1"; |
314 | }; | 365 | }; |
@@ -320,7 +371,6 @@ | |||
320 | reg-names = "mpu", "dma"; | 371 | reg-names = "mpu", "dma"; |
321 | interrupts = <0 22 0x4>; | 372 | interrupts = <0 22 0x4>; |
322 | interrupt-names = "common"; | 373 | interrupt-names = "common"; |
323 | interrupt-parent = <&gic>; | ||
324 | ti,buffer-size = <128>; | 374 | ti,buffer-size = <128>; |
325 | ti,hwmods = "mcbsp2"; | 375 | ti,hwmods = "mcbsp2"; |
326 | }; | 376 | }; |
@@ -332,9 +382,119 @@ | |||
332 | reg-names = "mpu", "dma"; | 382 | reg-names = "mpu", "dma"; |
333 | interrupts = <0 23 0x4>; | 383 | interrupts = <0 23 0x4>; |
334 | interrupt-names = "common"; | 384 | interrupt-names = "common"; |
335 | interrupt-parent = <&gic>; | ||
336 | ti,buffer-size = <128>; | 385 | ti,buffer-size = <128>; |
337 | ti,hwmods = "mcbsp3"; | 386 | ti,hwmods = "mcbsp3"; |
338 | }; | 387 | }; |
388 | |||
389 | timer1: timer@4ae18000 { | ||
390 | compatible = "ti,omap2-timer"; | ||
391 | reg = <0x4ae18000 0x80>; | ||
392 | interrupts = <0 37 0x4>; | ||
393 | ti,hwmods = "timer1"; | ||
394 | ti,timer-alwon; | ||
395 | }; | ||
396 | |||
397 | timer2: timer@48032000 { | ||
398 | compatible = "ti,omap2-timer"; | ||
399 | reg = <0x48032000 0x80>; | ||
400 | interrupts = <0 38 0x4>; | ||
401 | ti,hwmods = "timer2"; | ||
402 | }; | ||
403 | |||
404 | timer3: timer@48034000 { | ||
405 | compatible = "ti,omap2-timer"; | ||
406 | reg = <0x48034000 0x80>; | ||
407 | interrupts = <0 39 0x4>; | ||
408 | ti,hwmods = "timer3"; | ||
409 | }; | ||
410 | |||
411 | timer4: timer@48036000 { | ||
412 | compatible = "ti,omap2-timer"; | ||
413 | reg = <0x48036000 0x80>; | ||
414 | interrupts = <0 40 0x4>; | ||
415 | ti,hwmods = "timer4"; | ||
416 | }; | ||
417 | |||
418 | timer5: timer@40138000 { | ||
419 | compatible = "ti,omap2-timer"; | ||
420 | reg = <0x40138000 0x80>, | ||
421 | <0x49038000 0x80>; | ||
422 | interrupts = <0 41 0x4>; | ||
423 | ti,hwmods = "timer5"; | ||
424 | ti,timer-dsp; | ||
425 | }; | ||
426 | |||
427 | timer6: timer@4013a000 { | ||
428 | compatible = "ti,omap2-timer"; | ||
429 | reg = <0x4013a000 0x80>, | ||
430 | <0x4903a000 0x80>; | ||
431 | interrupts = <0 42 0x4>; | ||
432 | ti,hwmods = "timer6"; | ||
433 | ti,timer-dsp; | ||
434 | ti,timer-pwm; | ||
435 | }; | ||
436 | |||
437 | timer7: timer@4013c000 { | ||
438 | compatible = "ti,omap2-timer"; | ||
439 | reg = <0x4013c000 0x80>, | ||
440 | <0x4903c000 0x80>; | ||
441 | interrupts = <0 43 0x4>; | ||
442 | ti,hwmods = "timer7"; | ||
443 | ti,timer-dsp; | ||
444 | }; | ||
445 | |||
446 | timer8: timer@4013e000 { | ||
447 | compatible = "ti,omap2-timer"; | ||
448 | reg = <0x4013e000 0x80>, | ||
449 | <0x4903e000 0x80>; | ||
450 | interrupts = <0 44 0x4>; | ||
451 | ti,hwmods = "timer8"; | ||
452 | ti,timer-dsp; | ||
453 | ti,timer-pwm; | ||
454 | }; | ||
455 | |||
456 | timer9: timer@4803e000 { | ||
457 | compatible = "ti,omap2-timer"; | ||
458 | reg = <0x4803e000 0x80>; | ||
459 | interrupts = <0 45 0x4>; | ||
460 | ti,hwmods = "timer9"; | ||
461 | }; | ||
462 | |||
463 | timer10: timer@48086000 { | ||
464 | compatible = "ti,omap2-timer"; | ||
465 | reg = <0x48086000 0x80>; | ||
466 | interrupts = <0 46 0x4>; | ||
467 | ti,hwmods = "timer10"; | ||
468 | }; | ||
469 | |||
470 | timer11: timer@48088000 { | ||
471 | compatible = "ti,omap2-timer"; | ||
472 | reg = <0x48088000 0x80>; | ||
473 | interrupts = <0 47 0x4>; | ||
474 | ti,hwmods = "timer11"; | ||
475 | ti,timer-pwm; | ||
476 | }; | ||
477 | |||
478 | emif1: emif@0x4c000000 { | ||
479 | compatible = "ti,emif-4d5"; | ||
480 | ti,hwmods = "emif1"; | ||
481 | phy-type = <2>; /* DDR PHY type: Intelli PHY */ | ||
482 | reg = <0x4c000000 0x400>; | ||
483 | interrupts = <0 110 0x4>; | ||
484 | hw-caps-read-idle-ctrl; | ||
485 | hw-caps-ll-interface; | ||
486 | hw-caps-temp-alert; | ||
487 | }; | ||
488 | |||
489 | emif2: emif@0x4d000000 { | ||
490 | compatible = "ti,emif-4d5"; | ||
491 | ti,hwmods = "emif2"; | ||
492 | phy-type = <2>; /* DDR PHY type: Intelli PHY */ | ||
493 | reg = <0x4d000000 0x400>; | ||
494 | interrupts = <0 111 0x4>; | ||
495 | hw-caps-read-idle-ctrl; | ||
496 | hw-caps-ll-interface; | ||
497 | hw-caps-temp-alert; | ||
498 | }; | ||
339 | }; | 499 | }; |
340 | }; | 500 | }; |
diff --git a/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts new file mode 100644 index 000000000000..5a3a58b7e18f --- /dev/null +++ b/arch/arm/boot/dts/orion5x-lacie-ethernet-disk-mini-v2.dts | |||
@@ -0,0 +1,55 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | /dts-v1/; | ||
10 | /include/ "orion5x.dtsi" | ||
11 | |||
12 | / { | ||
13 | model = "LaCie Ethernet Disk mini V2"; | ||
14 | compatible = "lacie,ethernet-disk-mini-v2", "marvell-orion5x-88f5182", "marvell,orion5x"; | ||
15 | |||
16 | memory { | ||
17 | reg = <0x00000000 0x4000000>; /* 64 MB */ | ||
18 | }; | ||
19 | |||
20 | chosen { | ||
21 | bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
22 | }; | ||
23 | |||
24 | ocp@f1000000 { | ||
25 | serial@12000 { | ||
26 | clock-frequency = <166666667>; | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | |||
30 | sata@80000 { | ||
31 | status = "okay"; | ||
32 | nr-ports = <2>; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | gpio_keys { | ||
37 | compatible = "gpio-keys"; | ||
38 | #address-cells = <1>; | ||
39 | #size-cells = <0>; | ||
40 | button@1 { | ||
41 | label = "Power-on Switch"; | ||
42 | linux,code = <116>; /* KEY_POWER */ | ||
43 | gpios = <&gpio0 18 0>; | ||
44 | }; | ||
45 | }; | ||
46 | |||
47 | gpio_leds { | ||
48 | compatible = "gpio-leds"; | ||
49 | |||
50 | led@1 { | ||
51 | label = "power:blue"; | ||
52 | gpios = <&gpio0 16 1>; | ||
53 | }; | ||
54 | }; | ||
55 | }; | ||
diff --git a/arch/arm/boot/dts/orion5x.dtsi b/arch/arm/boot/dts/orion5x.dtsi new file mode 100644 index 000000000000..8aad00f81ed9 --- /dev/null +++ b/arch/arm/boot/dts/orion5x.dtsi | |||
@@ -0,0 +1,98 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2012 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | /include/ "skeleton.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Marvell Orion5x SoC"; | ||
13 | compatible = "marvell,orion5x"; | ||
14 | interrupt-parent = <&intc>; | ||
15 | |||
16 | intc: interrupt-controller { | ||
17 | compatible = "marvell,orion-intc", "marvell,intc"; | ||
18 | interrupt-controller; | ||
19 | #interrupt-cells = <1>; | ||
20 | reg = <0xf1020204 0x04>; | ||
21 | }; | ||
22 | |||
23 | ocp@f1000000 { | ||
24 | compatible = "simple-bus"; | ||
25 | ranges = <0x00000000 0xf1000000 0x4000000 | ||
26 | 0xf2200000 0xf2200000 0x0000800>; | ||
27 | #address-cells = <1>; | ||
28 | #size-cells = <1>; | ||
29 | |||
30 | gpio0: gpio@10100 { | ||
31 | compatible = "marvell,orion-gpio"; | ||
32 | #gpio-cells = <2>; | ||
33 | gpio-controller; | ||
34 | reg = <0x10100 0x40>; | ||
35 | ngpio = <32>; | ||
36 | interrupts = <6>, <7>, <8>, <9>; | ||
37 | }; | ||
38 | |||
39 | serial@12000 { | ||
40 | compatible = "ns16550a"; | ||
41 | reg = <0x12000 0x100>; | ||
42 | reg-shift = <2>; | ||
43 | interrupts = <3>; | ||
44 | /* set clock-frequency in board dts */ | ||
45 | status = "disabled"; | ||
46 | }; | ||
47 | |||
48 | serial@12100 { | ||
49 | compatible = "ns16550a"; | ||
50 | reg = <0x12100 0x100>; | ||
51 | reg-shift = <2>; | ||
52 | interrupts = <4>; | ||
53 | /* set clock-frequency in board dts */ | ||
54 | status = "disabled"; | ||
55 | }; | ||
56 | |||
57 | spi@10600 { | ||
58 | compatible = "marvell,orion-spi"; | ||
59 | #address-cells = <1>; | ||
60 | #size-cells = <0>; | ||
61 | cell-index = <0>; | ||
62 | reg = <0x10600 0x28>; | ||
63 | status = "disabled"; | ||
64 | }; | ||
65 | |||
66 | wdt@20300 { | ||
67 | compatible = "marvell,orion-wdt"; | ||
68 | reg = <0x20300 0x28>; | ||
69 | status = "okay"; | ||
70 | }; | ||
71 | |||
72 | sata@80000 { | ||
73 | compatible = "marvell,orion-sata"; | ||
74 | reg = <0x80000 0x5000>; | ||
75 | interrupts = <29>; | ||
76 | status = "disabled"; | ||
77 | }; | ||
78 | |||
79 | i2c@11000 { | ||
80 | compatible = "marvell,mv64xxx-i2c"; | ||
81 | reg = <0x11000 0x20>; | ||
82 | #address-cells = <1>; | ||
83 | #size-cells = <0>; | ||
84 | interrupts = <5>; | ||
85 | clock-frequency = <100000>; | ||
86 | status = "disabled"; | ||
87 | }; | ||
88 | |||
89 | crypto@90000 { | ||
90 | compatible = "marvell,orion-crypto"; | ||
91 | reg = <0x90000 0x10000>, | ||
92 | <0xf2200000 0x800>; | ||
93 | reg-names = "regs", "sram"; | ||
94 | interrupts = <22>; | ||
95 | status = "okay"; | ||
96 | }; | ||
97 | }; | ||
98 | }; | ||
diff --git a/arch/arm/boot/dts/pm9g45.dts b/arch/arm/boot/dts/pm9g45.dts new file mode 100644 index 000000000000..387fedb58988 --- /dev/null +++ b/arch/arm/boot/dts/pm9g45.dts | |||
@@ -0,0 +1,165 @@ | |||
1 | /* | ||
2 | * pm9g45.dts - Device Tree file for Ronetix pm9g45 board | ||
3 | * | ||
4 | * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | ||
5 | * | ||
6 | * Licensed under GPLv2. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | /include/ "at91sam9g45.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Ronetix pm9g45"; | ||
13 | compatible = "ronetix,pm9g45", "atmel,at91sam9g45", "atmel,at91sam9"; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "console=ttyS0,115200"; | ||
17 | }; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x70000000 0x8000000>; | ||
21 | }; | ||
22 | |||
23 | clocks { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <1>; | ||
26 | ranges; | ||
27 | |||
28 | main_clock: clock@0 { | ||
29 | compatible = "atmel,osc", "fixed-clock"; | ||
30 | clock-frequency = <12000000>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | ahb { | ||
35 | apb { | ||
36 | dbgu: serial@ffffee00 { | ||
37 | status = "okay"; | ||
38 | }; | ||
39 | |||
40 | pinctrl@fffff200 { | ||
41 | |||
42 | board { | ||
43 | pinctrl_board_nand: nand0-board { | ||
44 | atmel,pins = | ||
45 | <3 3 0x0 0x1 /* PD3 gpio RDY pin pull_up*/ | ||
46 | 2 14 0x0 0x1>; /* PC14 gpio enable pin pull_up */ | ||
47 | }; | ||
48 | }; | ||
49 | |||
50 | mmc { | ||
51 | pinctrl_board_mmc: mmc0-board { | ||
52 | atmel,pins = | ||
53 | <3 6 0x0 0x5>; /* PD6 gpio CD pin pull_up and deglitch */ | ||
54 | }; | ||
55 | }; | ||
56 | }; | ||
57 | |||
58 | mmc0: mmc@fff80000 { | ||
59 | pinctrl-0 = < | ||
60 | &pinctrl_board_mmc | ||
61 | &pinctrl_mmc0_slot0_clk_cmd_dat0 | ||
62 | &pinctrl_mmc0_slot0_dat1_3>; | ||
63 | status = "okay"; | ||
64 | slot@0 { | ||
65 | reg = <0>; | ||
66 | bus-width = <4>; | ||
67 | cd-gpios = <&pioD 6 0>; | ||
68 | }; | ||
69 | }; | ||
70 | |||
71 | macb0: ethernet@fffbc000 { | ||
72 | phy-mode = "rmii"; | ||
73 | status = "okay"; | ||
74 | }; | ||
75 | |||
76 | }; | ||
77 | |||
78 | nand0: nand@40000000 { | ||
79 | nand-bus-width = <8>; | ||
80 | nand-ecc-mode = "soft"; | ||
81 | nand-on-flash-bbt; | ||
82 | pinctrl-0 = <&pinctrl_board_nand>; | ||
83 | |||
84 | gpios = <&pioD 3 0 | ||
85 | &pioC 14 0 | ||
86 | 0 | ||
87 | >; | ||
88 | |||
89 | status = "okay"; | ||
90 | |||
91 | at91bootstrap@0 { | ||
92 | label = "at91bootstrap"; | ||
93 | reg = <0x0 0x20000>; | ||
94 | }; | ||
95 | |||
96 | barebox@20000 { | ||
97 | label = "barebox"; | ||
98 | reg = <0x20000 0x40000>; | ||
99 | }; | ||
100 | |||
101 | bareboxenv@60000 { | ||
102 | label = "bareboxenv"; | ||
103 | reg = <0x60000 0x1A0000>; | ||
104 | }; | ||
105 | |||
106 | kernel@200000 { | ||
107 | label = "bareboxenv2"; | ||
108 | reg = <0x200000 0x300000>; | ||
109 | }; | ||
110 | |||
111 | kernel@500000 { | ||
112 | label = "root"; | ||
113 | reg = <0x500000 0x400000>; | ||
114 | }; | ||
115 | |||
116 | data@900000 { | ||
117 | label = "data"; | ||
118 | reg = <0x900000 0x8340000>; | ||
119 | }; | ||
120 | }; | ||
121 | |||
122 | usb0: ohci@00700000 { | ||
123 | status = "okay"; | ||
124 | num-ports = <2>; | ||
125 | }; | ||
126 | |||
127 | usb1: ehci@00800000 { | ||
128 | status = "okay"; | ||
129 | }; | ||
130 | }; | ||
131 | |||
132 | leds { | ||
133 | compatible = "gpio-leds"; | ||
134 | |||
135 | led0 { | ||
136 | label = "led0"; | ||
137 | gpios = <&pioD 0 1>; | ||
138 | linux,default-trigger = "nand-disk"; | ||
139 | }; | ||
140 | |||
141 | led1 { | ||
142 | label = "led1"; | ||
143 | gpios = <&pioD 31 0>; | ||
144 | linux,default-trigger = "heartbeat"; | ||
145 | }; | ||
146 | }; | ||
147 | |||
148 | gpio_keys { | ||
149 | compatible = "gpio-keys"; | ||
150 | #address-cells = <1>; | ||
151 | #size-cells = <0>; | ||
152 | |||
153 | right { | ||
154 | label = "SW4"; | ||
155 | gpios = <&pioE 7 1>; | ||
156 | linux,code = <106>; | ||
157 | }; | ||
158 | |||
159 | up { | ||
160 | label = "SW3"; | ||
161 | gpios = <&pioE 8 1>; | ||
162 | linux,code = <103>; | ||
163 | }; | ||
164 | }; | ||
165 | }; | ||
diff --git a/arch/arm/boot/dts/samsung_k3pe0e000b.dtsi b/arch/arm/boot/dts/samsung_k3pe0e000b.dtsi new file mode 100644 index 000000000000..9657a5cbc3ad --- /dev/null +++ b/arch/arm/boot/dts/samsung_k3pe0e000b.dtsi | |||
@@ -0,0 +1,67 @@ | |||
1 | /* | ||
2 | * Timings and Geometry for Samsung K3PE0E000B memory part | ||
3 | */ | ||
4 | |||
5 | / { | ||
6 | samsung_K3PE0E000B: lpddr2 { | ||
7 | compatible = "Samsung,K3PE0E000B","jedec,lpddr2-s4"; | ||
8 | density = <4096>; | ||
9 | io-width = <32>; | ||
10 | |||
11 | tRPab-min-tck = <3>; | ||
12 | tRCD-min-tck = <3>; | ||
13 | tWR-min-tck = <3>; | ||
14 | tRASmin-min-tck = <3>; | ||
15 | tRRD-min-tck = <2>; | ||
16 | tWTR-min-tck = <2>; | ||
17 | tXP-min-tck = <2>; | ||
18 | tRTP-min-tck = <2>; | ||
19 | tCKE-min-tck = <3>; | ||
20 | tCKESR-min-tck = <3>; | ||
21 | tFAW-min-tck = <8>; | ||
22 | |||
23 | timings_samsung_K3PE0E000B_533MHz: lpddr2-timings@0 { | ||
24 | compatible = "jedec,lpddr2-timings"; | ||
25 | min-freq = <10000000>; | ||
26 | max-freq = <533333333>; | ||
27 | tRPab = <21000>; | ||
28 | tRCD = <18000>; | ||
29 | tWR = <15000>; | ||
30 | tRAS-min = <42000>; | ||
31 | tRRD = <10000>; | ||
32 | tWTR = <7500>; | ||
33 | tXP = <7500>; | ||
34 | tRTP = <7500>; | ||
35 | tCKESR = <15000>; | ||
36 | tDQSCK-max = <5500>; | ||
37 | tFAW = <50000>; | ||
38 | tZQCS = <90000>; | ||
39 | tZQCL = <360000>; | ||
40 | tZQinit = <1000000>; | ||
41 | tRAS-max-ns = <70000>; | ||
42 | tDQSCK-max-derated = <6000>; | ||
43 | }; | ||
44 | |||
45 | timings_samsung_K3PE0E000B_266MHz: lpddr2-timings@1 { | ||
46 | compatible = "jedec,lpddr2-timings"; | ||
47 | min-freq = <10000000>; | ||
48 | max-freq = <266666666>; | ||
49 | tRPab = <21000>; | ||
50 | tRCD = <18000>; | ||
51 | tWR = <15000>; | ||
52 | tRAS-min = <42000>; | ||
53 | tRRD = <10000>; | ||
54 | tWTR = <7500>; | ||
55 | tXP = <7500>; | ||
56 | tRTP = <7500>; | ||
57 | tCKESR = <15000>; | ||
58 | tDQSCK-max = <5500>; | ||
59 | tFAW = <50000>; | ||
60 | tZQCS = <90000>; | ||
61 | tZQCL = <360000>; | ||
62 | tZQinit = <1000000>; | ||
63 | tRAS-max-ns = <70000>; | ||
64 | tDQSCK-max-derated = <6000>; | ||
65 | }; | ||
66 | }; | ||
67 | }; | ||
diff --git a/arch/arm/boot/dts/sh7377.dtsi b/arch/arm/boot/dts/sh7372-mackerel.dts index 767ee0796daa..286f0caef013 100644 --- a/arch/arm/boot/dts/sh7377.dtsi +++ b/arch/arm/boot/dts/sh7372-mackerel.dts | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Device Tree Source for the sh7377 SoC | 2 | * Device Tree Source for the mackerel board |
3 | * | 3 | * |
4 | * Copyright (C) 2012 Renesas Solutions Corp. | 4 | * Copyright (C) 2012 Renesas Solutions Corp. |
5 | * | 5 | * |
@@ -8,14 +8,15 @@ | |||
8 | * kind, whether express or implied. | 8 | * kind, whether express or implied. |
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | ||
11 | /include/ "skeleton.dtsi" | 12 | /include/ "skeleton.dtsi" |
12 | 13 | ||
13 | / { | 14 | / { |
14 | compatible = "renesas,sh7377"; | 15 | model = "Mackerel (AP4 EVM 2nd)"; |
16 | compatible = "renesas,mackerel"; | ||
15 | 17 | ||
16 | cpus { | 18 | memory { |
17 | cpu@0 { | 19 | device_type = "memory"; |
18 | compatible = "arm,cortex-a8"; | 20 | reg = <0x40000000 0x10000000>; |
19 | }; | ||
20 | }; | 21 | }; |
21 | }; | 22 | }; |
diff --git a/arch/arm/boot/dts/snowball.dts b/arch/arm/boot/dts/snowball.dts index 702c0baa6004..27f31a5fa494 100644 --- a/arch/arm/boot/dts/snowball.dts +++ b/arch/arm/boot/dts/snowball.dts | |||
@@ -14,7 +14,7 @@ | |||
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "Calao Systems Snowball platform with device tree"; | 16 | model = "Calao Systems Snowball platform with device tree"; |
17 | compatible = "calaosystems,snowball-a9500"; | 17 | compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500"; |
18 | 18 | ||
19 | memory { | 19 | memory { |
20 | reg = <0x00000000 0x20000000>; | 20 | reg = <0x00000000 0x20000000>; |
@@ -99,6 +99,33 @@ | |||
99 | status = "okay"; | 99 | status = "okay"; |
100 | }; | 100 | }; |
101 | 101 | ||
102 | prcmu@80157000 { | ||
103 | thermal@801573c0 { | ||
104 | num-trips = <4>; | ||
105 | |||
106 | trip0-temp = <70000>; | ||
107 | trip0-type = "active"; | ||
108 | trip0-cdev-num = <1>; | ||
109 | trip0-cdev-name0 = "thermal-cpufreq-0"; | ||
110 | |||
111 | trip1-temp = <75000>; | ||
112 | trip1-type = "active"; | ||
113 | trip1-cdev-num = <1>; | ||
114 | trip1-cdev-name0 = "thermal-cpufreq-0"; | ||
115 | |||
116 | trip2-temp = <80000>; | ||
117 | trip2-type = "active"; | ||
118 | trip2-cdev-num = <1>; | ||
119 | trip2-cdev-name0 = "thermal-cpufreq-0"; | ||
120 | |||
121 | trip3-temp = <85000>; | ||
122 | trip3-type = "critical"; | ||
123 | trip3-cdev-num = <0>; | ||
124 | |||
125 | status = "okay"; | ||
126 | }; | ||
127 | }; | ||
128 | |||
102 | external-bus@50000000 { | 129 | external-bus@50000000 { |
103 | status = "okay"; | 130 | status = "okay"; |
104 | 131 | ||
@@ -120,10 +147,10 @@ | |||
120 | }; | 147 | }; |
121 | 148 | ||
122 | // External Micro SD slot | 149 | // External Micro SD slot |
123 | sdi@80126000 { | 150 | sdi0_per1@80126000 { |
124 | arm,primecell-periphid = <0x10480180>; | 151 | arm,primecell-periphid = <0x10480180>; |
125 | max-frequency = <50000000>; | 152 | max-frequency = <50000000>; |
126 | bus-width = <8>; | 153 | bus-width = <4>; |
127 | mmc-cap-mmc-highspeed; | 154 | mmc-cap-mmc-highspeed; |
128 | vmmc-supply = <&ab8500_ldo_aux3_reg>; | 155 | vmmc-supply = <&ab8500_ldo_aux3_reg>; |
129 | 156 | ||
@@ -134,7 +161,7 @@ | |||
134 | }; | 161 | }; |
135 | 162 | ||
136 | // On-board eMMC | 163 | // On-board eMMC |
137 | sdi@80114000 { | 164 | sdi4_per2@80114000 { |
138 | arm,primecell-periphid = <0x10480180>; | 165 | arm,primecell-periphid = <0x10480180>; |
139 | max-frequency = <50000000>; | 166 | max-frequency = <50000000>; |
140 | bus-width = <8>; | 167 | bus-width = <8>; |
@@ -183,5 +210,141 @@ | |||
183 | reg = <0x33>; | 210 | reg = <0x33>; |
184 | }; | 211 | }; |
185 | }; | 212 | }; |
213 | |||
214 | cpufreq-cooling { | ||
215 | status = "okay"; | ||
216 | }; | ||
217 | |||
218 | prcmu@80157000 { | ||
219 | db8500-prcmu-regulators { | ||
220 | db8500_vape_reg: db8500_vape { | ||
221 | regulator-name = "db8500-vape"; | ||
222 | }; | ||
223 | |||
224 | db8500_varm_reg: db8500_varm { | ||
225 | regulator-name = "db8500-varm"; | ||
226 | }; | ||
227 | |||
228 | db8500_vmodem_reg: db8500_vmodem { | ||
229 | regulator-name = "db8500-vmodem"; | ||
230 | }; | ||
231 | |||
232 | db8500_vpll_reg: db8500_vpll { | ||
233 | regulator-name = "db8500-vpll"; | ||
234 | }; | ||
235 | |||
236 | db8500_vsmps1_reg: db8500_vsmps1 { | ||
237 | regulator-name = "db8500-vsmps1"; | ||
238 | }; | ||
239 | |||
240 | db8500_vsmps2_reg: db8500_vsmps2 { | ||
241 | regulator-name = "db8500-vsmps2"; | ||
242 | }; | ||
243 | |||
244 | db8500_vsmps3_reg: db8500_vsmps3 { | ||
245 | regulator-name = "db8500-vsmps3"; | ||
246 | }; | ||
247 | |||
248 | db8500_vrf1_reg: db8500_vrf1 { | ||
249 | regulator-name = "db8500-vrf1"; | ||
250 | }; | ||
251 | |||
252 | db8500_sva_mmdsp_reg: db8500_sva_mmdsp { | ||
253 | regulator-name = "db8500-sva-mmdsp"; | ||
254 | }; | ||
255 | |||
256 | db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret { | ||
257 | regulator-name = "db8500-sva-mmdsp-ret"; | ||
258 | }; | ||
259 | |||
260 | db8500_sva_pipe_reg: db8500_sva_pipe { | ||
261 | regulator-name = "db8500_sva_pipe"; | ||
262 | }; | ||
263 | |||
264 | db8500_sia_mmdsp_reg: db8500_sia_mmdsp { | ||
265 | regulator-name = "db8500_sia_mmdsp"; | ||
266 | }; | ||
267 | |||
268 | db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret { | ||
269 | regulator-name = "db8500-sia-mmdsp-ret"; | ||
270 | }; | ||
271 | |||
272 | db8500_sia_pipe_reg: db8500_sia_pipe { | ||
273 | regulator-name = "db8500-sia-pipe"; | ||
274 | }; | ||
275 | |||
276 | db8500_sga_reg: db8500_sga { | ||
277 | regulator-name = "db8500-sga"; | ||
278 | }; | ||
279 | |||
280 | db8500_b2r2_mcde_reg: db8500_b2r2_mcde { | ||
281 | regulator-name = "db8500-b2r2-mcde"; | ||
282 | }; | ||
283 | |||
284 | db8500_esram12_reg: db8500_esram12 { | ||
285 | regulator-name = "db8500-esram12"; | ||
286 | }; | ||
287 | |||
288 | db8500_esram12_ret_reg: db8500_esram12_ret { | ||
289 | regulator-name = "db8500-esram12-ret"; | ||
290 | }; | ||
291 | |||
292 | db8500_esram34_reg: db8500_esram34 { | ||
293 | regulator-name = "db8500-esram34"; | ||
294 | }; | ||
295 | |||
296 | db8500_esram34_ret_reg: db8500_esram34_ret { | ||
297 | regulator-name = "db8500-esram34-ret"; | ||
298 | }; | ||
299 | }; | ||
300 | |||
301 | ab8500@5 { | ||
302 | ab8500-regulators { | ||
303 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | ||
304 | regulator-name = "V-DISPLAY"; | ||
305 | }; | ||
306 | |||
307 | ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { | ||
308 | regulator-name = "V-eMMC1"; | ||
309 | }; | ||
310 | |||
311 | ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { | ||
312 | regulator-name = "V-MMC-SD"; | ||
313 | }; | ||
314 | |||
315 | ab8500_ldo_initcore_reg: ab8500_ldo_initcore { | ||
316 | regulator-name = "V-INTCORE"; | ||
317 | }; | ||
318 | |||
319 | ab8500_ldo_tvout_reg: ab8500_ldo_tvout { | ||
320 | regulator-name = "V-TVOUT"; | ||
321 | }; | ||
322 | |||
323 | ab8500_ldo_usb_reg: ab8500_ldo_usb { | ||
324 | regulator-name = "dummy"; | ||
325 | }; | ||
326 | |||
327 | ab8500_ldo_audio_reg: ab8500_ldo_audio { | ||
328 | regulator-name = "V-AUD"; | ||
329 | }; | ||
330 | |||
331 | ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { | ||
332 | regulator-name = "V-AMIC1"; | ||
333 | }; | ||
334 | |||
335 | ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 { | ||
336 | regulator-name = "V-AMIC2"; | ||
337 | }; | ||
338 | |||
339 | ab8500_ldo_dmic_reg: ab8500_ldo_dmic { | ||
340 | regulator-name = "V-DMIC"; | ||
341 | }; | ||
342 | |||
343 | ab8500_ldo_ana_reg: ab8500_ldo_ana { | ||
344 | regulator-name = "V-CSI/DSI"; | ||
345 | }; | ||
346 | }; | ||
347 | }; | ||
348 | }; | ||
186 | }; | 349 | }; |
187 | }; | 350 | }; |
diff --git a/arch/arm/boot/dts/spear1310-evb.dts b/arch/arm/boot/dts/spear1310-evb.dts index dd4358bc26e2..2e4c5727468e 100644 --- a/arch/arm/boot/dts/spear1310-evb.dts +++ b/arch/arm/boot/dts/spear1310-evb.dts | |||
@@ -181,6 +181,10 @@ | |||
181 | status = "okay"; | 181 | status = "okay"; |
182 | }; | 182 | }; |
183 | 183 | ||
184 | gpio@d8400000 { | ||
185 | status = "okay"; | ||
186 | }; | ||
187 | |||
184 | i2c0: i2c@e0280000 { | 188 | i2c0: i2c@e0280000 { |
185 | status = "okay"; | 189 | status = "okay"; |
186 | }; | 190 | }; |
diff --git a/arch/arm/boot/dts/spear1310.dtsi b/arch/arm/boot/dts/spear1310.dtsi index 419ea7413d23..7cd25eb4f8e0 100644 --- a/arch/arm/boot/dts/spear1310.dtsi +++ b/arch/arm/boot/dts/spear1310.dtsi | |||
@@ -70,6 +70,12 @@ | |||
70 | status = "disabled"; | 70 | status = "disabled"; |
71 | }; | 71 | }; |
72 | 72 | ||
73 | pinmux: pinmux@e0700000 { | ||
74 | compatible = "st,spear1310-pinmux"; | ||
75 | reg = <0xe0700000 0x1000>; | ||
76 | #gpio-range-cells = <2>; | ||
77 | }; | ||
78 | |||
73 | spi1: spi@5d400000 { | 79 | spi1: spi@5d400000 { |
74 | compatible = "arm,pl022", "arm,primecell"; | 80 | compatible = "arm,pl022", "arm,primecell"; |
75 | reg = <0x5d400000 0x1000>; | 81 | reg = <0x5d400000 0x1000>; |
@@ -179,6 +185,27 @@ | |||
179 | thermal@e07008c4 { | 185 | thermal@e07008c4 { |
180 | st,thermal-flags = <0x7000>; | 186 | st,thermal-flags = <0x7000>; |
181 | }; | 187 | }; |
188 | |||
189 | gpiopinctrl: gpio@d8400000 { | ||
190 | compatible = "st,spear-plgpio"; | ||
191 | reg = <0xd8400000 0x1000>; | ||
192 | interrupts = <0 100 0x4>; | ||
193 | #interrupt-cells = <1>; | ||
194 | interrupt-controller; | ||
195 | gpio-controller; | ||
196 | #gpio-cells = <2>; | ||
197 | gpio-ranges = <&pinmux 0 246>; | ||
198 | status = "disabled"; | ||
199 | |||
200 | st-plgpio,ngpio = <246>; | ||
201 | st-plgpio,enb-reg = <0xd0>; | ||
202 | st-plgpio,wdata-reg = <0x90>; | ||
203 | st-plgpio,dir-reg = <0xb0>; | ||
204 | st-plgpio,ie-reg = <0x30>; | ||
205 | st-plgpio,rdata-reg = <0x70>; | ||
206 | st-plgpio,mis-reg = <0x10>; | ||
207 | st-plgpio,eit-reg = <0x50>; | ||
208 | }; | ||
182 | }; | 209 | }; |
183 | }; | 210 | }; |
184 | }; | 211 | }; |
diff --git a/arch/arm/boot/dts/spear1340-evb.dts b/arch/arm/boot/dts/spear1340-evb.dts index c9a54e06fb68..045f7123ffac 100644 --- a/arch/arm/boot/dts/spear1340-evb.dts +++ b/arch/arm/boot/dts/spear1340-evb.dts | |||
@@ -193,6 +193,10 @@ | |||
193 | status = "okay"; | 193 | status = "okay"; |
194 | }; | 194 | }; |
195 | 195 | ||
196 | gpio@e2800000 { | ||
197 | status = "okay"; | ||
198 | }; | ||
199 | |||
196 | i2c0: i2c@e0280000 { | 200 | i2c0: i2c@e0280000 { |
197 | status = "okay"; | 201 | status = "okay"; |
198 | }; | 202 | }; |
diff --git a/arch/arm/boot/dts/spear1340.dtsi b/arch/arm/boot/dts/spear1340.dtsi index d71fe2a68f09..6c09eb0a1b2b 100644 --- a/arch/arm/boot/dts/spear1340.dtsi +++ b/arch/arm/boot/dts/spear1340.dtsi | |||
@@ -24,6 +24,12 @@ | |||
24 | status = "disabled"; | 24 | status = "disabled"; |
25 | }; | 25 | }; |
26 | 26 | ||
27 | pinmux: pinmux@e0700000 { | ||
28 | compatible = "st,spear1340-pinmux"; | ||
29 | reg = <0xe0700000 0x1000>; | ||
30 | #gpio-range-cells = <2>; | ||
31 | }; | ||
32 | |||
27 | spi1: spi@5d400000 { | 33 | spi1: spi@5d400000 { |
28 | compatible = "arm,pl022", "arm,primecell"; | 34 | compatible = "arm,pl022", "arm,primecell"; |
29 | reg = <0x5d400000 0x1000>; | 35 | reg = <0x5d400000 0x1000>; |
@@ -51,6 +57,26 @@ | |||
51 | thermal@e07008c4 { | 57 | thermal@e07008c4 { |
52 | st,thermal-flags = <0x2a00>; | 58 | st,thermal-flags = <0x2a00>; |
53 | }; | 59 | }; |
60 | |||
61 | gpiopinctrl: gpio@e2800000 { | ||
62 | compatible = "st,spear-plgpio"; | ||
63 | reg = <0xe2800000 0x1000>; | ||
64 | interrupts = <0 107 0x4>; | ||
65 | #interrupt-cells = <1>; | ||
66 | interrupt-controller; | ||
67 | gpio-controller; | ||
68 | #gpio-cells = <2>; | ||
69 | gpio-ranges = <&pinmux 0 252>; | ||
70 | status = "disabled"; | ||
71 | |||
72 | st-plgpio,ngpio = <250>; | ||
73 | st-plgpio,wdata-reg = <0x40>; | ||
74 | st-plgpio,dir-reg = <0x00>; | ||
75 | st-plgpio,ie-reg = <0x80>; | ||
76 | st-plgpio,rdata-reg = <0x20>; | ||
77 | st-plgpio,mis-reg = <0xa0>; | ||
78 | st-plgpio,eit-reg = <0x60>; | ||
79 | }; | ||
54 | }; | 80 | }; |
55 | }; | 81 | }; |
56 | }; | 82 | }; |
diff --git a/arch/arm/boot/dts/spear310.dtsi b/arch/arm/boot/dts/spear310.dtsi index 62fc4fb3e5f9..930303e48df9 100644 --- a/arch/arm/boot/dts/spear310.dtsi +++ b/arch/arm/boot/dts/spear310.dtsi | |||
@@ -22,9 +22,10 @@ | |||
22 | 0xb0000000 0xb0000000 0x10000000 | 22 | 0xb0000000 0xb0000000 0x10000000 |
23 | 0xd0000000 0xd0000000 0x30000000>; | 23 | 0xd0000000 0xd0000000 0x30000000>; |
24 | 24 | ||
25 | pinmux@b4000000 { | 25 | pinmux: pinmux@b4000000 { |
26 | compatible = "st,spear310-pinmux"; | 26 | compatible = "st,spear310-pinmux"; |
27 | reg = <0xb4000000 0x1000>; | 27 | reg = <0xb4000000 0x1000>; |
28 | #gpio-range-cells = <2>; | ||
28 | }; | 29 | }; |
29 | 30 | ||
30 | fsmc: flash@44000000 { | 31 | fsmc: flash@44000000 { |
@@ -75,6 +76,25 @@ | |||
75 | reg = <0xb2200000 0x1000>; | 76 | reg = <0xb2200000 0x1000>; |
76 | status = "disabled"; | 77 | status = "disabled"; |
77 | }; | 78 | }; |
79 | |||
80 | gpiopinctrl: gpio@b4000000 { | ||
81 | compatible = "st,spear-plgpio"; | ||
82 | reg = <0xb4000000 0x1000>; | ||
83 | #interrupt-cells = <1>; | ||
84 | interrupt-controller; | ||
85 | gpio-controller; | ||
86 | #gpio-cells = <2>; | ||
87 | gpio-ranges = <&pinmux 0 102>; | ||
88 | status = "disabled"; | ||
89 | |||
90 | st-plgpio,ngpio = <102>; | ||
91 | st-plgpio,enb-reg = <0x10>; | ||
92 | st-plgpio,wdata-reg = <0x20>; | ||
93 | st-plgpio,dir-reg = <0x30>; | ||
94 | st-plgpio,ie-reg = <0x50>; | ||
95 | st-plgpio,rdata-reg = <0x40>; | ||
96 | st-plgpio,mis-reg = <0x60>; | ||
97 | }; | ||
78 | }; | 98 | }; |
79 | }; | 99 | }; |
80 | }; | 100 | }; |
diff --git a/arch/arm/boot/dts/spear320-evb.dts b/arch/arm/boot/dts/spear320-evb.dts index 082328bd64ab..ad4bfc68ee05 100644 --- a/arch/arm/boot/dts/spear320-evb.dts +++ b/arch/arm/boot/dts/spear320-evb.dts | |||
@@ -164,6 +164,10 @@ | |||
164 | status = "okay"; | 164 | status = "okay"; |
165 | }; | 165 | }; |
166 | 166 | ||
167 | gpio@b3000000 { | ||
168 | status = "okay"; | ||
169 | }; | ||
170 | |||
167 | i2c0: i2c@d0180000 { | 171 | i2c0: i2c@d0180000 { |
168 | status = "okay"; | 172 | status = "okay"; |
169 | }; | 173 | }; |
diff --git a/arch/arm/boot/dts/spear320.dtsi b/arch/arm/boot/dts/spear320.dtsi index 1f49d69595a0..67d7ada71275 100644 --- a/arch/arm/boot/dts/spear320.dtsi +++ b/arch/arm/boot/dts/spear320.dtsi | |||
@@ -21,9 +21,10 @@ | |||
21 | ranges = <0x40000000 0x40000000 0x80000000 | 21 | ranges = <0x40000000 0x40000000 0x80000000 |
22 | 0xd0000000 0xd0000000 0x30000000>; | 22 | 0xd0000000 0xd0000000 0x30000000>; |
23 | 23 | ||
24 | pinmux@b3000000 { | 24 | pinmux: pinmux@b3000000 { |
25 | compatible = "st,spear320-pinmux"; | 25 | compatible = "st,spear320-pinmux"; |
26 | reg = <0xb3000000 0x1000>; | 26 | reg = <0xb3000000 0x1000>; |
27 | #gpio-range-cells = <2>; | ||
27 | }; | 28 | }; |
28 | 29 | ||
29 | clcd@90000000 { | 30 | clcd@90000000 { |
@@ -90,6 +91,26 @@ | |||
90 | reg = <0xa4000000 0x1000>; | 91 | reg = <0xa4000000 0x1000>; |
91 | status = "disabled"; | 92 | status = "disabled"; |
92 | }; | 93 | }; |
94 | |||
95 | gpiopinctrl: gpio@b3000000 { | ||
96 | compatible = "st,spear-plgpio"; | ||
97 | reg = <0xb3000000 0x1000>; | ||
98 | #interrupt-cells = <1>; | ||
99 | interrupt-controller; | ||
100 | gpio-controller; | ||
101 | #gpio-cells = <2>; | ||
102 | gpio-ranges = <&pinmux 0 102>; | ||
103 | status = "disabled"; | ||
104 | |||
105 | st-plgpio,ngpio = <102>; | ||
106 | st-plgpio,enb-reg = <0x24>; | ||
107 | st-plgpio,wdata-reg = <0x34>; | ||
108 | st-plgpio,dir-reg = <0x44>; | ||
109 | st-plgpio,ie-reg = <0x64>; | ||
110 | st-plgpio,rdata-reg = <0x54>; | ||
111 | st-plgpio,mis-reg = <0x84>; | ||
112 | st-plgpio,eit-reg = <0x94>; | ||
113 | }; | ||
93 | }; | 114 | }; |
94 | }; | 115 | }; |
95 | }; | 116 | }; |
diff --git a/arch/arm/boot/dts/stuib.dtsi b/arch/arm/boot/dts/stuib.dtsi new file mode 100644 index 000000000000..39446a247e79 --- /dev/null +++ b/arch/arm/boot/dts/stuib.dtsi | |||
@@ -0,0 +1,78 @@ | |||
1 | /* | ||
2 | * Copyright 2012 ST-Ericsson AB | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | / { | ||
13 | soc-u9500 { | ||
14 | i2c@80004000 { | ||
15 | stmpe1601: stmpe1601@40 { | ||
16 | compatible = "st,stmpe1601"; | ||
17 | reg = <0x40>; | ||
18 | interrupts = <26 0x1>; | ||
19 | interrupt-parent = <&gpio6>; | ||
20 | interrupt-controller; | ||
21 | |||
22 | wakeup-source; | ||
23 | st,autosleep-timeout = <1024>; | ||
24 | |||
25 | stmpe_keypad { | ||
26 | compatible = "st,stmpe-keypad"; | ||
27 | |||
28 | debounce-interval = <64>; | ||
29 | st,scan-count = <8>; | ||
30 | st,no-autorepeat; | ||
31 | |||
32 | linux,keymap = <0x205006b | ||
33 | 0x4010074 | ||
34 | 0x3050072 | ||
35 | 0x1030004 | ||
36 | 0x502006a | ||
37 | 0x500000a | ||
38 | 0x5008b | ||
39 | 0x706001c | ||
40 | 0x405000b | ||
41 | 0x6070003 | ||
42 | 0x3040067 | ||
43 | 0x303006c | ||
44 | 0x60400e7 | ||
45 | 0x602009e | ||
46 | 0x4020073 | ||
47 | 0x5050002 | ||
48 | 0x4030069 | ||
49 | 0x3020008>; | ||
50 | }; | ||
51 | }; | ||
52 | }; | ||
53 | |||
54 | i2c@80110000 { | ||
55 | bu21013_tp@0x5c { | ||
56 | compatible = "rhom,bu21013_tp"; | ||
57 | reg = <0x5c>; | ||
58 | touch-gpio = <&gpio2 20 0x4>; | ||
59 | avdd-supply = <&ab8500_ldo_aux1_reg>; | ||
60 | |||
61 | rhom,touch-max-x = <384>; | ||
62 | rhom,touch-max-y = <704>; | ||
63 | rhom,flip-y; | ||
64 | }; | ||
65 | |||
66 | bu21013_tp@0x5d { | ||
67 | compatible = "rhom,bu21013_tp"; | ||
68 | reg = <0x5d>; | ||
69 | touch-gpio = <&gpio2 20 0x4>; | ||
70 | avdd-supply = <&ab8500_ldo_aux1_reg>; | ||
71 | |||
72 | rhom,touch-max-x = <384>; | ||
73 | rhom,touch-max-y = <704>; | ||
74 | rhom,flip-y; | ||
75 | }; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
diff --git a/arch/arm/boot/dts/sun4i-cubieboard.dts b/arch/arm/boot/dts/sun4i-cubieboard.dts new file mode 100644 index 000000000000..f4ca126ad994 --- /dev/null +++ b/arch/arm/boot/dts/sun4i-cubieboard.dts | |||
@@ -0,0 +1,38 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Stefan Roese | ||
3 | * Stefan Roese <sr@denx.de> | ||
4 | * | ||
5 | * The code contained herein is licensed under the GNU General Public | ||
6 | * License. You may obtain a copy of the GNU General Public License | ||
7 | * Version 2 or later at the following locations: | ||
8 | * | ||
9 | * http://www.opensource.org/licenses/gpl-license.html | ||
10 | * http://www.gnu.org/copyleft/gpl.html | ||
11 | */ | ||
12 | |||
13 | /dts-v1/; | ||
14 | /include/ "sun4i.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Cubietech Cubieboard"; | ||
18 | compatible = "cubietech,cubieboard", "allwinner,sun4i"; | ||
19 | |||
20 | aliases { | ||
21 | serial0 = &uart0; | ||
22 | serial1 = &uart1; | ||
23 | }; | ||
24 | |||
25 | chosen { | ||
26 | bootargs = "earlyprintk console=ttyS0,115200"; | ||
27 | }; | ||
28 | |||
29 | soc { | ||
30 | uart0: uart@01c28000 { | ||
31 | status = "okay"; | ||
32 | }; | ||
33 | |||
34 | uart1: uart@01c28400 { | ||
35 | status = "okay"; | ||
36 | }; | ||
37 | }; | ||
38 | }; | ||
diff --git a/arch/arm/boot/dts/sun4i.dtsi b/arch/arm/boot/dts/sun4i.dtsi new file mode 100644 index 000000000000..e61fdd47bd01 --- /dev/null +++ b/arch/arm/boot/dts/sun4i.dtsi | |||
@@ -0,0 +1,19 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Stefan Roese | ||
3 | * Stefan Roese <sr@denx.de> | ||
4 | * | ||
5 | * The code contained herein is licensed under the GNU General Public | ||
6 | * License. You may obtain a copy of the GNU General Public License | ||
7 | * Version 2 or later at the following locations: | ||
8 | * | ||
9 | * http://www.opensource.org/licenses/gpl-license.html | ||
10 | * http://www.gnu.org/copyleft/gpl.html | ||
11 | */ | ||
12 | |||
13 | /include/ "sunxi.dtsi" | ||
14 | |||
15 | / { | ||
16 | memory { | ||
17 | reg = <0x40000000 0x80000000>; | ||
18 | }; | ||
19 | }; | ||
diff --git a/arch/arm/boot/dts/sun5i-olinuxino.dts b/arch/arm/boot/dts/sun5i-olinuxino.dts new file mode 100644 index 000000000000..d6ff889a5d87 --- /dev/null +++ b/arch/arm/boot/dts/sun5i-olinuxino.dts | |||
@@ -0,0 +1,30 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Maxime Ripard | ||
3 | * | ||
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | /include/ "sun5i.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "Olimex A13-Olinuxino"; | ||
19 | compatible = "olimex,a13-olinuxino", "allwinner,sun5i"; | ||
20 | |||
21 | chosen { | ||
22 | bootargs = "earlyprintk console=ttyS0,115200"; | ||
23 | }; | ||
24 | |||
25 | soc { | ||
26 | uart1: uart@01c28400 { | ||
27 | status = "okay"; | ||
28 | }; | ||
29 | }; | ||
30 | }; | ||
diff --git a/arch/arm/boot/dts/sun5i.dtsi b/arch/arm/boot/dts/sun5i.dtsi new file mode 100644 index 000000000000..59a2d265a98e --- /dev/null +++ b/arch/arm/boot/dts/sun5i.dtsi | |||
@@ -0,0 +1,20 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Maxime Ripard | ||
3 | * | ||
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | /include/ "sunxi.dtsi" | ||
15 | |||
16 | / { | ||
17 | memory { | ||
18 | reg = <0x40000000 0x20000000>; | ||
19 | }; | ||
20 | }; | ||
diff --git a/arch/arm/boot/dts/sunxi.dtsi b/arch/arm/boot/dts/sunxi.dtsi new file mode 100644 index 000000000000..8bbc2bfef221 --- /dev/null +++ b/arch/arm/boot/dts/sunxi.dtsi | |||
@@ -0,0 +1,80 @@ | |||
1 | /* | ||
2 | * Copyright 2012 Maxime Ripard | ||
3 | * | ||
4 | * Maxime Ripard <maxime.ripard@free-electrons.com> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | /include/ "skeleton.dtsi" | ||
15 | |||
16 | / { | ||
17 | interrupt-parent = <&intc>; | ||
18 | |||
19 | cpus { | ||
20 | cpu@0 { | ||
21 | compatible = "arm,cortex-a8"; | ||
22 | }; | ||
23 | }; | ||
24 | |||
25 | clocks { | ||
26 | #address-cells = <1>; | ||
27 | #size-cells = <0>; | ||
28 | |||
29 | osc: oscillator { | ||
30 | #clock-cells = <0>; | ||
31 | compatible = "fixed-clock"; | ||
32 | clock-frequency = <24000000>; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | soc { | ||
37 | compatible = "simple-bus"; | ||
38 | #address-cells = <1>; | ||
39 | #size-cells = <1>; | ||
40 | reg = <0x01c20000 0x300000>; | ||
41 | ranges; | ||
42 | |||
43 | timer@01c20c00 { | ||
44 | compatible = "allwinner,sunxi-timer"; | ||
45 | reg = <0x01c20c00 0x90>; | ||
46 | interrupts = <22>; | ||
47 | clocks = <&osc>; | ||
48 | }; | ||
49 | |||
50 | wdt: watchdog@01c20c90 { | ||
51 | compatible = "allwinner,sunxi-wdt"; | ||
52 | reg = <0x01c20c90 0x10>; | ||
53 | }; | ||
54 | |||
55 | intc: interrupt-controller@01c20400 { | ||
56 | compatible = "allwinner,sunxi-ic"; | ||
57 | reg = <0x01c20400 0x400>; | ||
58 | interrupt-controller; | ||
59 | #interrupt-cells = <1>; | ||
60 | }; | ||
61 | |||
62 | uart0: uart@01c28000 { | ||
63 | compatible = "ns8250"; | ||
64 | reg = <0x01c28000 0x400>; | ||
65 | interrupts = <1>; | ||
66 | reg-shift = <2>; | ||
67 | clock-frequency = <24000000>; | ||
68 | status = "disabled"; | ||
69 | }; | ||
70 | |||
71 | uart1: uart@01c28400 { | ||
72 | compatible = "ns8250"; | ||
73 | reg = <0x01c28400 0x400>; | ||
74 | interrupts = <2>; | ||
75 | reg-shift = <2>; | ||
76 | clock-frequency = <24000000>; | ||
77 | status = "disabled"; | ||
78 | }; | ||
79 | }; | ||
80 | }; | ||
diff --git a/arch/arm/boot/dts/tegra20-harmony.dts b/arch/arm/boot/dts/tegra20-harmony.dts index c3ef1ad26b6a..43eb72af8948 100644 --- a/arch/arm/boot/dts/tegra20-harmony.dts +++ b/arch/arm/boot/dts/tegra20-harmony.dts | |||
@@ -10,6 +10,18 @@ | |||
10 | reg = <0x00000000 0x40000000>; | 10 | reg = <0x00000000 0x40000000>; |
11 | }; | 11 | }; |
12 | 12 | ||
13 | host1x { | ||
14 | hdmi { | ||
15 | status = "okay"; | ||
16 | |||
17 | vdd-supply = <&hdmi_vdd_reg>; | ||
18 | pll-supply = <&hdmi_pll_reg>; | ||
19 | |||
20 | nvidia,ddc-i2c-bus = <&hdmi_ddc>; | ||
21 | nvidia,hpd-gpio = <&gpio 111 0>; /* PN7 */ | ||
22 | }; | ||
23 | }; | ||
24 | |||
13 | pinmux { | 25 | pinmux { |
14 | pinctrl-names = "default"; | 26 | pinctrl-names = "default"; |
15 | pinctrl-0 = <&state_default>; | 27 | pinctrl-0 = <&state_default>; |
@@ -262,9 +274,9 @@ | |||
262 | }; | 274 | }; |
263 | }; | 275 | }; |
264 | 276 | ||
265 | i2c@7000c400 { | 277 | hdmi_ddc: i2c@7000c400 { |
266 | status = "okay"; | 278 | status = "okay"; |
267 | clock-frequency = <400000>; | 279 | clock-frequency = <100000>; |
268 | }; | 280 | }; |
269 | 281 | ||
270 | i2c@7000c500 { | 282 | i2c@7000c500 { |
@@ -297,131 +309,98 @@ | |||
297 | vinldo9-supply = <&sm2_reg>; | 309 | vinldo9-supply = <&sm2_reg>; |
298 | 310 | ||
299 | regulators { | 311 | regulators { |
300 | #address-cells = <1>; | 312 | sys_reg: sys { |
301 | #size-cells = <0>; | ||
302 | |||
303 | sys_reg: regulator@0 { | ||
304 | reg = <0>; | ||
305 | regulator-compatible = "sys"; | ||
306 | regulator-name = "vdd_sys"; | 313 | regulator-name = "vdd_sys"; |
307 | regulator-always-on; | 314 | regulator-always-on; |
308 | }; | 315 | }; |
309 | 316 | ||
310 | regulator@1 { | 317 | sm0 { |
311 | reg = <1>; | ||
312 | regulator-compatible = "sm0"; | ||
313 | regulator-name = "vdd_sm0,vdd_core"; | 318 | regulator-name = "vdd_sm0,vdd_core"; |
314 | regulator-min-microvolt = <1200000>; | 319 | regulator-min-microvolt = <1200000>; |
315 | regulator-max-microvolt = <1200000>; | 320 | regulator-max-microvolt = <1200000>; |
316 | regulator-always-on; | 321 | regulator-always-on; |
317 | }; | 322 | }; |
318 | 323 | ||
319 | regulator@2 { | 324 | sm1 { |
320 | reg = <2>; | ||
321 | regulator-compatible = "sm1"; | ||
322 | regulator-name = "vdd_sm1,vdd_cpu"; | 325 | regulator-name = "vdd_sm1,vdd_cpu"; |
323 | regulator-min-microvolt = <1000000>; | 326 | regulator-min-microvolt = <1000000>; |
324 | regulator-max-microvolt = <1000000>; | 327 | regulator-max-microvolt = <1000000>; |
325 | regulator-always-on; | 328 | regulator-always-on; |
326 | }; | 329 | }; |
327 | 330 | ||
328 | sm2_reg: regulator@3 { | 331 | sm2_reg: sm2 { |
329 | reg = <3>; | ||
330 | regulator-compatible = "sm2"; | ||
331 | regulator-name = "vdd_sm2,vin_ldo*"; | 332 | regulator-name = "vdd_sm2,vin_ldo*"; |
332 | regulator-min-microvolt = <3700000>; | 333 | regulator-min-microvolt = <3700000>; |
333 | regulator-max-microvolt = <3700000>; | 334 | regulator-max-microvolt = <3700000>; |
334 | regulator-always-on; | 335 | regulator-always-on; |
335 | }; | 336 | }; |
336 | 337 | ||
337 | regulator@4 { | 338 | ldo0 { |
338 | reg = <4>; | ||
339 | regulator-compatible = "ldo0"; | ||
340 | regulator-name = "vdd_ldo0,vddio_pex_clk"; | 339 | regulator-name = "vdd_ldo0,vddio_pex_clk"; |
341 | regulator-min-microvolt = <3300000>; | 340 | regulator-min-microvolt = <3300000>; |
342 | regulator-max-microvolt = <3300000>; | 341 | regulator-max-microvolt = <3300000>; |
343 | }; | 342 | }; |
344 | 343 | ||
345 | regulator@5 { | 344 | ldo1 { |
346 | reg = <5>; | ||
347 | regulator-compatible = "ldo1"; | ||
348 | regulator-name = "vdd_ldo1,avdd_pll*"; | 345 | regulator-name = "vdd_ldo1,avdd_pll*"; |
349 | regulator-min-microvolt = <1100000>; | 346 | regulator-min-microvolt = <1100000>; |
350 | regulator-max-microvolt = <1100000>; | 347 | regulator-max-microvolt = <1100000>; |
351 | regulator-always-on; | 348 | regulator-always-on; |
352 | }; | 349 | }; |
353 | 350 | ||
354 | regulator@6 { | 351 | ldo2 { |
355 | reg = <6>; | ||
356 | regulator-compatible = "ldo2"; | ||
357 | regulator-name = "vdd_ldo2,vdd_rtc"; | 352 | regulator-name = "vdd_ldo2,vdd_rtc"; |
358 | regulator-min-microvolt = <1200000>; | 353 | regulator-min-microvolt = <1200000>; |
359 | regulator-max-microvolt = <1200000>; | 354 | regulator-max-microvolt = <1200000>; |
360 | }; | 355 | }; |
361 | 356 | ||
362 | regulator@7 { | 357 | ldo3 { |
363 | reg = <7>; | ||
364 | regulator-compatible = "ldo3"; | ||
365 | regulator-name = "vdd_ldo3,avdd_usb*"; | 358 | regulator-name = "vdd_ldo3,avdd_usb*"; |
366 | regulator-min-microvolt = <3300000>; | 359 | regulator-min-microvolt = <3300000>; |
367 | regulator-max-microvolt = <3300000>; | 360 | regulator-max-microvolt = <3300000>; |
368 | regulator-always-on; | 361 | regulator-always-on; |
369 | }; | 362 | }; |
370 | 363 | ||
371 | regulator@8 { | 364 | ldo4 { |
372 | reg = <8>; | ||
373 | regulator-compatible = "ldo4"; | ||
374 | regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; | 365 | regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; |
375 | regulator-min-microvolt = <1800000>; | 366 | regulator-min-microvolt = <1800000>; |
376 | regulator-max-microvolt = <1800000>; | 367 | regulator-max-microvolt = <1800000>; |
377 | regulator-always-on; | 368 | regulator-always-on; |
378 | }; | 369 | }; |
379 | 370 | ||
380 | regulator@9 { | 371 | ldo5 { |
381 | reg = <9>; | ||
382 | regulator-compatible = "ldo5"; | ||
383 | regulator-name = "vdd_ldo5,vcore_mmc"; | 372 | regulator-name = "vdd_ldo5,vcore_mmc"; |
384 | regulator-min-microvolt = <2850000>; | 373 | regulator-min-microvolt = <2850000>; |
385 | regulator-max-microvolt = <2850000>; | 374 | regulator-max-microvolt = <2850000>; |
386 | regulator-always-on; | 375 | regulator-always-on; |
387 | }; | 376 | }; |
388 | 377 | ||
389 | regulator@10 { | 378 | ldo6 { |
390 | reg = <10>; | ||
391 | regulator-compatible = "ldo6"; | ||
392 | regulator-name = "vdd_ldo6,avdd_vdac"; | 379 | regulator-name = "vdd_ldo6,avdd_vdac"; |
393 | regulator-min-microvolt = <1800000>; | 380 | regulator-min-microvolt = <1800000>; |
394 | regulator-max-microvolt = <1800000>; | 381 | regulator-max-microvolt = <1800000>; |
395 | }; | 382 | }; |
396 | 383 | ||
397 | regulator@11 { | 384 | hdmi_vdd_reg: ldo7 { |
398 | reg = <11>; | ||
399 | regulator-compatible = "ldo7"; | ||
400 | regulator-name = "vdd_ldo7,avdd_hdmi"; | 385 | regulator-name = "vdd_ldo7,avdd_hdmi"; |
401 | regulator-min-microvolt = <3300000>; | 386 | regulator-min-microvolt = <3300000>; |
402 | regulator-max-microvolt = <3300000>; | 387 | regulator-max-microvolt = <3300000>; |
403 | }; | 388 | }; |
404 | 389 | ||
405 | regulator@12 { | 390 | hdmi_pll_reg: ldo8 { |
406 | reg = <12>; | ||
407 | regulator-compatible = "ldo8"; | ||
408 | regulator-name = "vdd_ldo8,avdd_hdmi_pll"; | 391 | regulator-name = "vdd_ldo8,avdd_hdmi_pll"; |
409 | regulator-min-microvolt = <1800000>; | 392 | regulator-min-microvolt = <1800000>; |
410 | regulator-max-microvolt = <1800000>; | 393 | regulator-max-microvolt = <1800000>; |
411 | }; | 394 | }; |
412 | 395 | ||
413 | regulator@13 { | 396 | ldo9 { |
414 | reg = <13>; | ||
415 | regulator-compatible = "ldo9"; | ||
416 | regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; | 397 | regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; |
417 | regulator-min-microvolt = <2850000>; | 398 | regulator-min-microvolt = <2850000>; |
418 | regulator-max-microvolt = <2850000>; | 399 | regulator-max-microvolt = <2850000>; |
419 | regulator-always-on; | 400 | regulator-always-on; |
420 | }; | 401 | }; |
421 | 402 | ||
422 | regulator@14 { | 403 | ldo_rtc { |
423 | reg = <14>; | ||
424 | regulator-compatible = "ldo_rtc"; | ||
425 | regulator-name = "vdd_rtc_out,vdd_cell"; | 404 | regulator-name = "vdd_rtc_out,vdd_cell"; |
426 | regulator-min-microvolt = <3300000>; | 405 | regulator-min-microvolt = <3300000>; |
427 | regulator-max-microvolt = <3300000>; | 406 | regulator-max-microvolt = <3300000>; |
@@ -429,6 +408,11 @@ | |||
429 | }; | 408 | }; |
430 | }; | 409 | }; |
431 | }; | 410 | }; |
411 | |||
412 | temperature-sensor@4c { | ||
413 | compatible = "adi,adt7461"; | ||
414 | reg = <0x4c>; | ||
415 | }; | ||
432 | }; | 416 | }; |
433 | 417 | ||
434 | pmc { | 418 | pmc { |
diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts index ddf287f52d49..6a93d1404c76 100644 --- a/arch/arm/boot/dts/tegra20-paz00.dts +++ b/arch/arm/boot/dts/tegra20-paz00.dts | |||
@@ -291,37 +291,26 @@ | |||
291 | vinldo9-supply = <&sm2_reg>; | 291 | vinldo9-supply = <&sm2_reg>; |
292 | 292 | ||
293 | regulators { | 293 | regulators { |
294 | #address-cells = <1>; | 294 | sys_reg: sys { |
295 | #size-cells = <0>; | ||
296 | |||
297 | sys_reg: regulator@0 { | ||
298 | reg = <0>; | ||
299 | regulator-compatible = "sys"; | ||
300 | regulator-name = "vdd_sys"; | 295 | regulator-name = "vdd_sys"; |
301 | regulator-always-on; | 296 | regulator-always-on; |
302 | }; | 297 | }; |
303 | 298 | ||
304 | regulator@1 { | 299 | sm0 { |
305 | reg = <1>; | ||
306 | regulator-compatible = "sm0"; | ||
307 | regulator-name = "+1.2vs_sm0,vdd_core"; | 300 | regulator-name = "+1.2vs_sm0,vdd_core"; |
308 | regulator-min-microvolt = <1200000>; | 301 | regulator-min-microvolt = <1200000>; |
309 | regulator-max-microvolt = <1200000>; | 302 | regulator-max-microvolt = <1200000>; |
310 | regulator-always-on; | 303 | regulator-always-on; |
311 | }; | 304 | }; |
312 | 305 | ||
313 | regulator@2 { | 306 | sm1 { |
314 | reg = <2>; | ||
315 | regulator-compatible = "sm1"; | ||
316 | regulator-name = "+1.0vs_sm1,vdd_cpu"; | 307 | regulator-name = "+1.0vs_sm1,vdd_cpu"; |
317 | regulator-min-microvolt = <1000000>; | 308 | regulator-min-microvolt = <1000000>; |
318 | regulator-max-microvolt = <1000000>; | 309 | regulator-max-microvolt = <1000000>; |
319 | regulator-always-on; | 310 | regulator-always-on; |
320 | }; | 311 | }; |
321 | 312 | ||
322 | sm2_reg: regulator@3 { | 313 | sm2_reg: sm2 { |
323 | reg = <3>; | ||
324 | regulator-compatible = "sm2"; | ||
325 | regulator-name = "+3.7vs_sm2,vin_ldo*"; | 314 | regulator-name = "+3.7vs_sm2,vin_ldo*"; |
326 | regulator-min-microvolt = <3700000>; | 315 | regulator-min-microvolt = <3700000>; |
327 | regulator-max-microvolt = <3700000>; | 316 | regulator-max-microvolt = <3700000>; |
@@ -330,53 +319,41 @@ | |||
330 | 319 | ||
331 | /* LDO0 is not connected to anything */ | 320 | /* LDO0 is not connected to anything */ |
332 | 321 | ||
333 | regulator@5 { | 322 | ldo1 { |
334 | reg = <5>; | ||
335 | regulator-compatible = "ldo1"; | ||
336 | regulator-name = "+1.1vs_ldo1,avdd_pll*"; | 323 | regulator-name = "+1.1vs_ldo1,avdd_pll*"; |
337 | regulator-min-microvolt = <1100000>; | 324 | regulator-min-microvolt = <1100000>; |
338 | regulator-max-microvolt = <1100000>; | 325 | regulator-max-microvolt = <1100000>; |
339 | regulator-always-on; | 326 | regulator-always-on; |
340 | }; | 327 | }; |
341 | 328 | ||
342 | regulator@6 { | 329 | ldo2 { |
343 | reg = <6>; | ||
344 | regulator-compatible = "ldo2"; | ||
345 | regulator-name = "+1.2vs_ldo2,vdd_rtc"; | 330 | regulator-name = "+1.2vs_ldo2,vdd_rtc"; |
346 | regulator-min-microvolt = <1200000>; | 331 | regulator-min-microvolt = <1200000>; |
347 | regulator-max-microvolt = <1200000>; | 332 | regulator-max-microvolt = <1200000>; |
348 | }; | 333 | }; |
349 | 334 | ||
350 | regulator@7 { | 335 | ldo3 { |
351 | reg = <7>; | ||
352 | regulator-compatible = "ldo3"; | ||
353 | regulator-name = "+3.3vs_ldo3,avdd_usb*"; | 336 | regulator-name = "+3.3vs_ldo3,avdd_usb*"; |
354 | regulator-min-microvolt = <3300000>; | 337 | regulator-min-microvolt = <3300000>; |
355 | regulator-max-microvolt = <3300000>; | 338 | regulator-max-microvolt = <3300000>; |
356 | regulator-always-on; | 339 | regulator-always-on; |
357 | }; | 340 | }; |
358 | 341 | ||
359 | regulator@8 { | 342 | ldo4 { |
360 | reg = <8>; | ||
361 | regulator-compatible = "ldo4"; | ||
362 | regulator-name = "+1.8vs_ldo4,avdd_osc,vddio_sys"; | 343 | regulator-name = "+1.8vs_ldo4,avdd_osc,vddio_sys"; |
363 | regulator-min-microvolt = <1800000>; | 344 | regulator-min-microvolt = <1800000>; |
364 | regulator-max-microvolt = <1800000>; | 345 | regulator-max-microvolt = <1800000>; |
365 | regulator-always-on; | 346 | regulator-always-on; |
366 | }; | 347 | }; |
367 | 348 | ||
368 | regulator@9 { | 349 | ldo5 { |
369 | reg = <9>; | ||
370 | regulator-compatible = "ldo5"; | ||
371 | regulator-name = "+2.85vs_ldo5,vcore_mmc"; | 350 | regulator-name = "+2.85vs_ldo5,vcore_mmc"; |
372 | regulator-min-microvolt = <2850000>; | 351 | regulator-min-microvolt = <2850000>; |
373 | regulator-max-microvolt = <2850000>; | 352 | regulator-max-microvolt = <2850000>; |
374 | regulator-always-on; | 353 | regulator-always-on; |
375 | }; | 354 | }; |
376 | 355 | ||
377 | regulator@10 { | 356 | ldo6 { |
378 | reg = <10>; | ||
379 | regulator-compatible = "ldo6"; | ||
380 | /* | 357 | /* |
381 | * Research indicates this should be | 358 | * Research indicates this should be |
382 | * 1.8v; other boards that use this | 359 | * 1.8v; other boards that use this |
@@ -390,34 +367,26 @@ | |||
390 | regulator-max-microvolt = <1800000>; | 367 | regulator-max-microvolt = <1800000>; |
391 | }; | 368 | }; |
392 | 369 | ||
393 | regulator@11 { | 370 | ldo7 { |
394 | reg = <11>; | ||
395 | regulator-compatible = "ldo7"; | ||
396 | regulator-name = "+3.3vs_ldo7,avdd_hdmi"; | 371 | regulator-name = "+3.3vs_ldo7,avdd_hdmi"; |
397 | regulator-min-microvolt = <3300000>; | 372 | regulator-min-microvolt = <3300000>; |
398 | regulator-max-microvolt = <3300000>; | 373 | regulator-max-microvolt = <3300000>; |
399 | }; | 374 | }; |
400 | 375 | ||
401 | regulator@12 { | 376 | ldo8 { |
402 | reg = <12>; | ||
403 | regulator-compatible = "ldo8"; | ||
404 | regulator-name = "+1.8vs_ldo8,avdd_hdmi_pll"; | 377 | regulator-name = "+1.8vs_ldo8,avdd_hdmi_pll"; |
405 | regulator-min-microvolt = <1800000>; | 378 | regulator-min-microvolt = <1800000>; |
406 | regulator-max-microvolt = <1800000>; | 379 | regulator-max-microvolt = <1800000>; |
407 | }; | 380 | }; |
408 | 381 | ||
409 | regulator@13 { | 382 | ldo9 { |
410 | reg = <13>; | ||
411 | regulator-compatible = "ldo9"; | ||
412 | regulator-name = "+2.85vs_ldo9,vdd_ddr_rx"; | 383 | regulator-name = "+2.85vs_ldo9,vdd_ddr_rx"; |
413 | regulator-min-microvolt = <2850000>; | 384 | regulator-min-microvolt = <2850000>; |
414 | regulator-max-microvolt = <2850000>; | 385 | regulator-max-microvolt = <2850000>; |
415 | regulator-always-on; | 386 | regulator-always-on; |
416 | }; | 387 | }; |
417 | 388 | ||
418 | regulator@14 { | 389 | ldo_rtc { |
419 | reg = <14>; | ||
420 | regulator-compatible = "ldo_rtc"; | ||
421 | regulator-name = "+3.3vs_rtc"; | 390 | regulator-name = "+3.3vs_rtc"; |
422 | regulator-min-microvolt = <3300000>; | 391 | regulator-min-microvolt = <3300000>; |
423 | regulator-max-microvolt = <3300000>; | 392 | regulator-max-microvolt = <3300000>; |
diff --git a/arch/arm/boot/dts/tegra20-plutux.dts b/arch/arm/boot/dts/tegra20-plutux.dts index 331a3ef24d59..289480026fbf 100644 --- a/arch/arm/boot/dts/tegra20-plutux.dts +++ b/arch/arm/boot/dts/tegra20-plutux.dts | |||
@@ -6,6 +6,12 @@ | |||
6 | model = "Avionic Design Plutux board"; | 6 | model = "Avionic Design Plutux board"; |
7 | compatible = "ad,plutux", "ad,tamonten", "nvidia,tegra20"; | 7 | compatible = "ad,plutux", "ad,tamonten", "nvidia,tegra20"; |
8 | 8 | ||
9 | host1x { | ||
10 | hdmi { | ||
11 | status = "okay"; | ||
12 | }; | ||
13 | }; | ||
14 | |||
9 | i2c@7000c000 { | 15 | i2c@7000c000 { |
10 | wm8903: wm8903@1a { | 16 | wm8903: wm8903@1a { |
11 | compatible = "wlf,wm8903"; | 17 | compatible = "wlf,wm8903"; |
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts index f0ba901676ac..420459825b46 100644 --- a/arch/arm/boot/dts/tegra20-seaboard.dts +++ b/arch/arm/boot/dts/tegra20-seaboard.dts | |||
@@ -395,37 +395,26 @@ | |||
395 | vinldo9-supply = <&sm2_reg>; | 395 | vinldo9-supply = <&sm2_reg>; |
396 | 396 | ||
397 | regulators { | 397 | regulators { |
398 | #address-cells = <1>; | 398 | sys_reg: sys { |
399 | #size-cells = <0>; | ||
400 | |||
401 | sys_reg: regulator@0 { | ||
402 | reg = <0>; | ||
403 | regulator-compatible = "sys"; | ||
404 | regulator-name = "vdd_sys"; | 399 | regulator-name = "vdd_sys"; |
405 | regulator-always-on; | 400 | regulator-always-on; |
406 | }; | 401 | }; |
407 | 402 | ||
408 | regulator@1 { | 403 | sm0 { |
409 | reg = <1>; | ||
410 | regulator-compatible = "sm0"; | ||
411 | regulator-name = "vdd_sm0,vdd_core"; | 404 | regulator-name = "vdd_sm0,vdd_core"; |
412 | regulator-min-microvolt = <1300000>; | 405 | regulator-min-microvolt = <1300000>; |
413 | regulator-max-microvolt = <1300000>; | 406 | regulator-max-microvolt = <1300000>; |
414 | regulator-always-on; | 407 | regulator-always-on; |
415 | }; | 408 | }; |
416 | 409 | ||
417 | regulator@2 { | 410 | sm1 { |
418 | reg = <2>; | ||
419 | regulator-compatible = "sm1"; | ||
420 | regulator-name = "vdd_sm1,vdd_cpu"; | 411 | regulator-name = "vdd_sm1,vdd_cpu"; |
421 | regulator-min-microvolt = <1125000>; | 412 | regulator-min-microvolt = <1125000>; |
422 | regulator-max-microvolt = <1125000>; | 413 | regulator-max-microvolt = <1125000>; |
423 | regulator-always-on; | 414 | regulator-always-on; |
424 | }; | 415 | }; |
425 | 416 | ||
426 | sm2_reg: regulator@3 { | 417 | sm2_reg: sm2 { |
427 | reg = <3>; | ||
428 | regulator-compatible = "sm2"; | ||
429 | regulator-name = "vdd_sm2,vin_ldo*"; | 418 | regulator-name = "vdd_sm2,vin_ldo*"; |
430 | regulator-min-microvolt = <3700000>; | 419 | regulator-min-microvolt = <3700000>; |
431 | regulator-max-microvolt = <3700000>; | 420 | regulator-max-microvolt = <3700000>; |
@@ -434,86 +423,66 @@ | |||
434 | 423 | ||
435 | /* LDO0 is not connected to anything */ | 424 | /* LDO0 is not connected to anything */ |
436 | 425 | ||
437 | regulator@5 { | 426 | ldo1 { |
438 | reg = <5>; | ||
439 | regulator-compatible = "ldo1"; | ||
440 | regulator-name = "vdd_ldo1,avdd_pll*"; | 427 | regulator-name = "vdd_ldo1,avdd_pll*"; |
441 | regulator-min-microvolt = <1100000>; | 428 | regulator-min-microvolt = <1100000>; |
442 | regulator-max-microvolt = <1100000>; | 429 | regulator-max-microvolt = <1100000>; |
443 | regulator-always-on; | 430 | regulator-always-on; |
444 | }; | 431 | }; |
445 | 432 | ||
446 | regulator@6 { | 433 | ldo2 { |
447 | reg = <6>; | ||
448 | regulator-compatible = "ldo2"; | ||
449 | regulator-name = "vdd_ldo2,vdd_rtc"; | 434 | regulator-name = "vdd_ldo2,vdd_rtc"; |
450 | regulator-min-microvolt = <1200000>; | 435 | regulator-min-microvolt = <1200000>; |
451 | regulator-max-microvolt = <1200000>; | 436 | regulator-max-microvolt = <1200000>; |
452 | }; | 437 | }; |
453 | 438 | ||
454 | regulator@7 { | 439 | ldo3 { |
455 | reg = <7>; | ||
456 | regulator-compatible = "ldo3"; | ||
457 | regulator-name = "vdd_ldo3,avdd_usb*"; | 440 | regulator-name = "vdd_ldo3,avdd_usb*"; |
458 | regulator-min-microvolt = <3300000>; | 441 | regulator-min-microvolt = <3300000>; |
459 | regulator-max-microvolt = <3300000>; | 442 | regulator-max-microvolt = <3300000>; |
460 | regulator-always-on; | 443 | regulator-always-on; |
461 | }; | 444 | }; |
462 | 445 | ||
463 | regulator@8 { | 446 | ldo4 { |
464 | reg = <8>; | ||
465 | regulator-compatible = "ldo4"; | ||
466 | regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; | 447 | regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; |
467 | regulator-min-microvolt = <1800000>; | 448 | regulator-min-microvolt = <1800000>; |
468 | regulator-max-microvolt = <1800000>; | 449 | regulator-max-microvolt = <1800000>; |
469 | regulator-always-on; | 450 | regulator-always-on; |
470 | }; | 451 | }; |
471 | 452 | ||
472 | regulator@9 { | 453 | ldo5 { |
473 | reg = <9>; | ||
474 | regulator-compatible = "ldo5"; | ||
475 | regulator-name = "vdd_ldo5,vcore_mmc"; | 454 | regulator-name = "vdd_ldo5,vcore_mmc"; |
476 | regulator-min-microvolt = <2850000>; | 455 | regulator-min-microvolt = <2850000>; |
477 | regulator-max-microvolt = <2850000>; | 456 | regulator-max-microvolt = <2850000>; |
478 | regulator-always-on; | 457 | regulator-always-on; |
479 | }; | 458 | }; |
480 | 459 | ||
481 | regulator@10 { | 460 | ldo6 { |
482 | reg = <10>; | ||
483 | regulator-compatible = "ldo6"; | ||
484 | regulator-name = "vdd_ldo6,avdd_vdac,vddio_vi,vddio_cam"; | 461 | regulator-name = "vdd_ldo6,avdd_vdac,vddio_vi,vddio_cam"; |
485 | regulator-min-microvolt = <1800000>; | 462 | regulator-min-microvolt = <1800000>; |
486 | regulator-max-microvolt = <1800000>; | 463 | regulator-max-microvolt = <1800000>; |
487 | }; | 464 | }; |
488 | 465 | ||
489 | regulator@11 { | 466 | ldo7 { |
490 | reg = <11>; | ||
491 | regulator-compatible = "ldo7"; | ||
492 | regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse"; | 467 | regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse"; |
493 | regulator-min-microvolt = <3300000>; | 468 | regulator-min-microvolt = <3300000>; |
494 | regulator-max-microvolt = <3300000>; | 469 | regulator-max-microvolt = <3300000>; |
495 | }; | 470 | }; |
496 | 471 | ||
497 | regulator@12 { | 472 | ldo8 { |
498 | reg = <12>; | ||
499 | regulator-compatible = "ldo8"; | ||
500 | regulator-name = "vdd_ldo8,avdd_hdmi_pll"; | 473 | regulator-name = "vdd_ldo8,avdd_hdmi_pll"; |
501 | regulator-min-microvolt = <1800000>; | 474 | regulator-min-microvolt = <1800000>; |
502 | regulator-max-microvolt = <1800000>; | 475 | regulator-max-microvolt = <1800000>; |
503 | }; | 476 | }; |
504 | 477 | ||
505 | regulator@13 { | 478 | ldo9 { |
506 | reg = <13>; | ||
507 | regulator-compatible = "ldo9"; | ||
508 | regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; | 479 | regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; |
509 | regulator-min-microvolt = <2850000>; | 480 | regulator-min-microvolt = <2850000>; |
510 | regulator-max-microvolt = <2850000>; | 481 | regulator-max-microvolt = <2850000>; |
511 | regulator-always-on; | 482 | regulator-always-on; |
512 | }; | 483 | }; |
513 | 484 | ||
514 | regulator@14 { | 485 | ldo_rtc { |
515 | reg = <14>; | ||
516 | regulator-compatible = "ldo_rtc"; | ||
517 | regulator-name = "vdd_rtc_out,vdd_cell"; | 486 | regulator-name = "vdd_rtc_out,vdd_cell"; |
518 | regulator-min-microvolt = <3300000>; | 487 | regulator-min-microvolt = <3300000>; |
519 | regulator-max-microvolt = <3300000>; | 488 | regulator-max-microvolt = <3300000>; |
@@ -523,12 +492,12 @@ | |||
523 | }; | 492 | }; |
524 | 493 | ||
525 | temperature-sensor@4c { | 494 | temperature-sensor@4c { |
526 | compatible = "nct1008"; | 495 | compatible = "onnn,nct1008"; |
527 | reg = <0x4c>; | 496 | reg = <0x4c>; |
528 | }; | 497 | }; |
529 | 498 | ||
530 | magnetometer@c { | 499 | magnetometer@c { |
531 | compatible = "ak8975"; | 500 | compatible = "ak,ak8975"; |
532 | reg = <0xc>; | 501 | reg = <0xc>; |
533 | interrupt-parent = <&gpio>; | 502 | interrupt-parent = <&gpio>; |
534 | interrupts = <109 0x04>; /* gpio PN5 */ | 503 | interrupts = <109 0x04>; /* gpio PN5 */ |
@@ -592,6 +561,12 @@ | |||
592 | status = "okay"; | 561 | status = "okay"; |
593 | }; | 562 | }; |
594 | 563 | ||
564 | sdhci@c8000000 { | ||
565 | status = "okay"; | ||
566 | power-gpios = <&gpio 86 0>; /* gpio PK6 */ | ||
567 | bus-width = <4>; | ||
568 | }; | ||
569 | |||
595 | sdhci@c8000400 { | 570 | sdhci@c8000400 { |
596 | status = "okay"; | 571 | status = "okay"; |
597 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | 572 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ |
diff --git a/arch/arm/boot/dts/tegra20-tamonten.dtsi b/arch/arm/boot/dts/tegra20-tamonten.dtsi index f18cec9f6a77..a239ccdfaa52 100644 --- a/arch/arm/boot/dts/tegra20-tamonten.dtsi +++ b/arch/arm/boot/dts/tegra20-tamonten.dtsi | |||
@@ -8,6 +8,16 @@ | |||
8 | reg = <0x00000000 0x20000000>; | 8 | reg = <0x00000000 0x20000000>; |
9 | }; | 9 | }; |
10 | 10 | ||
11 | host1x { | ||
12 | hdmi { | ||
13 | vdd-supply = <&hdmi_vdd_reg>; | ||
14 | pll-supply = <&hdmi_pll_reg>; | ||
15 | |||
16 | nvidia,ddc-i2c-bus = <&hdmi_ddc>; | ||
17 | nvidia,hpd-gpio = <&gpio 111 0>; /* PN7 */ | ||
18 | }; | ||
19 | }; | ||
20 | |||
11 | pinmux { | 21 | pinmux { |
12 | pinctrl-names = "default"; | 22 | pinctrl-names = "default"; |
13 | pinctrl-0 = <&state_default>; | 23 | pinctrl-0 = <&state_default>; |
@@ -62,10 +72,6 @@ | |||
62 | nvidia,pins = "dap4"; | 72 | nvidia,pins = "dap4"; |
63 | nvidia,function = "dap4"; | 73 | nvidia,function = "dap4"; |
64 | }; | 74 | }; |
65 | ddc { | ||
66 | nvidia,pins = "ddc"; | ||
67 | nvidia,function = "i2c2"; | ||
68 | }; | ||
69 | dta { | 75 | dta { |
70 | nvidia,pins = "dta", "dtd"; | 76 | nvidia,pins = "dta", "dtd"; |
71 | nvidia,function = "sdio2"; | 77 | nvidia,function = "sdio2"; |
@@ -91,7 +97,7 @@ | |||
91 | nvidia,function = "pcie"; | 97 | nvidia,function = "pcie"; |
92 | }; | 98 | }; |
93 | hdint { | 99 | hdint { |
94 | nvidia,pins = "hdint", "pta"; | 100 | nvidia,pins = "hdint"; |
95 | nvidia,function = "hdmi"; | 101 | nvidia,function = "hdmi"; |
96 | }; | 102 | }; |
97 | i2cp { | 103 | i2cp { |
@@ -230,6 +236,39 @@ | |||
230 | nvidia,pull = <1>; | 236 | nvidia,pull = <1>; |
231 | }; | 237 | }; |
232 | }; | 238 | }; |
239 | |||
240 | state_i2cmux_ddc: pinmux_i2cmux_ddc { | ||
241 | ddc { | ||
242 | nvidia,pins = "ddc"; | ||
243 | nvidia,function = "i2c2"; | ||
244 | }; | ||
245 | pta { | ||
246 | nvidia,pins = "pta"; | ||
247 | nvidia,function = "rsvd4"; | ||
248 | }; | ||
249 | }; | ||
250 | |||
251 | state_i2cmux_pta: pinmux_i2cmux_pta { | ||
252 | ddc { | ||
253 | nvidia,pins = "ddc"; | ||
254 | nvidia,function = "rsvd4"; | ||
255 | }; | ||
256 | pta { | ||
257 | nvidia,pins = "pta"; | ||
258 | nvidia,function = "i2c2"; | ||
259 | }; | ||
260 | }; | ||
261 | |||
262 | state_i2cmux_idle: pinmux_i2cmux_idle { | ||
263 | ddc { | ||
264 | nvidia,pins = "ddc"; | ||
265 | nvidia,function = "rsvd4"; | ||
266 | }; | ||
267 | pta { | ||
268 | nvidia,pins = "pta"; | ||
269 | nvidia,function = "rsvd4"; | ||
270 | }; | ||
271 | }; | ||
233 | }; | 272 | }; |
234 | 273 | ||
235 | i2s@70002800 { | 274 | i2s@70002800 { |
@@ -246,6 +285,36 @@ | |||
246 | status = "okay"; | 285 | status = "okay"; |
247 | }; | 286 | }; |
248 | 287 | ||
288 | i2c@7000c400 { | ||
289 | clock-frequency = <100000>; | ||
290 | status = "okay"; | ||
291 | }; | ||
292 | |||
293 | i2cmux { | ||
294 | compatible = "i2c-mux-pinctrl"; | ||
295 | #address-cells = <1>; | ||
296 | #size-cells = <0>; | ||
297 | |||
298 | i2c-parent = <&{/i2c@7000c400}>; | ||
299 | |||
300 | pinctrl-names = "ddc", "pta", "idle"; | ||
301 | pinctrl-0 = <&state_i2cmux_ddc>; | ||
302 | pinctrl-1 = <&state_i2cmux_pta>; | ||
303 | pinctrl-2 = <&state_i2cmux_idle>; | ||
304 | |||
305 | hdmi_ddc: i2c@0 { | ||
306 | reg = <0>; | ||
307 | #address-cells = <1>; | ||
308 | #size-cells = <0>; | ||
309 | }; | ||
310 | |||
311 | i2c@1 { | ||
312 | reg = <1>; | ||
313 | #address-cells = <1>; | ||
314 | #size-cells = <0>; | ||
315 | }; | ||
316 | }; | ||
317 | |||
249 | i2c@7000d000 { | 318 | i2c@7000d000 { |
250 | clock-frequency = <400000>; | 319 | clock-frequency = <400000>; |
251 | status = "okay"; | 320 | status = "okay"; |
@@ -271,97 +340,72 @@ | |||
271 | vinldo9-supply = <&sm2_reg>; | 340 | vinldo9-supply = <&sm2_reg>; |
272 | 341 | ||
273 | regulators { | 342 | regulators { |
274 | #address-cells = <1>; | 343 | sys_reg: sys { |
275 | #size-cells = <0>; | ||
276 | |||
277 | sys_reg: regulator@0 { | ||
278 | reg = <0>; | ||
279 | regulator-compatible = "sys"; | ||
280 | regulator-name = "vdd_sys"; | 344 | regulator-name = "vdd_sys"; |
281 | regulator-always-on; | 345 | regulator-always-on; |
282 | }; | 346 | }; |
283 | 347 | ||
284 | regulator@1 { | 348 | sm0 { |
285 | reg = <1>; | ||
286 | regulator-compatible = "sm0"; | ||
287 | regulator-name = "vdd_sys_sm0,vdd_core"; | 349 | regulator-name = "vdd_sys_sm0,vdd_core"; |
288 | regulator-min-microvolt = <1200000>; | 350 | regulator-min-microvolt = <1200000>; |
289 | regulator-max-microvolt = <1200000>; | 351 | regulator-max-microvolt = <1200000>; |
290 | regulator-always-on; | 352 | regulator-always-on; |
291 | }; | 353 | }; |
292 | 354 | ||
293 | regulator@2 { | 355 | sm1 { |
294 | reg = <2>; | ||
295 | regulator-compatible = "sm1"; | ||
296 | regulator-name = "vdd_sys_sm1,vdd_cpu"; | 356 | regulator-name = "vdd_sys_sm1,vdd_cpu"; |
297 | regulator-min-microvolt = <1000000>; | 357 | regulator-min-microvolt = <1000000>; |
298 | regulator-max-microvolt = <1000000>; | 358 | regulator-max-microvolt = <1000000>; |
299 | regulator-always-on; | 359 | regulator-always-on; |
300 | }; | 360 | }; |
301 | 361 | ||
302 | sm2_reg: regulator@3 { | 362 | sm2_reg: sm2 { |
303 | reg = <3>; | ||
304 | regulator-compatible = "sm2"; | ||
305 | regulator-name = "vdd_sys_sm2,vin_ldo*"; | 363 | regulator-name = "vdd_sys_sm2,vin_ldo*"; |
306 | regulator-min-microvolt = <3700000>; | 364 | regulator-min-microvolt = <3700000>; |
307 | regulator-max-microvolt = <3700000>; | 365 | regulator-max-microvolt = <3700000>; |
308 | regulator-always-on; | 366 | regulator-always-on; |
309 | }; | 367 | }; |
310 | 368 | ||
311 | regulator@4 { | 369 | ldo0 { |
312 | reg = <4>; | ||
313 | regulator-compatible = "ldo0"; | ||
314 | regulator-name = "vdd_ldo0,vddio_pex_clk"; | 370 | regulator-name = "vdd_ldo0,vddio_pex_clk"; |
315 | regulator-min-microvolt = <3300000>; | 371 | regulator-min-microvolt = <3300000>; |
316 | regulator-max-microvolt = <3300000>; | 372 | regulator-max-microvolt = <3300000>; |
317 | }; | 373 | }; |
318 | 374 | ||
319 | regulator@5 { | 375 | ldo1 { |
320 | reg = <5>; | ||
321 | regulator-compatible = "ldo1"; | ||
322 | regulator-name = "vdd_ldo1,avdd_pll*"; | 376 | regulator-name = "vdd_ldo1,avdd_pll*"; |
323 | regulator-min-microvolt = <1100000>; | 377 | regulator-min-microvolt = <1100000>; |
324 | regulator-max-microvolt = <1100000>; | 378 | regulator-max-microvolt = <1100000>; |
325 | regulator-always-on; | 379 | regulator-always-on; |
326 | }; | 380 | }; |
327 | 381 | ||
328 | regulator@6 { | 382 | ldo2 { |
329 | reg = <6>; | ||
330 | regulator-compatible = "ldo2"; | ||
331 | regulator-name = "vdd_ldo2,vdd_rtc"; | 383 | regulator-name = "vdd_ldo2,vdd_rtc"; |
332 | regulator-min-microvolt = <1200000>; | 384 | regulator-min-microvolt = <1200000>; |
333 | regulator-max-microvolt = <1200000>; | 385 | regulator-max-microvolt = <1200000>; |
334 | }; | 386 | }; |
335 | 387 | ||
336 | regulator@7 { | 388 | ldo3 { |
337 | reg = <7>; | ||
338 | regulator-compatible = "ldo3"; | ||
339 | regulator-name = "vdd_ldo3,avdd_usb*"; | 389 | regulator-name = "vdd_ldo3,avdd_usb*"; |
340 | regulator-min-microvolt = <3300000>; | 390 | regulator-min-microvolt = <3300000>; |
341 | regulator-max-microvolt = <3300000>; | 391 | regulator-max-microvolt = <3300000>; |
342 | regulator-always-on; | 392 | regulator-always-on; |
343 | }; | 393 | }; |
344 | 394 | ||
345 | regulator@8 { | 395 | ldo4 { |
346 | reg = <8>; | ||
347 | regulator-compatible = "ldo4"; | ||
348 | regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; | 396 | regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; |
349 | regulator-min-microvolt = <1800000>; | 397 | regulator-min-microvolt = <1800000>; |
350 | regulator-max-microvolt = <1800000>; | 398 | regulator-max-microvolt = <1800000>; |
351 | regulator-always-on; | 399 | regulator-always-on; |
352 | }; | 400 | }; |
353 | 401 | ||
354 | regulator@9 { | 402 | ldo5 { |
355 | reg = <9>; | ||
356 | regulator-compatible = "ldo5"; | ||
357 | regulator-name = "vdd_ldo5,vcore_mmc"; | 403 | regulator-name = "vdd_ldo5,vcore_mmc"; |
358 | regulator-min-microvolt = <2850000>; | 404 | regulator-min-microvolt = <2850000>; |
359 | regulator-max-microvolt = <2850000>; | 405 | regulator-max-microvolt = <2850000>; |
360 | }; | 406 | }; |
361 | 407 | ||
362 | regulator@10 { | 408 | ldo6 { |
363 | reg = <10>; | ||
364 | regulator-compatible = "ldo6"; | ||
365 | regulator-name = "vdd_ldo6,avdd_vdac"; | 409 | regulator-name = "vdd_ldo6,avdd_vdac"; |
366 | /* | 410 | /* |
367 | * According to the Tegra 2 Automotive | 411 | * According to the Tegra 2 Automotive |
@@ -373,25 +417,19 @@ | |||
373 | regulator-max-microvolt = <2850000>; | 417 | regulator-max-microvolt = <2850000>; |
374 | }; | 418 | }; |
375 | 419 | ||
376 | regulator@11 { | 420 | hdmi_vdd_reg: ldo7 { |
377 | reg = <11>; | ||
378 | regulator-compatible = "ldo7"; | ||
379 | regulator-name = "vdd_ldo7,avdd_hdmi"; | 421 | regulator-name = "vdd_ldo7,avdd_hdmi"; |
380 | regulator-min-microvolt = <3300000>; | 422 | regulator-min-microvolt = <3300000>; |
381 | regulator-max-microvolt = <3300000>; | 423 | regulator-max-microvolt = <3300000>; |
382 | }; | 424 | }; |
383 | 425 | ||
384 | regulator@12 { | 426 | hdmi_pll_reg: ldo8 { |
385 | reg = <12>; | ||
386 | regulator-compatible = "ldo8"; | ||
387 | regulator-name = "vdd_ldo8,avdd_hdmi_pll"; | 427 | regulator-name = "vdd_ldo8,avdd_hdmi_pll"; |
388 | regulator-min-microvolt = <1800000>; | 428 | regulator-min-microvolt = <1800000>; |
389 | regulator-max-microvolt = <1800000>; | 429 | regulator-max-microvolt = <1800000>; |
390 | }; | 430 | }; |
391 | 431 | ||
392 | regulator@13 { | 432 | ldo9 { |
393 | reg = <13>; | ||
394 | regulator-compatible = "ldo9"; | ||
395 | regulator-name = "vdd_ldo9,vdd_ddr_rx,avdd_cam"; | 433 | regulator-name = "vdd_ldo9,vdd_ddr_rx,avdd_cam"; |
396 | /* | 434 | /* |
397 | * According to the Tegra 2 Automotive | 435 | * According to the Tegra 2 Automotive |
@@ -404,9 +442,7 @@ | |||
404 | regulator-always-on; | 442 | regulator-always-on; |
405 | }; | 443 | }; |
406 | 444 | ||
407 | regulator@14 { | 445 | ldo_rtc { |
408 | reg = <14>; | ||
409 | regulator-compatible = "ldo_rtc"; | ||
410 | regulator-name = "vdd_rtc_out"; | 446 | regulator-name = "vdd_rtc_out"; |
411 | regulator-min-microvolt = <3300000>; | 447 | regulator-min-microvolt = <3300000>; |
412 | regulator-max-microvolt = <3300000>; | 448 | regulator-max-microvolt = <3300000>; |
@@ -414,6 +450,11 @@ | |||
414 | }; | 450 | }; |
415 | }; | 451 | }; |
416 | }; | 452 | }; |
453 | |||
454 | temperature-sensor@4c { | ||
455 | compatible = "onnn,nct1008"; | ||
456 | reg = <0x4c>; | ||
457 | }; | ||
417 | }; | 458 | }; |
418 | 459 | ||
419 | pmc { | 460 | pmc { |
diff --git a/arch/arm/boot/dts/tegra20-tec.dts b/arch/arm/boot/dts/tegra20-tec.dts index 9aff31b0fe4a..402b21004bef 100644 --- a/arch/arm/boot/dts/tegra20-tec.dts +++ b/arch/arm/boot/dts/tegra20-tec.dts | |||
@@ -6,10 +6,13 @@ | |||
6 | model = "Avionic Design Tamonten Evaluation Carrier"; | 6 | model = "Avionic Design Tamonten Evaluation Carrier"; |
7 | compatible = "ad,tec", "ad,tamonten", "nvidia,tegra20"; | 7 | compatible = "ad,tec", "ad,tamonten", "nvidia,tegra20"; |
8 | 8 | ||
9 | i2c@7000c000 { | 9 | host1x { |
10 | clock-frequency = <400000>; | 10 | hdmi { |
11 | status = "okay"; | 11 | status = "okay"; |
12 | }; | ||
13 | }; | ||
12 | 14 | ||
15 | i2c@7000c000 { | ||
13 | wm8903: wm8903@1a { | 16 | wm8903: wm8903@1a { |
14 | compatible = "wlf,wm8903"; | 17 | compatible = "wlf,wm8903"; |
15 | reg = <0x1a>; | 18 | reg = <0x1a>; |
diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts index 27fb8a67ea42..b70b4cb754c8 100644 --- a/arch/arm/boot/dts/tegra20-trimslice.dts +++ b/arch/arm/boot/dts/tegra20-trimslice.dts | |||
@@ -10,6 +10,18 @@ | |||
10 | reg = <0x00000000 0x40000000>; | 10 | reg = <0x00000000 0x40000000>; |
11 | }; | 11 | }; |
12 | 12 | ||
13 | host1x { | ||
14 | hdmi { | ||
15 | status = "okay"; | ||
16 | |||
17 | vdd-supply = <&hdmi_vdd_reg>; | ||
18 | pll-supply = <&hdmi_pll_reg>; | ||
19 | |||
20 | nvidia,ddc-i2c-bus = <&hdmi_ddc>; | ||
21 | nvidia,hpd-gpio = <&gpio 111 0>; /* PN7 */ | ||
22 | }; | ||
23 | }; | ||
24 | |||
13 | pinmux { | 25 | pinmux { |
14 | pinctrl-names = "default"; | 26 | pinctrl-names = "default"; |
15 | pinctrl-0 = <&state_default>; | 27 | pinctrl-0 = <&state_default>; |
@@ -249,14 +261,24 @@ | |||
249 | clock-frequency = <216000000>; | 261 | clock-frequency = <216000000>; |
250 | }; | 262 | }; |
251 | 263 | ||
252 | i2c@7000c000 { | 264 | dvi_ddc: i2c@7000c000 { |
253 | status = "okay"; | 265 | status = "okay"; |
254 | clock-frequency = <400000>; | 266 | clock-frequency = <100000>; |
255 | }; | 267 | }; |
256 | 268 | ||
257 | i2c@7000c400 { | 269 | spi@7000c380 { |
258 | status = "okay"; | 270 | status = "okay"; |
259 | clock-frequency = <400000>; | 271 | spi-max-frequency = <48000000>; |
272 | spi-flash@0 { | ||
273 | compatible = "winbond,w25q80bl"; | ||
274 | reg = <0>; | ||
275 | spi-max-frequency = <48000000>; | ||
276 | }; | ||
277 | }; | ||
278 | |||
279 | hdmi_ddc: i2c@7000c400 { | ||
280 | status = "okay"; | ||
281 | clock-frequency = <100000>; | ||
260 | }; | 282 | }; |
261 | 283 | ||
262 | i2c@7000c500 { | 284 | i2c@7000c500 { |
@@ -300,6 +322,30 @@ | |||
300 | bus-width = <4>; | 322 | bus-width = <4>; |
301 | }; | 323 | }; |
302 | 324 | ||
325 | regulators { | ||
326 | compatible = "simple-bus"; | ||
327 | #address-cells = <1>; | ||
328 | #size-cells = <0>; | ||
329 | |||
330 | hdmi_vdd_reg: regulator@0 { | ||
331 | compatible = "regulator-fixed"; | ||
332 | reg = <0>; | ||
333 | regulator-name = "avdd_hdmi"; | ||
334 | regulator-min-microvolt = <3300000>; | ||
335 | regulator-max-microvolt = <3300000>; | ||
336 | regulator-always-on; | ||
337 | }; | ||
338 | |||
339 | hdmi_pll_reg: regulator@1 { | ||
340 | compatible = "regulator-fixed"; | ||
341 | reg = <1>; | ||
342 | regulator-name = "avdd_hdmi_pll"; | ||
343 | regulator-min-microvolt = <1800000>; | ||
344 | regulator-max-microvolt = <1800000>; | ||
345 | regulator-always-on; | ||
346 | }; | ||
347 | }; | ||
348 | |||
303 | sound { | 349 | sound { |
304 | compatible = "nvidia,tegra-audio-trimslice"; | 350 | compatible = "nvidia,tegra-audio-trimslice"; |
305 | nvidia,i2s-controller = <&tegra_i2s1>; | 351 | nvidia,i2s-controller = <&tegra_i2s1>; |
diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts index 3e5952fcfbc5..adc47547eaae 100644 --- a/arch/arm/boot/dts/tegra20-ventana.dts +++ b/arch/arm/boot/dts/tegra20-ventana.dts | |||
@@ -64,11 +64,6 @@ | |||
64 | nvidia,pins = "dap4"; | 64 | nvidia,pins = "dap4"; |
65 | nvidia,function = "dap4"; | 65 | nvidia,function = "dap4"; |
66 | }; | 66 | }; |
67 | ddc { | ||
68 | nvidia,pins = "ddc", "owc", "spdi", "spdo", | ||
69 | "uac"; | ||
70 | nvidia,function = "rsvd2"; | ||
71 | }; | ||
72 | dta { | 67 | dta { |
73 | nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte"; | 68 | nvidia,pins = "dta", "dtb", "dtc", "dtd", "dte"; |
74 | nvidia,function = "vi"; | 69 | nvidia,function = "vi"; |
@@ -98,7 +93,7 @@ | |||
98 | nvidia,function = "pcie"; | 93 | nvidia,function = "pcie"; |
99 | }; | 94 | }; |
100 | hdint { | 95 | hdint { |
101 | nvidia,pins = "hdint", "pta"; | 96 | nvidia,pins = "hdint"; |
102 | nvidia,function = "hdmi"; | 97 | nvidia,function = "hdmi"; |
103 | }; | 98 | }; |
104 | i2cp { | 99 | i2cp { |
@@ -129,6 +124,10 @@ | |||
129 | "lspi", "lvp1", "lvs"; | 124 | "lspi", "lvp1", "lvs"; |
130 | nvidia,function = "displaya"; | 125 | nvidia,function = "displaya"; |
131 | }; | 126 | }; |
127 | owc { | ||
128 | nvidia,pins = "owc", "spdi", "spdo", "uac"; | ||
129 | nvidia,function = "rsvd2"; | ||
130 | }; | ||
132 | pmc { | 131 | pmc { |
133 | nvidia,pins = "pmc"; | 132 | nvidia,pins = "pmc"; |
134 | nvidia,function = "pwr_on"; | 133 | nvidia,function = "pwr_on"; |
@@ -237,6 +236,49 @@ | |||
237 | "ld23_22"; | 236 | "ld23_22"; |
238 | nvidia,pull = <1>; | 237 | nvidia,pull = <1>; |
239 | }; | 238 | }; |
239 | drive_sdio1 { | ||
240 | nvidia,pins = "drive_sdio1"; | ||
241 | nvidia,high-speed-mode = <0>; | ||
242 | nvidia,schmitt = <1>; | ||
243 | nvidia,low-power-mode = <3>; | ||
244 | nvidia,pull-down-strength = <31>; | ||
245 | nvidia,pull-up-strength = <31>; | ||
246 | nvidia,slew-rate-rising = <3>; | ||
247 | nvidia,slew-rate-falling = <3>; | ||
248 | }; | ||
249 | }; | ||
250 | |||
251 | state_i2cmux_ddc: pinmux_i2cmux_ddc { | ||
252 | ddc { | ||
253 | nvidia,pins = "ddc"; | ||
254 | nvidia,function = "i2c2"; | ||
255 | }; | ||
256 | pta { | ||
257 | nvidia,pins = "pta"; | ||
258 | nvidia,function = "rsvd4"; | ||
259 | }; | ||
260 | }; | ||
261 | |||
262 | state_i2cmux_pta: pinmux_i2cmux_pta { | ||
263 | ddc { | ||
264 | nvidia,pins = "ddc"; | ||
265 | nvidia,function = "rsvd4"; | ||
266 | }; | ||
267 | pta { | ||
268 | nvidia,pins = "pta"; | ||
269 | nvidia,function = "i2c2"; | ||
270 | }; | ||
271 | }; | ||
272 | |||
273 | state_i2cmux_idle: pinmux_i2cmux_idle { | ||
274 | ddc { | ||
275 | nvidia,pins = "ddc"; | ||
276 | nvidia,function = "rsvd4"; | ||
277 | }; | ||
278 | pta { | ||
279 | nvidia,pins = "pta"; | ||
280 | nvidia,function = "rsvd4"; | ||
281 | }; | ||
240 | }; | 282 | }; |
241 | }; | 283 | }; |
242 | 284 | ||
@@ -281,6 +323,31 @@ | |||
281 | clock-frequency = <400000>; | 323 | clock-frequency = <400000>; |
282 | }; | 324 | }; |
283 | 325 | ||
326 | i2cmux { | ||
327 | compatible = "i2c-mux-pinctrl"; | ||
328 | #address-cells = <1>; | ||
329 | #size-cells = <0>; | ||
330 | |||
331 | i2c-parent = <&{/i2c@7000c400}>; | ||
332 | |||
333 | pinctrl-names = "ddc", "pta", "idle"; | ||
334 | pinctrl-0 = <&state_i2cmux_ddc>; | ||
335 | pinctrl-1 = <&state_i2cmux_pta>; | ||
336 | pinctrl-2 = <&state_i2cmux_idle>; | ||
337 | |||
338 | i2c@0 { | ||
339 | reg = <0>; | ||
340 | #address-cells = <1>; | ||
341 | #size-cells = <0>; | ||
342 | }; | ||
343 | |||
344 | i2c@1 { | ||
345 | reg = <1>; | ||
346 | #address-cells = <1>; | ||
347 | #size-cells = <0>; | ||
348 | }; | ||
349 | }; | ||
350 | |||
284 | i2c@7000c500 { | 351 | i2c@7000c500 { |
285 | status = "okay"; | 352 | status = "okay"; |
286 | clock-frequency = <400000>; | 353 | clock-frequency = <400000>; |
@@ -311,37 +378,26 @@ | |||
311 | vinldo9-supply = <&sm2_reg>; | 378 | vinldo9-supply = <&sm2_reg>; |
312 | 379 | ||
313 | regulators { | 380 | regulators { |
314 | #address-cells = <1>; | 381 | sys_reg: sys { |
315 | #size-cells = <0>; | ||
316 | |||
317 | sys_reg: regulator@0 { | ||
318 | reg = <0>; | ||
319 | regulator-compatible = "sys"; | ||
320 | regulator-name = "vdd_sys"; | 382 | regulator-name = "vdd_sys"; |
321 | regulator-always-on; | 383 | regulator-always-on; |
322 | }; | 384 | }; |
323 | 385 | ||
324 | regulator@1 { | 386 | sm0 { |
325 | reg = <1>; | ||
326 | regulator-compatible = "sm0"; | ||
327 | regulator-name = "vdd_sm0,vdd_core"; | 387 | regulator-name = "vdd_sm0,vdd_core"; |
328 | regulator-min-microvolt = <1200000>; | 388 | regulator-min-microvolt = <1200000>; |
329 | regulator-max-microvolt = <1200000>; | 389 | regulator-max-microvolt = <1200000>; |
330 | regulator-always-on; | 390 | regulator-always-on; |
331 | }; | 391 | }; |
332 | 392 | ||
333 | regulator@2 { | 393 | sm1 { |
334 | reg = <2>; | ||
335 | regulator-compatible = "sm1"; | ||
336 | regulator-name = "vdd_sm1,vdd_cpu"; | 394 | regulator-name = "vdd_sm1,vdd_cpu"; |
337 | regulator-min-microvolt = <1000000>; | 395 | regulator-min-microvolt = <1000000>; |
338 | regulator-max-microvolt = <1000000>; | 396 | regulator-max-microvolt = <1000000>; |
339 | regulator-always-on; | 397 | regulator-always-on; |
340 | }; | 398 | }; |
341 | 399 | ||
342 | sm2_reg: regulator@3 { | 400 | sm2_reg: sm2 { |
343 | reg = <3>; | ||
344 | regulator-compatible = "sm2"; | ||
345 | regulator-name = "vdd_sm2,vin_ldo*"; | 401 | regulator-name = "vdd_sm2,vin_ldo*"; |
346 | regulator-min-microvolt = <3700000>; | 402 | regulator-min-microvolt = <3700000>; |
347 | regulator-max-microvolt = <3700000>; | 403 | regulator-max-microvolt = <3700000>; |
@@ -350,86 +406,66 @@ | |||
350 | 406 | ||
351 | /* LDO0 is not connected to anything */ | 407 | /* LDO0 is not connected to anything */ |
352 | 408 | ||
353 | regulator@5 { | 409 | ldo1 { |
354 | reg = <5>; | ||
355 | regulator-compatible = "ldo1"; | ||
356 | regulator-name = "vdd_ldo1,avdd_pll*"; | 410 | regulator-name = "vdd_ldo1,avdd_pll*"; |
357 | regulator-min-microvolt = <1100000>; | 411 | regulator-min-microvolt = <1100000>; |
358 | regulator-max-microvolt = <1100000>; | 412 | regulator-max-microvolt = <1100000>; |
359 | regulator-always-on; | 413 | regulator-always-on; |
360 | }; | 414 | }; |
361 | 415 | ||
362 | regulator@6 { | 416 | ldo2 { |
363 | reg = <6>; | ||
364 | regulator-compatible = "ldo2"; | ||
365 | regulator-name = "vdd_ldo2,vdd_rtc"; | 417 | regulator-name = "vdd_ldo2,vdd_rtc"; |
366 | regulator-min-microvolt = <1200000>; | 418 | regulator-min-microvolt = <1200000>; |
367 | regulator-max-microvolt = <1200000>; | 419 | regulator-max-microvolt = <1200000>; |
368 | }; | 420 | }; |
369 | 421 | ||
370 | regulator@7 { | 422 | ldo3 { |
371 | reg = <7>; | ||
372 | regulator-compatible = "ldo3"; | ||
373 | regulator-name = "vdd_ldo3,avdd_usb*"; | 423 | regulator-name = "vdd_ldo3,avdd_usb*"; |
374 | regulator-min-microvolt = <3300000>; | 424 | regulator-min-microvolt = <3300000>; |
375 | regulator-max-microvolt = <3300000>; | 425 | regulator-max-microvolt = <3300000>; |
376 | regulator-always-on; | 426 | regulator-always-on; |
377 | }; | 427 | }; |
378 | 428 | ||
379 | regulator@8 { | 429 | ldo4 { |
380 | reg = <8>; | ||
381 | regulator-compatible = "ldo4"; | ||
382 | regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; | 430 | regulator-name = "vdd_ldo4,avdd_osc,vddio_sys"; |
383 | regulator-min-microvolt = <1800000>; | 431 | regulator-min-microvolt = <1800000>; |
384 | regulator-max-microvolt = <1800000>; | 432 | regulator-max-microvolt = <1800000>; |
385 | regulator-always-on; | 433 | regulator-always-on; |
386 | }; | 434 | }; |
387 | 435 | ||
388 | regulator@9 { | 436 | ldo5 { |
389 | reg = <9>; | ||
390 | regulator-compatible = "ldo5"; | ||
391 | regulator-name = "vdd_ldo5,vcore_mmc"; | 437 | regulator-name = "vdd_ldo5,vcore_mmc"; |
392 | regulator-min-microvolt = <2850000>; | 438 | regulator-min-microvolt = <2850000>; |
393 | regulator-max-microvolt = <2850000>; | 439 | regulator-max-microvolt = <2850000>; |
394 | regulator-always-on; | 440 | regulator-always-on; |
395 | }; | 441 | }; |
396 | 442 | ||
397 | regulator@10 { | 443 | ldo6 { |
398 | reg = <10>; | ||
399 | regulator-compatible = "ldo6"; | ||
400 | regulator-name = "vdd_ldo6,avdd_vdac"; | 444 | regulator-name = "vdd_ldo6,avdd_vdac"; |
401 | regulator-min-microvolt = <1800000>; | 445 | regulator-min-microvolt = <1800000>; |
402 | regulator-max-microvolt = <1800000>; | 446 | regulator-max-microvolt = <1800000>; |
403 | }; | 447 | }; |
404 | 448 | ||
405 | regulator@11 { | 449 | ldo7 { |
406 | reg = <11>; | ||
407 | regulator-compatible = "ldo7"; | ||
408 | regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse"; | 450 | regulator-name = "vdd_ldo7,avdd_hdmi,vdd_fuse"; |
409 | regulator-min-microvolt = <3300000>; | 451 | regulator-min-microvolt = <3300000>; |
410 | regulator-max-microvolt = <3300000>; | 452 | regulator-max-microvolt = <3300000>; |
411 | }; | 453 | }; |
412 | 454 | ||
413 | regulator@12 { | 455 | ldo8 { |
414 | reg = <12>; | ||
415 | regulator-compatible = "ldo8"; | ||
416 | regulator-name = "vdd_ldo8,avdd_hdmi_pll"; | 456 | regulator-name = "vdd_ldo8,avdd_hdmi_pll"; |
417 | regulator-min-microvolt = <1800000>; | 457 | regulator-min-microvolt = <1800000>; |
418 | regulator-max-microvolt = <1800000>; | 458 | regulator-max-microvolt = <1800000>; |
419 | }; | 459 | }; |
420 | 460 | ||
421 | regulator@13 { | 461 | ldo9 { |
422 | reg = <13>; | ||
423 | regulator-compatible = "ldo9"; | ||
424 | regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; | 462 | regulator-name = "vdd_ldo9,avdd_2v85,vdd_ddr_rx"; |
425 | regulator-min-microvolt = <2850000>; | 463 | regulator-min-microvolt = <2850000>; |
426 | regulator-max-microvolt = <2850000>; | 464 | regulator-max-microvolt = <2850000>; |
427 | regulator-always-on; | 465 | regulator-always-on; |
428 | }; | 466 | }; |
429 | 467 | ||
430 | regulator@14 { | 468 | ldo_rtc { |
431 | reg = <14>; | ||
432 | regulator-compatible = "ldo_rtc"; | ||
433 | regulator-name = "vdd_rtc_out,vdd_cell"; | 469 | regulator-name = "vdd_rtc_out,vdd_cell"; |
434 | regulator-min-microvolt = <3300000>; | 470 | regulator-min-microvolt = <3300000>; |
435 | regulator-max-microvolt = <3300000>; | 471 | regulator-max-microvolt = <3300000>; |
@@ -437,6 +473,11 @@ | |||
437 | }; | 473 | }; |
438 | }; | 474 | }; |
439 | }; | 475 | }; |
476 | |||
477 | temperature-sensor@4c { | ||
478 | compatible = "onnn,nct1008"; | ||
479 | reg = <0x4c>; | ||
480 | }; | ||
440 | }; | 481 | }; |
441 | 482 | ||
442 | pmc { | 483 | pmc { |
@@ -456,6 +497,12 @@ | |||
456 | status = "okay"; | 497 | status = "okay"; |
457 | }; | 498 | }; |
458 | 499 | ||
500 | sdhci@c8000000 { | ||
501 | status = "okay"; | ||
502 | power-gpios = <&gpio 86 0>; /* gpio PK6 */ | ||
503 | bus-width = <4>; | ||
504 | }; | ||
505 | |||
459 | sdhci@c8000400 { | 506 | sdhci@c8000400 { |
460 | status = "okay"; | 507 | status = "okay"; |
461 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | 508 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ |
diff --git a/arch/arm/boot/dts/tegra20-whistler.dts b/arch/arm/boot/dts/tegra20-whistler.dts index c636d002d6d8..20d576ecd555 100644 --- a/arch/arm/boot/dts/tegra20-whistler.dts +++ b/arch/arm/boot/dts/tegra20-whistler.dts | |||
@@ -10,6 +10,18 @@ | |||
10 | reg = <0x00000000 0x20000000>; | 10 | reg = <0x00000000 0x20000000>; |
11 | }; | 11 | }; |
12 | 12 | ||
13 | host1x { | ||
14 | hdmi { | ||
15 | status = "okay"; | ||
16 | |||
17 | vdd-supply = <&hdmi_vdd_reg>; | ||
18 | pll-supply = <&hdmi_pll_reg>; | ||
19 | |||
20 | nvidia,ddc-i2c-bus = <&hdmi_ddc>; | ||
21 | nvidia,hpd-gpio = <&gpio 111 0>; /* PN7 */ | ||
22 | }; | ||
23 | }; | ||
24 | |||
13 | pinmux { | 25 | pinmux { |
14 | pinctrl-names = "default"; | 26 | pinctrl-names = "default"; |
15 | pinctrl-0 = <&state_default>; | 27 | pinctrl-0 = <&state_default>; |
@@ -246,6 +258,11 @@ | |||
246 | clock-frequency = <216000000>; | 258 | clock-frequency = <216000000>; |
247 | }; | 259 | }; |
248 | 260 | ||
261 | hdmi_ddc: i2c@7000c400 { | ||
262 | status = "okay"; | ||
263 | clock-frequency = <100000>; | ||
264 | }; | ||
265 | |||
249 | i2c@7000d000 { | 266 | i2c@7000d000 { |
250 | status = "okay"; | 267 | status = "okay"; |
251 | clock-frequency = <100000>; | 268 | clock-frequency = <100000>; |
@@ -295,243 +312,182 @@ | |||
295 | in20-supply = <&mbatt_reg>; | 312 | in20-supply = <&mbatt_reg>; |
296 | 313 | ||
297 | regulators { | 314 | regulators { |
298 | #address-cells = <1>; | 315 | mbatt_reg: mbatt { |
299 | #size-cells = <0>; | ||
300 | |||
301 | mbatt_reg: regulator@0 { | ||
302 | reg = <0>; | ||
303 | regulator-compatible = "mbatt"; | ||
304 | regulator-name = "vbat_pmu"; | 316 | regulator-name = "vbat_pmu"; |
305 | regulator-always-on; | 317 | regulator-always-on; |
306 | }; | 318 | }; |
307 | 319 | ||
308 | regulator@1 { | 320 | sd1 { |
309 | reg = <1>; | ||
310 | regulator-compatible = "sd1"; | ||
311 | regulator-name = "nvvdd_sv1,vdd_cpu_pmu"; | 321 | regulator-name = "nvvdd_sv1,vdd_cpu_pmu"; |
312 | regulator-min-microvolt = <1000000>; | 322 | regulator-min-microvolt = <1000000>; |
313 | regulator-max-microvolt = <1000000>; | 323 | regulator-max-microvolt = <1000000>; |
314 | regulator-always-on; | 324 | regulator-always-on; |
315 | }; | 325 | }; |
316 | 326 | ||
317 | regulator@2 { | 327 | sd2 { |
318 | reg = <2>; | ||
319 | regulator-compatible = "sd2"; | ||
320 | regulator-name = "nvvdd_sv2,vdd_core"; | 328 | regulator-name = "nvvdd_sv2,vdd_core"; |
321 | regulator-min-microvolt = <1200000>; | 329 | regulator-min-microvolt = <1200000>; |
322 | regulator-max-microvolt = <1200000>; | 330 | regulator-max-microvolt = <1200000>; |
323 | regulator-always-on; | 331 | regulator-always-on; |
324 | }; | 332 | }; |
325 | 333 | ||
326 | nvvdd_sv3_reg: regulator@3 { | 334 | nvvdd_sv3_reg: sd3 { |
327 | reg = <3>; | ||
328 | regulator-compatible = "sd3"; | ||
329 | regulator-name = "nvvdd_sv3"; | 335 | regulator-name = "nvvdd_sv3"; |
330 | regulator-min-microvolt = <1800000>; | 336 | regulator-min-microvolt = <1800000>; |
331 | regulator-max-microvolt = <1800000>; | 337 | regulator-max-microvolt = <1800000>; |
332 | regulator-always-on; | 338 | regulator-always-on; |
333 | }; | 339 | }; |
334 | 340 | ||
335 | regulator@4 { | 341 | ldo1 { |
336 | reg = <4>; | ||
337 | regulator-compatible = "ldo1"; | ||
338 | regulator-name = "nvvdd_ldo1,vddio_rx_ddr,vcore_acc"; | 342 | regulator-name = "nvvdd_ldo1,vddio_rx_ddr,vcore_acc"; |
339 | regulator-min-microvolt = <3300000>; | 343 | regulator-min-microvolt = <3300000>; |
340 | regulator-max-microvolt = <3300000>; | 344 | regulator-max-microvolt = <3300000>; |
341 | regulator-always-on; | 345 | regulator-always-on; |
342 | }; | 346 | }; |
343 | 347 | ||
344 | regulator@5 { | 348 | ldo2 { |
345 | reg = <5>; | ||
346 | regulator-compatible = "ldo2"; | ||
347 | regulator-name = "nvvdd_ldo2,avdd_pll*"; | 349 | regulator-name = "nvvdd_ldo2,avdd_pll*"; |
348 | regulator-min-microvolt = <1100000>; | 350 | regulator-min-microvolt = <1100000>; |
349 | regulator-max-microvolt = <1100000>; | 351 | regulator-max-microvolt = <1100000>; |
350 | regulator-always-on; | 352 | regulator-always-on; |
351 | }; | 353 | }; |
352 | 354 | ||
353 | regulator@6 { | 355 | ldo3 { |
354 | reg = <6>; | ||
355 | regulator-compatible = "ldo3"; | ||
356 | regulator-name = "nvvdd_ldo3,vcom_1v8b"; | 356 | regulator-name = "nvvdd_ldo3,vcom_1v8b"; |
357 | regulator-min-microvolt = <1800000>; | 357 | regulator-min-microvolt = <1800000>; |
358 | regulator-max-microvolt = <1800000>; | 358 | regulator-max-microvolt = <1800000>; |
359 | regulator-always-on; | 359 | regulator-always-on; |
360 | }; | 360 | }; |
361 | 361 | ||
362 | regulator@7 { | 362 | ldo4 { |
363 | reg = <7>; | ||
364 | regulator-compatible = "ldo4"; | ||
365 | regulator-name = "nvvdd_ldo4,avdd_usb*"; | 363 | regulator-name = "nvvdd_ldo4,avdd_usb*"; |
366 | regulator-min-microvolt = <3300000>; | 364 | regulator-min-microvolt = <3300000>; |
367 | regulator-max-microvolt = <3300000>; | 365 | regulator-max-microvolt = <3300000>; |
368 | regulator-always-on; | 366 | regulator-always-on; |
369 | }; | 367 | }; |
370 | 368 | ||
371 | regulator@8 { | 369 | ldo5 { |
372 | reg = <8>; | ||
373 | regulator-compatible = "ldo5"; | ||
374 | regulator-name = "nvvdd_ldo5,vcore_mmc,avdd_lcd1,vddio_1wire"; | 370 | regulator-name = "nvvdd_ldo5,vcore_mmc,avdd_lcd1,vddio_1wire"; |
375 | regulator-min-microvolt = <2800000>; | 371 | regulator-min-microvolt = <2800000>; |
376 | regulator-max-microvolt = <2800000>; | 372 | regulator-max-microvolt = <2800000>; |
377 | regulator-always-on; | 373 | regulator-always-on; |
378 | }; | 374 | }; |
379 | 375 | ||
380 | regulator@9 { | 376 | hdmi_pll_reg: ldo6 { |
381 | reg = <9>; | ||
382 | regulator-compatible = "ldo6"; | ||
383 | regulator-name = "nvvdd_ldo6,avdd_hdmi_pll"; | 377 | regulator-name = "nvvdd_ldo6,avdd_hdmi_pll"; |
384 | regulator-min-microvolt = <1800000>; | 378 | regulator-min-microvolt = <1800000>; |
385 | regulator-max-microvolt = <1800000>; | 379 | regulator-max-microvolt = <1800000>; |
386 | }; | 380 | }; |
387 | 381 | ||
388 | regulator@10 { | 382 | ldo7 { |
389 | reg = <10>; | ||
390 | regulator-compatible = "ldo7"; | ||
391 | regulator-name = "nvvdd_ldo7,avddio_audio"; | 383 | regulator-name = "nvvdd_ldo7,avddio_audio"; |
392 | regulator-min-microvolt = <2800000>; | 384 | regulator-min-microvolt = <2800000>; |
393 | regulator-max-microvolt = <2800000>; | 385 | regulator-max-microvolt = <2800000>; |
394 | regulator-always-on; | 386 | regulator-always-on; |
395 | }; | 387 | }; |
396 | 388 | ||
397 | regulator@11 { | 389 | ldo8 { |
398 | reg = <11>; | ||
399 | regulator-compatible = "ldo8"; | ||
400 | regulator-name = "nvvdd_ldo8,vcom_3v0,vcore_cmps"; | 390 | regulator-name = "nvvdd_ldo8,vcom_3v0,vcore_cmps"; |
401 | regulator-min-microvolt = <3000000>; | 391 | regulator-min-microvolt = <3000000>; |
402 | regulator-max-microvolt = <3000000>; | 392 | regulator-max-microvolt = <3000000>; |
403 | }; | 393 | }; |
404 | 394 | ||
405 | regulator@12 { | 395 | ldo9 { |
406 | reg = <12>; | ||
407 | regulator-compatible = "ldo9"; | ||
408 | regulator-name = "nvvdd_ldo9,avdd_cam*"; | 396 | regulator-name = "nvvdd_ldo9,avdd_cam*"; |
409 | regulator-min-microvolt = <2800000>; | 397 | regulator-min-microvolt = <2800000>; |
410 | regulator-max-microvolt = <2800000>; | 398 | regulator-max-microvolt = <2800000>; |
411 | }; | 399 | }; |
412 | 400 | ||
413 | regulator@13 { | 401 | ldo10 { |
414 | reg = <13>; | ||
415 | regulator-compatible = "ldo10"; | ||
416 | regulator-name = "nvvdd_ldo10,avdd_usb_ic_3v0"; | 402 | regulator-name = "nvvdd_ldo10,avdd_usb_ic_3v0"; |
417 | regulator-min-microvolt = <3000000>; | 403 | regulator-min-microvolt = <3000000>; |
418 | regulator-max-microvolt = <3000000>; | 404 | regulator-max-microvolt = <3000000>; |
419 | regulator-always-on; | 405 | regulator-always-on; |
420 | }; | 406 | }; |
421 | 407 | ||
422 | regulator@14 { | 408 | hdmi_vdd_reg: ldo11 { |
423 | reg = <14>; | ||
424 | regulator-compatible = "ldo11"; | ||
425 | regulator-name = "nvvdd_ldo11,vddio_pex_clk,vcom_33,avdd_hdmi"; | 409 | regulator-name = "nvvdd_ldo11,vddio_pex_clk,vcom_33,avdd_hdmi"; |
426 | regulator-min-microvolt = <3300000>; | 410 | regulator-min-microvolt = <3300000>; |
427 | regulator-max-microvolt = <3300000>; | 411 | regulator-max-microvolt = <3300000>; |
428 | }; | 412 | }; |
429 | 413 | ||
430 | regulator@15 { | 414 | ldo12 { |
431 | reg = <15>; | ||
432 | regulator-compatible = "ldo12"; | ||
433 | regulator-name = "nvvdd_ldo12,vddio_sdio"; | 415 | regulator-name = "nvvdd_ldo12,vddio_sdio"; |
434 | regulator-min-microvolt = <2800000>; | 416 | regulator-min-microvolt = <2800000>; |
435 | regulator-max-microvolt = <2800000>; | 417 | regulator-max-microvolt = <2800000>; |
436 | regulator-always-on; | 418 | regulator-always-on; |
437 | }; | 419 | }; |
438 | 420 | ||
439 | regulator@16 { | 421 | ldo13 { |
440 | reg = <16>; | ||
441 | regulator-compatible = "ldo13"; | ||
442 | regulator-name = "nvvdd_ldo13,vcore_phtn,vdd_af"; | 422 | regulator-name = "nvvdd_ldo13,vcore_phtn,vdd_af"; |
443 | regulator-min-microvolt = <2800000>; | 423 | regulator-min-microvolt = <2800000>; |
444 | regulator-max-microvolt = <2800000>; | 424 | regulator-max-microvolt = <2800000>; |
445 | }; | 425 | }; |
446 | 426 | ||
447 | regulator@17 { | 427 | ldo14 { |
448 | reg = <17>; | ||
449 | regulator-compatible = "ldo14"; | ||
450 | regulator-name = "nvvdd_ldo14,avdd_vdac"; | 428 | regulator-name = "nvvdd_ldo14,avdd_vdac"; |
451 | regulator-min-microvolt = <2800000>; | 429 | regulator-min-microvolt = <2800000>; |
452 | regulator-max-microvolt = <2800000>; | 430 | regulator-max-microvolt = <2800000>; |
453 | }; | 431 | }; |
454 | 432 | ||
455 | regulator@18 { | 433 | ldo15 { |
456 | reg = <18>; | ||
457 | regulator-compatible = "ldo15"; | ||
458 | regulator-name = "nvvdd_ldo15,vcore_temp,vddio_hdcp"; | 434 | regulator-name = "nvvdd_ldo15,vcore_temp,vddio_hdcp"; |
459 | regulator-min-microvolt = <3300000>; | 435 | regulator-min-microvolt = <3300000>; |
460 | regulator-max-microvolt = <3300000>; | 436 | regulator-max-microvolt = <3300000>; |
461 | }; | 437 | }; |
462 | 438 | ||
463 | regulator@19 { | 439 | ldo16 { |
464 | reg = <19>; | ||
465 | regulator-compatible = "ldo16"; | ||
466 | regulator-name = "nvvdd_ldo16,vdd_dbrtr"; | 440 | regulator-name = "nvvdd_ldo16,vdd_dbrtr"; |
467 | regulator-min-microvolt = <1300000>; | 441 | regulator-min-microvolt = <1300000>; |
468 | regulator-max-microvolt = <1300000>; | 442 | regulator-max-microvolt = <1300000>; |
469 | }; | 443 | }; |
470 | 444 | ||
471 | regulator@20 { | 445 | ldo17 { |
472 | reg = <20>; | ||
473 | regulator-compatible = "ldo17"; | ||
474 | regulator-name = "nvvdd_ldo17,vddio_mipi"; | 446 | regulator-name = "nvvdd_ldo17,vddio_mipi"; |
475 | regulator-min-microvolt = <1200000>; | 447 | regulator-min-microvolt = <1200000>; |
476 | regulator-max-microvolt = <1200000>; | 448 | regulator-max-microvolt = <1200000>; |
477 | }; | 449 | }; |
478 | 450 | ||
479 | regulator@21 { | 451 | ldo18 { |
480 | reg = <21>; | ||
481 | regulator-compatible = "ldo18"; | ||
482 | regulator-name = "nvvdd_ldo18,vddio_vi,vcore_cam*"; | 452 | regulator-name = "nvvdd_ldo18,vddio_vi,vcore_cam*"; |
483 | regulator-min-microvolt = <1800000>; | 453 | regulator-min-microvolt = <1800000>; |
484 | regulator-max-microvolt = <1800000>; | 454 | regulator-max-microvolt = <1800000>; |
485 | }; | 455 | }; |
486 | 456 | ||
487 | regulator@22 { | 457 | ldo19 { |
488 | reg = <22>; | ||
489 | regulator-compatible = "ldo19"; | ||
490 | regulator-name = "nvvdd_ldo19,avdd_lcd2,vddio_lx"; | 458 | regulator-name = "nvvdd_ldo19,avdd_lcd2,vddio_lx"; |
491 | regulator-min-microvolt = <2800000>; | 459 | regulator-min-microvolt = <2800000>; |
492 | regulator-max-microvolt = <2800000>; | 460 | regulator-max-microvolt = <2800000>; |
493 | }; | 461 | }; |
494 | 462 | ||
495 | regulator@23 { | 463 | ldo20 { |
496 | reg = <23>; | ||
497 | regulator-compatible = "ldo20"; | ||
498 | regulator-name = "nvvdd_ldo20,vddio_ddr_1v2,vddio_hsic,vcom_1v2"; | 464 | regulator-name = "nvvdd_ldo20,vddio_ddr_1v2,vddio_hsic,vcom_1v2"; |
499 | regulator-min-microvolt = <1200000>; | 465 | regulator-min-microvolt = <1200000>; |
500 | regulator-max-microvolt = <1200000>; | 466 | regulator-max-microvolt = <1200000>; |
501 | regulator-always-on; | 467 | regulator-always-on; |
502 | }; | 468 | }; |
503 | 469 | ||
504 | regulator@24 { | 470 | out5v { |
505 | reg = <24>; | ||
506 | regulator-compatible = "out5v"; | ||
507 | regulator-name = "usb0_vbus_reg"; | 471 | regulator-name = "usb0_vbus_reg"; |
508 | }; | 472 | }; |
509 | 473 | ||
510 | regulator@25 { | 474 | out33v { |
511 | reg = <25>; | ||
512 | regulator-compatible = "out33v"; | ||
513 | regulator-name = "pmu_out3v3"; | 475 | regulator-name = "pmu_out3v3"; |
514 | }; | 476 | }; |
515 | 477 | ||
516 | regulator@26 { | 478 | bbat { |
517 | reg = <26>; | ||
518 | regulator-compatible = "bbat"; | ||
519 | regulator-name = "pmu_bbat"; | 479 | regulator-name = "pmu_bbat"; |
520 | regulator-min-microvolt = <2400000>; | 480 | regulator-min-microvolt = <2400000>; |
521 | regulator-max-microvolt = <2400000>; | 481 | regulator-max-microvolt = <2400000>; |
522 | regulator-always-on; | 482 | regulator-always-on; |
523 | }; | 483 | }; |
524 | 484 | ||
525 | regulator@27 { | 485 | sdby { |
526 | reg = <27>; | ||
527 | regulator-compatible = "sdby"; | ||
528 | regulator-name = "vdd_aon"; | 486 | regulator-name = "vdd_aon"; |
529 | regulator-always-on; | 487 | regulator-always-on; |
530 | }; | 488 | }; |
531 | 489 | ||
532 | regulator@28 { | 490 | vrtc { |
533 | reg = <28>; | ||
534 | regulator-compatible = "vrtc"; | ||
535 | regulator-name = "vrtc,pmu_vccadc"; | 491 | regulator-name = "vrtc,pmu_vccadc"; |
536 | regulator-always-on; | 492 | regulator-always-on; |
537 | }; | 493 | }; |
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi index f3a09d0d45bc..b8effa1cbda7 100644 --- a/arch/arm/boot/dts/tegra20.dtsi +++ b/arch/arm/boot/dts/tegra20.dtsi | |||
@@ -4,6 +4,108 @@ | |||
4 | compatible = "nvidia,tegra20"; | 4 | compatible = "nvidia,tegra20"; |
5 | interrupt-parent = <&intc>; | 5 | interrupt-parent = <&intc>; |
6 | 6 | ||
7 | host1x { | ||
8 | compatible = "nvidia,tegra20-host1x", "simple-bus"; | ||
9 | reg = <0x50000000 0x00024000>; | ||
10 | interrupts = <0 65 0x04 /* mpcore syncpt */ | ||
11 | 0 67 0x04>; /* mpcore general */ | ||
12 | |||
13 | #address-cells = <1>; | ||
14 | #size-cells = <1>; | ||
15 | |||
16 | ranges = <0x54000000 0x54000000 0x04000000>; | ||
17 | |||
18 | mpe { | ||
19 | compatible = "nvidia,tegra20-mpe"; | ||
20 | reg = <0x54040000 0x00040000>; | ||
21 | interrupts = <0 68 0x04>; | ||
22 | }; | ||
23 | |||
24 | vi { | ||
25 | compatible = "nvidia,tegra20-vi"; | ||
26 | reg = <0x54080000 0x00040000>; | ||
27 | interrupts = <0 69 0x04>; | ||
28 | }; | ||
29 | |||
30 | epp { | ||
31 | compatible = "nvidia,tegra20-epp"; | ||
32 | reg = <0x540c0000 0x00040000>; | ||
33 | interrupts = <0 70 0x04>; | ||
34 | }; | ||
35 | |||
36 | isp { | ||
37 | compatible = "nvidia,tegra20-isp"; | ||
38 | reg = <0x54100000 0x00040000>; | ||
39 | interrupts = <0 71 0x04>; | ||
40 | }; | ||
41 | |||
42 | gr2d { | ||
43 | compatible = "nvidia,tegra20-gr2d"; | ||
44 | reg = <0x54140000 0x00040000>; | ||
45 | interrupts = <0 72 0x04>; | ||
46 | }; | ||
47 | |||
48 | gr3d { | ||
49 | compatible = "nvidia,tegra20-gr3d"; | ||
50 | reg = <0x54180000 0x00040000>; | ||
51 | }; | ||
52 | |||
53 | dc@54200000 { | ||
54 | compatible = "nvidia,tegra20-dc"; | ||
55 | reg = <0x54200000 0x00040000>; | ||
56 | interrupts = <0 73 0x04>; | ||
57 | |||
58 | rgb { | ||
59 | status = "disabled"; | ||
60 | }; | ||
61 | }; | ||
62 | |||
63 | dc@54240000 { | ||
64 | compatible = "nvidia,tegra20-dc"; | ||
65 | reg = <0x54240000 0x00040000>; | ||
66 | interrupts = <0 74 0x04>; | ||
67 | |||
68 | rgb { | ||
69 | status = "disabled"; | ||
70 | }; | ||
71 | }; | ||
72 | |||
73 | hdmi { | ||
74 | compatible = "nvidia,tegra20-hdmi"; | ||
75 | reg = <0x54280000 0x00040000>; | ||
76 | interrupts = <0 75 0x04>; | ||
77 | status = "disabled"; | ||
78 | }; | ||
79 | |||
80 | tvo { | ||
81 | compatible = "nvidia,tegra20-tvo"; | ||
82 | reg = <0x542c0000 0x00040000>; | ||
83 | interrupts = <0 76 0x04>; | ||
84 | status = "disabled"; | ||
85 | }; | ||
86 | |||
87 | dsi { | ||
88 | compatible = "nvidia,tegra20-dsi"; | ||
89 | reg = <0x54300000 0x00040000>; | ||
90 | status = "disabled"; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | timer@50004600 { | ||
95 | compatible = "arm,cortex-a9-twd-timer"; | ||
96 | reg = <0x50040600 0x20>; | ||
97 | interrupts = <1 13 0x304>; | ||
98 | }; | ||
99 | |||
100 | cache-controller@50043000 { | ||
101 | compatible = "arm,pl310-cache"; | ||
102 | reg = <0x50043000 0x1000>; | ||
103 | arm,data-latency = <5 5 2>; | ||
104 | arm,tag-latency = <4 4 2>; | ||
105 | cache-unified; | ||
106 | cache-level = <2>; | ||
107 | }; | ||
108 | |||
7 | intc: interrupt-controller { | 109 | intc: interrupt-controller { |
8 | compatible = "arm,cortex-a9-gic"; | 110 | compatible = "arm,cortex-a9-gic"; |
9 | reg = <0x50041000 0x1000 | 111 | reg = <0x50041000 0x1000 |
@@ -12,6 +114,15 @@ | |||
12 | #interrupt-cells = <3>; | 114 | #interrupt-cells = <3>; |
13 | }; | 115 | }; |
14 | 116 | ||
117 | timer@60005000 { | ||
118 | compatible = "nvidia,tegra20-timer"; | ||
119 | reg = <0x60005000 0x60>; | ||
120 | interrupts = <0 0 0x04 | ||
121 | 0 1 0x04 | ||
122 | 0 41 0x04 | ||
123 | 0 42 0x04>; | ||
124 | }; | ||
125 | |||
15 | apbdma: dma { | 126 | apbdma: dma { |
16 | compatible = "nvidia,tegra20-apbdma"; | 127 | compatible = "nvidia,tegra20-apbdma"; |
17 | reg = <0x6000a000 0x1200>; | 128 | reg = <0x6000a000 0x1200>; |
@@ -129,6 +240,12 @@ | |||
129 | #pwm-cells = <2>; | 240 | #pwm-cells = <2>; |
130 | }; | 241 | }; |
131 | 242 | ||
243 | rtc { | ||
244 | compatible = "nvidia,tegra20-rtc"; | ||
245 | reg = <0x7000e000 0x100>; | ||
246 | interrupts = <0 2 0x04>; | ||
247 | }; | ||
248 | |||
132 | i2c@7000c000 { | 249 | i2c@7000c000 { |
133 | compatible = "nvidia,tegra20-i2c"; | 250 | compatible = "nvidia,tegra20-i2c"; |
134 | reg = <0x7000c000 0x100>; | 251 | reg = <0x7000c000 0x100>; |
@@ -138,6 +255,16 @@ | |||
138 | status = "disabled"; | 255 | status = "disabled"; |
139 | }; | 256 | }; |
140 | 257 | ||
258 | spi@7000c380 { | ||
259 | compatible = "nvidia,tegra20-sflash"; | ||
260 | reg = <0x7000c380 0x80>; | ||
261 | interrupts = <0 39 0x04>; | ||
262 | nvidia,dma-request-selector = <&apbdma 11>; | ||
263 | #address-cells = <1>; | ||
264 | #size-cells = <0>; | ||
265 | status = "disabled"; | ||
266 | }; | ||
267 | |||
141 | i2c@7000c400 { | 268 | i2c@7000c400 { |
142 | compatible = "nvidia,tegra20-i2c"; | 269 | compatible = "nvidia,tegra20-i2c"; |
143 | reg = <0x7000c400 0x100>; | 270 | reg = <0x7000c400 0x100>; |
@@ -165,6 +292,46 @@ | |||
165 | status = "disabled"; | 292 | status = "disabled"; |
166 | }; | 293 | }; |
167 | 294 | ||
295 | spi@7000d400 { | ||
296 | compatible = "nvidia,tegra20-slink"; | ||
297 | reg = <0x7000d400 0x200>; | ||
298 | interrupts = <0 59 0x04>; | ||
299 | nvidia,dma-request-selector = <&apbdma 15>; | ||
300 | #address-cells = <1>; | ||
301 | #size-cells = <0>; | ||
302 | status = "disabled"; | ||
303 | }; | ||
304 | |||
305 | spi@7000d600 { | ||
306 | compatible = "nvidia,tegra20-slink"; | ||
307 | reg = <0x7000d600 0x200>; | ||
308 | interrupts = <0 82 0x04>; | ||
309 | nvidia,dma-request-selector = <&apbdma 16>; | ||
310 | #address-cells = <1>; | ||
311 | #size-cells = <0>; | ||
312 | status = "disabled"; | ||
313 | }; | ||
314 | |||
315 | spi@7000d800 { | ||
316 | compatible = "nvidia,tegra20-slink"; | ||
317 | reg = <0x7000d480 0x200>; | ||
318 | interrupts = <0 83 0x04>; | ||
319 | nvidia,dma-request-selector = <&apbdma 17>; | ||
320 | #address-cells = <1>; | ||
321 | #size-cells = <0>; | ||
322 | status = "disabled"; | ||
323 | }; | ||
324 | |||
325 | spi@7000da00 { | ||
326 | compatible = "nvidia,tegra20-slink"; | ||
327 | reg = <0x7000da00 0x200>; | ||
328 | interrupts = <0 93 0x04>; | ||
329 | nvidia,dma-request-selector = <&apbdma 18>; | ||
330 | #address-cells = <1>; | ||
331 | #size-cells = <0>; | ||
332 | status = "disabled"; | ||
333 | }; | ||
334 | |||
168 | pmc { | 335 | pmc { |
169 | compatible = "nvidia,tegra20-pmc"; | 336 | compatible = "nvidia,tegra20-pmc"; |
170 | reg = <0x7000e400 0x400>; | 337 | reg = <0x7000e400 0x400>; |
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a02.dts b/arch/arm/boot/dts/tegra30-cardhu-a02.dts index dd4222f00eca..adc88aa50eb6 100644 --- a/arch/arm/boot/dts/tegra30-cardhu-a02.dts +++ b/arch/arm/boot/dts/tegra30-cardhu-a02.dts | |||
@@ -83,5 +83,11 @@ | |||
83 | gpio = <&gpio 83 0>; /* GPIO PK3 */ | 83 | gpio = <&gpio 83 0>; /* GPIO PK3 */ |
84 | }; | 84 | }; |
85 | }; | 85 | }; |
86 | |||
87 | sdhci@78000400 { | ||
88 | status = "okay"; | ||
89 | power-gpios = <&gpio 28 0>; /* gpio PD4 */ | ||
90 | bus-width = <4>; | ||
91 | }; | ||
86 | }; | 92 | }; |
87 | 93 | ||
diff --git a/arch/arm/boot/dts/tegra30-cardhu-a04.dts b/arch/arm/boot/dts/tegra30-cardhu-a04.dts index 0828f097ca86..08163e145d57 100644 --- a/arch/arm/boot/dts/tegra30-cardhu-a04.dts +++ b/arch/arm/boot/dts/tegra30-cardhu-a04.dts | |||
@@ -95,4 +95,10 @@ | |||
95 | gpio = <&gpio 232 0>; /* GPIO PDD0 */ | 95 | gpio = <&gpio 232 0>; /* GPIO PDD0 */ |
96 | }; | 96 | }; |
97 | }; | 97 | }; |
98 | |||
99 | sdhci@78000400 { | ||
100 | status = "okay"; | ||
101 | power-gpios = <&gpio 27 0>; /* gpio PD3 */ | ||
102 | bus-width = <4>; | ||
103 | }; | ||
98 | }; | 104 | }; |
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi index d10c9c5a3606..bdb2a660f376 100644 --- a/arch/arm/boot/dts/tegra30-cardhu.dtsi +++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi | |||
@@ -52,6 +52,22 @@ | |||
52 | nvidia,pull = <2>; | 52 | nvidia,pull = <2>; |
53 | nvidia,tristate = <0>; | 53 | nvidia,tristate = <0>; |
54 | }; | 54 | }; |
55 | sdmmc3_clk_pa6 { | ||
56 | nvidia,pins = "sdmmc3_clk_pa6"; | ||
57 | nvidia,function = "sdmmc3"; | ||
58 | nvidia,pull = <0>; | ||
59 | nvidia,tristate = <0>; | ||
60 | }; | ||
61 | sdmmc3_cmd_pa7 { | ||
62 | nvidia,pins = "sdmmc3_cmd_pa7", | ||
63 | "sdmmc3_dat0_pb7", | ||
64 | "sdmmc3_dat1_pb6", | ||
65 | "sdmmc3_dat2_pb5", | ||
66 | "sdmmc3_dat3_pb4"; | ||
67 | nvidia,function = "sdmmc3"; | ||
68 | nvidia,pull = <2>; | ||
69 | nvidia,tristate = <0>; | ||
70 | }; | ||
55 | sdmmc4_clk_pcc4 { | 71 | sdmmc4_clk_pcc4 { |
56 | nvidia,pins = "sdmmc4_clk_pcc4", | 72 | nvidia,pins = "sdmmc4_clk_pcc4", |
57 | "sdmmc4_rst_n_pcc3"; | 73 | "sdmmc4_rst_n_pcc3"; |
@@ -81,6 +97,15 @@ | |||
81 | nvidia,pull = <0>; | 97 | nvidia,pull = <0>; |
82 | nvidia,tristate = <0>; | 98 | nvidia,tristate = <0>; |
83 | }; | 99 | }; |
100 | sdio3 { | ||
101 | nvidia,pins = "drive_sdio3"; | ||
102 | nvidia,high-speed-mode = <0>; | ||
103 | nvidia,schmitt = <0>; | ||
104 | nvidia,pull-down-strength = <46>; | ||
105 | nvidia,pull-up-strength = <42>; | ||
106 | nvidia,slew-rate-rising = <1>; | ||
107 | nvidia,slew-rate-falling = <1>; | ||
108 | }; | ||
84 | }; | 109 | }; |
85 | }; | 110 | }; |
86 | 111 | ||
@@ -171,56 +196,41 @@ | |||
171 | vccio-supply = <&vdd_ac_bat_reg>; | 196 | vccio-supply = <&vdd_ac_bat_reg>; |
172 | 197 | ||
173 | regulators { | 198 | regulators { |
174 | #address-cells = <1>; | 199 | vdd1_reg: vdd1 { |
175 | #size-cells = <0>; | ||
176 | |||
177 | vdd1_reg: regulator@0 { | ||
178 | reg = <0>; | ||
179 | regulator-compatible = "vdd1"; | ||
180 | regulator-name = "vddio_ddr_1v2"; | 200 | regulator-name = "vddio_ddr_1v2"; |
181 | regulator-min-microvolt = <1200000>; | 201 | regulator-min-microvolt = <1200000>; |
182 | regulator-max-microvolt = <1200000>; | 202 | regulator-max-microvolt = <1200000>; |
183 | regulator-always-on; | 203 | regulator-always-on; |
184 | }; | 204 | }; |
185 | 205 | ||
186 | vdd2_reg: regulator@1 { | 206 | vdd2_reg: vdd2 { |
187 | reg = <1>; | ||
188 | regulator-compatible = "vdd2"; | ||
189 | regulator-name = "vdd_1v5_gen"; | 207 | regulator-name = "vdd_1v5_gen"; |
190 | regulator-min-microvolt = <1500000>; | 208 | regulator-min-microvolt = <1500000>; |
191 | regulator-max-microvolt = <1500000>; | 209 | regulator-max-microvolt = <1500000>; |
192 | regulator-always-on; | 210 | regulator-always-on; |
193 | }; | 211 | }; |
194 | 212 | ||
195 | vddctrl_reg: regulator@2 { | 213 | vddctrl_reg: vddctrl { |
196 | reg = <2>; | ||
197 | regulator-compatible = "vddctrl"; | ||
198 | regulator-name = "vdd_cpu,vdd_sys"; | 214 | regulator-name = "vdd_cpu,vdd_sys"; |
199 | regulator-min-microvolt = <1000000>; | 215 | regulator-min-microvolt = <1000000>; |
200 | regulator-max-microvolt = <1000000>; | 216 | regulator-max-microvolt = <1000000>; |
201 | regulator-always-on; | 217 | regulator-always-on; |
202 | }; | 218 | }; |
203 | 219 | ||
204 | vio_reg: regulator@3 { | 220 | vio_reg: vio { |
205 | reg = <3>; | ||
206 | regulator-compatible = "vio"; | ||
207 | regulator-name = "vdd_1v8_gen"; | 221 | regulator-name = "vdd_1v8_gen"; |
208 | regulator-min-microvolt = <1800000>; | 222 | regulator-min-microvolt = <1800000>; |
209 | regulator-max-microvolt = <1800000>; | 223 | regulator-max-microvolt = <1800000>; |
210 | regulator-always-on; | 224 | regulator-always-on; |
211 | }; | 225 | }; |
212 | 226 | ||
213 | ldo1_reg: regulator@4 { | 227 | ldo1_reg: ldo1 { |
214 | reg = <4>; | ||
215 | regulator-compatible = "ldo1"; | ||
216 | regulator-name = "vdd_pexa,vdd_pexb"; | 228 | regulator-name = "vdd_pexa,vdd_pexb"; |
217 | regulator-min-microvolt = <1050000>; | 229 | regulator-min-microvolt = <1050000>; |
218 | regulator-max-microvolt = <1050000>; | 230 | regulator-max-microvolt = <1050000>; |
219 | }; | 231 | }; |
220 | 232 | ||
221 | ldo2_reg: regulator@5 { | 233 | ldo2_reg: ldo2 { |
222 | reg = <5>; | ||
223 | regulator-compatible = "ldo2"; | ||
224 | regulator-name = "vdd_sata,avdd_plle"; | 234 | regulator-name = "vdd_sata,avdd_plle"; |
225 | regulator-min-microvolt = <1050000>; | 235 | regulator-min-microvolt = <1050000>; |
226 | regulator-max-microvolt = <1050000>; | 236 | regulator-max-microvolt = <1050000>; |
@@ -228,44 +238,34 @@ | |||
228 | 238 | ||
229 | /* LDO3 is not connected to anything */ | 239 | /* LDO3 is not connected to anything */ |
230 | 240 | ||
231 | ldo4_reg: regulator@7 { | 241 | ldo4_reg: ldo4 { |
232 | reg = <7>; | ||
233 | regulator-compatible = "ldo4"; | ||
234 | regulator-name = "vdd_rtc"; | 242 | regulator-name = "vdd_rtc"; |
235 | regulator-min-microvolt = <1200000>; | 243 | regulator-min-microvolt = <1200000>; |
236 | regulator-max-microvolt = <1200000>; | 244 | regulator-max-microvolt = <1200000>; |
237 | regulator-always-on; | 245 | regulator-always-on; |
238 | }; | 246 | }; |
239 | 247 | ||
240 | ldo5_reg: regulator@8 { | 248 | ldo5_reg: ldo5 { |
241 | reg = <8>; | ||
242 | regulator-compatible = "ldo5"; | ||
243 | regulator-name = "vddio_sdmmc,avdd_vdac"; | 249 | regulator-name = "vddio_sdmmc,avdd_vdac"; |
244 | regulator-min-microvolt = <3300000>; | 250 | regulator-min-microvolt = <3300000>; |
245 | regulator-max-microvolt = <3300000>; | 251 | regulator-max-microvolt = <3300000>; |
246 | regulator-always-on; | 252 | regulator-always-on; |
247 | }; | 253 | }; |
248 | 254 | ||
249 | ldo6_reg: regulator@9 { | 255 | ldo6_reg: ldo6 { |
250 | reg = <9>; | ||
251 | regulator-compatible = "ldo6"; | ||
252 | regulator-name = "avdd_dsi_csi,pwrdet_mipi"; | 256 | regulator-name = "avdd_dsi_csi,pwrdet_mipi"; |
253 | regulator-min-microvolt = <1200000>; | 257 | regulator-min-microvolt = <1200000>; |
254 | regulator-max-microvolt = <1200000>; | 258 | regulator-max-microvolt = <1200000>; |
255 | }; | 259 | }; |
256 | 260 | ||
257 | ldo7_reg: regulator@10 { | 261 | ldo7_reg: ldo7 { |
258 | reg = <10>; | ||
259 | regulator-compatible = "ldo7"; | ||
260 | regulator-name = "vdd_pllm,x,u,a_p_c_s"; | 262 | regulator-name = "vdd_pllm,x,u,a_p_c_s"; |
261 | regulator-min-microvolt = <1200000>; | 263 | regulator-min-microvolt = <1200000>; |
262 | regulator-max-microvolt = <1200000>; | 264 | regulator-max-microvolt = <1200000>; |
263 | regulator-always-on; | 265 | regulator-always-on; |
264 | }; | 266 | }; |
265 | 267 | ||
266 | ldo8_reg: regulator@11 { | 268 | ldo8_reg: ldo8 { |
267 | reg = <11>; | ||
268 | regulator-compatible = "ldo8"; | ||
269 | regulator-name = "vdd_ddr_hs"; | 269 | regulator-name = "vdd_ddr_hs"; |
270 | regulator-min-microvolt = <1000000>; | 270 | regulator-min-microvolt = <1000000>; |
271 | regulator-max-microvolt = <1000000>; | 271 | regulator-max-microvolt = <1000000>; |
@@ -275,6 +275,16 @@ | |||
275 | }; | 275 | }; |
276 | }; | 276 | }; |
277 | 277 | ||
278 | spi@7000da00 { | ||
279 | status = "okay"; | ||
280 | spi-max-frequency = <25000000>; | ||
281 | spi-flash@1 { | ||
282 | compatible = "winbond,w25q32"; | ||
283 | reg = <1>; | ||
284 | spi-max-frequency = <20000000>; | ||
285 | }; | ||
286 | }; | ||
287 | |||
278 | ahub { | 288 | ahub { |
279 | i2s@70080400 { | 289 | i2s@70080400 { |
280 | status = "okay"; | 290 | status = "okay"; |
@@ -409,6 +419,8 @@ | |||
409 | regulator-name = "vdd_com"; | 419 | regulator-name = "vdd_com"; |
410 | regulator-min-microvolt = <3300000>; | 420 | regulator-min-microvolt = <3300000>; |
411 | regulator-max-microvolt = <3300000>; | 421 | regulator-max-microvolt = <3300000>; |
422 | regulator-always-on; | ||
423 | regulator-boot-on; | ||
412 | enable-active-high; | 424 | enable-active-high; |
413 | gpio = <&gpio 24 0>; /* gpio PD0 */ | 425 | gpio = <&gpio 24 0>; /* gpio PD0 */ |
414 | vin-supply = <&sys_3v3_reg>; | 426 | vin-supply = <&sys_3v3_reg>; |
diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi index b1497c7d7d68..529fdb82dfdb 100644 --- a/arch/arm/boot/dts/tegra30.dtsi +++ b/arch/arm/boot/dts/tegra30.dtsi | |||
@@ -4,6 +4,108 @@ | |||
4 | compatible = "nvidia,tegra30"; | 4 | compatible = "nvidia,tegra30"; |
5 | interrupt-parent = <&intc>; | 5 | interrupt-parent = <&intc>; |
6 | 6 | ||
7 | host1x { | ||
8 | compatible = "nvidia,tegra30-host1x", "simple-bus"; | ||
9 | reg = <0x50000000 0x00024000>; | ||
10 | interrupts = <0 65 0x04 /* mpcore syncpt */ | ||
11 | 0 67 0x04>; /* mpcore general */ | ||
12 | |||
13 | #address-cells = <1>; | ||
14 | #size-cells = <1>; | ||
15 | |||
16 | ranges = <0x54000000 0x54000000 0x04000000>; | ||
17 | |||
18 | mpe { | ||
19 | compatible = "nvidia,tegra30-mpe"; | ||
20 | reg = <0x54040000 0x00040000>; | ||
21 | interrupts = <0 68 0x04>; | ||
22 | }; | ||
23 | |||
24 | vi { | ||
25 | compatible = "nvidia,tegra30-vi"; | ||
26 | reg = <0x54080000 0x00040000>; | ||
27 | interrupts = <0 69 0x04>; | ||
28 | }; | ||
29 | |||
30 | epp { | ||
31 | compatible = "nvidia,tegra30-epp"; | ||
32 | reg = <0x540c0000 0x00040000>; | ||
33 | interrupts = <0 70 0x04>; | ||
34 | }; | ||
35 | |||
36 | isp { | ||
37 | compatible = "nvidia,tegra30-isp"; | ||
38 | reg = <0x54100000 0x00040000>; | ||
39 | interrupts = <0 71 0x04>; | ||
40 | }; | ||
41 | |||
42 | gr2d { | ||
43 | compatible = "nvidia,tegra30-gr2d"; | ||
44 | reg = <0x54140000 0x00040000>; | ||
45 | interrupts = <0 72 0x04>; | ||
46 | }; | ||
47 | |||
48 | gr3d { | ||
49 | compatible = "nvidia,tegra30-gr3d"; | ||
50 | reg = <0x54180000 0x00040000>; | ||
51 | }; | ||
52 | |||
53 | dc@54200000 { | ||
54 | compatible = "nvidia,tegra30-dc"; | ||
55 | reg = <0x54200000 0x00040000>; | ||
56 | interrupts = <0 73 0x04>; | ||
57 | |||
58 | rgb { | ||
59 | status = "disabled"; | ||
60 | }; | ||
61 | }; | ||
62 | |||
63 | dc@54240000 { | ||
64 | compatible = "nvidia,tegra30-dc"; | ||
65 | reg = <0x54240000 0x00040000>; | ||
66 | interrupts = <0 74 0x04>; | ||
67 | |||
68 | rgb { | ||
69 | status = "disabled"; | ||
70 | }; | ||
71 | }; | ||
72 | |||
73 | hdmi { | ||
74 | compatible = "nvidia,tegra30-hdmi"; | ||
75 | reg = <0x54280000 0x00040000>; | ||
76 | interrupts = <0 75 0x04>; | ||
77 | status = "disabled"; | ||
78 | }; | ||
79 | |||
80 | tvo { | ||
81 | compatible = "nvidia,tegra30-tvo"; | ||
82 | reg = <0x542c0000 0x00040000>; | ||
83 | interrupts = <0 76 0x04>; | ||
84 | status = "disabled"; | ||
85 | }; | ||
86 | |||
87 | dsi { | ||
88 | compatible = "nvidia,tegra30-dsi"; | ||
89 | reg = <0x54300000 0x00040000>; | ||
90 | status = "disabled"; | ||
91 | }; | ||
92 | }; | ||
93 | |||
94 | timer@50004600 { | ||
95 | compatible = "arm,cortex-a9-twd-timer"; | ||
96 | reg = <0x50040600 0x20>; | ||
97 | interrupts = <1 13 0xf04>; | ||
98 | }; | ||
99 | |||
100 | cache-controller@50043000 { | ||
101 | compatible = "arm,pl310-cache"; | ||
102 | reg = <0x50043000 0x1000>; | ||
103 | arm,data-latency = <6 6 2>; | ||
104 | arm,tag-latency = <5 5 2>; | ||
105 | cache-unified; | ||
106 | cache-level = <2>; | ||
107 | }; | ||
108 | |||
7 | intc: interrupt-controller { | 109 | intc: interrupt-controller { |
8 | compatible = "arm,cortex-a9-gic"; | 110 | compatible = "arm,cortex-a9-gic"; |
9 | reg = <0x50041000 0x1000 | 111 | reg = <0x50041000 0x1000 |
@@ -12,6 +114,17 @@ | |||
12 | #interrupt-cells = <3>; | 114 | #interrupt-cells = <3>; |
13 | }; | 115 | }; |
14 | 116 | ||
117 | timer@60005000 { | ||
118 | compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer"; | ||
119 | reg = <0x60005000 0x400>; | ||
120 | interrupts = <0 0 0x04 | ||
121 | 0 1 0x04 | ||
122 | 0 41 0x04 | ||
123 | 0 42 0x04 | ||
124 | 0 121 0x04 | ||
125 | 0 122 0x04>; | ||
126 | }; | ||
127 | |||
15 | apbdma: dma { | 128 | apbdma: dma { |
16 | compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; | 129 | compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; |
17 | reg = <0x6000a000 0x1400>; | 130 | reg = <0x6000a000 0x1400>; |
@@ -73,8 +186,8 @@ | |||
73 | 186 | ||
74 | pinmux: pinmux { | 187 | pinmux: pinmux { |
75 | compatible = "nvidia,tegra30-pinmux"; | 188 | compatible = "nvidia,tegra30-pinmux"; |
76 | reg = <0x70000868 0xd0 /* Pad control registers */ | 189 | reg = <0x70000868 0xd4 /* Pad control registers */ |
77 | 0x70003000 0x3e0>; /* Mux registers */ | 190 | 0x70003000 0x3e4>; /* Mux registers */ |
78 | }; | 191 | }; |
79 | 192 | ||
80 | serial@70006000 { | 193 | serial@70006000 { |
@@ -123,6 +236,12 @@ | |||
123 | #pwm-cells = <2>; | 236 | #pwm-cells = <2>; |
124 | }; | 237 | }; |
125 | 238 | ||
239 | rtc { | ||
240 | compatible = "nvidia,tegra30-rtc", "nvidia,tegra20-rtc"; | ||
241 | reg = <0x7000e000 0x100>; | ||
242 | interrupts = <0 2 0x04>; | ||
243 | }; | ||
244 | |||
126 | i2c@7000c000 { | 245 | i2c@7000c000 { |
127 | compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; | 246 | compatible = "nvidia,tegra30-i2c", "nvidia,tegra20-i2c"; |
128 | reg = <0x7000c000 0x100>; | 247 | reg = <0x7000c000 0x100>; |
@@ -168,6 +287,66 @@ | |||
168 | status = "disabled"; | 287 | status = "disabled"; |
169 | }; | 288 | }; |
170 | 289 | ||
290 | spi@7000d400 { | ||
291 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | ||
292 | reg = <0x7000d400 0x200>; | ||
293 | interrupts = <0 59 0x04>; | ||
294 | nvidia,dma-request-selector = <&apbdma 15>; | ||
295 | #address-cells = <1>; | ||
296 | #size-cells = <0>; | ||
297 | status = "disabled"; | ||
298 | }; | ||
299 | |||
300 | spi@7000d600 { | ||
301 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | ||
302 | reg = <0x7000d600 0x200>; | ||
303 | interrupts = <0 82 0x04>; | ||
304 | nvidia,dma-request-selector = <&apbdma 16>; | ||
305 | #address-cells = <1>; | ||
306 | #size-cells = <0>; | ||
307 | status = "disabled"; | ||
308 | }; | ||
309 | |||
310 | spi@7000d800 { | ||
311 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | ||
312 | reg = <0x7000d480 0x200>; | ||
313 | interrupts = <0 83 0x04>; | ||
314 | nvidia,dma-request-selector = <&apbdma 17>; | ||
315 | #address-cells = <1>; | ||
316 | #size-cells = <0>; | ||
317 | status = "disabled"; | ||
318 | }; | ||
319 | |||
320 | spi@7000da00 { | ||
321 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | ||
322 | reg = <0x7000da00 0x200>; | ||
323 | interrupts = <0 93 0x04>; | ||
324 | nvidia,dma-request-selector = <&apbdma 18>; | ||
325 | #address-cells = <1>; | ||
326 | #size-cells = <0>; | ||
327 | status = "disabled"; | ||
328 | }; | ||
329 | |||
330 | spi@7000dc00 { | ||
331 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | ||
332 | reg = <0x7000dc00 0x200>; | ||
333 | interrupts = <0 94 0x04>; | ||
334 | nvidia,dma-request-selector = <&apbdma 27>; | ||
335 | #address-cells = <1>; | ||
336 | #size-cells = <0>; | ||
337 | status = "disabled"; | ||
338 | }; | ||
339 | |||
340 | spi@7000de00 { | ||
341 | compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; | ||
342 | reg = <0x7000de00 0x200>; | ||
343 | interrupts = <0 79 0x04>; | ||
344 | nvidia,dma-request-selector = <&apbdma 28>; | ||
345 | #address-cells = <1>; | ||
346 | #size-cells = <0>; | ||
347 | status = "disabled"; | ||
348 | }; | ||
349 | |||
171 | pmc { | 350 | pmc { |
172 | compatible = "nvidia,tegra20-pmc", "nvidia,tegra30-pmc"; | 351 | compatible = "nvidia,tegra20-pmc", "nvidia,tegra30-pmc"; |
173 | reg = <0x7000e400 0x400>; | 352 | reg = <0x7000e400 0x400>; |
diff --git a/arch/arm/boot/dts/twl4030.dtsi b/arch/arm/boot/dts/twl4030.dtsi index ff000172c93c..63411b036932 100644 --- a/arch/arm/boot/dts/twl4030.dtsi +++ b/arch/arm/boot/dts/twl4030.dtsi | |||
@@ -37,6 +37,24 @@ | |||
37 | regulator-max-microvolt = <3150000>; | 37 | regulator-max-microvolt = <3150000>; |
38 | }; | 38 | }; |
39 | 39 | ||
40 | vusb1v5: regulator-vusb1v5 { | ||
41 | compatible = "ti,twl4030-vusb1v5"; | ||
42 | }; | ||
43 | |||
44 | vusb1v8: regulator-vusb1v8 { | ||
45 | compatible = "ti,twl4030-vusb1v8"; | ||
46 | }; | ||
47 | |||
48 | vusb3v1: regulator-vusb3v1 { | ||
49 | compatible = "ti,twl4030-vusb3v1"; | ||
50 | }; | ||
51 | |||
52 | vsim: regulator-vsim { | ||
53 | compatible = "ti,twl4030-vsim"; | ||
54 | regulator-min-microvolt = <1800000>; | ||
55 | regulator-max-microvolt = <3000000>; | ||
56 | }; | ||
57 | |||
40 | twl_gpio: gpio { | 58 | twl_gpio: gpio { |
41 | compatible = "ti,twl4030-gpio"; | 59 | compatible = "ti,twl4030-gpio"; |
42 | gpio-controller; | 60 | gpio-controller; |
@@ -44,4 +62,13 @@ | |||
44 | interrupt-controller; | 62 | interrupt-controller; |
45 | #interrupt-cells = <1>; | 63 | #interrupt-cells = <1>; |
46 | }; | 64 | }; |
65 | |||
66 | twl4030-usb { | ||
67 | compatible = "ti,twl4030-usb"; | ||
68 | interrupts = <10>, <4>; | ||
69 | usb1v5-supply = <&vusb1v5>; | ||
70 | usb1v8-supply = <&vusb1v8>; | ||
71 | usb3v1-supply = <&vusb3v1>; | ||
72 | usb_mode = <1>; | ||
73 | }; | ||
47 | }; | 74 | }; |
diff --git a/arch/arm/boot/dts/twl6030.dtsi b/arch/arm/boot/dts/twl6030.dtsi index 123e2c40218a..9996cfc5ee80 100644 --- a/arch/arm/boot/dts/twl6030.dtsi +++ b/arch/arm/boot/dts/twl6030.dtsi | |||
@@ -86,4 +86,9 @@ | |||
86 | clk32kg: regulator-clk32kg { | 86 | clk32kg: regulator-clk32kg { |
87 | compatible = "ti,twl6030-clk32kg"; | 87 | compatible = "ti,twl6030-clk32kg"; |
88 | }; | 88 | }; |
89 | |||
90 | twl_usb_comparator: usb-comparator { | ||
91 | compatible = "ti,twl6030-usb"; | ||
92 | interrupts = <4>, <10>; | ||
93 | }; | ||
89 | }; | 94 | }; |
diff --git a/arch/arm/boot/dts/u9540.dts b/arch/arm/boot/dts/u9540.dts new file mode 100644 index 000000000000..95892ec6c342 --- /dev/null +++ b/arch/arm/boot/dts/u9540.dts | |||
@@ -0,0 +1,72 @@ | |||
1 | /* | ||
2 | * Copyright 2012 ST-Ericsson AB | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "dbx5x0.dtsi" | ||
14 | |||
15 | / { | ||
16 | model = "ST-Ericsson U9540 platform with Device Tree"; | ||
17 | compatible = "st-ericsson,u9540"; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x00000000 0x20000000>; | ||
21 | }; | ||
22 | |||
23 | soc-u9500 { | ||
24 | uart@80120000 { | ||
25 | status = "okay"; | ||
26 | }; | ||
27 | |||
28 | uart@80121000 { | ||
29 | status = "okay"; | ||
30 | }; | ||
31 | |||
32 | uart@80007000 { | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | |||
36 | // External Micro SD slot | ||
37 | sdi0_per1@80126000 { | ||
38 | arm,primecell-periphid = <0x10480180>; | ||
39 | max-frequency = <100000000>; | ||
40 | bus-width = <4>; | ||
41 | mmc-cap-sd-highspeed; | ||
42 | mmc-cap-mmc-highspeed; | ||
43 | vmmc-supply = <&ab8500_ldo_aux3_reg>; | ||
44 | |||
45 | cd-gpios = <&gpio7 6 0x4>; // 230 | ||
46 | cd-inverted; | ||
47 | |||
48 | status = "okay"; | ||
49 | }; | ||
50 | |||
51 | |||
52 | // WLAN SDIO channel | ||
53 | sdi1_per2@80118000 { | ||
54 | arm,primecell-periphid = <0x10480180>; | ||
55 | max-frequency = <50000000>; | ||
56 | bus-width = <4>; | ||
57 | |||
58 | status = "okay"; | ||
59 | }; | ||
60 | |||
61 | // On-board eMMC | ||
62 | sdi4_per2@80114000 { | ||
63 | arm,primecell-periphid = <0x10480180>; | ||
64 | max-frequency = <100000000>; | ||
65 | bus-width = <8>; | ||
66 | mmc-cap-mmc-highspeed; | ||
67 | vmmc-supply = <&ab8500_ldo_aux2_reg>; | ||
68 | |||
69 | status = "okay"; | ||
70 | }; | ||
71 | }; | ||
72 | }; | ||
diff --git a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi index d8a827bd2bf3..ac870fb3fa0d 100644 --- a/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi +++ b/arch/arm/boot/dts/vexpress-v2m-rs1.dtsi | |||
@@ -17,17 +17,16 @@ | |||
17 | * CHANGES TO vexpress-v2m.dtsi! | 17 | * CHANGES TO vexpress-v2m.dtsi! |
18 | */ | 18 | */ |
19 | 19 | ||
20 | / { | ||
21 | aliases { | ||
22 | arm,v2m_timer = &v2m_timer01; | ||
23 | }; | ||
24 | |||
25 | motherboard { | 20 | motherboard { |
26 | compatible = "simple-bus"; | 21 | model = "V2M-P1"; |
22 | arm,hbi = <0x190>; | ||
23 | arm,vexpress,site = <0>; | ||
27 | arm,v2m-memory-map = "rs1"; | 24 | arm,v2m-memory-map = "rs1"; |
25 | compatible = "arm,vexpress,v2m-p1", "simple-bus"; | ||
28 | #address-cells = <2>; /* SMB chipselect number and offset */ | 26 | #address-cells = <2>; /* SMB chipselect number and offset */ |
29 | #size-cells = <1>; | 27 | #size-cells = <1>; |
30 | #interrupt-cells = <1>; | 28 | #interrupt-cells = <1>; |
29 | ranges; | ||
31 | 30 | ||
32 | flash@0,00000000 { | 31 | flash@0,00000000 { |
33 | compatible = "arm,vexpress-flash", "cfi-flash"; | 32 | compatible = "arm,vexpress-flash", "cfi-flash"; |
@@ -72,14 +71,20 @@ | |||
72 | #size-cells = <1>; | 71 | #size-cells = <1>; |
73 | ranges = <0 3 0 0x200000>; | 72 | ranges = <0 3 0 0x200000>; |
74 | 73 | ||
75 | sysreg@010000 { | 74 | v2m_sysreg: sysreg@010000 { |
76 | compatible = "arm,vexpress-sysreg"; | 75 | compatible = "arm,vexpress-sysreg"; |
77 | reg = <0x010000 0x1000>; | 76 | reg = <0x010000 0x1000>; |
77 | gpio-controller; | ||
78 | #gpio-cells = <2>; | ||
78 | }; | 79 | }; |
79 | 80 | ||
80 | sysctl@020000 { | 81 | v2m_sysctl: sysctl@020000 { |
81 | compatible = "arm,sp810", "arm,primecell"; | 82 | compatible = "arm,sp810", "arm,primecell"; |
82 | reg = <0x020000 0x1000>; | 83 | reg = <0x020000 0x1000>; |
84 | clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>; | ||
85 | clock-names = "refclk", "timclk", "apb_pclk"; | ||
86 | #clock-cells = <1>; | ||
87 | clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; | ||
83 | }; | 88 | }; |
84 | 89 | ||
85 | /* PCI-E I2C bus */ | 90 | /* PCI-E I2C bus */ |
@@ -100,66 +105,92 @@ | |||
100 | compatible = "arm,pl041", "arm,primecell"; | 105 | compatible = "arm,pl041", "arm,primecell"; |
101 | reg = <0x040000 0x1000>; | 106 | reg = <0x040000 0x1000>; |
102 | interrupts = <11>; | 107 | interrupts = <11>; |
108 | clocks = <&smbclk>; | ||
109 | clock-names = "apb_pclk"; | ||
103 | }; | 110 | }; |
104 | 111 | ||
105 | mmci@050000 { | 112 | mmci@050000 { |
106 | compatible = "arm,pl180", "arm,primecell"; | 113 | compatible = "arm,pl180", "arm,primecell"; |
107 | reg = <0x050000 0x1000>; | 114 | reg = <0x050000 0x1000>; |
108 | interrupts = <9 10>; | 115 | interrupts = <9 10>; |
116 | cd-gpios = <&v2m_sysreg 0 0>; | ||
117 | wp-gpios = <&v2m_sysreg 1 0>; | ||
118 | max-frequency = <12000000>; | ||
119 | vmmc-supply = <&v2m_fixed_3v3>; | ||
120 | clocks = <&v2m_clk24mhz>, <&smbclk>; | ||
121 | clock-names = "mclk", "apb_pclk"; | ||
109 | }; | 122 | }; |
110 | 123 | ||
111 | kmi@060000 { | 124 | kmi@060000 { |
112 | compatible = "arm,pl050", "arm,primecell"; | 125 | compatible = "arm,pl050", "arm,primecell"; |
113 | reg = <0x060000 0x1000>; | 126 | reg = <0x060000 0x1000>; |
114 | interrupts = <12>; | 127 | interrupts = <12>; |
128 | clocks = <&v2m_clk24mhz>, <&smbclk>; | ||
129 | clock-names = "KMIREFCLK", "apb_pclk"; | ||
115 | }; | 130 | }; |
116 | 131 | ||
117 | kmi@070000 { | 132 | kmi@070000 { |
118 | compatible = "arm,pl050", "arm,primecell"; | 133 | compatible = "arm,pl050", "arm,primecell"; |
119 | reg = <0x070000 0x1000>; | 134 | reg = <0x070000 0x1000>; |
120 | interrupts = <13>; | 135 | interrupts = <13>; |
136 | clocks = <&v2m_clk24mhz>, <&smbclk>; | ||
137 | clock-names = "KMIREFCLK", "apb_pclk"; | ||
121 | }; | 138 | }; |
122 | 139 | ||
123 | v2m_serial0: uart@090000 { | 140 | v2m_serial0: uart@090000 { |
124 | compatible = "arm,pl011", "arm,primecell"; | 141 | compatible = "arm,pl011", "arm,primecell"; |
125 | reg = <0x090000 0x1000>; | 142 | reg = <0x090000 0x1000>; |
126 | interrupts = <5>; | 143 | interrupts = <5>; |
144 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
145 | clock-names = "uartclk", "apb_pclk"; | ||
127 | }; | 146 | }; |
128 | 147 | ||
129 | v2m_serial1: uart@0a0000 { | 148 | v2m_serial1: uart@0a0000 { |
130 | compatible = "arm,pl011", "arm,primecell"; | 149 | compatible = "arm,pl011", "arm,primecell"; |
131 | reg = <0x0a0000 0x1000>; | 150 | reg = <0x0a0000 0x1000>; |
132 | interrupts = <6>; | 151 | interrupts = <6>; |
152 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
153 | clock-names = "uartclk", "apb_pclk"; | ||
133 | }; | 154 | }; |
134 | 155 | ||
135 | v2m_serial2: uart@0b0000 { | 156 | v2m_serial2: uart@0b0000 { |
136 | compatible = "arm,pl011", "arm,primecell"; | 157 | compatible = "arm,pl011", "arm,primecell"; |
137 | reg = <0x0b0000 0x1000>; | 158 | reg = <0x0b0000 0x1000>; |
138 | interrupts = <7>; | 159 | interrupts = <7>; |
160 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
161 | clock-names = "uartclk", "apb_pclk"; | ||
139 | }; | 162 | }; |
140 | 163 | ||
141 | v2m_serial3: uart@0c0000 { | 164 | v2m_serial3: uart@0c0000 { |
142 | compatible = "arm,pl011", "arm,primecell"; | 165 | compatible = "arm,pl011", "arm,primecell"; |
143 | reg = <0x0c0000 0x1000>; | 166 | reg = <0x0c0000 0x1000>; |
144 | interrupts = <8>; | 167 | interrupts = <8>; |
168 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
169 | clock-names = "uartclk", "apb_pclk"; | ||
145 | }; | 170 | }; |
146 | 171 | ||
147 | wdt@0f0000 { | 172 | wdt@0f0000 { |
148 | compatible = "arm,sp805", "arm,primecell"; | 173 | compatible = "arm,sp805", "arm,primecell"; |
149 | reg = <0x0f0000 0x1000>; | 174 | reg = <0x0f0000 0x1000>; |
150 | interrupts = <0>; | 175 | interrupts = <0>; |
176 | clocks = <&v2m_refclk32khz>, <&smbclk>; | ||
177 | clock-names = "wdogclk", "apb_pclk"; | ||
151 | }; | 178 | }; |
152 | 179 | ||
153 | v2m_timer01: timer@110000 { | 180 | v2m_timer01: timer@110000 { |
154 | compatible = "arm,sp804", "arm,primecell"; | 181 | compatible = "arm,sp804", "arm,primecell"; |
155 | reg = <0x110000 0x1000>; | 182 | reg = <0x110000 0x1000>; |
156 | interrupts = <2>; | 183 | interrupts = <2>; |
184 | clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&smbclk>; | ||
185 | clock-names = "timclken1", "timclken2", "apb_pclk"; | ||
157 | }; | 186 | }; |
158 | 187 | ||
159 | v2m_timer23: timer@120000 { | 188 | v2m_timer23: timer@120000 { |
160 | compatible = "arm,sp804", "arm,primecell"; | 189 | compatible = "arm,sp804", "arm,primecell"; |
161 | reg = <0x120000 0x1000>; | 190 | reg = <0x120000 0x1000>; |
162 | interrupts = <3>; | 191 | interrupts = <3>; |
192 | clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&smbclk>; | ||
193 | clock-names = "timclken1", "timclken2", "apb_pclk"; | ||
163 | }; | 194 | }; |
164 | 195 | ||
165 | /* DVI I2C bus */ | 196 | /* DVI I2C bus */ |
@@ -185,6 +216,8 @@ | |||
185 | compatible = "arm,pl031", "arm,primecell"; | 216 | compatible = "arm,pl031", "arm,primecell"; |
186 | reg = <0x170000 0x1000>; | 217 | reg = <0x170000 0x1000>; |
187 | interrupts = <4>; | 218 | interrupts = <4>; |
219 | clocks = <&smbclk>; | ||
220 | clock-names = "apb_pclk"; | ||
188 | }; | 221 | }; |
189 | 222 | ||
190 | compact-flash@1a0000 { | 223 | compact-flash@1a0000 { |
@@ -198,6 +231,8 @@ | |||
198 | compatible = "arm,pl111", "arm,primecell"; | 231 | compatible = "arm,pl111", "arm,primecell"; |
199 | reg = <0x1f0000 0x1000>; | 232 | reg = <0x1f0000 0x1000>; |
200 | interrupts = <14>; | 233 | interrupts = <14>; |
234 | clocks = <&v2m_oscclk1>, <&smbclk>; | ||
235 | clock-names = "clcdclk", "apb_pclk"; | ||
201 | }; | 236 | }; |
202 | }; | 237 | }; |
203 | 238 | ||
@@ -208,5 +243,98 @@ | |||
208 | regulator-max-microvolt = <3300000>; | 243 | regulator-max-microvolt = <3300000>; |
209 | regulator-always-on; | 244 | regulator-always-on; |
210 | }; | 245 | }; |
246 | |||
247 | v2m_clk24mhz: clk24mhz { | ||
248 | compatible = "fixed-clock"; | ||
249 | #clock-cells = <0>; | ||
250 | clock-frequency = <24000000>; | ||
251 | clock-output-names = "v2m:clk24mhz"; | ||
252 | }; | ||
253 | |||
254 | v2m_refclk1mhz: refclk1mhz { | ||
255 | compatible = "fixed-clock"; | ||
256 | #clock-cells = <0>; | ||
257 | clock-frequency = <1000000>; | ||
258 | clock-output-names = "v2m:refclk1mhz"; | ||
259 | }; | ||
260 | |||
261 | v2m_refclk32khz: refclk32khz { | ||
262 | compatible = "fixed-clock"; | ||
263 | #clock-cells = <0>; | ||
264 | clock-frequency = <32768>; | ||
265 | clock-output-names = "v2m:refclk32khz"; | ||
266 | }; | ||
267 | |||
268 | mcc { | ||
269 | compatible = "arm,vexpress,config-bus"; | ||
270 | arm,vexpress,config-bridge = <&v2m_sysreg>; | ||
271 | |||
272 | osc@0 { | ||
273 | /* MCC static memory clock */ | ||
274 | compatible = "arm,vexpress-osc"; | ||
275 | arm,vexpress-sysreg,func = <1 0>; | ||
276 | freq-range = <25000000 60000000>; | ||
277 | #clock-cells = <0>; | ||
278 | clock-output-names = "v2m:oscclk0"; | ||
279 | }; | ||
280 | |||
281 | v2m_oscclk1: osc@1 { | ||
282 | /* CLCD clock */ | ||
283 | compatible = "arm,vexpress-osc"; | ||
284 | arm,vexpress-sysreg,func = <1 1>; | ||
285 | freq-range = <23750000 63500000>; | ||
286 | #clock-cells = <0>; | ||
287 | clock-output-names = "v2m:oscclk1"; | ||
288 | }; | ||
289 | |||
290 | v2m_oscclk2: osc@2 { | ||
291 | /* IO FPGA peripheral clock */ | ||
292 | compatible = "arm,vexpress-osc"; | ||
293 | arm,vexpress-sysreg,func = <1 2>; | ||
294 | freq-range = <24000000 24000000>; | ||
295 | #clock-cells = <0>; | ||
296 | clock-output-names = "v2m:oscclk2"; | ||
297 | }; | ||
298 | |||
299 | volt@0 { | ||
300 | /* Logic level voltage */ | ||
301 | compatible = "arm,vexpress-volt"; | ||
302 | arm,vexpress-sysreg,func = <2 0>; | ||
303 | regulator-name = "VIO"; | ||
304 | regulator-always-on; | ||
305 | label = "VIO"; | ||
306 | }; | ||
307 | |||
308 | temp@0 { | ||
309 | /* MCC internal operating temperature */ | ||
310 | compatible = "arm,vexpress-temp"; | ||
311 | arm,vexpress-sysreg,func = <4 0>; | ||
312 | label = "MCC"; | ||
313 | }; | ||
314 | |||
315 | reset@0 { | ||
316 | compatible = "arm,vexpress-reset"; | ||
317 | arm,vexpress-sysreg,func = <5 0>; | ||
318 | }; | ||
319 | |||
320 | muxfpga@0 { | ||
321 | compatible = "arm,vexpress-muxfpga"; | ||
322 | arm,vexpress-sysreg,func = <7 0>; | ||
323 | }; | ||
324 | |||
325 | shutdown@0 { | ||
326 | compatible = "arm,vexpress-shutdown"; | ||
327 | arm,vexpress-sysreg,func = <8 0>; | ||
328 | }; | ||
329 | |||
330 | reboot@0 { | ||
331 | compatible = "arm,vexpress-reboot"; | ||
332 | arm,vexpress-sysreg,func = <9 0>; | ||
333 | }; | ||
334 | |||
335 | dvimode@0 { | ||
336 | compatible = "arm,vexpress-dvimode"; | ||
337 | arm,vexpress-sysreg,func = <11 0>; | ||
338 | }; | ||
339 | }; | ||
211 | }; | 340 | }; |
212 | }; | ||
diff --git a/arch/arm/boot/dts/vexpress-v2m.dtsi b/arch/arm/boot/dts/vexpress-v2m.dtsi index dba53fd026bb..f1420368355b 100644 --- a/arch/arm/boot/dts/vexpress-v2m.dtsi +++ b/arch/arm/boot/dts/vexpress-v2m.dtsi | |||
@@ -17,16 +17,15 @@ | |||
17 | * CHANGES TO vexpress-v2m-rs1.dtsi! | 17 | * CHANGES TO vexpress-v2m-rs1.dtsi! |
18 | */ | 18 | */ |
19 | 19 | ||
20 | / { | ||
21 | aliases { | ||
22 | arm,v2m_timer = &v2m_timer01; | ||
23 | }; | ||
24 | |||
25 | motherboard { | 20 | motherboard { |
26 | compatible = "simple-bus"; | 21 | model = "V2M-P1"; |
22 | arm,hbi = <0x190>; | ||
23 | arm,vexpress,site = <0>; | ||
24 | compatible = "arm,vexpress,v2m-p1", "simple-bus"; | ||
27 | #address-cells = <2>; /* SMB chipselect number and offset */ | 25 | #address-cells = <2>; /* SMB chipselect number and offset */ |
28 | #size-cells = <1>; | 26 | #size-cells = <1>; |
29 | #interrupt-cells = <1>; | 27 | #interrupt-cells = <1>; |
28 | ranges; | ||
30 | 29 | ||
31 | flash@0,00000000 { | 30 | flash@0,00000000 { |
32 | compatible = "arm,vexpress-flash", "cfi-flash"; | 31 | compatible = "arm,vexpress-flash", "cfi-flash"; |
@@ -71,14 +70,20 @@ | |||
71 | #size-cells = <1>; | 70 | #size-cells = <1>; |
72 | ranges = <0 7 0 0x20000>; | 71 | ranges = <0 7 0 0x20000>; |
73 | 72 | ||
74 | sysreg@00000 { | 73 | v2m_sysreg: sysreg@00000 { |
75 | compatible = "arm,vexpress-sysreg"; | 74 | compatible = "arm,vexpress-sysreg"; |
76 | reg = <0x00000 0x1000>; | 75 | reg = <0x00000 0x1000>; |
76 | gpio-controller; | ||
77 | #gpio-cells = <2>; | ||
77 | }; | 78 | }; |
78 | 79 | ||
79 | sysctl@01000 { | 80 | v2m_sysctl: sysctl@01000 { |
80 | compatible = "arm,sp810", "arm,primecell"; | 81 | compatible = "arm,sp810", "arm,primecell"; |
81 | reg = <0x01000 0x1000>; | 82 | reg = <0x01000 0x1000>; |
83 | clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>; | ||
84 | clock-names = "refclk", "timclk", "apb_pclk"; | ||
85 | #clock-cells = <1>; | ||
86 | clock-output-names = "timerclken0", "timerclken1", "timerclken2", "timerclken3"; | ||
82 | }; | 87 | }; |
83 | 88 | ||
84 | /* PCI-E I2C bus */ | 89 | /* PCI-E I2C bus */ |
@@ -99,66 +104,92 @@ | |||
99 | compatible = "arm,pl041", "arm,primecell"; | 104 | compatible = "arm,pl041", "arm,primecell"; |
100 | reg = <0x04000 0x1000>; | 105 | reg = <0x04000 0x1000>; |
101 | interrupts = <11>; | 106 | interrupts = <11>; |
107 | clocks = <&smbclk>; | ||
108 | clock-names = "apb_pclk"; | ||
102 | }; | 109 | }; |
103 | 110 | ||
104 | mmci@05000 { | 111 | mmci@05000 { |
105 | compatible = "arm,pl180", "arm,primecell"; | 112 | compatible = "arm,pl180", "arm,primecell"; |
106 | reg = <0x05000 0x1000>; | 113 | reg = <0x05000 0x1000>; |
107 | interrupts = <9 10>; | 114 | interrupts = <9 10>; |
115 | cd-gpios = <&v2m_sysreg 0 0>; | ||
116 | wp-gpios = <&v2m_sysreg 1 0>; | ||
117 | max-frequency = <12000000>; | ||
118 | vmmc-supply = <&v2m_fixed_3v3>; | ||
119 | clocks = <&v2m_clk24mhz>, <&smbclk>; | ||
120 | clock-names = "mclk", "apb_pclk"; | ||
108 | }; | 121 | }; |
109 | 122 | ||
110 | kmi@06000 { | 123 | kmi@06000 { |
111 | compatible = "arm,pl050", "arm,primecell"; | 124 | compatible = "arm,pl050", "arm,primecell"; |
112 | reg = <0x06000 0x1000>; | 125 | reg = <0x06000 0x1000>; |
113 | interrupts = <12>; | 126 | interrupts = <12>; |
127 | clocks = <&v2m_clk24mhz>, <&smbclk>; | ||
128 | clock-names = "KMIREFCLK", "apb_pclk"; | ||
114 | }; | 129 | }; |
115 | 130 | ||
116 | kmi@07000 { | 131 | kmi@07000 { |
117 | compatible = "arm,pl050", "arm,primecell"; | 132 | compatible = "arm,pl050", "arm,primecell"; |
118 | reg = <0x07000 0x1000>; | 133 | reg = <0x07000 0x1000>; |
119 | interrupts = <13>; | 134 | interrupts = <13>; |
135 | clocks = <&v2m_clk24mhz>, <&smbclk>; | ||
136 | clock-names = "KMIREFCLK", "apb_pclk"; | ||
120 | }; | 137 | }; |
121 | 138 | ||
122 | v2m_serial0: uart@09000 { | 139 | v2m_serial0: uart@09000 { |
123 | compatible = "arm,pl011", "arm,primecell"; | 140 | compatible = "arm,pl011", "arm,primecell"; |
124 | reg = <0x09000 0x1000>; | 141 | reg = <0x09000 0x1000>; |
125 | interrupts = <5>; | 142 | interrupts = <5>; |
143 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
144 | clock-names = "uartclk", "apb_pclk"; | ||
126 | }; | 145 | }; |
127 | 146 | ||
128 | v2m_serial1: uart@0a000 { | 147 | v2m_serial1: uart@0a000 { |
129 | compatible = "arm,pl011", "arm,primecell"; | 148 | compatible = "arm,pl011", "arm,primecell"; |
130 | reg = <0x0a000 0x1000>; | 149 | reg = <0x0a000 0x1000>; |
131 | interrupts = <6>; | 150 | interrupts = <6>; |
151 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
152 | clock-names = "uartclk", "apb_pclk"; | ||
132 | }; | 153 | }; |
133 | 154 | ||
134 | v2m_serial2: uart@0b000 { | 155 | v2m_serial2: uart@0b000 { |
135 | compatible = "arm,pl011", "arm,primecell"; | 156 | compatible = "arm,pl011", "arm,primecell"; |
136 | reg = <0x0b000 0x1000>; | 157 | reg = <0x0b000 0x1000>; |
137 | interrupts = <7>; | 158 | interrupts = <7>; |
159 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
160 | clock-names = "uartclk", "apb_pclk"; | ||
138 | }; | 161 | }; |
139 | 162 | ||
140 | v2m_serial3: uart@0c000 { | 163 | v2m_serial3: uart@0c000 { |
141 | compatible = "arm,pl011", "arm,primecell"; | 164 | compatible = "arm,pl011", "arm,primecell"; |
142 | reg = <0x0c000 0x1000>; | 165 | reg = <0x0c000 0x1000>; |
143 | interrupts = <8>; | 166 | interrupts = <8>; |
167 | clocks = <&v2m_oscclk2>, <&smbclk>; | ||
168 | clock-names = "uartclk", "apb_pclk"; | ||
144 | }; | 169 | }; |
145 | 170 | ||
146 | wdt@0f000 { | 171 | wdt@0f000 { |
147 | compatible = "arm,sp805", "arm,primecell"; | 172 | compatible = "arm,sp805", "arm,primecell"; |
148 | reg = <0x0f000 0x1000>; | 173 | reg = <0x0f000 0x1000>; |
149 | interrupts = <0>; | 174 | interrupts = <0>; |
175 | clocks = <&v2m_refclk32khz>, <&smbclk>; | ||
176 | clock-names = "wdogclk", "apb_pclk"; | ||
150 | }; | 177 | }; |
151 | 178 | ||
152 | v2m_timer01: timer@11000 { | 179 | v2m_timer01: timer@11000 { |
153 | compatible = "arm,sp804", "arm,primecell"; | 180 | compatible = "arm,sp804", "arm,primecell"; |
154 | reg = <0x11000 0x1000>; | 181 | reg = <0x11000 0x1000>; |
155 | interrupts = <2>; | 182 | interrupts = <2>; |
183 | clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>, <&smbclk>; | ||
184 | clock-names = "timclken1", "timclken2", "apb_pclk"; | ||
156 | }; | 185 | }; |
157 | 186 | ||
158 | v2m_timer23: timer@12000 { | 187 | v2m_timer23: timer@12000 { |
159 | compatible = "arm,sp804", "arm,primecell"; | 188 | compatible = "arm,sp804", "arm,primecell"; |
160 | reg = <0x12000 0x1000>; | 189 | reg = <0x12000 0x1000>; |
161 | interrupts = <3>; | 190 | interrupts = <3>; |
191 | clocks = <&v2m_sysctl 2>, <&v2m_sysctl 3>, <&smbclk>; | ||
192 | clock-names = "timclken1", "timclken2", "apb_pclk"; | ||
162 | }; | 193 | }; |
163 | 194 | ||
164 | /* DVI I2C bus */ | 195 | /* DVI I2C bus */ |
@@ -184,6 +215,8 @@ | |||
184 | compatible = "arm,pl031", "arm,primecell"; | 215 | compatible = "arm,pl031", "arm,primecell"; |
185 | reg = <0x17000 0x1000>; | 216 | reg = <0x17000 0x1000>; |
186 | interrupts = <4>; | 217 | interrupts = <4>; |
218 | clocks = <&smbclk>; | ||
219 | clock-names = "apb_pclk"; | ||
187 | }; | 220 | }; |
188 | 221 | ||
189 | compact-flash@1a000 { | 222 | compact-flash@1a000 { |
@@ -197,6 +230,8 @@ | |||
197 | compatible = "arm,pl111", "arm,primecell"; | 230 | compatible = "arm,pl111", "arm,primecell"; |
198 | reg = <0x1f000 0x1000>; | 231 | reg = <0x1f000 0x1000>; |
199 | interrupts = <14>; | 232 | interrupts = <14>; |
233 | clocks = <&v2m_oscclk1>, <&smbclk>; | ||
234 | clock-names = "clcdclk", "apb_pclk"; | ||
200 | }; | 235 | }; |
201 | }; | 236 | }; |
202 | 237 | ||
@@ -207,5 +242,98 @@ | |||
207 | regulator-max-microvolt = <3300000>; | 242 | regulator-max-microvolt = <3300000>; |
208 | regulator-always-on; | 243 | regulator-always-on; |
209 | }; | 244 | }; |
245 | |||
246 | v2m_clk24mhz: clk24mhz { | ||
247 | compatible = "fixed-clock"; | ||
248 | #clock-cells = <0>; | ||
249 | clock-frequency = <24000000>; | ||
250 | clock-output-names = "v2m:clk24mhz"; | ||
251 | }; | ||
252 | |||
253 | v2m_refclk1mhz: refclk1mhz { | ||
254 | compatible = "fixed-clock"; | ||
255 | #clock-cells = <0>; | ||
256 | clock-frequency = <1000000>; | ||
257 | clock-output-names = "v2m:refclk1mhz"; | ||
258 | }; | ||
259 | |||
260 | v2m_refclk32khz: refclk32khz { | ||
261 | compatible = "fixed-clock"; | ||
262 | #clock-cells = <0>; | ||
263 | clock-frequency = <32768>; | ||
264 | clock-output-names = "v2m:refclk32khz"; | ||
265 | }; | ||
266 | |||
267 | mcc { | ||
268 | compatible = "arm,vexpress,config-bus"; | ||
269 | arm,vexpress,config-bridge = <&v2m_sysreg>; | ||
270 | |||
271 | osc@0 { | ||
272 | /* MCC static memory clock */ | ||
273 | compatible = "arm,vexpress-osc"; | ||
274 | arm,vexpress-sysreg,func = <1 0>; | ||
275 | freq-range = <25000000 60000000>; | ||
276 | #clock-cells = <0>; | ||
277 | clock-output-names = "v2m:oscclk0"; | ||
278 | }; | ||
279 | |||
280 | v2m_oscclk1: osc@1 { | ||
281 | /* CLCD clock */ | ||
282 | compatible = "arm,vexpress-osc"; | ||
283 | arm,vexpress-sysreg,func = <1 1>; | ||
284 | freq-range = <23750000 63500000>; | ||
285 | #clock-cells = <0>; | ||
286 | clock-output-names = "v2m:oscclk1"; | ||
287 | }; | ||
288 | |||
289 | v2m_oscclk2: osc@2 { | ||
290 | /* IO FPGA peripheral clock */ | ||
291 | compatible = "arm,vexpress-osc"; | ||
292 | arm,vexpress-sysreg,func = <1 2>; | ||
293 | freq-range = <24000000 24000000>; | ||
294 | #clock-cells = <0>; | ||
295 | clock-output-names = "v2m:oscclk2"; | ||
296 | }; | ||
297 | |||
298 | volt@0 { | ||
299 | /* Logic level voltage */ | ||
300 | compatible = "arm,vexpress-volt"; | ||
301 | arm,vexpress-sysreg,func = <2 0>; | ||
302 | regulator-name = "VIO"; | ||
303 | regulator-always-on; | ||
304 | label = "VIO"; | ||
305 | }; | ||
306 | |||
307 | temp@0 { | ||
308 | /* MCC internal operating temperature */ | ||
309 | compatible = "arm,vexpress-temp"; | ||
310 | arm,vexpress-sysreg,func = <4 0>; | ||
311 | label = "MCC"; | ||
312 | }; | ||
313 | |||
314 | reset@0 { | ||
315 | compatible = "arm,vexpress-reset"; | ||
316 | arm,vexpress-sysreg,func = <5 0>; | ||
317 | }; | ||
318 | |||
319 | muxfpga@0 { | ||
320 | compatible = "arm,vexpress-muxfpga"; | ||
321 | arm,vexpress-sysreg,func = <7 0>; | ||
322 | }; | ||
323 | |||
324 | shutdown@0 { | ||
325 | compatible = "arm,vexpress-shutdown"; | ||
326 | arm,vexpress-sysreg,func = <8 0>; | ||
327 | }; | ||
328 | |||
329 | reboot@0 { | ||
330 | compatible = "arm,vexpress-reboot"; | ||
331 | arm,vexpress-sysreg,func = <9 0>; | ||
332 | }; | ||
333 | |||
334 | dvimode@0 { | ||
335 | compatible = "arm,vexpress-dvimode"; | ||
336 | arm,vexpress-sysreg,func = <11 0>; | ||
337 | }; | ||
338 | }; | ||
210 | }; | 339 | }; |
211 | }; | ||
diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts index d12b34ca0568..a3d37ec2655d 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts | |||
@@ -12,6 +12,7 @@ | |||
12 | / { | 12 | / { |
13 | model = "V2P-CA15"; | 13 | model = "V2P-CA15"; |
14 | arm,hbi = <0x237>; | 14 | arm,hbi = <0x237>; |
15 | arm,vexpress,site = <0xf>; | ||
15 | compatible = "arm,vexpress,v2p-ca15,tc1", "arm,vexpress,v2p-ca15", "arm,vexpress"; | 16 | compatible = "arm,vexpress,v2p-ca15,tc1", "arm,vexpress,v2p-ca15", "arm,vexpress"; |
16 | interrupt-parent = <&gic>; | 17 | interrupt-parent = <&gic>; |
17 | #address-cells = <2>; | 18 | #address-cells = <2>; |
@@ -54,17 +55,24 @@ | |||
54 | compatible = "arm,hdlcd"; | 55 | compatible = "arm,hdlcd"; |
55 | reg = <0 0x2b000000 0 0x1000>; | 56 | reg = <0 0x2b000000 0 0x1000>; |
56 | interrupts = <0 85 4>; | 57 | interrupts = <0 85 4>; |
58 | clocks = <&oscclk5>; | ||
59 | clock-names = "pxlclk"; | ||
57 | }; | 60 | }; |
58 | 61 | ||
59 | memory-controller@2b0a0000 { | 62 | memory-controller@2b0a0000 { |
60 | compatible = "arm,pl341", "arm,primecell"; | 63 | compatible = "arm,pl341", "arm,primecell"; |
61 | reg = <0 0x2b0a0000 0 0x1000>; | 64 | reg = <0 0x2b0a0000 0 0x1000>; |
65 | clocks = <&oscclk7>; | ||
66 | clock-names = "apb_pclk"; | ||
62 | }; | 67 | }; |
63 | 68 | ||
64 | wdt@2b060000 { | 69 | wdt@2b060000 { |
65 | compatible = "arm,sp805", "arm,primecell"; | 70 | compatible = "arm,sp805", "arm,primecell"; |
71 | status = "disabled"; | ||
66 | reg = <0 0x2b060000 0 0x1000>; | 72 | reg = <0 0x2b060000 0 0x1000>; |
67 | interrupts = <98>; | 73 | interrupts = <98>; |
74 | clocks = <&oscclk7>; | ||
75 | clock-names = "apb_pclk"; | ||
68 | }; | 76 | }; |
69 | 77 | ||
70 | gic: interrupt-controller@2c001000 { | 78 | gic: interrupt-controller@2c001000 { |
@@ -84,6 +92,8 @@ | |||
84 | reg = <0 0x7ffd0000 0 0x1000>; | 92 | reg = <0 0x7ffd0000 0 0x1000>; |
85 | interrupts = <0 86 4>, | 93 | interrupts = <0 86 4>, |
86 | <0 87 4>; | 94 | <0 87 4>; |
95 | clocks = <&oscclk7>; | ||
96 | clock-names = "apb_pclk"; | ||
87 | }; | 97 | }; |
88 | 98 | ||
89 | dma@7ffb0000 { | 99 | dma@7ffb0000 { |
@@ -94,6 +104,8 @@ | |||
94 | <0 89 4>, | 104 | <0 89 4>, |
95 | <0 90 4>, | 105 | <0 90 4>, |
96 | <0 91 4>; | 106 | <0 91 4>; |
107 | clocks = <&oscclk7>; | ||
108 | clock-names = "apb_pclk"; | ||
97 | }; | 109 | }; |
98 | 110 | ||
99 | timer { | 111 | timer { |
@@ -110,7 +122,109 @@ | |||
110 | <0 69 4>; | 122 | <0 69 4>; |
111 | }; | 123 | }; |
112 | 124 | ||
113 | motherboard { | 125 | dcc { |
126 | compatible = "arm,vexpress,config-bus"; | ||
127 | arm,vexpress,config-bridge = <&v2m_sysreg>; | ||
128 | |||
129 | osc@0 { | ||
130 | /* CPU PLL reference clock */ | ||
131 | compatible = "arm,vexpress-osc"; | ||
132 | arm,vexpress-sysreg,func = <1 0>; | ||
133 | freq-range = <50000000 60000000>; | ||
134 | #clock-cells = <0>; | ||
135 | clock-output-names = "oscclk0"; | ||
136 | }; | ||
137 | |||
138 | osc@4 { | ||
139 | /* Multiplexed AXI master clock */ | ||
140 | compatible = "arm,vexpress-osc"; | ||
141 | arm,vexpress-sysreg,func = <1 4>; | ||
142 | freq-range = <20000000 40000000>; | ||
143 | #clock-cells = <0>; | ||
144 | clock-output-names = "oscclk4"; | ||
145 | }; | ||
146 | |||
147 | oscclk5: osc@5 { | ||
148 | /* HDLCD PLL reference clock */ | ||
149 | compatible = "arm,vexpress-osc"; | ||
150 | arm,vexpress-sysreg,func = <1 5>; | ||
151 | freq-range = <23750000 165000000>; | ||
152 | #clock-cells = <0>; | ||
153 | clock-output-names = "oscclk5"; | ||
154 | }; | ||
155 | |||
156 | smbclk: osc@6 { | ||
157 | /* SMB clock */ | ||
158 | compatible = "arm,vexpress-osc"; | ||
159 | arm,vexpress-sysreg,func = <1 6>; | ||
160 | freq-range = <20000000 50000000>; | ||
161 | #clock-cells = <0>; | ||
162 | clock-output-names = "oscclk6"; | ||
163 | }; | ||
164 | |||
165 | oscclk7: osc@7 { | ||
166 | /* SYS PLL reference clock */ | ||
167 | compatible = "arm,vexpress-osc"; | ||
168 | arm,vexpress-sysreg,func = <1 7>; | ||
169 | freq-range = <20000000 60000000>; | ||
170 | #clock-cells = <0>; | ||
171 | clock-output-names = "oscclk7"; | ||
172 | }; | ||
173 | |||
174 | osc@8 { | ||
175 | /* DDR2 PLL reference clock */ | ||
176 | compatible = "arm,vexpress-osc"; | ||
177 | arm,vexpress-sysreg,func = <1 8>; | ||
178 | freq-range = <40000000 40000000>; | ||
179 | #clock-cells = <0>; | ||
180 | clock-output-names = "oscclk8"; | ||
181 | }; | ||
182 | |||
183 | volt@0 { | ||
184 | /* CPU core voltage */ | ||
185 | compatible = "arm,vexpress-volt"; | ||
186 | arm,vexpress-sysreg,func = <2 0>; | ||
187 | regulator-name = "Cores"; | ||
188 | regulator-min-microvolt = <800000>; | ||
189 | regulator-max-microvolt = <1050000>; | ||
190 | regulator-always-on; | ||
191 | label = "Cores"; | ||
192 | }; | ||
193 | |||
194 | amp@0 { | ||
195 | /* Total current for the two cores */ | ||
196 | compatible = "arm,vexpress-amp"; | ||
197 | arm,vexpress-sysreg,func = <3 0>; | ||
198 | label = "Cores"; | ||
199 | }; | ||
200 | |||
201 | temp@0 { | ||
202 | /* DCC internal temperature */ | ||
203 | compatible = "arm,vexpress-temp"; | ||
204 | arm,vexpress-sysreg,func = <4 0>; | ||
205 | label = "DCC"; | ||
206 | }; | ||
207 | |||
208 | power@0 { | ||
209 | /* Total power */ | ||
210 | compatible = "arm,vexpress-power"; | ||
211 | arm,vexpress-sysreg,func = <12 0>; | ||
212 | label = "Cores"; | ||
213 | }; | ||
214 | |||
215 | energy@0 { | ||
216 | /* Total energy */ | ||
217 | compatible = "arm,vexpress-energy"; | ||
218 | arm,vexpress-sysreg,func = <13 0>; | ||
219 | label = "Cores"; | ||
220 | }; | ||
221 | }; | ||
222 | |||
223 | smb { | ||
224 | compatible = "simple-bus"; | ||
225 | |||
226 | #address-cells = <2>; | ||
227 | #size-cells = <1>; | ||
114 | ranges = <0 0 0 0x08000000 0x04000000>, | 228 | ranges = <0 0 0 0x08000000 0x04000000>, |
115 | <1 0 0 0x14000000 0x04000000>, | 229 | <1 0 0 0x14000000 0x04000000>, |
116 | <2 0 0 0x18000000 0x04000000>, | 230 | <2 0 0 0x18000000 0x04000000>, |
@@ -118,6 +232,7 @@ | |||
118 | <4 0 0 0x0c000000 0x04000000>, | 232 | <4 0 0 0x0c000000 0x04000000>, |
119 | <5 0 0 0x10000000 0x04000000>; | 233 | <5 0 0 0x10000000 0x04000000>; |
120 | 234 | ||
235 | #interrupt-cells = <1>; | ||
121 | interrupt-map-mask = <0 0 63>; | 236 | interrupt-map-mask = <0 0 63>; |
122 | interrupt-map = <0 0 0 &gic 0 0 4>, | 237 | interrupt-map = <0 0 0 &gic 0 0 4>, |
123 | <0 0 1 &gic 0 1 4>, | 238 | <0 0 1 &gic 0 1 4>, |
@@ -162,7 +277,7 @@ | |||
162 | <0 0 40 &gic 0 40 4>, | 277 | <0 0 40 &gic 0 40 4>, |
163 | <0 0 41 &gic 0 41 4>, | 278 | <0 0 41 &gic 0 41 4>, |
164 | <0 0 42 &gic 0 42 4>; | 279 | <0 0 42 &gic 0 42 4>; |
280 | |||
281 | /include/ "vexpress-v2m-rs1.dtsi" | ||
165 | }; | 282 | }; |
166 | }; | 283 | }; |
167 | |||
168 | /include/ "vexpress-v2m-rs1.dtsi" | ||
diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts index 4890a81c5467..1fc405a9ecfb 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | |||
@@ -12,6 +12,7 @@ | |||
12 | / { | 12 | / { |
13 | model = "V2P-CA15_CA7"; | 13 | model = "V2P-CA15_CA7"; |
14 | arm,hbi = <0x249>; | 14 | arm,hbi = <0x249>; |
15 | arm,vexpress,site = <0xf>; | ||
15 | compatible = "arm,vexpress,v2p-ca15_a7", "arm,vexpress"; | 16 | compatible = "arm,vexpress,v2p-ca15_a7", "arm,vexpress"; |
16 | interrupt-parent = <&gic>; | 17 | interrupt-parent = <&gic>; |
17 | #address-cells = <2>; | 18 | #address-cells = <2>; |
@@ -74,17 +75,23 @@ | |||
74 | compatible = "arm,sp805", "arm,primecell"; | 75 | compatible = "arm,sp805", "arm,primecell"; |
75 | reg = <0 0x2a490000 0 0x1000>; | 76 | reg = <0 0x2a490000 0 0x1000>; |
76 | interrupts = <98>; | 77 | interrupts = <98>; |
78 | clocks = <&oscclk6a>, <&oscclk6a>; | ||
79 | clock-names = "wdogclk", "apb_pclk"; | ||
77 | }; | 80 | }; |
78 | 81 | ||
79 | hdlcd@2b000000 { | 82 | hdlcd@2b000000 { |
80 | compatible = "arm,hdlcd"; | 83 | compatible = "arm,hdlcd"; |
81 | reg = <0 0x2b000000 0 0x1000>; | 84 | reg = <0 0x2b000000 0 0x1000>; |
82 | interrupts = <0 85 4>; | 85 | interrupts = <0 85 4>; |
86 | clocks = <&oscclk5>; | ||
87 | clock-names = "pxlclk"; | ||
83 | }; | 88 | }; |
84 | 89 | ||
85 | memory-controller@2b0a0000 { | 90 | memory-controller@2b0a0000 { |
86 | compatible = "arm,pl341", "arm,primecell"; | 91 | compatible = "arm,pl341", "arm,primecell"; |
87 | reg = <0 0x2b0a0000 0 0x1000>; | 92 | reg = <0 0x2b0a0000 0 0x1000>; |
93 | clocks = <&oscclk6a>; | ||
94 | clock-names = "apb_pclk"; | ||
88 | }; | 95 | }; |
89 | 96 | ||
90 | gic: interrupt-controller@2c001000 { | 97 | gic: interrupt-controller@2c001000 { |
@@ -104,6 +111,8 @@ | |||
104 | reg = <0 0x7ffd0000 0 0x1000>; | 111 | reg = <0 0x7ffd0000 0 0x1000>; |
105 | interrupts = <0 86 4>, | 112 | interrupts = <0 86 4>, |
106 | <0 87 4>; | 113 | <0 87 4>; |
114 | clocks = <&oscclk6a>; | ||
115 | clock-names = "apb_pclk"; | ||
107 | }; | 116 | }; |
108 | 117 | ||
109 | dma@7ff00000 { | 118 | dma@7ff00000 { |
@@ -114,6 +123,8 @@ | |||
114 | <0 89 4>, | 123 | <0 89 4>, |
115 | <0 90 4>, | 124 | <0 90 4>, |
116 | <0 91 4>; | 125 | <0 91 4>; |
126 | clocks = <&oscclk6a>; | ||
127 | clock-names = "apb_pclk"; | ||
117 | }; | 128 | }; |
118 | 129 | ||
119 | timer { | 130 | timer { |
@@ -130,7 +141,175 @@ | |||
130 | <0 69 4>; | 141 | <0 69 4>; |
131 | }; | 142 | }; |
132 | 143 | ||
133 | motherboard { | 144 | oscclk6a: oscclk6a { |
145 | /* Reference 24MHz clock */ | ||
146 | compatible = "fixed-clock"; | ||
147 | #clock-cells = <0>; | ||
148 | clock-frequency = <24000000>; | ||
149 | clock-output-names = "oscclk6a"; | ||
150 | }; | ||
151 | |||
152 | dcc { | ||
153 | compatible = "arm,vexpress,config-bus"; | ||
154 | arm,vexpress,config-bridge = <&v2m_sysreg>; | ||
155 | |||
156 | osc@0 { | ||
157 | /* A15 PLL 0 reference clock */ | ||
158 | compatible = "arm,vexpress-osc"; | ||
159 | arm,vexpress-sysreg,func = <1 0>; | ||
160 | freq-range = <17000000 50000000>; | ||
161 | #clock-cells = <0>; | ||
162 | clock-output-names = "oscclk0"; | ||
163 | }; | ||
164 | |||
165 | osc@1 { | ||
166 | /* A15 PLL 1 reference clock */ | ||
167 | compatible = "arm,vexpress-osc"; | ||
168 | arm,vexpress-sysreg,func = <1 1>; | ||
169 | freq-range = <17000000 50000000>; | ||
170 | #clock-cells = <0>; | ||
171 | clock-output-names = "oscclk1"; | ||
172 | }; | ||
173 | |||
174 | osc@2 { | ||
175 | /* A7 PLL 0 reference clock */ | ||
176 | compatible = "arm,vexpress-osc"; | ||
177 | arm,vexpress-sysreg,func = <1 2>; | ||
178 | freq-range = <17000000 50000000>; | ||
179 | #clock-cells = <0>; | ||
180 | clock-output-names = "oscclk2"; | ||
181 | }; | ||
182 | |||
183 | osc@3 { | ||
184 | /* A7 PLL 1 reference clock */ | ||
185 | compatible = "arm,vexpress-osc"; | ||
186 | arm,vexpress-sysreg,func = <1 3>; | ||
187 | freq-range = <17000000 50000000>; | ||
188 | #clock-cells = <0>; | ||
189 | clock-output-names = "oscclk3"; | ||
190 | }; | ||
191 | |||
192 | osc@4 { | ||
193 | /* External AXI master clock */ | ||
194 | compatible = "arm,vexpress-osc"; | ||
195 | arm,vexpress-sysreg,func = <1 4>; | ||
196 | freq-range = <20000000 40000000>; | ||
197 | #clock-cells = <0>; | ||
198 | clock-output-names = "oscclk4"; | ||
199 | }; | ||
200 | |||
201 | oscclk5: osc@5 { | ||
202 | /* HDLCD PLL reference clock */ | ||
203 | compatible = "arm,vexpress-osc"; | ||
204 | arm,vexpress-sysreg,func = <1 5>; | ||
205 | freq-range = <23750000 165000000>; | ||
206 | #clock-cells = <0>; | ||
207 | clock-output-names = "oscclk5"; | ||
208 | }; | ||
209 | |||
210 | smbclk: osc@6 { | ||
211 | /* Static memory controller clock */ | ||
212 | compatible = "arm,vexpress-osc"; | ||
213 | arm,vexpress-sysreg,func = <1 6>; | ||
214 | freq-range = <20000000 40000000>; | ||
215 | #clock-cells = <0>; | ||
216 | clock-output-names = "oscclk6"; | ||
217 | }; | ||
218 | |||
219 | osc@7 { | ||
220 | /* SYS PLL reference clock */ | ||
221 | compatible = "arm,vexpress-osc"; | ||
222 | arm,vexpress-sysreg,func = <1 7>; | ||
223 | freq-range = <17000000 50000000>; | ||
224 | #clock-cells = <0>; | ||
225 | clock-output-names = "oscclk7"; | ||
226 | }; | ||
227 | |||
228 | osc@8 { | ||
229 | /* DDR2 PLL reference clock */ | ||
230 | compatible = "arm,vexpress-osc"; | ||
231 | arm,vexpress-sysreg,func = <1 8>; | ||
232 | freq-range = <20000000 50000000>; | ||
233 | #clock-cells = <0>; | ||
234 | clock-output-names = "oscclk8"; | ||
235 | }; | ||
236 | |||
237 | volt@0 { | ||
238 | /* A15 CPU core voltage */ | ||
239 | compatible = "arm,vexpress-volt"; | ||
240 | arm,vexpress-sysreg,func = <2 0>; | ||
241 | regulator-name = "A15 Vcore"; | ||
242 | regulator-min-microvolt = <800000>; | ||
243 | regulator-max-microvolt = <1050000>; | ||
244 | regulator-always-on; | ||
245 | label = "A15 Vcore"; | ||
246 | }; | ||
247 | |||
248 | volt@1 { | ||
249 | /* A7 CPU core voltage */ | ||
250 | compatible = "arm,vexpress-volt"; | ||
251 | arm,vexpress-sysreg,func = <2 1>; | ||
252 | regulator-name = "A7 Vcore"; | ||
253 | regulator-min-microvolt = <800000>; | ||
254 | regulator-max-microvolt = <1050000>; | ||
255 | regulator-always-on; | ||
256 | label = "A7 Vcore"; | ||
257 | }; | ||
258 | |||
259 | amp@0 { | ||
260 | /* Total current for the two A15 cores */ | ||
261 | compatible = "arm,vexpress-amp"; | ||
262 | arm,vexpress-sysreg,func = <3 0>; | ||
263 | label = "A15 Icore"; | ||
264 | }; | ||
265 | |||
266 | amp@1 { | ||
267 | /* Total current for the three A7 cores */ | ||
268 | compatible = "arm,vexpress-amp"; | ||
269 | arm,vexpress-sysreg,func = <3 1>; | ||
270 | label = "A7 Icore"; | ||
271 | }; | ||
272 | |||
273 | temp@0 { | ||
274 | /* DCC internal temperature */ | ||
275 | compatible = "arm,vexpress-temp"; | ||
276 | arm,vexpress-sysreg,func = <4 0>; | ||
277 | label = "DCC"; | ||
278 | }; | ||
279 | |||
280 | power@0 { | ||
281 | /* Total power for the two A15 cores */ | ||
282 | compatible = "arm,vexpress-power"; | ||
283 | arm,vexpress-sysreg,func = <12 0>; | ||
284 | label = "A15 Pcore"; | ||
285 | }; | ||
286 | power@1 { | ||
287 | /* Total power for the three A7 cores */ | ||
288 | compatible = "arm,vexpress-power"; | ||
289 | arm,vexpress-sysreg,func = <12 1>; | ||
290 | label = "A7 Pcore"; | ||
291 | }; | ||
292 | |||
293 | energy@0 { | ||
294 | /* Total energy for the two A15 cores */ | ||
295 | compatible = "arm,vexpress-energy"; | ||
296 | arm,vexpress-sysreg,func = <13 0>; | ||
297 | label = "A15 Jcore"; | ||
298 | }; | ||
299 | |||
300 | energy@2 { | ||
301 | /* Total energy for the three A7 cores */ | ||
302 | compatible = "arm,vexpress-energy"; | ||
303 | arm,vexpress-sysreg,func = <13 2>; | ||
304 | label = "A7 Jcore"; | ||
305 | }; | ||
306 | }; | ||
307 | |||
308 | smb { | ||
309 | compatible = "simple-bus"; | ||
310 | |||
311 | #address-cells = <2>; | ||
312 | #size-cells = <1>; | ||
134 | ranges = <0 0 0 0x08000000 0x04000000>, | 313 | ranges = <0 0 0 0x08000000 0x04000000>, |
135 | <1 0 0 0x14000000 0x04000000>, | 314 | <1 0 0 0x14000000 0x04000000>, |
136 | <2 0 0 0x18000000 0x04000000>, | 315 | <2 0 0 0x18000000 0x04000000>, |
@@ -138,6 +317,7 @@ | |||
138 | <4 0 0 0x0c000000 0x04000000>, | 317 | <4 0 0 0x0c000000 0x04000000>, |
139 | <5 0 0 0x10000000 0x04000000>; | 318 | <5 0 0 0x10000000 0x04000000>; |
140 | 319 | ||
320 | #interrupt-cells = <1>; | ||
141 | interrupt-map-mask = <0 0 63>; | 321 | interrupt-map-mask = <0 0 63>; |
142 | interrupt-map = <0 0 0 &gic 0 0 4>, | 322 | interrupt-map = <0 0 0 &gic 0 0 4>, |
143 | <0 0 1 &gic 0 1 4>, | 323 | <0 0 1 &gic 0 1 4>, |
@@ -182,7 +362,7 @@ | |||
182 | <0 0 40 &gic 0 40 4>, | 362 | <0 0 40 &gic 0 40 4>, |
183 | <0 0 41 &gic 0 41 4>, | 363 | <0 0 41 &gic 0 41 4>, |
184 | <0 0 42 &gic 0 42 4>; | 364 | <0 0 42 &gic 0 42 4>; |
365 | |||
366 | /include/ "vexpress-v2m-rs1.dtsi" | ||
185 | }; | 367 | }; |
186 | }; | 368 | }; |
187 | |||
188 | /include/ "vexpress-v2m-rs1.dtsi" | ||
diff --git a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts index 18917a0f8604..6328cbc71d30 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts | |||
@@ -12,6 +12,7 @@ | |||
12 | / { | 12 | / { |
13 | model = "V2P-CA5s"; | 13 | model = "V2P-CA5s"; |
14 | arm,hbi = <0x225>; | 14 | arm,hbi = <0x225>; |
15 | arm,vexpress,site = <0xf>; | ||
15 | compatible = "arm,vexpress,v2p-ca5s", "arm,vexpress"; | 16 | compatible = "arm,vexpress,v2p-ca5s", "arm,vexpress"; |
16 | interrupt-parent = <&gic>; | 17 | interrupt-parent = <&gic>; |
17 | #address-cells = <1>; | 18 | #address-cells = <1>; |
@@ -56,11 +57,15 @@ | |||
56 | compatible = "arm,hdlcd"; | 57 | compatible = "arm,hdlcd"; |
57 | reg = <0x2a110000 0x1000>; | 58 | reg = <0x2a110000 0x1000>; |
58 | interrupts = <0 85 4>; | 59 | interrupts = <0 85 4>; |
60 | clocks = <&oscclk3>; | ||
61 | clock-names = "pxlclk"; | ||
59 | }; | 62 | }; |
60 | 63 | ||
61 | memory-controller@2a150000 { | 64 | memory-controller@2a150000 { |
62 | compatible = "arm,pl341", "arm,primecell"; | 65 | compatible = "arm,pl341", "arm,primecell"; |
63 | reg = <0x2a150000 0x1000>; | 66 | reg = <0x2a150000 0x1000>; |
67 | clocks = <&oscclk1>; | ||
68 | clock-names = "apb_pclk"; | ||
64 | }; | 69 | }; |
65 | 70 | ||
66 | memory-controller@2a190000 { | 71 | memory-controller@2a190000 { |
@@ -68,6 +73,8 @@ | |||
68 | reg = <0x2a190000 0x1000>; | 73 | reg = <0x2a190000 0x1000>; |
69 | interrupts = <0 86 4>, | 74 | interrupts = <0 86 4>, |
70 | <0 87 4>; | 75 | <0 87 4>; |
76 | clocks = <&oscclk1>; | ||
77 | clock-names = "apb_pclk"; | ||
71 | }; | 78 | }; |
72 | 79 | ||
73 | scu@2c000000 { | 80 | scu@2c000000 { |
@@ -109,7 +116,77 @@ | |||
109 | <0 69 4>; | 116 | <0 69 4>; |
110 | }; | 117 | }; |
111 | 118 | ||
112 | motherboard { | 119 | dcc { |
120 | compatible = "arm,vexpress,config-bus"; | ||
121 | arm,vexpress,config-bridge = <&v2m_sysreg>; | ||
122 | |||
123 | osc@0 { | ||
124 | /* CPU and internal AXI reference clock */ | ||
125 | compatible = "arm,vexpress-osc"; | ||
126 | arm,vexpress-sysreg,func = <1 0>; | ||
127 | freq-range = <50000000 100000000>; | ||
128 | #clock-cells = <0>; | ||
129 | clock-output-names = "oscclk0"; | ||
130 | }; | ||
131 | |||
132 | oscclk1: osc@1 { | ||
133 | /* Multiplexed AXI master clock */ | ||
134 | compatible = "arm,vexpress-osc"; | ||
135 | arm,vexpress-sysreg,func = <1 1>; | ||
136 | freq-range = <5000000 50000000>; | ||
137 | #clock-cells = <0>; | ||
138 | clock-output-names = "oscclk1"; | ||
139 | }; | ||
140 | |||
141 | osc@2 { | ||
142 | /* DDR2 */ | ||
143 | compatible = "arm,vexpress-osc"; | ||
144 | arm,vexpress-sysreg,func = <1 2>; | ||
145 | freq-range = <80000000 120000000>; | ||
146 | #clock-cells = <0>; | ||
147 | clock-output-names = "oscclk2"; | ||
148 | }; | ||
149 | |||
150 | oscclk3: osc@3 { | ||
151 | /* HDLCD */ | ||
152 | compatible = "arm,vexpress-osc"; | ||
153 | arm,vexpress-sysreg,func = <1 3>; | ||
154 | freq-range = <23750000 165000000>; | ||
155 | #clock-cells = <0>; | ||
156 | clock-output-names = "oscclk3"; | ||
157 | }; | ||
158 | |||
159 | osc@4 { | ||
160 | /* Test chip gate configuration */ | ||
161 | compatible = "arm,vexpress-osc"; | ||
162 | arm,vexpress-sysreg,func = <1 4>; | ||
163 | freq-range = <80000000 80000000>; | ||
164 | #clock-cells = <0>; | ||
165 | clock-output-names = "oscclk4"; | ||
166 | }; | ||
167 | |||
168 | smbclk: osc@5 { | ||
169 | /* SMB clock */ | ||
170 | compatible = "arm,vexpress-osc"; | ||
171 | arm,vexpress-sysreg,func = <1 5>; | ||
172 | freq-range = <25000000 60000000>; | ||
173 | #clock-cells = <0>; | ||
174 | clock-output-names = "oscclk5"; | ||
175 | }; | ||
176 | |||
177 | temp@0 { | ||
178 | /* DCC internal operating temperature */ | ||
179 | compatible = "arm,vexpress-temp"; | ||
180 | arm,vexpress-sysreg,func = <4 0>; | ||
181 | label = "DCC"; | ||
182 | }; | ||
183 | }; | ||
184 | |||
185 | smb { | ||
186 | compatible = "simple-bus"; | ||
187 | |||
188 | #address-cells = <2>; | ||
189 | #size-cells = <1>; | ||
113 | ranges = <0 0 0x08000000 0x04000000>, | 190 | ranges = <0 0 0x08000000 0x04000000>, |
114 | <1 0 0x14000000 0x04000000>, | 191 | <1 0 0x14000000 0x04000000>, |
115 | <2 0 0x18000000 0x04000000>, | 192 | <2 0 0x18000000 0x04000000>, |
@@ -117,6 +194,7 @@ | |||
117 | <4 0 0x0c000000 0x04000000>, | 194 | <4 0 0x0c000000 0x04000000>, |
118 | <5 0 0x10000000 0x04000000>; | 195 | <5 0 0x10000000 0x04000000>; |
119 | 196 | ||
197 | #interrupt-cells = <1>; | ||
120 | interrupt-map-mask = <0 0 63>; | 198 | interrupt-map-mask = <0 0 63>; |
121 | interrupt-map = <0 0 0 &gic 0 0 4>, | 199 | interrupt-map = <0 0 0 &gic 0 0 4>, |
122 | <0 0 1 &gic 0 1 4>, | 200 | <0 0 1 &gic 0 1 4>, |
@@ -161,7 +239,7 @@ | |||
161 | <0 0 40 &gic 0 40 4>, | 239 | <0 0 40 &gic 0 40 4>, |
162 | <0 0 41 &gic 0 41 4>, | 240 | <0 0 41 &gic 0 41 4>, |
163 | <0 0 42 &gic 0 42 4>; | 241 | <0 0 42 &gic 0 42 4>; |
242 | |||
243 | /include/ "vexpress-v2m-rs1.dtsi" | ||
164 | }; | 244 | }; |
165 | }; | 245 | }; |
166 | |||
167 | /include/ "vexpress-v2m-rs1.dtsi" | ||
diff --git a/arch/arm/boot/dts/vexpress-v2p-ca9.dts b/arch/arm/boot/dts/vexpress-v2p-ca9.dts index 3f0c736d31d6..1420bb14d95c 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca9.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca9.dts | |||
@@ -12,6 +12,7 @@ | |||
12 | / { | 12 | / { |
13 | model = "V2P-CA9"; | 13 | model = "V2P-CA9"; |
14 | arm,hbi = <0x191>; | 14 | arm,hbi = <0x191>; |
15 | arm,vexpress,site = <0xf>; | ||
15 | compatible = "arm,vexpress,v2p-ca9", "arm,vexpress"; | 16 | compatible = "arm,vexpress,v2p-ca9", "arm,vexpress"; |
16 | interrupt-parent = <&gic>; | 17 | interrupt-parent = <&gic>; |
17 | #address-cells = <1>; | 18 | #address-cells = <1>; |
@@ -70,11 +71,15 @@ | |||
70 | compatible = "arm,pl111", "arm,primecell"; | 71 | compatible = "arm,pl111", "arm,primecell"; |
71 | reg = <0x10020000 0x1000>; | 72 | reg = <0x10020000 0x1000>; |
72 | interrupts = <0 44 4>; | 73 | interrupts = <0 44 4>; |
74 | clocks = <&oscclk1>, <&oscclk2>; | ||
75 | clock-names = "clcdclk", "apb_pclk"; | ||
73 | }; | 76 | }; |
74 | 77 | ||
75 | memory-controller@100e0000 { | 78 | memory-controller@100e0000 { |
76 | compatible = "arm,pl341", "arm,primecell"; | 79 | compatible = "arm,pl341", "arm,primecell"; |
77 | reg = <0x100e0000 0x1000>; | 80 | reg = <0x100e0000 0x1000>; |
81 | clocks = <&oscclk2>; | ||
82 | clock-names = "apb_pclk"; | ||
78 | }; | 83 | }; |
79 | 84 | ||
80 | memory-controller@100e1000 { | 85 | memory-controller@100e1000 { |
@@ -82,6 +87,8 @@ | |||
82 | reg = <0x100e1000 0x1000>; | 87 | reg = <0x100e1000 0x1000>; |
83 | interrupts = <0 45 4>, | 88 | interrupts = <0 45 4>, |
84 | <0 46 4>; | 89 | <0 46 4>; |
90 | clocks = <&oscclk2>; | ||
91 | clock-names = "apb_pclk"; | ||
85 | }; | 92 | }; |
86 | 93 | ||
87 | timer@100e4000 { | 94 | timer@100e4000 { |
@@ -89,12 +96,16 @@ | |||
89 | reg = <0x100e4000 0x1000>; | 96 | reg = <0x100e4000 0x1000>; |
90 | interrupts = <0 48 4>, | 97 | interrupts = <0 48 4>, |
91 | <0 49 4>; | 98 | <0 49 4>; |
99 | clocks = <&oscclk2>, <&oscclk2>; | ||
100 | clock-names = "timclk", "apb_pclk"; | ||
92 | }; | 101 | }; |
93 | 102 | ||
94 | watchdog@100e5000 { | 103 | watchdog@100e5000 { |
95 | compatible = "arm,sp805", "arm,primecell"; | 104 | compatible = "arm,sp805", "arm,primecell"; |
96 | reg = <0x100e5000 0x1000>; | 105 | reg = <0x100e5000 0x1000>; |
97 | interrupts = <0 51 4>; | 106 | interrupts = <0 51 4>; |
107 | clocks = <&oscclk2>, <&oscclk2>; | ||
108 | clock-names = "wdogclk", "apb_pclk"; | ||
98 | }; | 109 | }; |
99 | 110 | ||
100 | scu@1e000000 { | 111 | scu@1e000000 { |
@@ -140,13 +151,132 @@ | |||
140 | <0 63 4>; | 151 | <0 63 4>; |
141 | }; | 152 | }; |
142 | 153 | ||
143 | motherboard { | 154 | dcc { |
155 | compatible = "arm,vexpress,config-bus"; | ||
156 | arm,vexpress,config-bridge = <&v2m_sysreg>; | ||
157 | |||
158 | osc@0 { | ||
159 | /* ACLK clock to the AXI master port on the test chip */ | ||
160 | compatible = "arm,vexpress-osc"; | ||
161 | arm,vexpress-sysreg,func = <1 0>; | ||
162 | freq-range = <30000000 50000000>; | ||
163 | #clock-cells = <0>; | ||
164 | clock-output-names = "extsaxiclk"; | ||
165 | }; | ||
166 | |||
167 | oscclk1: osc@1 { | ||
168 | /* Reference clock for the CLCD */ | ||
169 | compatible = "arm,vexpress-osc"; | ||
170 | arm,vexpress-sysreg,func = <1 1>; | ||
171 | freq-range = <10000000 80000000>; | ||
172 | #clock-cells = <0>; | ||
173 | clock-output-names = "clcdclk"; | ||
174 | }; | ||
175 | |||
176 | smbclk: oscclk2: osc@2 { | ||
177 | /* Reference clock for the test chip internal PLLs */ | ||
178 | compatible = "arm,vexpress-osc"; | ||
179 | arm,vexpress-sysreg,func = <1 2>; | ||
180 | freq-range = <33000000 100000000>; | ||
181 | #clock-cells = <0>; | ||
182 | clock-output-names = "tcrefclk"; | ||
183 | }; | ||
184 | |||
185 | volt@0 { | ||
186 | /* Test Chip internal logic voltage */ | ||
187 | compatible = "arm,vexpress-volt"; | ||
188 | arm,vexpress-sysreg,func = <2 0>; | ||
189 | regulator-name = "VD10"; | ||
190 | regulator-always-on; | ||
191 | label = "VD10"; | ||
192 | }; | ||
193 | |||
194 | volt@1 { | ||
195 | /* PL310, L2 cache, RAM cell supply (not PL310 logic) */ | ||
196 | compatible = "arm,vexpress-volt"; | ||
197 | arm,vexpress-sysreg,func = <2 1>; | ||
198 | regulator-name = "VD10_S2"; | ||
199 | regulator-always-on; | ||
200 | label = "VD10_S2"; | ||
201 | }; | ||
202 | |||
203 | volt@2 { | ||
204 | /* Cortex-A9 system supply, Cores, MPEs, SCU and PL310 logic */ | ||
205 | compatible = "arm,vexpress-volt"; | ||
206 | arm,vexpress-sysreg,func = <2 2>; | ||
207 | regulator-name = "VD10_S3"; | ||
208 | regulator-always-on; | ||
209 | label = "VD10_S3"; | ||
210 | }; | ||
211 | |||
212 | volt@3 { | ||
213 | /* DDR2 SDRAM and Test Chip DDR2 I/O supply */ | ||
214 | compatible = "arm,vexpress-volt"; | ||
215 | arm,vexpress-sysreg,func = <2 3>; | ||
216 | regulator-name = "VCC1V8"; | ||
217 | regulator-always-on; | ||
218 | label = "VCC1V8"; | ||
219 | }; | ||
220 | |||
221 | volt@4 { | ||
222 | /* DDR2 SDRAM VTT termination voltage */ | ||
223 | compatible = "arm,vexpress-volt"; | ||
224 | arm,vexpress-sysreg,func = <2 4>; | ||
225 | regulator-name = "DDR2VTT"; | ||
226 | regulator-always-on; | ||
227 | label = "DDR2VTT"; | ||
228 | }; | ||
229 | |||
230 | volt@5 { | ||
231 | /* Local board supply for miscellaneous logic external to the Test Chip */ | ||
232 | arm,vexpress-sysreg,func = <2 5>; | ||
233 | compatible = "arm,vexpress-volt"; | ||
234 | regulator-name = "VCC3V3"; | ||
235 | regulator-always-on; | ||
236 | label = "VCC3V3"; | ||
237 | }; | ||
238 | |||
239 | amp@0 { | ||
240 | /* PL310, L2 cache, RAM cell supply (not PL310 logic) */ | ||
241 | compatible = "arm,vexpress-amp"; | ||
242 | arm,vexpress-sysreg,func = <3 0>; | ||
243 | label = "VD10_S2"; | ||
244 | }; | ||
245 | |||
246 | amp@1 { | ||
247 | /* Cortex-A9 system supply, Cores, MPEs, SCU and PL310 logic */ | ||
248 | compatible = "arm,vexpress-amp"; | ||
249 | arm,vexpress-sysreg,func = <3 1>; | ||
250 | label = "VD10_S3"; | ||
251 | }; | ||
252 | |||
253 | power@0 { | ||
254 | /* PL310, L2 cache, RAM cell supply (not PL310 logic) */ | ||
255 | compatible = "arm,vexpress-power"; | ||
256 | arm,vexpress-sysreg,func = <12 0>; | ||
257 | label = "PVD10_S2"; | ||
258 | }; | ||
259 | |||
260 | power@1 { | ||
261 | /* Cortex-A9 system supply, Cores, MPEs, SCU and PL310 logic */ | ||
262 | compatible = "arm,vexpress-power"; | ||
263 | arm,vexpress-sysreg,func = <12 1>; | ||
264 | label = "PVD10_S3"; | ||
265 | }; | ||
266 | }; | ||
267 | |||
268 | smb { | ||
269 | compatible = "simple-bus"; | ||
270 | |||
271 | #address-cells = <2>; | ||
272 | #size-cells = <1>; | ||
144 | ranges = <0 0 0x40000000 0x04000000>, | 273 | ranges = <0 0 0x40000000 0x04000000>, |
145 | <1 0 0x44000000 0x04000000>, | 274 | <1 0 0x44000000 0x04000000>, |
146 | <2 0 0x48000000 0x04000000>, | 275 | <2 0 0x48000000 0x04000000>, |
147 | <3 0 0x4c000000 0x04000000>, | 276 | <3 0 0x4c000000 0x04000000>, |
148 | <7 0 0x10000000 0x00020000>; | 277 | <7 0 0x10000000 0x00020000>; |
149 | 278 | ||
279 | #interrupt-cells = <1>; | ||
150 | interrupt-map-mask = <0 0 63>; | 280 | interrupt-map-mask = <0 0 63>; |
151 | interrupt-map = <0 0 0 &gic 0 0 4>, | 281 | interrupt-map = <0 0 0 &gic 0 0 4>, |
152 | <0 0 1 &gic 0 1 4>, | 282 | <0 0 1 &gic 0 1 4>, |
@@ -191,7 +321,7 @@ | |||
191 | <0 0 40 &gic 0 40 4>, | 321 | <0 0 40 &gic 0 40 4>, |
192 | <0 0 41 &gic 0 41 4>, | 322 | <0 0 41 &gic 0 41 4>, |
193 | <0 0 42 &gic 0 42 4>; | 323 | <0 0 42 &gic 0 42 4>; |
324 | |||
325 | /include/ "vexpress-v2m.dtsi" | ||
194 | }; | 326 | }; |
195 | }; | 327 | }; |
196 | |||
197 | /include/ "vexpress-v2m.dtsi" | ||
diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi new file mode 100644 index 000000000000..401c1262d4ed --- /dev/null +++ b/arch/arm/boot/dts/zynq-7000.dtsi | |||
@@ -0,0 +1,166 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Xilinx | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | /include/ "skeleton.dtsi" | ||
14 | |||
15 | / { | ||
16 | compatible = "xlnx,zynq-7000"; | ||
17 | |||
18 | amba { | ||
19 | compatible = "simple-bus"; | ||
20 | #address-cells = <1>; | ||
21 | #size-cells = <1>; | ||
22 | interrupt-parent = <&intc>; | ||
23 | ranges; | ||
24 | |||
25 | intc: interrupt-controller@f8f01000 { | ||
26 | compatible = "arm,cortex-a9-gic"; | ||
27 | #interrupt-cells = <3>; | ||
28 | #address-cells = <1>; | ||
29 | interrupt-controller; | ||
30 | reg = <0xF8F01000 0x1000>, | ||
31 | <0xF8F00100 0x100>; | ||
32 | }; | ||
33 | |||
34 | L2: cache-controller { | ||
35 | compatible = "arm,pl310-cache"; | ||
36 | reg = <0xF8F02000 0x1000>; | ||
37 | arm,data-latency = <2 3 2>; | ||
38 | arm,tag-latency = <2 3 2>; | ||
39 | cache-unified; | ||
40 | cache-level = <2>; | ||
41 | }; | ||
42 | |||
43 | uart0: uart@e0000000 { | ||
44 | compatible = "xlnx,xuartps"; | ||
45 | reg = <0xE0000000 0x1000>; | ||
46 | interrupts = <0 27 4>; | ||
47 | clock = <50000000>; | ||
48 | }; | ||
49 | |||
50 | uart1: uart@e0001000 { | ||
51 | compatible = "xlnx,xuartps"; | ||
52 | reg = <0xE0001000 0x1000>; | ||
53 | interrupts = <0 50 4>; | ||
54 | clock = <50000000>; | ||
55 | }; | ||
56 | |||
57 | slcr: slcr@f8000000 { | ||
58 | compatible = "xlnx,zynq-slcr"; | ||
59 | reg = <0xF8000000 0x1000>; | ||
60 | |||
61 | clocks { | ||
62 | #address-cells = <1>; | ||
63 | #size-cells = <0>; | ||
64 | |||
65 | ps_clk: ps_clk { | ||
66 | #clock-cells = <0>; | ||
67 | compatible = "fixed-clock"; | ||
68 | /* clock-frequency set in board-specific file */ | ||
69 | clock-output-names = "ps_clk"; | ||
70 | }; | ||
71 | armpll: armpll { | ||
72 | #clock-cells = <0>; | ||
73 | compatible = "xlnx,zynq-pll"; | ||
74 | clocks = <&ps_clk>; | ||
75 | reg = <0x100 0x110>; | ||
76 | clock-output-names = "armpll"; | ||
77 | }; | ||
78 | ddrpll: ddrpll { | ||
79 | #clock-cells = <0>; | ||
80 | compatible = "xlnx,zynq-pll"; | ||
81 | clocks = <&ps_clk>; | ||
82 | reg = <0x104 0x114>; | ||
83 | clock-output-names = "ddrpll"; | ||
84 | }; | ||
85 | iopll: iopll { | ||
86 | #clock-cells = <0>; | ||
87 | compatible = "xlnx,zynq-pll"; | ||
88 | clocks = <&ps_clk>; | ||
89 | reg = <0x108 0x118>; | ||
90 | clock-output-names = "iopll"; | ||
91 | }; | ||
92 | uart_clk: uart_clk { | ||
93 | #clock-cells = <1>; | ||
94 | compatible = "xlnx,zynq-periph-clock"; | ||
95 | clocks = <&iopll &armpll &ddrpll>; | ||
96 | reg = <0x154>; | ||
97 | clock-output-names = "uart0_ref_clk", | ||
98 | "uart1_ref_clk"; | ||
99 | }; | ||
100 | cpu_clk: cpu_clk { | ||
101 | #clock-cells = <1>; | ||
102 | compatible = "xlnx,zynq-cpu-clock"; | ||
103 | clocks = <&iopll &armpll &ddrpll>; | ||
104 | reg = <0x120 0x1C4>; | ||
105 | clock-output-names = "cpu_6x4x", | ||
106 | "cpu_3x2x", | ||
107 | "cpu_2x", | ||
108 | "cpu_1x"; | ||
109 | }; | ||
110 | }; | ||
111 | }; | ||
112 | |||
113 | ttc0: ttc0@f8001000 { | ||
114 | #address-cells = <1>; | ||
115 | #size-cells = <0>; | ||
116 | compatible = "xlnx,ttc"; | ||
117 | reg = <0xF8001000 0x1000>; | ||
118 | clocks = <&cpu_clk 3>; | ||
119 | clock-names = "cpu_1x"; | ||
120 | clock-ranges; | ||
121 | |||
122 | ttc0_0: ttc0.0 { | ||
123 | status = "disabled"; | ||
124 | reg = <0>; | ||
125 | interrupts = <0 10 4>; | ||
126 | }; | ||
127 | ttc0_1: ttc0.1 { | ||
128 | status = "disabled"; | ||
129 | reg = <1>; | ||
130 | interrupts = <0 11 4>; | ||
131 | }; | ||
132 | ttc0_2: ttc0.2 { | ||
133 | status = "disabled"; | ||
134 | reg = <2>; | ||
135 | interrupts = <0 12 4>; | ||
136 | }; | ||
137 | }; | ||
138 | |||
139 | ttc1: ttc1@f8002000 { | ||
140 | #interrupt-parent = <&intc>; | ||
141 | #address-cells = <1>; | ||
142 | #size-cells = <0>; | ||
143 | compatible = "xlnx,ttc"; | ||
144 | reg = <0xF8002000 0x1000>; | ||
145 | clocks = <&cpu_clk 3>; | ||
146 | clock-names = "cpu_1x"; | ||
147 | clock-ranges; | ||
148 | |||
149 | ttc1_0: ttc1.0 { | ||
150 | status = "disabled"; | ||
151 | reg = <0>; | ||
152 | interrupts = <0 37 4>; | ||
153 | }; | ||
154 | ttc1_1: ttc1.1 { | ||
155 | status = "disabled"; | ||
156 | reg = <1>; | ||
157 | interrupts = <0 38 4>; | ||
158 | }; | ||
159 | ttc1_2: ttc1.2 { | ||
160 | status = "disabled"; | ||
161 | reg = <2>; | ||
162 | interrupts = <0 39 4>; | ||
163 | }; | ||
164 | }; | ||
165 | }; | ||
166 | }; | ||
diff --git a/arch/arm/boot/dts/zynq-ep107.dts b/arch/arm/boot/dts/zynq-ep107.dts deleted file mode 100644 index 37ca192fb193..000000000000 --- a/arch/arm/boot/dts/zynq-ep107.dts +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Xilinx | ||
3 | * | ||
4 | * This software is licensed under the terms of the GNU General Public | ||
5 | * License version 2, as published by the Free Software Foundation, and | ||
6 | * may be copied, distributed, and modified under those terms. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, | ||
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | / { | ||
16 | model = "Xilinx Zynq EP107"; | ||
17 | compatible = "xlnx,zynq-ep107"; | ||
18 | #address-cells = <1>; | ||
19 | #size-cells = <1>; | ||
20 | interrupt-parent = <&intc>; | ||
21 | |||
22 | memory { | ||
23 | device_type = "memory"; | ||
24 | reg = <0x0 0x10000000>; | ||
25 | }; | ||
26 | |||
27 | chosen { | ||
28 | bootargs = "console=ttyPS0,9600 root=/dev/ram rw initrd=0x800000,8M earlyprintk"; | ||
29 | linux,stdout-path = &uart0; | ||
30 | }; | ||
31 | |||
32 | amba { | ||
33 | compatible = "simple-bus"; | ||
34 | #address-cells = <1>; | ||
35 | #size-cells = <1>; | ||
36 | ranges; | ||
37 | |||
38 | intc: interrupt-controller@f8f01000 { | ||
39 | interrupt-controller; | ||
40 | compatible = "arm,gic"; | ||
41 | reg = <0xF8F01000 0x1000>; | ||
42 | #interrupt-cells = <2>; | ||
43 | }; | ||
44 | |||
45 | uart0: uart@e0000000 { | ||
46 | compatible = "xlnx,xuartps"; | ||
47 | reg = <0xE0000000 0x1000>; | ||
48 | interrupts = <59 0>; | ||
49 | clock = <50000000>; | ||
50 | }; | ||
51 | }; | ||
52 | }; | ||
diff --git a/arch/arm/boot/dts/zynq-zc702.dts b/arch/arm/boot/dts/zynq-zc702.dts new file mode 100644 index 000000000000..c772942a399a --- /dev/null +++ b/arch/arm/boot/dts/zynq-zc702.dts | |||
@@ -0,0 +1,44 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Xilinx | ||
3 | * Copyright (C) 2012 National Instruments Corp. | ||
4 | * | ||
5 | * This software is licensed under the terms of the GNU General Public | ||
6 | * License version 2, as published by the Free Software Foundation, and | ||
7 | * may be copied, distributed, and modified under those terms. | ||
8 | * | ||
9 | * This program is distributed in the hope that it will be useful, | ||
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | * GNU General Public License for more details. | ||
13 | */ | ||
14 | /dts-v1/; | ||
15 | /include/ "zynq-7000.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "Zynq ZC702 Development Board"; | ||
19 | compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000"; | ||
20 | |||
21 | memory { | ||
22 | device_type = "memory"; | ||
23 | reg = <0x0 0x40000000>; | ||
24 | }; | ||
25 | |||
26 | chosen { | ||
27 | bootargs = "console=ttyPS1,115200 earlyprintk"; | ||
28 | }; | ||
29 | |||
30 | }; | ||
31 | |||
32 | &ps_clk { | ||
33 | clock-frequency = <33333330>; | ||
34 | }; | ||
35 | |||
36 | &ttc0_0 { | ||
37 | status = "ok"; | ||
38 | compatible = "xlnx,ttc-counter-clocksource"; | ||
39 | }; | ||
40 | |||
41 | &ttc0_1 { | ||
42 | status = "ok"; | ||
43 | compatible = "xlnx,ttc-counter-clockevent"; | ||
44 | }; | ||