AT91 DT for 5.5

- New Overkiz Kizbox3 board
  - Rework of the other Kizbox device trees
  - New filters for i2c on sama5d4 and sama5d2
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEycoQi/giopmpPgB12wIijOdRNOUFAl3FE6AACgkQ2wIijOdR
 NOWlzw/9GYddDcAUC4ctJoXPpOboSXmvB3Ow+7AXc2aLWsaIFN+MdSkXU3VC61tX
 XEmMpcz1kOUZsyCi4eKj8QJdbnI9oWIWqBNgsaBXCx3w/HVfpVMsScZ+XjVFwgb5
 4jnmCEZa6oApe5ZBL0Rq0ud94lZr9OSZVs5kmcNihmSh/VUig5WjBYJY5ZBbJqgQ
 3U0Szy7LzCcieEKm+25ZIEtEi7S7M7n78CVrVDbFKJ69ISX6Vgy6fLlSwR7ROrQO
 L/UJ2NZfsp9WkBcfpODm943g0shJgZEUb7Lxocut9AgXmWkpaWzed9xcyuxOCHd/
 J7NWH1OlPvxME8GQ5zAnXKAW3imFK3k0QiSpnp6uAUAwVWVKNQ/lhvFnU8UVD2o3
 01fTIQZKQuIgfXwLzMyAxBbQYtpErdmFVp50tulSdBk6e/eITW10dCSqb9n+/zPR
 estI2vxZVXllAC4AoTFQBtEaKd34hODqrTGoye15mzj2emuL6rsV2ihTbFc6KY9s
 v26FYLIh9OPmcVFUOWWw2rojwNYHMXjrDWEH365ULhCPuW8e8ukKkoI8PYRRI0J3
 LcHJeCXSSMTPvXLFFP1Bnj5xksENKb343g+I4a3aQHjo/rEhZcnEmyahK8yjKSWa
 W+tsWwuzgXfHYfAx9PtgVRdXRCsho5AJ3jf0W+NsiuGfpTILs1U=
 =5cCb
 -----END PGP SIGNATURE-----

Merge tag 'at91-5.5-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/dt

AT91 DT for 5.5

 - New Overkiz Kizbox3 board
 - Rework of the other Kizbox device trees
 - New filters for i2c on sama5d4 and sama5d2

* tag 'at91-5.5-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: add a dts and dtsi file for kizbox2 based boards
  dt-bindings: arm: at91: Document Kizbox2-2 board binding
  ARM: dts: at91: sama5d4_xplained: add digital filter for i2c
  ARM: dts: at91: sama5d2_xplained: add analog and digital filter for i2c
  ARM: dts: at91: add Overkiz KIZBOX3 board
  dt-bindings: arm: at91: Document Kizbox3 HS board binding
  dt-bindings: Add vendor prefix for Overkiz SAS
  ARM: dts: at91: sama5d2: add an rtc label for derived boards
  ARM: dts: at91: sama5d27_som1_ek: add mmc capabilities for SDMMC0

Link: https://lore.kernel.org/r/20191108070938.GA215379@piout.net
Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2019-11-08 10:33:45 -08:00
commit fa9a2f9298
12 changed files with 1032 additions and 246 deletions

View file

@ -45,6 +45,13 @@ properties:
- const: atmel,at91sam9x5
- const: atmel,at91sam9
- description: Overkiz kizbox3 board
items:
- const: overkiz,kizbox3-hs
- const: atmel,sama5d27
- const: atmel,sama5d2
- const: atmel,sama5
- items:
- const: atmel,sama5d27
- const: atmel,sama5d2
@ -73,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

View file

@ -705,6 +705,8 @@ patternProperties:
description: Ortus Technology Co., Ltd.
"^osddisplays,.*":
description: OSD Displays
"^overkiz,.*":
description: Overkiz SAS
"^ovti,.*":
description: OmniVision Technologies
"^oxsemi,.*":

View file

@ -45,7 +45,8 @@ 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 \
at91-sama5d2_ptc_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";
};
};
};

View file

@ -0,0 +1,309 @@
// SPDX-License-Identifier: GPL-2.0
/*
* at91-kizbox3-hs.dts - Device Tree file for Overkiz KIZBOX3-HS board
*
* 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 "at91-kizbox3_common.dtsi"
/ {
model = "Overkiz KIZBOX3-HS";
compatible = "overkiz,kizbox3-hs", "atmel,sama5d2", "atmel,sama5";
pwm_leds {
status = "okay";
red {
status = "okay";
};
green {
status = "okay";
};
blue {
status = "okay";
};
white {
status = "okay";
};
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_led_red
&pinctrl_led_white>;
status = "okay";
red {
label = "pio:red:user";
gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
white {
label = "pio:white:user";
gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
gpio_keys {
compatible = "gpio-keys";
pinctrl-names = "default" , "default", "default",
"default", "default" ;
pinctrl-0 = <&pinctrl_key_gpio_default>;
pinctrl-1 = <&pinctrl_pio_rf &pinctrl_pio_wifi>;
pinctrl-2 = <&pinctrl_pio_io_boot
&pinctrl_pio_io_reset
&pinctrl_pio_io_test_radio>;
pinctrl-3 = <&pinctrl_pio_zbe_test_radio
&pinctrl_pio_zbe_rst>;
pinctrl-4 = <&pinctrl_pio_input>;
SW1 {
label = "SW1";
gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>;
linux,code = <0x101>;
wakeup-source;
};
SW2 {
label = "SW2";
gpios = <&pioA PIN_PA18 GPIO_ACTIVE_LOW>;
linux,code = <0x102>;
wakeup-source;
};
SW3 {
label = "SW3";
gpios = <&pioA PIN_PA22 GPIO_ACTIVE_LOW>;
linux,code = <0x103>;
wakeup-source;
};
SW7 {
label = "SW7";
gpios = <&pioA PIN_PA26 GPIO_ACTIVE_LOW>;
linux,code = <0x107>;
wakeup-source;
};
SW8 {
label = "SW8";
gpios = <&pioA PIN_PA24 GPIO_ACTIVE_LOW>;
linux,code = <0x108>;
wakeup-source;
};
};
gpios {
compatible = "gpio";
status = "okay";
rf_on {
label = "rf on";
gpio = <&pioA PIN_PC19 GPIO_ACTIVE_HIGH>;
output;
init-low;
};
wifi_on {
label = "wifi on";
gpio = <&pioA PIN_PC20 GPIO_ACTIVE_HIGH>;
output;
init-low;
};
zbe_test_radio {
label = "zbe test radio";
gpio = <&pioA PIN_PB21 GPIO_ACTIVE_HIGH>;
output;
init-low;
};
zbe_rst {
label = "zbe rst";
gpio = <&pioA PIN_PB25 GPIO_ACTIVE_HIGH>;
output;
init-low;
};
io_reset {
label = "io reset";
gpio = <&pioA PIN_PB30 GPIO_ACTIVE_HIGH>;
output;
init-low;
};
io_test_radio {
label = "io test radio";
gpio = <&pioA PIN_PC9 GPIO_ACTIVE_HIGH>;
output;
init-low;
};
io_boot_0 {
label = "io boot 0";
gpio = <&pioA PIN_PC11 GPIO_ACTIVE_HIGH>;
output;
init-low;
};
io_boot_1 {
label = "io boot 1";
gpio = <&pioA PIN_PC17 GPIO_ACTIVE_HIGH>;
output;
init-low;
};
verbose_bootloader {
label = "verbose bootloader";
gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>;
input;
};
nail_bed_detection {
label = "nail bed detection";
gpio = <&pioA PIN_PB12 GPIO_ACTIVE_HIGH>;
input;
};
id_usba {
label = "id usba";
gpio = <&pioA PIN_PC0 GPIO_ACTIVE_LOW>;
input;
};
};
};
&pioA {
pinctrl_key_gpio_default: key_gpio_default {
pinmux= <PIN_PA22__GPIO>,
<PIN_PA24__GPIO>,
<PIN_PA26__GPIO>,
<PIN_PA29__GPIO>,
<PIN_PA18__GPIO>;
bias-disable;
};
pinctrl_gpio {
pinctrl_pio_rf: gpio_rf {
pinmux = <PIN_PC19__GPIO>;
bias-disable;
};
pinctrl_pio_wifi: gpio_wifi {
pinmux = <PIN_PC20__GPIO>;
bias-disable;
};
pinctrl_pio_io_boot: gpio_io_boot {
pinmux =
<PIN_PC11__GPIO>,
<PIN_PC17__GPIO>;
bias-disable;
};
pinctrl_pio_io_test_radio: gpio_io_test_radio {
pinmux = <PIN_PC9__GPIO>;
bias-disable;
};
pinctrl_pio_zbe_test_radio: gpio_zbe_test_radio {
pinmux = <PIN_PB21__GPIO>;
bias-disable;
};
pinctrl_pio_zbe_rst: gpio_zbe_rst {
pinmux = <PIN_PB25__GPIO>;
bias-disable;
};
/* stm32 reset must be open drain (internal pull up) */
pinctrl_pio_io_reset: gpio_io_reset {
pinmux = <PIN_PB30__GPIO>;
bias-disable;
drive-open-drain = <1>;
output-low;
};
pinctrl_pio_input: gpio_input {
pinmux =
<PIN_PB11__GPIO>,
<PIN_PB12__GPIO>,
<PIN_PC0__GPIO>;
bias-disable;
};
};
pinctrl_leds {
pinctrl_led_red: led_red {
pinmux = <PIN_PB1__GPIO>;
bias-disable;
};
pinctrl_led_white: led_white {
pinmux = <PIN_PB8__GPIO>;
bias-disable;
};
};
};
&adc {
status = "okay";
};
&uart0 {
status = "okay";
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "okay";
};
&flx0 {
status = "okay";
uart5: serial@200 {
status = "okay";
};
};
&flx3 {
status = "okay";
uart6: serial@200 {
status = "okay";
};
};
&flx4 {
status = "okay";
i2c2: i2c@600 {
status = "okay";
};
};
&usb0 {
status = "okay";
};
&usb1 {
status = "okay";
};
&usb2 {
status = "okay";
};

View file

@ -0,0 +1,412 @@
// 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 = &uart6;
};
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_i2c2_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 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x400>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(11))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(12))>;
dma-names = "tx", "rx";
clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
clock-names = "usart";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx0_default>;
atmel,fifo-size = <32>;
atmel,use-dma-rx;
atmel,use-dma-tx;
status = "disabled";
};
};
&flx3 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
status = "disabled";
uart6: serial@200 {
compatible = "atmel,at91sam9260-usart";
reg = <0x200 0x400>;
interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(17))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(18))>;
dma-names = "tx", "rx";
clocks = <&pmc PMC_TYPE_PERIPHERAL 22>;
clock-names = "usart";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx3_default>;
atmel,fifo-size = <32>;
atmel,use-dma-rx;
atmel,use-dma-tx;
status = "disabled";
};
};
&flx4 {
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
status = "disabled";
i2c2: i2c@600 {
compatible = "atmel,sama5d2-i2c";
reg = <0x600 0x200>;
interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>;
dmas = <&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(19))>,
<&dma0
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
| AT91_XDMAC_DT_PERID(20))>;
dma-names = "tx", "rx";
#address-cells = <1>;
#size-cells = <0>;
clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx4_default>;
atmel,fifo-size = <16>;
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;
};
};

View file

@ -53,6 +53,7 @@
sdmmc0: sdio-host@a0000000 {
bus-width = <8>;
mmc-ddr-3_3v;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sdmmc0_default>;
status = "okay";

View file

@ -334,6 +334,9 @@
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flx4_default>;
atmel,fifo-size = <16>;
i2c-analog-filter;
i2c-digital-filter;
i2c-digital-filter-width-ns = <35>;
status = "okay";
};
};
@ -342,6 +345,9 @@
dmas = <0>, <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1_default>;
i2c-analog-filter;
i2c-digital-filter;
i2c-digital-filter-width-ns = <35>;
status = "okay";
at24@54 {

View file

@ -49,6 +49,7 @@
};
i2c0: i2c@f8014000 {
i2c-digital-filter;
status = "okay";
};

View file

@ -689,7 +689,7 @@
#clock-cells = <0>;
};
rtc@f80480b0 {
rtc: rtc@f80480b0 {
compatible = "atmel,at91rm9200-rtc";
reg = <0xf80480b0 0x30>;
interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;