| // SPDX-License-Identifier: GPL-2.0 |
| /* |
| * at91-kizbox3-hs.dts - Device Tree file for Overkiz KIZBOX3-HS board |
| * |
| * Copyright (C) 2018 Overkiz SAS |
| * |
| * Authors: Dorian Rocipon <d.rocipon@overkiz.com> |
| * Kevin Carli <k.carli@overkiz.com> |
| * Mickael Gardet <m.gardet@overkiz.com> |
| */ |
| /dts-v1/; |
| #include "at91-kizbox3_common.dtsi" |
| |
| / { |
| model = "Overkiz KIZBOX3-HS"; |
| compatible = "overkiz,kizbox3-hs", "atmel,sama5d2", "atmel,sama5"; |
| |
| pwm_leds { |
| status = "okay"; |
| |
| red { |
| status = "okay"; |
| }; |
| |
| green { |
| status = "okay"; |
| }; |
| |
| blue { |
| status = "okay"; |
| }; |
| |
| white { |
| status = "okay"; |
| }; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_led_red |
| &pinctrl_led_white>; |
| status = "okay"; |
| |
| red { |
| label = "pio:red:user"; |
| gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>; |
| default-state = "off"; |
| }; |
| |
| white { |
| label = "pio:white:user"; |
| gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>; |
| default-state = "off"; |
| }; |
| }; |
| |
| gpio_keys { |
| compatible = "gpio-keys"; |
| pinctrl-names = "default" , "default", "default", |
| "default", "default" ; |
| pinctrl-0 = <&pinctrl_key_gpio_default>; |
| pinctrl-1 = <&pinctrl_pio_rf &pinctrl_pio_wifi>; |
| pinctrl-2 = <&pinctrl_pio_io_boot |
| &pinctrl_pio_io_reset |
| &pinctrl_pio_io_test_radio>; |
| pinctrl-3 = <&pinctrl_pio_zbe_test_radio |
| &pinctrl_pio_zbe_rst>; |
| pinctrl-4 = <&pinctrl_pio_input>; |
| |
| SW1 { |
| label = "SW1"; |
| gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>; |
| linux,code = <0x101>; |
| wakeup-source; |
| }; |
| |
| SW2 { |
| label = "SW2"; |
| gpios = <&pioA PIN_PA18 GPIO_ACTIVE_LOW>; |
| linux,code = <0x102>; |
| wakeup-source; |
| }; |
| |
| SW3 { |
| label = "SW3"; |
| gpios = <&pioA PIN_PA22 GPIO_ACTIVE_LOW>; |
| linux,code = <0x103>; |
| wakeup-source; |
| }; |
| |
| SW7 { |
| label = "SW7"; |
| gpios = <&pioA PIN_PA26 GPIO_ACTIVE_LOW>; |
| linux,code = <0x107>; |
| wakeup-source; |
| }; |
| |
| SW8 { |
| label = "SW8"; |
| gpios = <&pioA PIN_PA24 GPIO_ACTIVE_LOW>; |
| linux,code = <0x108>; |
| wakeup-source; |
| }; |
| }; |
| |
| gpios { |
| compatible = "gpio"; |
| status = "okay"; |
| |
| rf_on { |
| label = "rf on"; |
| gpio = <&pioA PIN_PC19 GPIO_ACTIVE_HIGH>; |
| output; |
| init-low; |
| }; |
| |
| wifi_on { |
| label = "wifi on"; |
| gpio = <&pioA PIN_PC20 GPIO_ACTIVE_HIGH>; |
| output; |
| init-low; |
| }; |
| |
| zbe_test_radio { |
| label = "zbe test radio"; |
| gpio = <&pioA PIN_PB21 GPIO_ACTIVE_HIGH>; |
| output; |
| init-low; |
| }; |
| |
| zbe_rst { |
| label = "zbe rst"; |
| gpio = <&pioA PIN_PB25 GPIO_ACTIVE_HIGH>; |
| output; |
| init-low; |
| }; |
| |
| io_reset { |
| label = "io reset"; |
| gpio = <&pioA PIN_PB30 GPIO_ACTIVE_HIGH>; |
| output; |
| init-low; |
| }; |
| |
| io_test_radio { |
| label = "io test radio"; |
| gpio = <&pioA PIN_PC9 GPIO_ACTIVE_HIGH>; |
| output; |
| init-low; |
| }; |
| |
| io_boot_0 { |
| label = "io boot 0"; |
| gpio = <&pioA PIN_PC11 GPIO_ACTIVE_HIGH>; |
| output; |
| init-low; |
| }; |
| |
| io_boot_1 { |
| label = "io boot 1"; |
| gpio = <&pioA PIN_PC17 GPIO_ACTIVE_HIGH>; |
| output; |
| init-low; |
| }; |
| |
| verbose_bootloader { |
| label = "verbose bootloader"; |
| gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>; |
| input; |
| }; |
| |
| nail_bed_detection { |
| label = "nail bed detection"; |
| gpio = <&pioA PIN_PB12 GPIO_ACTIVE_HIGH>; |
| input; |
| }; |
| |
| id_usba { |
| label = "id usba"; |
| gpio = <&pioA PIN_PC0 GPIO_ACTIVE_LOW>; |
| input; |
| }; |
| }; |
| }; |
| |
| &pioA { |
| pinctrl_key_gpio_default: key_gpio_default { |
| pinmux= <PIN_PA22__GPIO>, |
| <PIN_PA24__GPIO>, |
| <PIN_PA26__GPIO>, |
| <PIN_PA29__GPIO>, |
| <PIN_PA18__GPIO>; |
| bias-disable; |
| }; |
| |
| pinctrl_gpio { |
| pinctrl_pio_rf: gpio_rf { |
| pinmux = <PIN_PC19__GPIO>; |
| bias-disable; |
| }; |
| pinctrl_pio_wifi: gpio_wifi { |
| pinmux = <PIN_PC20__GPIO>; |
| bias-disable; |
| }; |
| pinctrl_pio_io_boot: gpio_io_boot { |
| pinmux = |
| <PIN_PC11__GPIO>, |
| <PIN_PC17__GPIO>; |
| bias-disable; |
| }; |
| pinctrl_pio_io_test_radio: gpio_io_test_radio { |
| pinmux = <PIN_PC9__GPIO>; |
| bias-disable; |
| }; |
| pinctrl_pio_zbe_test_radio: gpio_zbe_test_radio { |
| pinmux = <PIN_PB21__GPIO>; |
| bias-disable; |
| }; |
| pinctrl_pio_zbe_rst: gpio_zbe_rst { |
| pinmux = <PIN_PB25__GPIO>; |
| bias-disable; |
| }; |
| /* stm32 reset must be open drain (internal pull up) */ |
| pinctrl_pio_io_reset: gpio_io_reset { |
| pinmux = <PIN_PB30__GPIO>; |
| bias-disable; |
| drive-open-drain = <1>; |
| output-low; |
| }; |
| pinctrl_pio_input: gpio_input { |
| pinmux = |
| <PIN_PB11__GPIO>, |
| <PIN_PB12__GPIO>, |
| <PIN_PC0__GPIO>; |
| bias-disable; |
| }; |
| }; |
| |
| pinctrl_leds { |
| pinctrl_led_red: led_red { |
| pinmux = <PIN_PB1__GPIO>; |
| bias-disable; |
| }; |
| pinctrl_led_white: led_white { |
| pinmux = <PIN_PB8__GPIO>; |
| bias-disable; |
| }; |
| }; |
| }; |
| |
| &adc { |
| status = "okay"; |
| }; |
| |
| &uart0 { |
| status = "okay"; |
| }; |
| |
| &uart1 { |
| status = "okay"; |
| }; |
| |
| &uart2 { |
| status = "okay"; |
| }; |
| |
| &uart3 { |
| status = "okay"; |
| }; |
| |
| &uart4 { |
| status = "okay"; |
| }; |
| |
| &flx0 { |
| status = "okay"; |
| |
| uart5: serial@200 { |
| status = "okay"; |
| }; |
| }; |
| |
| &flx3 { |
| status = "okay"; |
| uart8: serial@200 { |
| status = "okay"; |
| }; |
| }; |
| |
| &flx4 { |
| status = "okay"; |
| |
| i2c6: i2c@600 { |
| status = "okay"; |
| }; |
| }; |
| |
| &usb0 { |
| status = "okay"; |
| }; |
| |
| &usb1 { |
| status = "okay"; |
| }; |
| |
| &usb2 { |
| status = "okay"; |
| }; |