| // SPDX-License-Identifier: GPL-2.0 |
| /* |
| * at91-kizbox3.dts - Device Tree Include file for Overkiz Kizbox 3 |
| * family SoC boards |
| * |
| * 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 "sama5d2.dtsi" |
| #include "sama5d2-pinfunc.h" |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/mfd/atmel-flexcom.h> |
| #include <dt-bindings/pinctrl/at91.h> |
| #include <dt-bindings/pwm/pwm.h> |
| |
| / { |
| model = "Overkiz Kizbox3"; |
| compatible = "overkiz,kizbox3", "atmel,sama5d2", "atmel,sama5"; |
| |
| aliases { |
| serial0 = &uart0; |
| serial1 = &uart1; |
| serial2 = &uart2; |
| serial3 = &uart3; |
| serial4 = &uart4; |
| serial5 = &uart5; |
| serial6 = &uart8; |
| }; |
| |
| chosen { |
| bootargs = "ubi.mtd=ubi"; |
| stdout-path = "serial1:115200n8"; |
| }; |
| |
| clocks { |
| slow_xtal { |
| clock-frequency = <32768>; |
| }; |
| |
| main_xtal { |
| clock-frequency = <12000000>; |
| }; |
| }; |
| |
| vdd_adc_vddana: supply_3v3_ana { |
| compatible = "regulator-fixed"; |
| regulator-name = "adc-vddana"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| vdd_adc_vref: supply_3v3_ref { |
| compatible = "regulator-fixed"; |
| regulator-name = "adc-vref"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| led-controller-1 { |
| compatible = "pwm-leds"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_pwm0_pwm_h0 |
| &pinctrl_pwm0_pwm_h1 |
| &pinctrl_pwm0_pwm_h2 |
| &pinctrl_pwm0_pwm_h3>; |
| status = "disabled"; |
| |
| led-1 { |
| label = "pwm:red:user"; |
| pwms = <&pwm0 0 10000000 0>; |
| max-brightness = <255>; |
| linux,default-trigger = "default-on"; |
| status = "disabled"; |
| }; |
| |
| led-2 { |
| label = "pwm:green:user"; |
| pwms = <&pwm0 1 10000000 0>; |
| max-brightness = <255>; |
| linux,default-trigger = "default-on"; |
| status = "disabled"; |
| }; |
| |
| led-3 { |
| label = "pwm:blue:user"; |
| pwms = <&pwm0 2 10000000 0>; |
| max-brightness = <255>; |
| status = "disabled"; |
| }; |
| |
| led-4 { |
| label = "pwm:white:user"; |
| pwms = <&pwm0 3 10000000 0>; |
| max-brightness = <255>; |
| status = "disabled"; |
| }; |
| }; |
| }; |
| |
| &ebi { |
| status = "okay"; |
| }; |
| |
| &nand_controller { |
| status = "okay"; |
| |
| nand@3 { |
| pinctrl-0 = <&pinctrl_ebi_nand_addr>; |
| pinctrl-names = "default"; |
| reg = <0x3 0x0 0x800000>; |
| |
| atmel,rb = <0>; |
| nand-bus-width = <8>; |
| nand-ecc-mode = "hw"; |
| nand-ecc-strength = <4>; |
| nand-ecc-step-size = <512>; |
| nand-on-flash-bbt; |
| label = "atmel_nand"; |
| |
| partitions { |
| compatible = "fixed-partitions"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| bootstrap@0 { |
| label = "bootstrap"; |
| reg = <0x0 0x20000>; |
| }; |
| |
| u-boot@20000 { |
| label = "u-boot"; |
| reg = <0x20000 0x140000>; |
| }; |
| |
| u-boot-factory@160000 { |
| label = "u-boot-factory"; |
| reg = <0x160000 0x140000>; |
| }; |
| |
| ubi@2A0000 { |
| label = "ubi"; |
| reg = <0x2A0000 0x7D60000>; |
| }; |
| }; |
| |
| }; |
| }; |
| |
| &rtc { |
| status = "okay"; |
| }; |
| |
| &pioA { |
| pinctrl_ebi_nand_addr: ebi-addr-1 { |
| pinmux = <PIN_PA0__D0>, |
| <PIN_PA1__D1>, |
| <PIN_PA2__D2>, |
| <PIN_PA3__D3>, |
| <PIN_PA4__D4>, |
| <PIN_PA5__D5>, |
| <PIN_PA6__D6>, |
| <PIN_PA7__D7>, |
| <PIN_PA8__NWE_NANDWE>, |
| <PIN_PA9__NCS3>, |
| <PIN_PA10__A21_NANDALE>, |
| <PIN_PA11__A22_NANDCLE>, |
| <PIN_PA21__NANDRDY>; |
| bias-disable; |
| }; |
| |
| pinctrl_usart { |
| pinctrl_usart_0: usart0-0 { |
| pinmux = < PIN_PB26__URXD0>, <PIN_PB27__UTXD0>; |
| bias-disable; |
| }; |
| pinctrl_usart_1: usart1-0 { |
| pinmux = < PIN_PD2__URXD1>, <PIN_PD3__UTXD1>; |
| bias-disable; |
| }; |
| pinctrl_usart_2: usart2-0 { |
| pinmux = < PIN_PD4__URXD2>, <PIN_PD5__UTXD2>; |
| bias-disable; |
| }; |
| pinctrl_usart_3: usart3-0 { |
| pinmux = < PIN_PC12__URXD3>, <PIN_PC13__UTXD3>; |
| bias-disable; |
| }; |
| pinctrl_usart_4: usart4-0 { |
| pinmux = < PIN_PB3__URXD4>, <PIN_PB4__UTXD4>; |
| bias-disable; |
| }; |
| pinctrl_flx0_default: flx0_usart_default { |
| pinmux = <PIN_PB28__FLEXCOM0_IO0>, //TX |
| <PIN_PB29__FLEXCOM0_IO1>; //RX |
| bias-disable; |
| }; |
| pinctrl_flx3_default: flx3_usart_default { |
| pinmux = <PIN_PB22__FLEXCOM3_IO1>, //RX |
| <PIN_PB23__FLEXCOM3_IO0>; //TX |
| bias-disable; |
| }; |
| }; |
| |
| pinctrl_flx4_default: flx4_i2c6_default { |
| pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA |
| <PIN_PD13__FLEXCOM4_IO1>; //CLK |
| bias-disable; |
| drive-open-drain = <1>; |
| }; |
| |
| pinctrl_pwm0 { |
| pinctrl_pwm0_pwm_h0: pwm0_pwm_h0 { |
| pinmux = <PIN_PA30__PWMH0>; |
| bias-disable; |
| }; |
| pinctrl_pwm0_pwm_h1: pwm0_pwmh1 { |
| pinmux = <PIN_PB0__PWMH1>; |
| bias-disable; |
| }; |
| pinctrl_pwm0_pwm_h2: pwm0_pwm_h2 { |
| pinmux = <PIN_PB5__PWMH2>; |
| bias-disable; |
| }; |
| pinctrl_pwm0_pwm_h3: pwm0_pwm_h3 { |
| pinmux = <PIN_PB7__PWMH3>; |
| bias-disable; |
| }; |
| }; |
| |
| pinctrl_adc { |
| pinctrl_adc2: adc2 { |
| pinmux = <PIN_PD21__GPIO>; |
| bias-disable; |
| }; |
| pinctrl_adc3: adc3 { |
| pinmux = <PIN_PD22__GPIO>; |
| bias-disable; |
| }; |
| pinctrl_adc4: adc4 { |
| pinmux = <PIN_PD23__GPIO>; |
| bias-disable; |
| }; |
| pinctrl_adc5: adc5 { |
| pinmux = <PIN_PD24__GPIO>; |
| bias-disable; |
| }; |
| }; |
| }; |
| |
| &uart0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usart_0>; |
| atmel,use-dma-rx; |
| atmel,use-dma-tx; |
| status = "disabled"; |
| }; |
| |
| /* debug uart */ |
| &uart1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usart_1>; |
| atmel,use-dma-rx; |
| atmel,use-dma-tx; |
| status = "disabled"; |
| }; |
| |
| &uart2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usart_2>; |
| atmel,use-dma-rx; |
| atmel,use-dma-tx; |
| status = "disabled"; |
| }; |
| |
| &uart3 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usart_3>; |
| atmel,use-dma-rx; |
| atmel,use-dma-tx; |
| status = "disabled"; |
| }; |
| |
| &uart4 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usart_4>; |
| atmel,use-dma-rx; |
| atmel,use-dma-tx; |
| status = "disabled"; |
| }; |
| |
| &flx0 { |
| atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; |
| status = "disabled"; |
| |
| uart5: serial@200 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_flx0_default>; |
| atmel,use-dma-rx; |
| atmel,use-dma-tx; |
| status = "disabled"; |
| }; |
| }; |
| |
| &flx3 { |
| atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; |
| status = "disabled"; |
| |
| uart8: serial@200 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_flx3_default>; |
| atmel,use-dma-rx; |
| atmel,use-dma-tx; |
| status = "disabled"; |
| }; |
| }; |
| |
| &flx4 { |
| atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; |
| status = "disabled"; |
| |
| i2c6: i2c@600 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_flx4_default>; |
| status = "disabled"; |
| }; |
| }; |
| |
| &pwm0 { |
| status = "okay"; |
| }; |
| |
| &shutdown_controller { |
| debounce-delay-us = <976>; |
| atmel,wakeup-rtc-timer; |
| |
| input@0 { |
| reg = <0>; |
| }; |
| }; |
| |
| &watchdog { |
| status = "okay"; |
| }; |
| |
| &adc { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_adc2 |
| &pinctrl_adc3 |
| &pinctrl_adc4 |
| &pinctrl_adc5>; |
| |
| vddana-supply = <&vdd_adc_vddana>; |
| vref-supply = <&vdd_adc_vref>; |
| status = "disabled"; |
| }; |
| |
| &securam { |
| export; |
| |
| /* export overkiz u-boot mode/version and factory */ |
| uboot@1400 { |
| reg = <0x1400 0x20>; |
| export; |
| }; |
| }; |