linux-stable/arch/arm/boot/dts/at91-kizbox3_common.dtsi
Tudor Ambarus 56cd4b9e8c ARM: dts: at91: sama5d2: Move flx0 definitions in the SoC dtsi
The Flexcom IP is part of the sama5d2 SoC. Move the flx0 node together
with its function definitions in sama5d2.dtsi. Boards will just fill
the pins and enable the desired functions.

There is a single functional change in this patch. With the move of the
flx0 uart5 definition in the SoC dtsi, the uart5 from
at91-sama5d27_wlsom1_ek.dts inherits the following optional property:
atmel,fifo-size = <32>;
This particular change was tested by Codrin.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Tested-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Link: https://lore.kernel.org/r/20200514050301.147442-7-tudor.ambarus@microchip.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2020-05-15 16:50:33 +02:00

372 lines
6.8 KiB
Text

// 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;
};
pwm_leds {
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";
red {
label = "pwm:red:user";
pwms = <&pwm0 0 10000000 0>;
max-brightness = <255>;
linux,default-trigger = "default-on";
status = "disabled";
};
green {
label = "pwm:green:user";
pwms = <&pwm0 1 10000000 0>;
max-brightness = <255>;
linux,default-trigger = "default-on";
status = "disabled";
};
blue {
label = "pwm:blue:user";
pwms = <&pwm0 2 10000000 0>;
max-brightness = <255>;
status = "disabled";
};
white {
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 {
atmel,shdwc-debouncer = <976>;
atmel,wakeup-rtc-timer;
input@0 {
reg = <0>;
atmel,wakeup-type = "low";
};
};
&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;
};
};