Home | History | Annotate | Line # | Download | only in microchip
      1 // SPDX-License-Identifier: GPL-2.0
      2 /*
      3  * at91-kizbox3.dts - Device Tree Include file for Overkiz Kizbox 3
      4  * family SoC boards
      5  *
      6  * Copyright (C) 2018 Overkiz SAS
      7  *
      8  * Authors: Dorian Rocipon <d.rocipon (a] overkiz.com>
      9  *          Kevin Carli <k.carli (a] overkiz.com>
     10  *          Mickael Gardet <m.gardet (a] overkiz.com>
     11  */
     12 /dts-v1/;
     13 #include "sama5d2.dtsi"
     14 #include "sama5d2-pinfunc.h"
     15 #include <dt-bindings/gpio/gpio.h>
     16 #include <dt-bindings/mfd/atmel-flexcom.h>
     17 #include <dt-bindings/pinctrl/at91.h>
     18 #include <dt-bindings/pwm/pwm.h>
     19 
     20 / {
     21 	model = "Overkiz Kizbox3";
     22 	compatible = "overkiz,kizbox3", "atmel,sama5d2", "atmel,sama5";
     23 
     24 	aliases {
     25 		serial0 = &uart0;
     26 		serial1 = &uart1;
     27 		serial2 = &uart2;
     28 		serial3 = &uart3;
     29 		serial4 = &uart4;
     30 		serial5 = &uart5;
     31 		serial6 = &uart8;
     32 	};
     33 
     34 	chosen {
     35 		bootargs = "ubi.mtd=ubi";
     36 		stdout-path = "serial1:115200n8";
     37 	};
     38 
     39 	clocks {
     40 		slow_xtal {
     41 			clock-frequency = <32768>;
     42 		};
     43 
     44 		main_xtal {
     45 			clock-frequency = <12000000>;
     46 		};
     47 	};
     48 
     49 	vdd_adc_vddana: supply_3v3_ana {
     50 		compatible = "regulator-fixed";
     51 		regulator-name = "adc-vddana";
     52 		regulator-min-microvolt = <3300000>;
     53 		regulator-max-microvolt = <3300000>;
     54 		regulator-always-on;
     55 	};
     56 
     57 	vdd_adc_vref: supply_3v3_ref {
     58 		compatible = "regulator-fixed";
     59 		regulator-name = "adc-vref";
     60 		regulator-min-microvolt = <3300000>;
     61 		regulator-max-microvolt = <3300000>;
     62 		regulator-always-on;
     63 	};
     64 
     65 	led-controller-1 {
     66 		compatible = "pwm-leds";
     67 		pinctrl-names = "default";
     68 		pinctrl-0 = <&pinctrl_pwm0_pwm_h0
     69 			     &pinctrl_pwm0_pwm_h1
     70 			     &pinctrl_pwm0_pwm_h2
     71 			     &pinctrl_pwm0_pwm_h3>;
     72 		status = "disabled";
     73 
     74 		led-1 {
     75 			label = "pwm:red:user";
     76 			pwms = <&pwm0 0 10000000 0>;
     77 			max-brightness = <255>;
     78 			linux,default-trigger = "default-on";
     79 			status = "disabled";
     80 		};
     81 
     82 		led-2 {
     83 			label = "pwm:green:user";
     84 			pwms = <&pwm0 1 10000000 0>;
     85 			max-brightness = <255>;
     86 			linux,default-trigger = "default-on";
     87 			status = "disabled";
     88 		};
     89 
     90 		led-3 {
     91 			label = "pwm:blue:user";
     92 			pwms = <&pwm0 2 10000000 0>;
     93 			max-brightness = <255>;
     94 			status = "disabled";
     95 		};
     96 
     97 		led-4 {
     98 			label = "pwm:white:user";
     99 			pwms = <&pwm0 3 10000000 0>;
    100 			max-brightness = <255>;
    101 			status = "disabled";
    102 		};
    103 	};
    104 };
    105 
    106 &ebi {
    107 	status = "okay";
    108 };
    109 
    110 &nand_controller {
    111 	status = "okay";
    112 
    113 	nand@3 {
    114 		pinctrl-0 = <&pinctrl_ebi_nand_addr>;
    115 		pinctrl-names = "default";
    116 		reg = <0x3 0x0 0x800000>;
    117 
    118 		atmel,rb = <0>;
    119 		nand-bus-width = <8>;
    120 		nand-ecc-mode = "hw";
    121 		nand-ecc-strength = <4>;
    122 		nand-ecc-step-size = <512>;
    123 		nand-on-flash-bbt;
    124 		label = "atmel_nand";
    125 
    126 		partitions {
    127 			compatible = "fixed-partitions";
    128 			#address-cells = <1>;
    129 			#size-cells = <1>;
    130 
    131 			bootstrap@0 {
    132 				label = "bootstrap";
    133 				reg = <0x0 0x20000>;
    134 			};
    135 
    136 			u-boot@20000 {
    137 				label = "u-boot";
    138 				reg = <0x20000 0x140000>;
    139 			};
    140 
    141 			u-boot-factory@160000 {
    142 				label = "u-boot-factory";
    143 				reg = <0x160000 0x140000>;
    144 			};
    145 
    146 			ubi@2A0000 {
    147 				label = "ubi";
    148 				reg = <0x2A0000 0x7D60000>;
    149 			};
    150 		};
    151 
    152 	};
    153 };
    154 
    155 &rtc {
    156 	status = "okay";
    157 };
    158 
    159 &pioA {
    160 	pinctrl_ebi_nand_addr: ebi-addr-1 {
    161 		pinmux = <PIN_PA0__D0>,
    162 			<PIN_PA1__D1>,
    163 			<PIN_PA2__D2>,
    164 			<PIN_PA3__D3>,
    165 			<PIN_PA4__D4>,
    166 			<PIN_PA5__D5>,
    167 			<PIN_PA6__D6>,
    168 			<PIN_PA7__D7>,
    169 			<PIN_PA8__NWE_NANDWE>,
    170 			<PIN_PA9__NCS3>,
    171 			<PIN_PA10__A21_NANDALE>,
    172 			<PIN_PA11__A22_NANDCLE>,
    173 			<PIN_PA21__NANDRDY>;
    174 		bias-disable;
    175 	};
    176 
    177 	pinctrl_usart {
    178 		pinctrl_usart_0: usart0-0 {
    179 			pinmux = < PIN_PB26__URXD0>, <PIN_PB27__UTXD0>;
    180 			bias-disable;
    181 		};
    182 		pinctrl_usart_1: usart1-0 {
    183 			pinmux = < PIN_PD2__URXD1>, <PIN_PD3__UTXD1>;
    184 			bias-disable;
    185 		};
    186 		pinctrl_usart_2: usart2-0 {
    187 			pinmux = < PIN_PD4__URXD2>, <PIN_PD5__UTXD2>;
    188 			bias-disable;
    189 		};
    190 		pinctrl_usart_3: usart3-0 {
    191 			pinmux = < PIN_PC12__URXD3>, <PIN_PC13__UTXD3>;
    192 			bias-disable;
    193 		};
    194 		pinctrl_usart_4: usart4-0 {
    195 			pinmux = < PIN_PB3__URXD4>, <PIN_PB4__UTXD4>;
    196 			bias-disable;
    197 		};
    198 		pinctrl_flx0_default: flx0_usart_default {
    199 			pinmux = <PIN_PB28__FLEXCOM0_IO0>, //TX
    200 			<PIN_PB29__FLEXCOM0_IO1>; //RX
    201 			bias-disable;
    202 		};
    203 		pinctrl_flx3_default: flx3_usart_default {
    204 			pinmux = <PIN_PB22__FLEXCOM3_IO1>, //RX
    205 			<PIN_PB23__FLEXCOM3_IO0>; //TX
    206 			bias-disable;
    207 		};
    208 	};
    209 
    210 	pinctrl_flx4_default: flx4_i2c6_default {
    211 		pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA
    212 		<PIN_PD13__FLEXCOM4_IO1>; //CLK
    213 		bias-disable;
    214 		drive-open-drain;
    215 	};
    216 
    217 	pinctrl_pwm0 {
    218 		pinctrl_pwm0_pwm_h0: pwm0_pwm_h0 {
    219 			pinmux = <PIN_PA30__PWMH0>;
    220 			bias-disable;
    221 		};
    222 		pinctrl_pwm0_pwm_h1: pwm0_pwmh1 {
    223 			pinmux = <PIN_PB0__PWMH1>;
    224 			bias-disable;
    225 		};
    226 		pinctrl_pwm0_pwm_h2: pwm0_pwm_h2 {
    227 			pinmux = <PIN_PB5__PWMH2>;
    228 			bias-disable;
    229 		};
    230 		pinctrl_pwm0_pwm_h3: pwm0_pwm_h3 {
    231 			pinmux = <PIN_PB7__PWMH3>;
    232 			bias-disable;
    233 		};
    234 	};
    235 
    236 	pinctrl_adc {
    237 		pinctrl_adc2: adc2 {
    238 			pinmux = <PIN_PD21__GPIO>;
    239 			bias-disable;
    240 		};
    241 		pinctrl_adc3: adc3 {
    242 			pinmux = <PIN_PD22__GPIO>;
    243 			bias-disable;
    244 		};
    245 		pinctrl_adc4: adc4 {
    246 			pinmux = <PIN_PD23__GPIO>;
    247 			bias-disable;
    248 		};
    249 		pinctrl_adc5: adc5 {
    250 			pinmux = <PIN_PD24__GPIO>;
    251 			bias-disable;
    252 		};
    253 	};
    254 };
    255 
    256 &uart0 {
    257 	pinctrl-names = "default";
    258 	pinctrl-0 = <&pinctrl_usart_0>;
    259 	atmel,use-dma-rx;
    260 	atmel,use-dma-tx;
    261 	status = "disabled";
    262 };
    263 
    264 /* debug uart */
    265 &uart1 {
    266 	pinctrl-names = "default";
    267 	pinctrl-0 = <&pinctrl_usart_1>;
    268 	atmel,use-dma-rx;
    269 	atmel,use-dma-tx;
    270 	status = "disabled";
    271 };
    272 
    273 &uart2 {
    274 	pinctrl-names = "default";
    275 	pinctrl-0 = <&pinctrl_usart_2>;
    276 	atmel,use-dma-rx;
    277 	atmel,use-dma-tx;
    278 	status = "disabled";
    279 };
    280 
    281 &uart3 {
    282 	pinctrl-names = "default";
    283 	pinctrl-0 = <&pinctrl_usart_3>;
    284 	atmel,use-dma-rx;
    285 	atmel,use-dma-tx;
    286 	status = "disabled";
    287 };
    288 
    289 &uart4 {
    290 	pinctrl-names = "default";
    291 	pinctrl-0 = <&pinctrl_usart_4>;
    292 	atmel,use-dma-rx;
    293 	atmel,use-dma-tx;
    294 	status = "disabled";
    295 };
    296 
    297 &flx0 {
    298 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
    299 	status = "disabled";
    300 
    301 	uart5: serial@200  {
    302 		pinctrl-names = "default";
    303 		pinctrl-0 = <&pinctrl_flx0_default>;
    304 		atmel,use-dma-rx;
    305 		atmel,use-dma-tx;
    306 		status = "disabled";
    307 	};
    308 };
    309 
    310 &flx3 {
    311 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
    312 	status = "disabled";
    313 
    314 	uart8: serial@200 {
    315 		pinctrl-names = "default";
    316 		pinctrl-0 = <&pinctrl_flx3_default>;
    317 		atmel,use-dma-rx;
    318 		atmel,use-dma-tx;
    319 		status = "disabled";
    320 	};
    321 };
    322 
    323 &flx4 {
    324 	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
    325 	status = "disabled";
    326 
    327 	i2c6: i2c@600 {
    328 		pinctrl-names = "default";
    329 		pinctrl-0 = <&pinctrl_flx4_default>;
    330 		status = "disabled";
    331 	};
    332 };
    333 
    334 &pwm0 {
    335 	status = "okay";
    336 };
    337 
    338 &shutdown_controller {
    339 	debounce-delay-us = <976>;
    340 	atmel,wakeup-rtc-timer;
    341 
    342 	input@0 {
    343 		reg = <0>;
    344 	};
    345 };
    346 
    347 &watchdog {
    348 	status = "okay";
    349 };
    350 
    351 &adc {
    352 	pinctrl-names = "default";
    353 	pinctrl-0 = <&pinctrl_adc2
    354 		     &pinctrl_adc3
    355 		     &pinctrl_adc4
    356 		     &pinctrl_adc5>;
    357 
    358 	vddana-supply = <&vdd_adc_vddana>;
    359 	vref-supply = <&vdd_adc_vref>;
    360 	status = "disabled";
    361 };
    362 
    363 &securam {
    364 	export;
    365 
    366 	/* export overkiz u-boot mode/version and factory */
    367 	uboot@1400 {
    368 		reg = <0x1400 0x20>;
    369 		export;
    370 	};
    371 };
    372