2019-10-21 12:59:01

by Kamel BOUHARA

[permalink] [raw]
Subject: [PATCH v2 1/2] dt-bindings: arm: at91: Document Kizbox2-2 board binding

Document devicetree's binding for the Kizbox2-2 board of
Overkiz SAS based on SAMA5D31 SoC.

Signed-off-by: Kamel Bouhara <[email protected]>
---
Changes in v2:
- Removed other kizbox2 boards as the main difference between
them is the usart configuration, only add the two heads variant
for now.

Documentation/devicetree/bindings/arm/atmel-at91.yaml | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/atmel-at91.yaml b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
index c0869cb860f3..6dd8be401673 100644
--- a/Documentation/devicetree/bindings/arm/atmel-at91.yaml
+++ b/Documentation/devicetree/bindings/arm/atmel-at91.yaml
@@ -80,6 +80,13 @@ properties:
- const: atmel,sama5d3
- const: atmel,sama5

+ - description: Overkiz kizbox2 board with two heads
+ items:
+ - const: overkiz,kizbox2-2
+ - const: atmel,sama5d31
+ - const: atmel,sama5d3
+ - const: atmel,sama5
+
- items:
- enum:
- atmel,sama5d31
--
2.23.0


2019-10-21 12:59:44

by Kamel BOUHARA

[permalink] [raw]
Subject: [PATCH v2 2/2] 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 <[email protected]>
Signed-off-by: Mickael GARDET <[email protected]>
Signed-off-by: Kamel Bouhara <[email protected]>
---
Changes in v2:
- Replaced "_" by "-" in dts/dtsi file names
- Fixed unusual C++ Style comments

arch/arm/boot/dts/Makefile | 2 +-
arch/arm/boot/dts/at91-kizbox.dts | 173 +++++++-------
arch/arm/boot/dts/at91-kizbox2-2.dts | 26 +++
arch/arm/boot/dts/at91-kizbox2-common.dtsi | 258 +++++++++++++++++++++
arch/arm/boot/dts/at91-kizbox2.dts | 244 -------------------
5 files changed, 370 insertions(+), 333 deletions(-)
create mode 100644 arch/arm/boot/dts/at91-kizbox2-2.dts
create mode 100644 arch/arm/boot/dts/at91-kizbox2-common.dtsi
delete mode 100644 arch/arm/boot/dts/at91-kizbox2.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 3bda216c41be..4ac053115a8e 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -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 \
diff --git a/arch/arm/boot/dts/at91-kizbox.dts b/arch/arm/boot/dts/at91-kizbox.dts
index 90996eaf73b2..9eb1ea750159 100644
--- a/arch/arm/boot/dts/at91-kizbox.dts
+++ b/arch/arm/boot/dts/at91-kizbox.dts
@@ -28,85 +28,6 @@
};
};

- ahb {
- apb {
- tcb0: timer@fffa0000 {
- timer@0 {
- compatible = "atmel,tcb-timer";
- reg = <0>, <1>;
- };
-
- timer@2 {
- compatible = "atmel,tcb-timer";
- reg = <2>;
- };
- };
-
- macb0: ethernet@fffc4000 {
- phy-mode = "mii";
- pinctrl-0 = <&pinctrl_macb_rmii
- &pinctrl_macb_rmii_mii_alt>;
- status = "okay";
- };
-
- usart3: serial@fffd0000 {
- status = "okay";
- };
-
- dbgu: serial@fffff200 {
- status = "okay";
- };
-
- watchdog@fffffd40 {
- timeout-sec = <15>;
- atmel,max-heartbeat-sec = <16>;
- atmel,min-heartbeat-sec = <0>;
- status = "okay";
- };
- };
-
- usb0: ohci@500000 {
- num-ports = <1>;
- status = "okay";
- };
-
- ebi: ebi@10000000 {
- status = "okay";
-
- nand_controller: nand-controller {
- status = "okay";
- pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
- pinctrl-names = "default";
-
- nand@3 {
- reg = <0x3 0x0 0x800000>;
- rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
- cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
- nand-bus-width = <8>;
- nand-ecc-mode = "soft";
- 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>;
@@ -127,15 +48,6 @@
};
};

- i2c-gpio-0 {
- status = "okay";
-
- rtc: pcf8563@51 {
- compatible = "nxp,pcf8563";
- reg = <0x51>;
- };
- };
-
pwm_leds {
compatible = "pwm-leds";

@@ -179,3 +91,88 @@
&pinctrl_tcb1_tiob0>;
};
};
+
+&tcb0 {
+ timer@0 {
+ compatible = "atmel,tcb-timer";
+ reg = <0>, <1>;
+ };
+
+ timer@2 {
+ compatible = "atmel,tcb-timer";
+ reg = <2>;
+ };
+};
+
+&ebi {
+ status = "okay";
+};
+
+&nand_controller {
+ status = "okay";
+ pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
+ pinctrl-names = "default";
+
+ nand@3 {
+ reg = <0x3 0x0 0x800000>;
+ rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
+ cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
+ nand-bus-width = <8>;
+ nand-ecc-mode = "soft";
+ 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>;
+ };
+ };
+ };
+};
+
+&macb0 {
+ phy-mode = "mii";
+ pinctrl-0 = <&pinctrl_macb_rmii
+ &pinctrl_macb_rmii_mii_alt>;
+ status = "okay";
+};
+
+&usart3 {
+ status = "okay";
+};
+
+&dbgu {
+ status = "okay";
+};
+
+&watchdog {
+ timeout-sec = <15>;
+ atmel,max-heartbeat-sec = <16>;
+ atmel,min-heartbeat-sec = <0>;
+ status = "okay";
+};
+
+&usb0 {
+ num-ports = <1>;
+ status = "okay";
+};
+
+&i2c-gpio-0 {
+ status = "okay";
+
+ rtc: pcf8563@51 {
+ compatible = "nxp,pcf8563";
+ reg = <0x51>;
+ };
+};
+
diff --git a/arch/arm/boot/dts/at91-kizbox2-2.dts b/arch/arm/boot/dts/at91-kizbox2-2.dts
new file mode 100644
index 000000000000..cab8b3579efa
--- /dev/null
+++ b/arch/arm/boot/dts/at91-kizbox2-2.dts
@@ -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 <[email protected]>
+ * Kévin Raymond <[email protected]>
+ */
+/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";
+};
diff --git a/arch/arm/boot/dts/at91-kizbox2-common.dtsi b/arch/arm/boot/dts/at91-kizbox2-common.dtsi
new file mode 100644
index 000000000000..af38253a6e7a
--- /dev/null
+++ b/arch/arm/boot/dts/at91-kizbox2-common.dtsi
@@ -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 <[email protected]>
+ * Gaël Portay <[email protected]>
+ * Kévin Raymond <[email protected]>
+ */
+#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>;
+};
diff --git a/arch/arm/boot/dts/at91-kizbox2.dts b/arch/arm/boot/dts/at91-kizbox2.dts
deleted file mode 100644
index 86d821884bd4..000000000000
--- a/arch/arm/boot/dts/at91-kizbox2.dts
+++ /dev/null
@@ -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 <[email protected]>
- */
-/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";
- };
- };
-};
--
2.23.0

2019-10-22 12:09:41

by Alexandre Belloni

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] ARM: dts: at91: add a dts and dtsi file for kizbox2 based boards

On 21/10/2019 14:58:04+0200, Kamel Bouhara wrote:
> 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 <[email protected]>
> Signed-off-by: Mickael GARDET <[email protected]>
> Signed-off-by: Kamel Bouhara <[email protected]>
> ---
> Changes in v2:
> - Replaced "_" by "-" in dts/dtsi file names
> - Fixed unusual C++ Style comments
>
> arch/arm/boot/dts/Makefile | 2 +-
> arch/arm/boot/dts/at91-kizbox.dts | 173 +++++++-------

This change should be separated in a different patch.

> arch/arm/boot/dts/at91-kizbox2-2.dts | 26 +++
> arch/arm/boot/dts/at91-kizbox2-common.dtsi | 258 +++++++++++++++++++++
> arch/arm/boot/dts/at91-kizbox2.dts | 244 -------------------
> 5 files changed, 370 insertions(+), 333 deletions(-)
> create mode 100644 arch/arm/boot/dts/at91-kizbox2-2.dts
> create mode 100644 arch/arm/boot/dts/at91-kizbox2-common.dtsi
> delete mode 100644 arch/arm/boot/dts/at91-kizbox2.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 3bda216c41be..4ac053115a8e 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -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 \
> diff --git a/arch/arm/boot/dts/at91-kizbox.dts b/arch/arm/boot/dts/at91-kizbox.dts
> index 90996eaf73b2..9eb1ea750159 100644
> --- a/arch/arm/boot/dts/at91-kizbox.dts
> +++ b/arch/arm/boot/dts/at91-kizbox.dts
> @@ -28,85 +28,6 @@
> };
> };
>
> - ahb {
> - apb {
> - tcb0: timer@fffa0000 {
> - timer@0 {
> - compatible = "atmel,tcb-timer";
> - reg = <0>, <1>;
> - };
> -
> - timer@2 {
> - compatible = "atmel,tcb-timer";
> - reg = <2>;
> - };
> - };
> -
> - macb0: ethernet@fffc4000 {
> - phy-mode = "mii";
> - pinctrl-0 = <&pinctrl_macb_rmii
> - &pinctrl_macb_rmii_mii_alt>;
> - status = "okay";
> - };
> -
> - usart3: serial@fffd0000 {
> - status = "okay";
> - };
> -
> - dbgu: serial@fffff200 {
> - status = "okay";
> - };
> -
> - watchdog@fffffd40 {
> - timeout-sec = <15>;
> - atmel,max-heartbeat-sec = <16>;
> - atmel,min-heartbeat-sec = <0>;
> - status = "okay";
> - };
> - };
> -
> - usb0: ohci@500000 {
> - num-ports = <1>;
> - status = "okay";
> - };
> -
> - ebi: ebi@10000000 {
> - status = "okay";
> -
> - nand_controller: nand-controller {
> - status = "okay";
> - pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
> - pinctrl-names = "default";
> -
> - nand@3 {
> - reg = <0x3 0x0 0x800000>;
> - rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
> - cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
> - nand-bus-width = <8>;
> - nand-ecc-mode = "soft";
> - 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>;
> @@ -127,15 +48,6 @@
> };
> };
>
> - i2c-gpio-0 {
> - status = "okay";
> -
> - rtc: pcf8563@51 {
> - compatible = "nxp,pcf8563";
> - reg = <0x51>;
> - };
> - };
> -
> pwm_leds {
> compatible = "pwm-leds";
>
> @@ -179,3 +91,88 @@
> &pinctrl_tcb1_tiob0>;
> };
> };
> +
> +&tcb0 {
> + timer@0 {
> + compatible = "atmel,tcb-timer";
> + reg = <0>, <1>;
> + };
> +
> + timer@2 {
> + compatible = "atmel,tcb-timer";
> + reg = <2>;
> + };
> +};
> +
> +&ebi {
> + status = "okay";
> +};
> +
> +&nand_controller {
> + status = "okay";
> + pinctrl-0 = <&pinctrl_nand_cs &pinctrl_nand_rb>;
> + pinctrl-names = "default";
> +
> + nand@3 {
> + reg = <0x3 0x0 0x800000>;
> + rb-gpios = <&pioC 13 GPIO_ACTIVE_HIGH>;
> + cs-gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
> + nand-bus-width = <8>;
> + nand-ecc-mode = "soft";
> + 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>;
> + };
> + };
> + };
> +};
> +
> +&macb0 {
> + phy-mode = "mii";
> + pinctrl-0 = <&pinctrl_macb_rmii
> + &pinctrl_macb_rmii_mii_alt>;
> + status = "okay";
> +};
> +
> +&usart3 {
> + status = "okay";
> +};
> +
> +&dbgu {
> + status = "okay";
> +};
> +
> +&watchdog {
> + timeout-sec = <15>;
> + atmel,max-heartbeat-sec = <16>;
> + atmel,min-heartbeat-sec = <0>;
> + status = "okay";
> +};
> +
> +&usb0 {
> + num-ports = <1>;
> + status = "okay";
> +};
> +
> +&i2c-gpio-0 {
> + status = "okay";
> +
> + rtc: pcf8563@51 {
> + compatible = "nxp,pcf8563";
> + reg = <0x51>;
> + };
> +};
> +
> diff --git a/arch/arm/boot/dts/at91-kizbox2-2.dts b/arch/arm/boot/dts/at91-kizbox2-2.dts
> new file mode 100644
> index 000000000000..cab8b3579efa
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91-kizbox2-2.dts
> @@ -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 <[email protected]>
> + * K?vin Raymond <[email protected]>
> + */
> +/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";
> +};
> diff --git a/arch/arm/boot/dts/at91-kizbox2-common.dtsi b/arch/arm/boot/dts/at91-kizbox2-common.dtsi
> new file mode 100644
> index 000000000000..af38253a6e7a
> --- /dev/null
> +++ b/arch/arm/boot/dts/at91-kizbox2-common.dtsi
> @@ -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 <[email protected]>
> + * Ga?l Portay <[email protected]>
> + * K?vin Raymond <[email protected]>
> + */
> +#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>;
> +};
> diff --git a/arch/arm/boot/dts/at91-kizbox2.dts b/arch/arm/boot/dts/at91-kizbox2.dts
> deleted file mode 100644
> index 86d821884bd4..000000000000
> --- a/arch/arm/boot/dts/at91-kizbox2.dts
> +++ /dev/null
> @@ -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 <[email protected]>
> - */
> -/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";
> - };
> - };
> -};
> --
> 2.23.0
>

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

2019-10-25 21:38:08

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] dt-bindings: arm: at91: Document Kizbox2-2 board binding

On Mon, 21 Oct 2019 14:58:03 +0200, Kamel Bouhara wrote:
> Document devicetree's binding for the Kizbox2-2 board of
> Overkiz SAS based on SAMA5D31 SoC.
>
> Signed-off-by: Kamel Bouhara <[email protected]>
> ---
> Changes in v2:
> - Removed other kizbox2 boards as the main difference between
> them is the usart configuration, only add the two heads variant
> for now.
>
> Documentation/devicetree/bindings/arm/atmel-at91.yaml | 7 +++++++
> 1 file changed, 7 insertions(+)
>

Reviewed-by: Rob Herring <[email protected]>