ARM: dts: at91: add a dts and dtsi file for kizbox2 based boards

There are several boards available depending on the PCB
(3 antennas support and several revison). Add a dtsi file to share
common binding between all kizbox2 boards. This patch also add support
for the kizbox2-2 variant.

Signed-off-by: Kévin RAYMOND <k.raymond@overkiz.com>
Signed-off-by: Mickael GARDET <m.gardet@overkiz.com>
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
Link: https://lore.kernel.org/r/20191105212234.22999-2-kamel.bouhara@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
Kamel Bouhara 2019-11-05 22:22:34 +01:00 committed by Alexandre Belloni
parent cd584d2515
commit cf79e41074
4 changed files with 285 additions and 245 deletions

View file

@ -45,7 +45,7 @@ dtb-$(CONFIG_SOC_AT91SAM9) += \
at91sam9x25ek.dtb \
at91sam9x35ek.dtb
dtb-$(CONFIG_SOC_SAM_V7) += \
at91-kizbox2.dtb \
at91-kizbox2-2.dtb \
at91-kizbox3-hs.dtb \
at91-nattis-2-natte-2.dtb \
at91-sama5d27_som1_ek.dtb \

View file

@ -0,0 +1,26 @@
// SPDX-License-Identifier: GPL-2.0
/*
* at91-kizbox2-2.dts - Device Tree file for the Kizbox2 with
* two head board
*
* Copyright (C) 2015 Overkiz SAS
*
* Authors: Antoine Aubert <a.aubert@overkiz.com>
* Kévin Raymond <k.raymond@overkiz.com>
*/
/dts-v1/;
#include "at91-kizbox2-common.dtsi"
/ {
model = "Overkiz Kizbox 2 with two heads";
compatible = "overkiz,kizbox2-2", "atmel,sama5d31",
"atmel,sama5d3", "atmel,sama5";
};
&usart1 {
status = "okay";
};
&usart2 {
status = "okay";
};

View file

@ -0,0 +1,258 @@
// SPDX-License-Identifier: GPL-2.0
/*
* at91-kizbox2_common.dtsi - Device Tree Include file for
* Overkiz Kizbox 2 family SoC
*
* Copyright (C) 2014-2018 Overkiz SAS
*
* Authors: Antoine Aubert <a.aubert@overkiz.com>
* Gaël Portay <g.portay@overkiz.com>
* Kévin Raymond <k.raymond@overkiz.com>
*/
#include "sama5d31.dtsi"
/ {
chosen {
bootargs = "ubi.mtd=ubi";
stdout-path = &dbgu;
};
memory {
reg = <0x20000000 0x10000000>;
};
clocks {
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <12000000>;
};
};
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
prog {
label = "PB_PROG";
gpios = <&pioE 27 GPIO_ACTIVE_LOW>;
linux,code = <0x102>;
wakeup-source;
};
reset {
label = "PB_RST";
gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
linux,code = <0x100>;
wakeup-source;
};
user {
label = "PB_USER";
gpios = <&pioE 31 GPIO_ACTIVE_HIGH>;
linux,code = <0x101>;
wakeup-source;
};
};
pwm_leds {
compatible = "pwm-leds";
blue {
label = "pwm:blue:user";
pwms = <&pwm0 2 10000000 0>;
max-brightness = <255>;
linux,default-trigger = "none";
};
green {
label = "pwm:green:user";
pwms = <&pwm0 1 10000000 0>;
max-brightness = <255>;
linux,default-trigger = "default-on";
};
red {
label = "pwm:red:user";
pwms = <&pwm0 0 10000000 0>;
max-brightness = <255>;
linux,default-trigger = "default-on";
};
};
};
&i2c1 {
status = "okay";
pmic: act8865@5b {
compatible = "active-semi,act8865";
reg = <0x5b>;
status = "okay";
regulators {
vcc_1v8_reg: DCDC_REG1 {
regulator-name = "VCC_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
vcc_1v2_reg: DCDC_REG2 {
regulator-name = "VCC_1V2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
vcc_3v3_reg: DCDC_REG3 {
regulator-name = "VCC_3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vddfuse_reg: LDO_REG1 {
regulator-name = "FUSE_2V5";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
};
vddana_reg: LDO_REG2 {
regulator-name = "VDDANA";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vled_reg: LDO_REG3 {
regulator-name = "VLED";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
v3v8_rf_reg: LDO_REG4 {
regulator-name = "V3V8_RF";
regulator-min-microvolt = <3800000>;
regulator-max-microvolt = <3800000>;
regulator-always-on;
};
};
};
};
&usart0 {
atmel,use-dma-rx;
atmel,use-dma-tx;
status = "disabled";
};
&usart1 {
atmel,use-dma-rx;
atmel,use-dma-tx;
status = "disabled";
};
&usart2 {
atmel,use-dma-rx;
atmel,use-dma-tx;
status = "disabled";
};
&pwm0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm0_pwmh0_1
&pinctrl_pwm0_pwmh1_1
&pinctrl_pwm0_pwmh2_0>;
status = "okay";
};
&adc0 {
atmel,adc-vref = <3333>;
status = "okay";
};
&macb1 {
phy-mode = "rmii";
status = "okay";
};
&dbgu {
status = "okay";
};
&watchdog {
status = "okay";
};
&ebi {
pinctrl-0 = <&pinctrl_ebi_nand_addr>;
pinctrl-names = "default";
status = "okay";
};
&nand_controller {
status = "okay";
nand@3 {
reg = <0x3 0x0 0x2>;
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>;
};
ubi@20000 {
label = "ubi";
reg = <0x20000 0x7fe0000>;
};
};
};
};
&usb1 {
status = "okay";
};
&usb2 {
status = "okay";
};
/* WMBUS (inverted with IO in the latest schematic) */
&pinctrl_usart0 {
atmel,pins =
<AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
};
/* RTS */
&pinctrl_usart1 {
atmel,pins =
<AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE
AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
AT91_PIOE 7 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
};
/* IO (inverted with WMBUS in the latest schematic) */
&pinctrl_usart2 {
atmel,pins =
<AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_NONE
AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_PULL_UP
AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>;
};

View file

@ -1,244 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* at91-kizbox2.dts - Device Tree file for Overkiz Kizbox 2 board
*
* Copyright (C) 2014 Gaël PORTAY <g.portay@overkiz.com>
*/
/dts-v1/;
#include "sama5d31.dtsi"
#include <dt-bindings/pwm/pwm.h>
/ {
model = "Overkiz Kizbox 2";
compatible = "overkiz,kizbox2", "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";
chosen {
bootargs = "ubi.mtd=ubi";
stdout-path = &dbgu;
};
memory {
reg = <0x20000000 0x10000000>;
};
clocks {
slow_xtal {
clock-frequency = <32768>;
};
main_xtal {
clock-frequency = <12000000>;
};
};
ahb {
apb {
i2c1: i2c@f0018000 {
status = "okay";
pmic: act8865@5b {
compatible = "active-semi,act8865";
reg = <0x5b>;
status = "okay";
regulators {
vcc_1v8_reg: DCDC_REG1 {
regulator-name = "VCC_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
vcc_1v2_reg: DCDC_REG2 {
regulator-name = "VCC_1V2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
vcc_3v3_reg: DCDC_REG3 {
regulator-name = "VCC_3V3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vddfuse_reg: LDO_REG1 {
regulator-name = "FUSE_2V5";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
};
vddana_reg: LDO_REG2 {
regulator-name = "VDDANA";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
vled_reg: LDO_REG3 {
regulator-name = "VLED";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
v3v8_rf_reg: LDO_REG4 {
regulator-name = "V3V8_RF";
regulator-min-microvolt = <3800000>;
regulator-max-microvolt = <3800000>;
regulator-always-on;
};
};
};
};
tcb0: timer@f0010000 {
timer@0 {
compatible = "atmel,tcb-timer";
reg = <0>;
};
timer@1 {
compatible = "atmel,tcb-timer";
reg = <1>;
};
};
usart0: serial@f001c000 {
status = "okay";
};
usart1: serial@f0020000 {
status = "okay";
};
pwm0: pwm@f002c000 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm0_pwmh0_1
&pinctrl_pwm0_pwmh1_1
&pinctrl_pwm0_pwmh2_0>;
status = "okay";
};
adc0: adc@f8018000 {
atmel,adc-vref = <3333>;
status = "okay";
};
usart2: serial@f8020000 {
status = "okay";
};
macb1: ethernet@f802c000 {
phy-mode = "rmii";
status = "okay";
};
dbgu: serial@ffffee00 {
status = "okay";
};
watchdog@fffffe40 {
status = "okay";
};
};
usb1: ohci@600000 {
status = "okay";
};
usb2: ehci@700000 {
status = "okay";
};
ebi: ebi@10000000 {
pinctrl-0 = <&pinctrl_ebi_nand_addr>;
pinctrl-names = "default";
status = "okay";
nand_controller: nand-controller {
status = "okay";
nand@3 {
reg = <0x3 0x0 0x2>;
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>;
};
ubi@20000 {
label = "ubi";
reg = <0x20000 0x7fe0000>;
};
};
};
};
};
};
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
prog {
label = "PB_PROG";
gpios = <&pioE 27 GPIO_ACTIVE_LOW>;
linux,code = <0x102>;
wakeup-source;
};
reset {
label = "PB_RST";
gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
linux,code = <0x100>;
wakeup-source;
};
user {
label = "PB_USER";
gpios = <&pioE 31 GPIO_ACTIVE_HIGH>;
linux,code = <0x101>;
wakeup-source;
};
};
pwm_leds {
compatible = "pwm-leds";
blue {
label = "pwm:blue:user";
pwms = <&pwm0 2 10000000 0>;
max-brightness = <255>;
linux,default-trigger = "default-on";
};
green {
label = "pwm:green:user";
pwms = <&pwm0 1 10000000 0>;
max-brightness = <255>;
linux,default-trigger = "default-on";
};
red {
label = "pwm:red:user";
pwms = <&pwm0 0 10000000 0>;
max-brightness = <255>;
linux,default-trigger = "default-on";
};
};
};