Home | History | Annotate | Line # | Download | only in microchip
      1 // SPDX-License-Identifier: GPL-2.0
      2 /*
      3  * at91-kizbox3-hs.dts - Device Tree file for Overkiz KIZBOX3-HS board
      4  *
      5  * Copyright (C) 2018 Overkiz SAS
      6  *
      7  * Authors: Dorian Rocipon <d.rocipon (a] overkiz.com>
      8  *          Kevin Carli <k.carli (a] overkiz.com>
      9  *          Mickael Gardet <m.gardet (a] overkiz.com>
     10  */
     11 /dts-v1/;
     12 #include "at91-kizbox3_common.dtsi"
     13 
     14 / {
     15 	model = "Overkiz KIZBOX3-HS";
     16 	compatible = "overkiz,kizbox3-hs", "atmel,sama5d2", "atmel,sama5";
     17 
     18 	led-controller-1 {
     19 		status = "okay";
     20 
     21 		led-1 {
     22 			status = "okay";
     23 		};
     24 
     25 		led-2 {
     26 			status = "okay";
     27 		};
     28 
     29 		led-3 {
     30 			status = "okay";
     31 		};
     32 
     33 		led-4 {
     34 			status = "okay";
     35 		};
     36 	};
     37 
     38 	led-controller-2  {
     39 		compatible = "gpio-leds";
     40 		pinctrl-names = "default";
     41 		pinctrl-0 = <&pinctrl_led_red
     42 			     &pinctrl_led_white>;
     43 		status = "okay";
     44 
     45 		led-5 {
     46 			label = "pio:red:user";
     47 			gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>;
     48 			default-state = "off";
     49 		};
     50 
     51 		led-6 {
     52 			label = "pio:white:user";
     53 			gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
     54 			default-state = "off";
     55 		};
     56 	};
     57 
     58 	gpio-keys {
     59 		compatible = "gpio-keys";
     60 		pinctrl-names = "default" , "default", "default",
     61 				"default", "default" ;
     62 		pinctrl-0 = <&pinctrl_key_gpio_default>;
     63 		pinctrl-1 = <&pinctrl_pio_rf &pinctrl_pio_wifi>;
     64 		pinctrl-2 = <&pinctrl_pio_io_boot
     65 			     &pinctrl_pio_io_reset
     66 			     &pinctrl_pio_io_test_radio>;
     67 		pinctrl-3 = <&pinctrl_pio_zbe_test_radio
     68 			     &pinctrl_pio_zbe_rst>;
     69 		pinctrl-4 = <&pinctrl_pio_input>;
     70 
     71 		switch-1 {
     72 			label = "SW1";
     73 			gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>;
     74 			linux,code = <0x101>;
     75 			wakeup-source;
     76 		};
     77 
     78 		switch-2 {
     79 			label = "SW2";
     80 			gpios = <&pioA PIN_PA18 GPIO_ACTIVE_LOW>;
     81 			linux,code = <0x102>;
     82 			wakeup-source;
     83 		};
     84 
     85 		switch-3 {
     86 			label = "SW3";
     87 			gpios = <&pioA PIN_PA22 GPIO_ACTIVE_LOW>;
     88 			linux,code = <0x103>;
     89 			wakeup-source;
     90 		};
     91 
     92 		switch-7 {
     93 			label = "SW7";
     94 			gpios = <&pioA PIN_PA26 GPIO_ACTIVE_LOW>;
     95 			linux,code = <0x107>;
     96 			wakeup-source;
     97 		};
     98 
     99 		switch-8 {
    100 			label = "SW8";
    101 			gpios = <&pioA PIN_PA24 GPIO_ACTIVE_LOW>;
    102 			linux,code = <0x108>;
    103 			wakeup-source;
    104 		};
    105 	};
    106 
    107 	gpios {
    108 		compatible = "gpio";
    109 		status = "okay";
    110 
    111 		rf_on {
    112 			label = "rf on";
    113 			gpio = <&pioA PIN_PC19 GPIO_ACTIVE_HIGH>;
    114 			output;
    115 			init-low;
    116 		};
    117 
    118 		wifi_on {
    119 			label = "wifi on";
    120 			gpio = <&pioA PIN_PC20 GPIO_ACTIVE_HIGH>;
    121 			output;
    122 			init-low;
    123 		};
    124 
    125 		zbe_test_radio {
    126 			label = "zbe test radio";
    127 			gpio = <&pioA PIN_PB21 GPIO_ACTIVE_HIGH>;
    128 			output;
    129 			init-low;
    130 		};
    131 
    132 		zbe_rst {
    133 			label = "zbe rst";
    134 			gpio = <&pioA PIN_PB25 GPIO_ACTIVE_HIGH>;
    135 			output;
    136 			init-low;
    137 		};
    138 
    139 		io_reset {
    140 			label = "io reset";
    141 			gpio = <&pioA PIN_PB30 GPIO_ACTIVE_HIGH>;
    142 			output;
    143 			init-low;
    144 		};
    145 
    146 		io_test_radio {
    147 			label = "io test radio";
    148 			gpio = <&pioA PIN_PC9 GPIO_ACTIVE_HIGH>;
    149 			output;
    150 			init-low;
    151 		};
    152 
    153 		io_boot_0 {
    154 			label = "io boot 0";
    155 			gpio = <&pioA PIN_PC11 GPIO_ACTIVE_HIGH>;
    156 			output;
    157 			init-low;
    158 		};
    159 
    160 		io_boot_1 {
    161 			label = "io boot 1";
    162 			gpio = <&pioA PIN_PC17 GPIO_ACTIVE_HIGH>;
    163 			output;
    164 			init-low;
    165 		};
    166 
    167 		verbose_bootloader {
    168 			label = "verbose bootloader";
    169 			gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>;
    170 			input;
    171 		};
    172 
    173 		 nail_bed_detection  {
    174 			label = "nail bed detection";
    175 			gpio = <&pioA PIN_PB12 GPIO_ACTIVE_HIGH>;
    176 			input;
    177 		};
    178 
    179 		 id_usba {
    180 			label = "id usba";
    181 			gpio = <&pioA PIN_PC0 GPIO_ACTIVE_LOW>;
    182 			input;
    183 		};
    184 	};
    185 };
    186 
    187 &pioA {
    188 	pinctrl_key_gpio_default: key_gpio_default {
    189 		pinmux = <PIN_PA22__GPIO>,
    190 		<PIN_PA24__GPIO>,
    191 		<PIN_PA26__GPIO>,
    192 		<PIN_PA29__GPIO>,
    193 		<PIN_PA18__GPIO>;
    194 		bias-disable;
    195 		};
    196 
    197 	pinctrl_gpio {
    198 		pinctrl_pio_rf: gpio_rf {
    199 			pinmux = <PIN_PC19__GPIO>;
    200 			bias-disable;
    201 		};
    202 		pinctrl_pio_wifi: gpio_wifi {
    203 			pinmux = <PIN_PC20__GPIO>;
    204 			bias-disable;
    205 		};
    206 		pinctrl_pio_io_boot: gpio_io_boot {
    207 			pinmux =
    208 			<PIN_PC11__GPIO>,
    209 			<PIN_PC17__GPIO>;
    210 			bias-disable;
    211 		};
    212 		pinctrl_pio_io_test_radio: gpio_io_test_radio {
    213 			pinmux = <PIN_PC9__GPIO>;
    214 			bias-disable;
    215 		};
    216 		pinctrl_pio_zbe_test_radio: gpio_zbe_test_radio {
    217 			pinmux = <PIN_PB21__GPIO>;
    218 			bias-disable;
    219 		};
    220 		pinctrl_pio_zbe_rst: gpio_zbe_rst {
    221 			pinmux = <PIN_PB25__GPIO>;
    222 			bias-disable;
    223 		};
    224 		/* stm32 reset must be open drain (internal pull up) */
    225 		pinctrl_pio_io_reset: gpio_io_reset {
    226 			pinmux = <PIN_PB30__GPIO>;
    227 			bias-disable;
    228 			drive-open-drain;
    229 			output-low;
    230 		};
    231 		pinctrl_pio_input: gpio_input {
    232 			pinmux =
    233 			<PIN_PB11__GPIO>,
    234 			<PIN_PB12__GPIO>,
    235 			<PIN_PC0__GPIO>;
    236 			bias-disable;
    237 		};
    238 	};
    239 
    240 	pinctrl_leds {
    241 		pinctrl_led_red: led_red {
    242 			pinmux = <PIN_PB1__GPIO>;
    243 			bias-disable;
    244 		};
    245 		pinctrl_led_white: led_white {
    246 			pinmux = <PIN_PB8__GPIO>;
    247 			bias-disable;
    248 		};
    249 	};
    250 };
    251 
    252 &adc {
    253 	status = "okay";
    254 };
    255 
    256 &uart0 {
    257 	status = "okay";
    258 };
    259 
    260 &uart1 {
    261 	status = "okay";
    262 };
    263 
    264 &uart2 {
    265 	status = "okay";
    266 };
    267 
    268 &uart3 {
    269 	status = "okay";
    270 };
    271 
    272 &uart4 {
    273 	status = "okay";
    274 };
    275 
    276 &flx0 {
    277 	status = "okay";
    278 
    279 	uart5: serial@200  {
    280 			status = "okay";
    281 	};
    282 };
    283 
    284 &flx3 {
    285 	status = "okay";
    286 	uart8: serial@200 {
    287 		status = "okay";
    288 	};
    289 };
    290 
    291 &flx4 {
    292 	status = "okay";
    293 
    294 	i2c6: i2c@600 {
    295 		status = "okay";
    296 	};
    297 };
    298 
    299 &usb0 {
    300 	status = "okay";
    301 };
    302 
    303 &usb1 {
    304 	status = "okay";
    305 };
    306 
    307 &usb2 {
    308 	status = "okay";
    309 };
    310