Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: at91: add smartkiz support and a common kizboxmini dtsi file

Split the existing Kizbox Mini boards into three board configuration,
the base board, the mother board and the RailDIN board.
Add a new dts file for the SmartKiz board support.

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/20191220103835.160154-2-kamel.bouhara@bootlin.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

authored by

Kamel Bouhara and committed by
Alexandre Belloni
414002bc d9b6867e

+382 -172
+4 -1
arch/arm/boot/dts/Makefile
··· 37 37 at91-ariag25.dtb \ 38 38 at91-ariettag25.dtb \ 39 39 at91-cosino_mega2560.dtb \ 40 - at91-kizboxmini.dtb \ 40 + at91-kizboxmini-base.dtb \ 41 + at91-kizboxmini-mb.dtb \ 42 + at91-kizboxmini-rd.dtb \ 43 + at91-smartkiz.dtb \ 41 44 at91-wb45n.dtb \ 42 45 at91sam9g15ek.dtb \ 43 46 at91sam9g25ek.dtb \
+24
arch/arm/boot/dts/at91-kizboxmini-base.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0-or-later 2 + /* 3 + * at91-kizboxmini-base.dts - Device Tree file for Overkiz Kizbox mini 4 + * base board 5 + * 6 + * Copyright (C) 2015 Overkiz SAS 7 + * Author: Antoine Aubert <a.aubert@overkiz.com> 8 + * Kévin Raymond <k.raymond@overkiz.com> 9 + */ 10 + /dts-v1/; 11 + #include "at91-kizboxmini-common.dtsi" 12 + 13 + / { 14 + model = "Overkiz Kizbox Mini"; 15 + compatible = "overkiz,kizboxmini-base", "atmel,at91sam9g25", 16 + "atmel,at91sam9x5", "atmel,at91sam9"; 17 + }; 18 + 19 + &pinctrl_usart0 { 20 + atmel,pins = 21 + <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 22 + AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_NONE 23 + AT91_PIOA 2 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; 24 + };
+170
arch/arm/boot/dts/at91-kizboxmini-common.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * at91-kizboxmini.dts - Device Tree file for Overkiz Kizbox mini board 4 + * 5 + * Copyright (C) 2014-2018 Overkiz SAS 6 + * Author: Antoine Aubert <a.aubert@overkiz.com> 7 + * Gaël Portay <g.portay@overkiz.com> 8 + * Kévin Raymond <k.raymond@overkiz.com> 9 + * Dorian Rocipon <d.rocipon@overkiz.com> 10 + */ 11 + #include "at91sam9g25.dtsi" 12 + 13 + / { 14 + chosen { 15 + bootargs = "ubi.mtd=ubi"; 16 + stdout-path = &dbgu; 17 + }; 18 + 19 + memory { 20 + reg = <0x20000000 0x8000000>; 21 + }; 22 + 23 + clocks { 24 + main_xtal { 25 + clock-frequency = <12000000>; 26 + }; 27 + 28 + slow_xtal { 29 + clock-frequency = <32768>; 30 + }; 31 + 32 + adc_op_clk { 33 + status = "disabled"; 34 + }; 35 + }; 36 + 37 + gpio_keys { 38 + compatible = "gpio-keys"; 39 + #address-cells = <1>; 40 + #size-cells = <0>; 41 + 42 + prog { 43 + label = "PB_PROG"; 44 + gpios = <&pioC 17 GPIO_ACTIVE_LOW>; 45 + linux,code = <0x102>; 46 + wakeup-source; 47 + }; 48 + 49 + reset { 50 + label = "PB_RST"; 51 + gpios = <&pioC 16 GPIO_ACTIVE_LOW>; 52 + linux,code = <0x100>; 53 + wakeup-source; 54 + }; 55 + }; 56 + 57 + leds: pwm_leds { 58 + compatible = "pwm-leds"; 59 + 60 + led_blue: pwm_blue { 61 + label = "pwm:blue:user"; 62 + pwms = <&pwm0 2 10000000 0>; 63 + max-brightness = <255>; 64 + linux,default-trigger = "none"; 65 + status = "disabled"; 66 + }; 67 + 68 + led_green: pwm_green { 69 + label = "pwm:green:user"; 70 + pwms = <&pwm0 0 10000000 0>; 71 + max-brightness = <255>; 72 + linux,default-trigger = "default-on"; 73 + }; 74 + 75 + led_red: pwm_red { 76 + label = "pwm:red:user"; 77 + pwms = <&pwm0 1 10000000 0>; 78 + max-brightness = <255>; 79 + linux,default-trigger = "default-on"; 80 + }; 81 + }; 82 + }; 83 + 84 + &usart0 { 85 + atmel,use-dma-rx; 86 + atmel,use-dma-tx; 87 + status = "okay"; 88 + }; 89 + 90 + &macb0 { 91 + phy-mode = "rmii"; 92 + status = "okay"; 93 + }; 94 + 95 + &pwm0 { 96 + pinctrl-names = "default"; 97 + pinctrl-0 = <&pinctrl_pwm0_pwm0_1 98 + &pinctrl_pwm0_pwm1_1 99 + &pinctrl_pwm0_pwm2_1>; 100 + status = "okay"; 101 + }; 102 + 103 + &dbgu { 104 + status = "okay"; 105 + }; 106 + 107 + &watchdog { 108 + status = "okay"; 109 + }; 110 + 111 + &adc0 { 112 + status = "disabled"; 113 + }; 114 + 115 + &rtc { 116 + status = "disabled"; 117 + }; 118 + 119 + &ebi { 120 + pinctrl-0 = <&pinctrl_ebi_addr_nand 121 + &pinctrl_ebi_data_0_7>; 122 + pinctrl-names = "default"; 123 + status = "okay"; 124 + }; 125 + 126 + &nand_controller { 127 + status = "okay"; 128 + pinctrl-0 = <&pinctrl_nand_oe_we 129 + &pinctrl_nand_cs 130 + &pinctrl_nand_rb>; 131 + pinctrl-names = "default"; 132 + 133 + nand@3 { 134 + reg = <0x3 0x0 0x800000>; 135 + rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>; 136 + cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>; 137 + nand-bus-width = <8>; 138 + nand-ecc-mode = "hw"; 139 + nand-ecc-strength = <4>; 140 + nand-ecc-step-size = <512>; 141 + nand-on-flash-bbt; 142 + label = "atmel_nand"; 143 + 144 + partitions { 145 + compatible = "fixed-partitions"; 146 + #address-cells = <1>; 147 + #size-cells = <1>; 148 + 149 + bootstrap@0 { 150 + label = "bootstrap"; 151 + reg = <0x0 0x20000>; 152 + }; 153 + 154 + ubi@20000 { 155 + label = "ubi"; 156 + reg = <0x20000 0x7fe0000>; 157 + }; 158 + }; 159 + }; 160 + }; 161 + 162 + &usb0 { 163 + num-ports = <1>; 164 + status = "okay"; 165 + }; 166 + 167 + &usb1 { 168 + status = "okay"; 169 + }; 170 +
+26
arch/arm/boot/dts/at91-kizboxmini-mb.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (C) 2015-2018 Overkiz SAS 4 + * Author: Mickael Gardet <m.gardet@overkiz.com> 5 + * Kévin Raymond <k.raymond@overkiz.com> 6 + */ 7 + /dts-v1/; 8 + #include "at91-kizboxmini-common.dtsi" 9 + 10 + / { 11 + model = "Overkiz Kizbox Mini Mother Board"; 12 + compatible = "overkiz,kizboxmini-mb", "atmel,at91sam9g25", 13 + "atmel,at91sam9x5", "atmel,at91sam9"; 14 + }; 15 + 16 + &usb0 { 17 + num-ports = <2>; 18 + }; 19 + 20 + &rtc { 21 + status = "okay"; 22 + }; 23 + 24 + &led_blue { 25 + status = "okay"; 26 + };
+49
arch/arm/boot/dts/at91-kizboxmini-rd.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (C) 2015-2018 Overkiz SAS 4 + * Author: Mickael Gardet <m.gardet@overkiz.com> 5 + * Kévin Raymond <k.raymond@overkiz.com> 6 + */ 7 + /dts-v1/; 8 + #include "at91-kizboxmini-common.dtsi" 9 + 10 + / { 11 + model = "Overkiz Kizbox Mini RailDIN"; 12 + compatible = "overkiz,kizboxmini-rd", "atmel,at91sam9g25", 13 + "atmel,at91sam9x5", "atmel,at91sam9"; 14 + 15 + clocks { 16 + adc_op_clk { 17 + status = "okay"; 18 + }; 19 + }; 20 + }; 21 + 22 + &pinctrl { 23 + adc0 { 24 + pinctrl_adc0_ad5: adc0_ad5-0 { 25 + /* pull-up disable */ 26 + atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 27 + }; 28 + }; 29 + }; 30 + 31 + &usart0 { 32 + status = "disabled"; 33 + }; 34 + 35 + &rtc { 36 + status = "okay"; 37 + }; 38 + 39 + &led_blue { 40 + status = "okay"; 41 + }; 42 + 43 + &adc0 { 44 + atmel,adc-vref = <2500>; 45 + pinctrl-names = "default"; 46 + pinctrl-0 = <&pinctrl_adc0_ad5>; 47 + atmel,adc-channels-used = <0x0020>; 48 + status = "okay"; 49 + };
-171
arch/arm/boot/dts/at91-kizboxmini.dts
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * at91-kizboxmini.dts - Device Tree file for Overkiz Kizbox mini board 4 - * 5 - * Copyright (C) 2014 Gaël PORTAY <g.portay@overkiz.com> 6 - */ 7 - /dts-v1/; 8 - #include "at91sam9g25.dtsi" 9 - #include <dt-bindings/pwm/pwm.h> 10 - 11 - / { 12 - model = "Overkiz Kizbox mini"; 13 - compatible = "overkiz,kizboxmini", "atmel,at91sam9g25", "atmel,at91sam9x5", "atmel,at91sam9"; 14 - 15 - chosen { 16 - bootargs = "ubi.mtd=ubi"; 17 - stdout-path = &dbgu; 18 - }; 19 - 20 - memory { 21 - reg = <0x20000000 0x8000000>; 22 - }; 23 - 24 - clocks { 25 - slow_xtal { 26 - clock-frequency = <32768>; 27 - }; 28 - 29 - main_xtal { 30 - clock-frequency = <12000000>; 31 - }; 32 - }; 33 - 34 - ahb { 35 - nand0: nand@40000000 { 36 - nand-bus-width = <8>; 37 - nand-ecc-mode = "hw"; 38 - atmel,has-pmecc; 39 - atmel,pmecc-cap = <4>; 40 - atmel,pmecc-sector-size = <512>; 41 - nand-on-flash-bbt; 42 - status = "okay"; 43 - }; 44 - }; 45 - 46 - gpio_keys { 47 - compatible = "gpio-keys"; 48 - #address-cells = <1>; 49 - #size-cells = <0>; 50 - 51 - prog { 52 - label = "PB_PROG"; 53 - gpios = <&pioC 17 GPIO_ACTIVE_LOW>; 54 - linux,code = <0x102>; 55 - wakeup-source; 56 - }; 57 - 58 - reset { 59 - label = "PB_RST"; 60 - gpios = <&pioC 16 GPIO_ACTIVE_LOW>; 61 - linux,code = <0x100>; 62 - wakeup-source; 63 - }; 64 - }; 65 - 66 - pwm_leds { 67 - compatible = "pwm-leds"; 68 - 69 - green { 70 - label = "pwm:green:user"; 71 - pwms = <&pwm0 0 10000000 0>; 72 - max-brightness = <255>; 73 - linux,default-trigger = "default-on"; 74 - }; 75 - 76 - red { 77 - label = "pwm:red:user"; 78 - pwms = <&pwm0 1 10000000 0>; 79 - max-brightness = <255>; 80 - linux,default-trigger = "default-on"; 81 - }; 82 - }; 83 - }; 84 - 85 - &dbgu { 86 - status = "okay"; 87 - }; 88 - 89 - &ebi { 90 - pinctrl-0 = <&pinctrl_ebi_addr_nand 91 - &pinctrl_ebi_data_0_7>; 92 - pinctrl-names = "default"; 93 - status = "okay"; 94 - 95 - nand-controller { 96 - pinctrl-0 = <&pinctrl_nand_oe_we 97 - &pinctrl_nand_cs 98 - &pinctrl_nand_rb>; 99 - pinctrl-names = "default"; 100 - status = "okay"; 101 - 102 - nand@3 { 103 - reg = <0x3 0x0 0x800000>; 104 - rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>; 105 - cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>; 106 - nand-bus-width = <8>; 107 - nand-ecc-mode = "hw"; 108 - nand-ecc-strength = <4>; 109 - nand-ecc-step-size = <512>; 110 - nand-on-flash-bbt; 111 - label = "atmel_nand"; 112 - 113 - partitions { 114 - compatible = "fixed-partitions"; 115 - #address-cells = <1>; 116 - #size-cells = <1>; 117 - 118 - bootstrap@0 { 119 - label = "bootstrap"; 120 - reg = <0x0 0x20000>; 121 - }; 122 - 123 - ubi@20000 { 124 - label = "ubi"; 125 - reg = <0x20000 0x7fe0000>; 126 - }; 127 - }; 128 - }; 129 - }; 130 - }; 131 - 132 - &macb0 { 133 - phy-mode = "rmii"; 134 - status = "okay"; 135 - }; 136 - 137 - &pwm0 { 138 - pinctrl-names = "default"; 139 - pinctrl-0 = <&pinctrl_pwm0_pwm0_1 140 - &pinctrl_pwm0_pwm1_1>; 141 - status = "okay"; 142 - }; 143 - 144 - &tcb0 { 145 - timer@0 { 146 - compatible = "atmel,tcb-timer"; 147 - reg = <0>; 148 - }; 149 - 150 - timer@1 { 151 - compatible = "atmel,tcb-timer"; 152 - reg = <1>; 153 - }; 154 - }; 155 - 156 - &usart0 { 157 - status = "okay"; 158 - }; 159 - 160 - &usb0 { 161 - num-ports = <1>; 162 - status = "okay"; 163 - }; 164 - 165 - &usb1 { 166 - status = "okay"; 167 - }; 168 - 169 - &watchdog { 170 - status = "okay"; 171 - };
+109
arch/arm/boot/dts/at91-smartkiz.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * Copyright (C) 2017-2018 Overkiz SAS 4 + * Author: Mickael Gardet <m.gardet@overkiz.com> 5 + * Kévin Raymond <k.raymond@overkiz.com> 6 + * Dorian Rocipon <d.rocipon@overkiz.com> 7 + */ 8 + /dts-v1/; 9 + #include "at91-kizboxmini-common.dtsi" 10 + 11 + / { 12 + model = "Overkiz SmartKiz"; 13 + compatible = "overkiz,smartkiz", "atmel,at91sam9g25", 14 + "atmel,at91sam9x5", "atmel,at91sam9"; 15 + 16 + clocks { 17 + adc_op_clk { 18 + status = "okay"; 19 + }; 20 + }; 21 + 22 + aliases { 23 + serial5 = &uart0; 24 + }; 25 + 26 + pio_keys { 27 + hk_reset { 28 + label = "HK_RESET"; 29 + gpios = <&pioC 13 GPIO_ACTIVE_HIGH>; 30 + }; 31 + 32 + power_rf { 33 + label = "POWER_RF"; 34 + gpios = <&pioA 20 GPIO_ACTIVE_HIGH>; 35 + }; 36 + 37 + power_wifi { 38 + label = "POWER_WIFI"; 39 + gpios = <&pioA 21 GPIO_ACTIVE_HIGH>; 40 + }; 41 + }; 42 + }; 43 + 44 + &pinctrl { 45 + i2c1 { 46 + pinctrl_i2c1: i2c1-0 { 47 + atmel,pins = 48 + <AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_PULL_UP 49 + AT91_PIOC 1 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>; 50 + }; 51 + }; 52 + 53 + adc0 { 54 + pinctrl_adc0_ad0: adc0_ad0-0 { 55 + /* pull-up disable */ 56 + atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 57 + }; 58 + pinctrl_adc0_ad5: adc0_ad5-0 { 59 + /* pull-up disable */ 60 + atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 61 + }; 62 + pinctrl_adc0_ad6: adc0_ad6-0 { 63 + /* pull-up disable */ 64 + atmel,pins = <AT91_PIOB 17 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 65 + }; 66 + pinctrl_adc0_ad11: adc0_ad11-0 { 67 + /* pull-up disable */ 68 + atmel,pins = <AT91_PIOB 10 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>; 69 + }; 70 + }; 71 + }; 72 + 73 + &i2c1 { 74 + dmas = <0>, <0>; 75 + pinctrl-0 = <&pinctrl_i2c1>; 76 + status = "disabled"; 77 + }; 78 + 79 + &macb0 { 80 + status = "disabled"; 81 + }; 82 + 83 + &rtc { 84 + status = "okay"; 85 + }; 86 + 87 + &leds { 88 + blue { 89 + status = "okay"; 90 + }; 91 + }; 92 + 93 + &adc0 { 94 + atmel,adc-vref = <2500>; 95 + pinctrl-names = "default"; 96 + pinctrl-0 = < 97 + &pinctrl_adc0_ad0 98 + &pinctrl_adc0_ad5 99 + &pinctrl_adc0_ad6 100 + &pinctrl_adc0_ad11 101 + >; 102 + atmel,adc-channels-used = <0x0861>; 103 + status = "okay"; 104 + }; 105 + 106 + &uart0 { 107 + status = "okay"; 108 + }; 109 +