Home | History | Annotate | Line # | Download | only in dts
      1 // SPDX-License-Identifier: GPL-2.0-only
      2 /*
      3  * at91sam9rlek.dts - Device Tree file for Atmel at91sam9rl reference board
      4  *
      5  *  Copyright (C) 2014 Microchip
      6  *  Alexandre Belloni <alexandre.belloni (a] free-electrons.com>
      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@20000000 {
     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@500000 {
     36 			display = <&display0>;
     37 			status = "okay";
     38 
     39 			display0: panel {
     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 		ebi: ebi@10000000 {
     67 			pinctrl-0 = <&pinctrl_ebi_addr_nand>;
     68 			pinctrl-names = "default";
     69 			status = "okay";
     70 
     71 			nand_controller: nand-controller {
     72 				status = "okay";
     73 				pinctrl-0 = <&pinctrl_nand_oe_we
     74 					     &pinctrl_nand_cs
     75 					     &pinctrl_nand_rb>;
     76 				pinctrl-names = "default";
     77 
     78 				nand@3 {
     79 					reg = <0x3 0x0 0x800000>;
     80 					rb-gpios = <&pioD 17 GPIO_ACTIVE_HIGH>;
     81 					cs-gpios = <&pioB 6 GPIO_ACTIVE_HIGH>;
     82 					nand-bus-width = <8>;
     83 					nand-ecc-mode = "soft";
     84 					nand-on-flash-bbt;
     85 					label = "atmel_nand";
     86 
     87 					partitions {
     88 						compatible = "fixed-partitions";
     89 						#address-cells = <1>;
     90 						#size-cells = <1>;
     91 
     92 						at91bootstrap@0 {
     93 							label = "at91bootstrap";
     94 							reg = <0x0 0x40000>;
     95 						};
     96 
     97 						bootloader@40000 {
     98 							label = "bootloader";
     99 							reg = <0x40000 0x80000>;
    100 						};
    101 
    102 						bootloaderenv@c0000 {
    103 							label = "bootloader env";
    104 							reg = <0xc0000 0xc0000>;
    105 						};
    106 
    107 						dtb@180000 {
    108 							label = "device tree";
    109 							reg = <0x180000 0x80000>;
    110 						};
    111 
    112 						kernel@200000 {
    113 							label = "kernel";
    114 							reg = <0x200000 0x600000>;
    115 						};
    116 
    117 						rootfs@800000 {
    118 							label = "rootfs";
    119 							reg = <0x800000 0x0f800000>;
    120 						};
    121 					};
    122 				};
    123 			};
    124 		};
    125 
    126 		apb {
    127 			tcb0: timer@fffa0000 {
    128 				timer@0 {
    129 					compatible = "atmel,tcb-timer";
    130 					reg = <0>, <1>;
    131 				};
    132 
    133 				timer@2 {
    134 					compatible = "atmel,tcb-timer";
    135 					reg = <2>;
    136 				};
    137 			};
    138 
    139 			mmc0: mmc@fffa4000 {
    140 				pinctrl-0 = <
    141 					&pinctrl_board_mmc0
    142 					&pinctrl_mmc0_clk
    143 					&pinctrl_mmc0_slot0_cmd_dat0
    144 					&pinctrl_mmc0_slot0_dat1_3>;
    145 				status = "okay";
    146 				slot@0 {
    147 					reg = <0>;
    148 					bus-width = <4>;
    149 					cd-gpios = <&pioA 15 GPIO_ACTIVE_HIGH>;
    150 				};
    151 			};
    152 
    153 			usart0: serial@fffb0000 {
    154 				pinctrl-0 = <
    155 					&pinctrl_usart0
    156 					&pinctrl_usart0_rts
    157 					&pinctrl_usart0_cts>;
    158 				status = "okay";
    159 			};
    160 
    161 			adc0: adc@fffd0000 {
    162 				pinctrl-names = "default";
    163 				pinctrl-0 = <
    164 					&pinctrl_adc0_ad0
    165 					&pinctrl_adc0_ad1
    166 					&pinctrl_adc0_ad2
    167 					&pinctrl_adc0_ad3
    168 					&pinctrl_adc0_ad4
    169 					&pinctrl_adc0_ad5
    170 					&pinctrl_adc0_adtrg>;
    171 				atmel,adc-ts-wires = <4>;
    172 				status = "okay";
    173 			};
    174 
    175 			usb0: gadget@fffd4000 {
    176 				atmel,vbus-gpio = <&pioA 8 GPIO_ACTIVE_HIGH>;
    177 				status = "okay";
    178 			};
    179 
    180 			spi0: spi@fffcc000 {
    181 				status = "okay";
    182 				cs-gpios = <&pioA 28 0>, <0>, <0>, <0>;
    183 				mtd_dataflash@0 {
    184 					compatible = "atmel,at45", "atmel,dataflash";
    185 					spi-max-frequency = <15000000>;
    186 					reg = <0>;
    187 				};
    188 			};
    189 
    190 			pwm0: pwm@fffc8000 {
    191 				status = "okay";
    192 
    193 				pinctrl-names = "default";
    194 				pinctrl-0 = <&pinctrl_pwm0_pwm1_2>,
    195 					<&pinctrl_pwm0_pwm2_2>;
    196 			};
    197 
    198 			dbgu: serial@fffff200 {
    199 				status = "okay";
    200 			};
    201 
    202 			pinctrl@fffff400 {
    203 				mmc0 {
    204 					pinctrl_board_mmc0: mmc0-board {
    205 						atmel,pins =
    206 							<AT91_PIOA 15 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
    207 					};
    208 				};
    209 			};
    210 
    211 			watchdog@fffffd40 {
    212 				status = "okay";
    213 			};
    214 
    215 			rtc@fffffe00 {
    216 				status = "okay";
    217 			};
    218 		};
    219 	};
    220 
    221 	led-controller-1 {
    222 		compatible = "pwm-leds";
    223 
    224 		led-1 {
    225 			label = "ds1";
    226 			pwms = <&pwm0 1 5000 PWM_POLARITY_INVERTED>;
    227 			max-brightness = <255>;
    228 		};
    229 
    230 		led-2 {
    231 			label = "ds2";
    232 			pwms = <&pwm0 2 5000 PWM_POLARITY_INVERTED>;
    233 			max-brightness = <255>;
    234 		};
    235 	};
    236 
    237 	led-controller-2 {
    238 		compatible = "gpio-leds";
    239 
    240 		led-3 {
    241 			label = "ds3";
    242 			gpios = <&pioD 14 GPIO_ACTIVE_HIGH>;
    243 			linux,default-trigger = "heartbeat";
    244 		};
    245 	};
    246 
    247 	gpio_keys {
    248 		compatible = "gpio-keys";
    249 
    250 		right_click {
    251 			label = "right_click";
    252 			gpios = <&pioB 0 GPIO_ACTIVE_LOW>;
    253 			linux,code = <273>;
    254 			wakeup-source;
    255 		};
    256 
    257 		left_click {
    258 			label = "left_click";
    259 			gpios = <&pioB 1 GPIO_ACTIVE_LOW>;
    260 			linux,code = <272>;
    261 			wakeup-source;
    262 		};
    263 	};
    264 
    265 	i2c-gpio-0 {
    266 		status = "okay";
    267 	};
    268 
    269 	i2c-gpio-1 {
    270 		status = "okay";
    271 	};
    272 };
    273