Linux Audio

Check our new training course

Yocto / OpenEmbedded training

Feb 10-13, 2025
Register
Loading...
Note: File does not exist in v6.13.7.
  1/*
  2 * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board
  3 *
  4 *  Copyright (C) 2014  Alexandre Belloni <alexandre.belloni@free-electrons.com>
  5 *
  6 * Licensed under GPLv2 only
  7 */
  8/dts-v1/;
  9#include "at91sam9rl.dtsi"
 10
 11/ {
 12	model = "Atmel at91sam9rlek";
 13	compatible = "atmel,at91sam9rlek", "atmel,at91sam9rl", "atmel,at91sam9";
 14
 15	chosen {
 16		bootargs = "rootfstype=ubifs root=ubi0:rootfs ubi.mtd=5 rw";
 17		stdout-path = "serial0:115200n8";
 18	};
 19
 20	memory {
 21		reg = <0x20000000 0x4000000>;
 22	};
 23
 24	clocks {
 25		slow_xtal {
 26			clock-frequency = <32768>;
 27		};
 28
 29		main_xtal {
 30			clock-frequency = <12000000>;
 31		};
 32	};
 33
 34	ahb {
 35		fb0: fb@00500000 {
 36			display = <&display0>;
 37			status = "okay";
 38
 39			display0: display {
 40				bits-per-pixel = <16>;
 41				atmel,lcdcon-backlight;
 42				atmel,dmacon = <0x1>;
 43				atmel,lcdcon2 = <0x80008002>;
 44				atmel,guard-time = <1>;
 45				atmel,lcd-wiring-mode = "RGB";
 46
 47				display-timings {
 48					native-mode = <&timing0>;
 49					timing0: timing0 {
 50						clock-frequency = <4965000>;
 51						hactive = <240>;
 52						vactive = <320>;
 53						hback-porch = <1>;
 54						hfront-porch = <33>;
 55						vback-porch = <1>;
 56						vfront-porch = <0>;
 57						hsync-len = <5>;
 58						vsync-len = <1>;
 59						hsync-active = <1>;
 60						vsync-active = <1>;
 61					};
 62				};
 63			};
 64		};
 65
 66		nand0: nand@40000000 {
 67			nand-bus-width = <8>;
 68			nand-ecc-mode = "soft";
 69			nand-on-flash-bbt = <1>;
 70			status = "okay";
 71
 72			at91bootstrap@0 {
 73				label = "at91bootstrap";
 74				reg = <0x0 0x40000>;
 75			};
 76
 77			bootloader@40000 {
 78				label = "bootloader";
 79				reg = <0x40000 0x80000>;
 80			};
 81
 82			bootloaderenv@c0000 {
 83				label = "bootloader env";
 84				reg = <0xc0000 0xc0000>;
 85			};
 86
 87			dtb@180000 {
 88				label = "device tree";
 89				reg = <0x180000 0x80000>;
 90			};
 91
 92			kernel@200000 {
 93				label = "kernel";
 94				reg = <0x200000 0x600000>;
 95			};
 96
 97			rootfs@800000 {
 98				label = "rootfs";
 99				reg = <0x800000 0x0f800000>;
100			};
101		};
102
103		apb {
104			mmc0: mmc@fffa4000 {
105				pinctrl-0 = <
106					&pinctrl_board_mmc0
107					&pinctrl_mmc0_clk
108					&pinctrl_mmc0_slot0_cmd_dat0
109					&pinctrl_mmc0_slot0_dat1_3>;
110				status = "okay";
111				slot@0 {
112					reg = <0>;
113					bus-width = <4>;
114					cd-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
115				};
116			};
117
118			usart0: serial@fffb0000 {
119				pinctrl-0 = <
120					&pinctrl_usart0
121					&pinctrl_usart0_rts
122					&pinctrl_usart0_cts>;
123				status = "okay";
124			};
125
126			adc0: adc@fffd0000 {
127				pinctrl-names = "default";
128				pinctrl-0 = <
129					&pinctrl_adc0_ad0
130					&pinctrl_adc0_ad1
131					&pinctrl_adc0_ad2
132					&pinctrl_adc0_ad3
133					&pinctrl_adc0_ad4
134					&pinctrl_adc0_ad5
135					&pinctrl_adc0_adtrg>;
136				atmel,adc-ts-wires = <4>;
137				status = "okay";
138			};
139
140			usb0: gadget@fffd4000 {
141				atmel,vbus-gpio = <&pioA 8 GPIO_ACTIVE_HIGH>;
142				status = "okay";
143			};
144
145			spi0: spi@fffcc000 {
146				status = "okay";
147				cs-gpios = <&pioA 28 0>, <0>, <0>, <0>;
148				mtd_dataflash@0 {
149					compatible = "atmel,at45", "atmel,dataflash";
150					spi-max-frequency = <15000000>;
151					reg = <0>;
152				};
153			};
154
155			pwm0: pwm@fffc8000 {
156				status = "okay";
157
158				pinctrl-names = "default";
159				pinctrl-0 = <&pinctrl_pwm0_pwm1_2>,
160					<&pinctrl_pwm0_pwm2_2>;
161			};
162
163			dbgu: serial@fffff200 {
164				status = "okay";
165			};
166
167			pinctrl@fffff400 {
168				mmc0 {
169					pinctrl_board_mmc0: mmc0-board {
170						atmel,pins =
171							<AT91_PIOA 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
172					};
173				};
174			};
175
176			watchdog@fffffd40 {
177				status = "okay";
178			};
179
180			rtc@fffffe00 {
181				status = "okay";
182			};
183		};
184	};
185
186	pwmleds {
187		compatible = "pwm-leds";
188
189		ds1 {
190			label = "ds1";
191			pwms = <&pwm0 1 5000 PWM_POLARITY_INVERTED>;
192			max-brightness = <255>;
193		};
194
195		ds2 {
196			label = "ds2";
197			pwms = <&pwm0 2 5000 PWM_POLARITY_INVERTED>;
198			max-brightness = <255>;
199		};
200	};
201
202	leds {
203		compatible = "gpio-leds";
204
205		ds3 {
206			label = "ds3";
207			gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
208			linux,default-trigger = "heartbeat";
209		};
210	};
211
212	gpio_keys {
213		compatible = "gpio-keys";
214
215		right_click {
216			label = "right_click";
217			gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
218			linux,code = <273>;
219			wakeup-source;
220		};
221
222		left_click {
223			label = "left_click";
224			gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
225			linux,code = <272>;
226			wakeup-source;
227		};
228	};
229
230	i2c@0 {
231		status = "okay";
232	};
233
234	i2c@1 {
235		status = "okay";
236	};
237};