diff options
author | Jean-Jacques Hiblot <jjhiblot@traphandler.com> | 2014-03-03 05:05:59 -0500 |
---|---|---|
committer | Nicolas Ferre <nicolas.ferre@atmel.com> | 2014-03-12 09:36:14 -0400 |
commit | 109364af151b699f8bcfbdfab3399985f852f3df (patch) | |
tree | b73d813dbc5229a60367ae29cb3df741eb54de5e /arch/arm/boot/dts | |
parent | 2f5c1ac72abc824df36a3b460dcc057ef398162e (diff) |
ARM: at91: dt: sam9261: Device Tree support for the at91sam9261ek
This patch implements a DTS to boot a at91sam9261ek with a dt-enabled
kernel (at91_dt_defconfig).
supported features are:
* dbgu
* lcdc
* usb host
* usb gadget,
* spi dataflash
* nand flash
* touchscreen
* leds
* user buttons
In the TODO list:
* dm9000 (ethernet)
* audio
* mmc
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@traphandler.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch/arm/boot/dts')
-rw-r--r-- | arch/arm/boot/dts/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/at91sam9261ek.dts | 211 |
2 files changed, 213 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index ce58477cfa33..c8aea260bd05 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -12,6 +12,8 @@ dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb | |||
12 | dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb | 12 | dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb |
13 | dtb-$(CONFIG_ARCH_AT91) += tny_a9260.dtb | 13 | dtb-$(CONFIG_ARCH_AT91) += tny_a9260.dtb |
14 | dtb-$(CONFIG_ARCH_AT91) += usb_a9260.dtb | 14 | dtb-$(CONFIG_ARCH_AT91) += usb_a9260.dtb |
15 | # sam9261 | ||
16 | dtb-$(CONFIG_ARCH_AT91) += at91sam9261ek.dtb | ||
15 | # sam9263 | 17 | # sam9263 |
16 | dtb-$(CONFIG_ARCH_AT91) += at91sam9263ek.dtb | 18 | dtb-$(CONFIG_ARCH_AT91) += at91sam9263ek.dtb |
17 | dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb | 19 | dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb |
diff --git a/arch/arm/boot/dts/at91sam9261ek.dts b/arch/arm/boot/dts/at91sam9261ek.dts new file mode 100644 index 000000000000..2ce527e70c7a --- /dev/null +++ b/arch/arm/boot/dts/at91sam9261ek.dts | |||
@@ -0,0 +1,211 @@ | |||
1 | /* | ||
2 | * at91sam9261ek.dts - Device Tree file for Atmel at91sam9261 reference board | ||
3 | * | ||
4 | * Copyright (C) 2013 Jean-Jacques Hiblot <jjhiblot@traphandler.com> | ||
5 | * | ||
6 | * Licensed under GPLv2 only. | ||
7 | */ | ||
8 | /dts-v1/; | ||
9 | #include "at91sam9261.dtsi" | ||
10 | |||
11 | / { | ||
12 | model = "Atmel at91sam9261ek"; | ||
13 | compatible = "atmel,at91sam9261ek", "atmel,at91sam9261", "atmel,at91sam9"; | ||
14 | |||
15 | chosen { | ||
16 | bootargs = "console=ttyS0,115200 rootfstype=ubifs ubi.mtd=5 root=ubi0:rootfs rw"; | ||
17 | }; | ||
18 | |||
19 | memory { | ||
20 | reg = <0x20000000 0x4000000>; | ||
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 = <18432000>; | ||
31 | }; | ||
32 | }; | ||
33 | |||
34 | ahb { | ||
35 | usb0: ohci@00500000 { | ||
36 | status = "okay"; | ||
37 | }; | ||
38 | |||
39 | fb0: fb@0x00600000 { | ||
40 | display = <&display0>; | ||
41 | atmel,power-control-gpio = <&pioA 12 GPIO_ACTIVE_LOW>; | ||
42 | status = "okay"; | ||
43 | |||
44 | display0: display { | ||
45 | bits-per-pixel = <16>; | ||
46 | atmel,lcdcon-backlight; | ||
47 | atmel,dmacon = <0x1>; | ||
48 | atmel,lcdcon2 = <0x80008002>; | ||
49 | atmel,guard-time = <1>; | ||
50 | atmel,lcd-wiring-mode = "BRG"; | ||
51 | |||
52 | display-timings { | ||
53 | native-mode = <&timing0>; | ||
54 | timing0: timing0 { | ||
55 | clock-frequency = <4965000>; | ||
56 | hactive = <240>; | ||
57 | vactive = <320>; | ||
58 | hback-porch = <1>; | ||
59 | hfront-porch = <33>; | ||
60 | vback-porch = <1>; | ||
61 | vfront-porch = <0>; | ||
62 | hsync-len = <5>; | ||
63 | vsync-len = <1>; | ||
64 | hsync-active = <1>; | ||
65 | vsync-active = <1>; | ||
66 | }; | ||
67 | }; | ||
68 | }; | ||
69 | }; | ||
70 | |||
71 | nand0: nand@40000000 { | ||
72 | nand-bus-width = <8>; | ||
73 | nand-ecc-mode = "soft"; | ||
74 | nand-on-flash-bbt; | ||
75 | status = "okay"; | ||
76 | |||
77 | at91bootstrap@0 { | ||
78 | label = "at91bootstrap"; | ||
79 | reg = <0x0 0x40000>; | ||
80 | }; | ||
81 | |||
82 | bootloader@40000 { | ||
83 | label = "bootloader"; | ||
84 | reg = <0x40000 0x80000>; | ||
85 | }; | ||
86 | |||
87 | bootloaderenv@c0000 { | ||
88 | label = "bootloader env"; | ||
89 | reg = <0xc0000 0xc0000>; | ||
90 | }; | ||
91 | |||
92 | dtb@180000 { | ||
93 | label = "device tree"; | ||
94 | reg = <0x180000 0x80000>; | ||
95 | }; | ||
96 | |||
97 | kernel@200000 { | ||
98 | label = "kernel"; | ||
99 | reg = <0x200000 0x600000>; | ||
100 | }; | ||
101 | |||
102 | rootfs@800000 { | ||
103 | label = "rootfs"; | ||
104 | reg = <0x800000 0x0f800000>; | ||
105 | }; | ||
106 | }; | ||
107 | |||
108 | apb { | ||
109 | usb1: gadget@fffa4000 { | ||
110 | atmel,vbus-gpio = <&pioB 29 GPIO_ACTIVE_HIGH>; | ||
111 | status = "okay"; | ||
112 | }; | ||
113 | |||
114 | spi0: spi@fffc8000 { | ||
115 | cs-gpios = <&pioA 3 0>, <0>, <&pioA 28 0>, <0>; | ||
116 | status = "okay"; | ||
117 | |||
118 | mtd_dataflash@0 { | ||
119 | compatible = "atmel,at45", "atmel,dataflash"; | ||
120 | reg = <0>; | ||
121 | spi-max-frequency = <15000000>; | ||
122 | }; | ||
123 | |||
124 | tsc2046@0 { | ||
125 | reg = <2>; | ||
126 | compatible = "ti,ads7843"; | ||
127 | interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>; | ||
128 | spi-max-frequency = <3000000>; | ||
129 | pendown-gpio = <&pioC 2 GPIO_ACTIVE_HIGH>; | ||
130 | |||
131 | ti,x-min = /bits/ 16 <150>; | ||
132 | ti,x-max = /bits/ 16 <3830>; | ||
133 | ti,y-min = /bits/ 16 <190>; | ||
134 | ti,y-max = /bits/ 16 <3830>; | ||
135 | ti,vref-delay-usecs = /bits/ 16 <450>; | ||
136 | ti,x-plate-ohms = /bits/ 16 <450>; | ||
137 | ti,y-plate-ohms = /bits/ 16 <250>; | ||
138 | ti,pressure-max = /bits/ 16 <15000>; | ||
139 | ti,debounce-rep = /bits/ 16 <0>; | ||
140 | ti,debounce-tol = /bits/ 16 <65535>; | ||
141 | ti,debounce-max = /bits/ 16 <1>; | ||
142 | |||
143 | linux,wakeup; | ||
144 | }; | ||
145 | }; | ||
146 | |||
147 | dbgu: serial@fffff200 { | ||
148 | status = "okay"; | ||
149 | }; | ||
150 | |||
151 | watchdog@fffffd40 { | ||
152 | status = "okay"; | ||
153 | }; | ||
154 | |||
155 | }; | ||
156 | }; | ||
157 | |||
158 | leds { | ||
159 | compatible = "gpio-leds"; | ||
160 | |||
161 | ds8 { | ||
162 | label = "ds8"; | ||
163 | gpios = <&pioA 13 GPIO_ACTIVE_LOW>; | ||
164 | linux,default-trigger = "none"; | ||
165 | }; | ||
166 | |||
167 | ds7 { | ||
168 | label = "ds7"; | ||
169 | gpios = <&pioA 14 GPIO_ACTIVE_LOW>; | ||
170 | linux,default-trigger = "nand-disk"; | ||
171 | }; | ||
172 | |||
173 | ds1 { | ||
174 | label = "ds1"; | ||
175 | gpios = <&pioA 23 GPIO_ACTIVE_LOW>; | ||
176 | linux,default-trigger = "heartbeat"; | ||
177 | }; | ||
178 | }; | ||
179 | |||
180 | gpio_keys { | ||
181 | compatible = "gpio-keys"; | ||
182 | |||
183 | button_0 { | ||
184 | label = "button_0"; | ||
185 | gpios = <&pioA 27 GPIO_ACTIVE_LOW>; | ||
186 | linux,code = <256>; | ||
187 | gpio-key,wakeup; | ||
188 | }; | ||
189 | |||
190 | button_1 { | ||
191 | label = "button_1"; | ||
192 | gpios = <&pioA 26 GPIO_ACTIVE_LOW>; | ||
193 | linux,code = <257>; | ||
194 | gpio-key,wakeup; | ||
195 | }; | ||
196 | |||
197 | button_2 { | ||
198 | label = "button_2"; | ||
199 | gpios = <&pioA 25 GPIO_ACTIVE_LOW>; | ||
200 | linux,code = <258>; | ||
201 | gpio-key,wakeup; | ||
202 | }; | ||
203 | |||
204 | button_3 { | ||
205 | label = "button_3"; | ||
206 | gpios = <&pioA 24 GPIO_ACTIVE_LOW>; | ||
207 | linux,code = <259>; | ||
208 | gpio-key,wakeup; | ||
209 | }; | ||
210 | }; | ||
211 | }; | ||