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@overkiz.com> 8 * Kevin Carli <k.carli@overkiz.com> 9 * Mickael Gardet <m.gardet@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 pwm_leds { 19 status = "okay"; 20 21 red { 22 status = "okay"; 23 }; 24 25 green { 26 status = "okay"; 27 }; 28 29 blue { 30 status = "okay"; 31 }; 32 33 white { 34 status = "okay"; 35 }; 36 }; 37 38 leds { 39 compatible = "gpio-leds"; 40 pinctrl-names = "default"; 41 pinctrl-0 = <&pinctrl_led_red 42 &pinctrl_led_white>; 43 status = "okay"; 44 45 red { 46 label = "pio:red:user"; 47 gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>; 48 default-state = "off"; 49 }; 50 51 white { 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 SW1 { 72 label = "SW1"; 73 gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>; 74 linux,code = <0x101>; 75 wakeup-source; 76 }; 77 78 SW2 { 79 label = "SW2"; 80 gpios = <&pioA PIN_PA18 GPIO_ACTIVE_LOW>; 81 linux,code = <0x102>; 82 wakeup-source; 83 }; 84 85 SW3 { 86 label = "SW3"; 87 gpios = <&pioA PIN_PA22 GPIO_ACTIVE_LOW>; 88 linux,code = <0x103>; 89 wakeup-source; 90 }; 91 92 SW7 { 93 label = "SW7"; 94 gpios = <&pioA PIN_PA26 GPIO_ACTIVE_LOW>; 95 linux,code = <0x107>; 96 wakeup-source; 97 }; 98 99 SW8 { 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 = <1>; 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