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