Message ID | 20191021125804.23856-2-kamel.bouhara@bootlin.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2,1/2] dt-bindings: arm: at91: Document Kizbox2-2 board binding | expand |
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 <k.raymond@overkiz.com> > Signed-off-by: Mickael GARDET <m.gardet@overkiz.com> > Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com> > --- > 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 <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"; > +}; > 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 <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>; > +}; > 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 <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"; > - }; > - }; > -}; > -- > 2.23.0 >
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 <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"; +}; 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 <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>; +}; 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 <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"; - }; - }; -};