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

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>

+1032 -246
+14
Documentation/devicetree/bindings/arm/atmel-at91.yaml
··· 45 45 - const: atmel,at91sam9x5 46 46 - const: atmel,at91sam9 47 47 48 + - description: Overkiz kizbox3 board 49 + items: 50 + - const: overkiz,kizbox3-hs 51 + - const: atmel,sama5d27 52 + - const: atmel,sama5d2 53 + - const: atmel,sama5 54 + 48 55 - items: 49 56 - const: atmel,sama5d27 50 57 - const: atmel,sama5d2 ··· 76 69 77 70 - items: 78 71 - const: axentia,linea 72 + - const: atmel,sama5d31 73 + - const: atmel,sama5d3 74 + - const: atmel,sama5 75 + 76 + - description: Overkiz kizbox2 board with two heads 77 + items: 78 + - const: overkiz,kizbox2-2 79 79 - const: atmel,sama5d31 80 80 - const: atmel,sama5d3 81 81 - const: atmel,sama5
+2
Documentation/devicetree/bindings/vendor-prefixes.yaml
··· 705 705 description: Ortus Technology Co., Ltd. 706 706 "^osddisplays,.*": 707 707 description: OSD Displays 708 + "^overkiz,.*": 709 + description: Overkiz SAS 708 710 "^ovti,.*": 709 711 description: OmniVision Technologies 710 712 "^oxsemi,.*":
+2 -1
arch/arm/boot/dts/Makefile
··· 45 45 at91sam9x25ek.dtb \ 46 46 at91sam9x35ek.dtb 47 47 dtb-$(CONFIG_SOC_SAM_V7) += \ 48 - at91-kizbox2.dtb \ 48 + at91-kizbox2-2.dtb \ 49 + at91-kizbox3-hs.dtb \ 49 50 at91-nattis-2-natte-2.dtb \ 50 51 at91-sama5d27_som1_ek.dtb \ 51 52 at91-sama5d2_ptc_ek.dtb \
+26
arch/arm/boot/dts/at91-kizbox2-2.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * at91-kizbox2-2.dts - Device Tree file for the Kizbox2 with 4 + * two head board 5 + * 6 + * Copyright (C) 2015 Overkiz SAS 7 + * 8 + * Authors: Antoine Aubert <a.aubert@overkiz.com> 9 + * Kévin Raymond <k.raymond@overkiz.com> 10 + */ 11 + /dts-v1/; 12 + #include "at91-kizbox2-common.dtsi" 13 + 14 + / { 15 + model = "Overkiz Kizbox 2 with two heads"; 16 + compatible = "overkiz,kizbox2-2", "atmel,sama5d31", 17 + "atmel,sama5d3", "atmel,sama5"; 18 + }; 19 + 20 + &usart1 { 21 + status = "okay"; 22 + }; 23 + 24 + &usart2 { 25 + status = "okay"; 26 + };
+258
arch/arm/boot/dts/at91-kizbox2-common.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * at91-kizbox2_common.dtsi - Device Tree Include file for 4 + * Overkiz Kizbox 2 family SoC 5 + * 6 + * Copyright (C) 2014-2018 Overkiz SAS 7 + * 8 + * Authors: Antoine Aubert <a.aubert@overkiz.com> 9 + * Gaël Portay <g.portay@overkiz.com> 10 + * Kévin Raymond <k.raymond@overkiz.com> 11 + */ 12 + #include "sama5d31.dtsi" 13 + 14 + / { 15 + chosen { 16 + bootargs = "ubi.mtd=ubi"; 17 + stdout-path = &dbgu; 18 + }; 19 + 20 + memory { 21 + reg = <0x20000000 0x10000000>; 22 + }; 23 + 24 + clocks { 25 + slow_xtal { 26 + clock-frequency = <32768>; 27 + }; 28 + 29 + main_xtal { 30 + clock-frequency = <12000000>; 31 + }; 32 + }; 33 + 34 + gpio_keys { 35 + compatible = "gpio-keys"; 36 + #address-cells = <1>; 37 + #size-cells = <0>; 38 + 39 + prog { 40 + label = "PB_PROG"; 41 + gpios = <&pioE 27 GPIO_ACTIVE_LOW>; 42 + linux,code = <0x102>; 43 + wakeup-source; 44 + }; 45 + 46 + reset { 47 + label = "PB_RST"; 48 + gpios = <&pioE 29 GPIO_ACTIVE_LOW>; 49 + linux,code = <0x100>; 50 + wakeup-source; 51 + }; 52 + 53 + user { 54 + label = "PB_USER"; 55 + gpios = <&pioE 31 GPIO_ACTIVE_HIGH>; 56 + linux,code = <0x101>; 57 + wakeup-source; 58 + }; 59 + }; 60 + 61 + pwm_leds { 62 + compatible = "pwm-leds"; 63 + 64 + blue { 65 + label = "pwm:blue:user"; 66 + pwms = <&pwm0 2 10000000 0>; 67 + max-brightness = <255>; 68 + linux,default-trigger = "none"; 69 + }; 70 + 71 + green { 72 + label = "pwm:green:user"; 73 + pwms = <&pwm0 1 10000000 0>; 74 + max-brightness = <255>; 75 + linux,default-trigger = "default-on"; 76 + }; 77 + 78 + red { 79 + label = "pwm:red:user"; 80 + pwms = <&pwm0 0 10000000 0>; 81 + max-brightness = <255>; 82 + linux,default-trigger = "default-on"; 83 + }; 84 + }; 85 + }; 86 + 87 + &i2c1 { 88 + status = "okay"; 89 + 90 + pmic: act8865@5b { 91 + compatible = "active-semi,act8865"; 92 + reg = <0x5b>; 93 + status = "okay"; 94 + 95 + regulators { 96 + vcc_1v8_reg: DCDC_REG1 { 97 + regulator-name = "VCC_1V8"; 98 + regulator-min-microvolt = <1800000>; 99 + regulator-max-microvolt = <1800000>; 100 + regulator-always-on; 101 + }; 102 + 103 + vcc_1v2_reg: DCDC_REG2 { 104 + regulator-name = "VCC_1V2"; 105 + regulator-min-microvolt = <1200000>; 106 + regulator-max-microvolt = <1200000>; 107 + regulator-always-on; 108 + }; 109 + 110 + vcc_3v3_reg: DCDC_REG3 { 111 + regulator-name = "VCC_3V3"; 112 + regulator-min-microvolt = <3300000>; 113 + regulator-max-microvolt = <3300000>; 114 + regulator-always-on; 115 + }; 116 + 117 + vddfuse_reg: LDO_REG1 { 118 + regulator-name = "FUSE_2V5"; 119 + regulator-min-microvolt = <2500000>; 120 + regulator-max-microvolt = <2500000>; 121 + }; 122 + 123 + vddana_reg: LDO_REG2 { 124 + regulator-name = "VDDANA"; 125 + regulator-min-microvolt = <3300000>; 126 + regulator-max-microvolt = <3300000>; 127 + regulator-always-on; 128 + }; 129 + 130 + vled_reg: LDO_REG3 { 131 + regulator-name = "VLED"; 132 + regulator-min-microvolt = <3300000>; 133 + regulator-max-microvolt = <3300000>; 134 + regulator-always-on; 135 + }; 136 + 137 + v3v8_rf_reg: LDO_REG4 { 138 + regulator-name = "V3V8_RF"; 139 + regulator-min-microvolt = <3800000>; 140 + regulator-max-microvolt = <3800000>; 141 + regulator-always-on; 142 + }; 143 + }; 144 + }; 145 + }; 146 + 147 + &usart0 { 148 + atmel,use-dma-rx; 149 + atmel,use-dma-tx; 150 + status = "disabled"; 151 + }; 152 + 153 + &usart1 { 154 + atmel,use-dma-rx; 155 + atmel,use-dma-tx; 156 + status = "disabled"; 157 + }; 158 + 159 + &usart2 { 160 + atmel,use-dma-rx; 161 + atmel,use-dma-tx; 162 + status = "disabled"; 163 + }; 164 + 165 + &pwm0 { 166 + pinctrl-names = "default"; 167 + pinctrl-0 = <&pinctrl_pwm0_pwmh0_1 168 + &pinctrl_pwm0_pwmh1_1 169 + &pinctrl_pwm0_pwmh2_0>; 170 + status = "okay"; 171 + }; 172 + 173 + &adc0 { 174 + atmel,adc-vref = <3333>; 175 + status = "okay"; 176 + }; 177 + 178 + &macb1 { 179 + phy-mode = "rmii"; 180 + status = "okay"; 181 + }; 182 + 183 + &dbgu { 184 + status = "okay"; 185 + }; 186 + 187 + &watchdog { 188 + status = "okay"; 189 + }; 190 + 191 + &ebi { 192 + pinctrl-0 = <&pinctrl_ebi_nand_addr>; 193 + pinctrl-names = "default"; 194 + status = "okay"; 195 + }; 196 + 197 + &nand_controller { 198 + status = "okay"; 199 + 200 + nand@3 { 201 + reg = <0x3 0x0 0x2>; 202 + atmel,rb = <0>; 203 + nand-bus-width = <8>; 204 + nand-ecc-mode = "hw"; 205 + nand-ecc-strength = <4>; 206 + nand-ecc-step-size = <512>; 207 + nand-on-flash-bbt; 208 + label = "atmel_nand"; 209 + 210 + partitions { 211 + compatible = "fixed-partitions"; 212 + #address-cells = <1>; 213 + #size-cells = <1>; 214 + 215 + bootstrap@0 { 216 + label = "bootstrap"; 217 + reg = <0x0 0x20000>; 218 + }; 219 + 220 + ubi@20000 { 221 + label = "ubi"; 222 + reg = <0x20000 0x7fe0000>; 223 + }; 224 + }; 225 + }; 226 + }; 227 + 228 + &usb1 { 229 + status = "okay"; 230 + }; 231 + 232 + &usb2 { 233 + status = "okay"; 234 + }; 235 + 236 + /* WMBUS (inverted with IO in the latest schematic) */ 237 + &pinctrl_usart0 { 238 + atmel,pins = 239 + <AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE 240 + AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 241 + AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; 242 + }; 243 + 244 + /* RTS */ 245 + &pinctrl_usart1 { 246 + atmel,pins = 247 + <AT91_PIOB 28 AT91_PERIPH_A AT91_PINCTRL_NONE 248 + AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_PULL_UP 249 + AT91_PIOE 7 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; 250 + }; 251 + 252 + /* IO (inverted with WMBUS in the latest schematic) */ 253 + &pinctrl_usart2 { 254 + atmel,pins = 255 + <AT91_PIOE 25 AT91_PERIPH_B AT91_PINCTRL_NONE 256 + AT91_PIOE 26 AT91_PERIPH_B AT91_PINCTRL_PULL_UP 257 + AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_MULTI_DRIVE>; 258 + };
-244
arch/arm/boot/dts/at91-kizbox2.dts
··· 1 - // SPDX-License-Identifier: GPL-2.0-or-later 2 - /* 3 - * at91-kizbox2.dts - Device Tree file for Overkiz Kizbox 2 board 4 - * 5 - * Copyright (C) 2014 Gaël PORTAY <g.portay@overkiz.com> 6 - */ 7 - /dts-v1/; 8 - #include "sama5d31.dtsi" 9 - #include <dt-bindings/pwm/pwm.h> 10 - 11 - / { 12 - model = "Overkiz Kizbox 2"; 13 - compatible = "overkiz,kizbox2", "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5"; 14 - 15 - chosen { 16 - bootargs = "ubi.mtd=ubi"; 17 - stdout-path = &dbgu; 18 - }; 19 - 20 - memory { 21 - reg = <0x20000000 0x10000000>; 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 - apb { 36 - i2c1: i2c@f0018000 { 37 - status = "okay"; 38 - 39 - pmic: act8865@5b { 40 - compatible = "active-semi,act8865"; 41 - reg = <0x5b>; 42 - status = "okay"; 43 - 44 - regulators { 45 - vcc_1v8_reg: DCDC_REG1 { 46 - regulator-name = "VCC_1V8"; 47 - regulator-min-microvolt = <1800000>; 48 - regulator-max-microvolt = <1800000>; 49 - regulator-always-on; 50 - }; 51 - 52 - vcc_1v2_reg: DCDC_REG2 { 53 - regulator-name = "VCC_1V2"; 54 - regulator-min-microvolt = <1200000>; 55 - regulator-max-microvolt = <1200000>; 56 - regulator-always-on; 57 - }; 58 - 59 - vcc_3v3_reg: DCDC_REG3 { 60 - regulator-name = "VCC_3V3"; 61 - regulator-min-microvolt = <3300000>; 62 - regulator-max-microvolt = <3300000>; 63 - regulator-always-on; 64 - }; 65 - 66 - vddfuse_reg: LDO_REG1 { 67 - regulator-name = "FUSE_2V5"; 68 - regulator-min-microvolt = <2500000>; 69 - regulator-max-microvolt = <2500000>; 70 - }; 71 - 72 - vddana_reg: LDO_REG2 { 73 - regulator-name = "VDDANA"; 74 - regulator-min-microvolt = <3300000>; 75 - regulator-max-microvolt = <3300000>; 76 - regulator-always-on; 77 - }; 78 - 79 - vled_reg: LDO_REG3 { 80 - regulator-name = "VLED"; 81 - regulator-min-microvolt = <3300000>; 82 - regulator-max-microvolt = <3300000>; 83 - regulator-always-on; 84 - }; 85 - 86 - v3v8_rf_reg: LDO_REG4 { 87 - regulator-name = "V3V8_RF"; 88 - regulator-min-microvolt = <3800000>; 89 - regulator-max-microvolt = <3800000>; 90 - regulator-always-on; 91 - }; 92 - }; 93 - }; 94 - }; 95 - 96 - tcb0: timer@f0010000 { 97 - timer@0 { 98 - compatible = "atmel,tcb-timer"; 99 - reg = <0>; 100 - }; 101 - 102 - timer@1 { 103 - compatible = "atmel,tcb-timer"; 104 - reg = <1>; 105 - }; 106 - }; 107 - 108 - usart0: serial@f001c000 { 109 - status = "okay"; 110 - }; 111 - 112 - usart1: serial@f0020000 { 113 - status = "okay"; 114 - }; 115 - 116 - pwm0: pwm@f002c000 { 117 - pinctrl-names = "default"; 118 - pinctrl-0 = <&pinctrl_pwm0_pwmh0_1 119 - &pinctrl_pwm0_pwmh1_1 120 - &pinctrl_pwm0_pwmh2_0>; 121 - status = "okay"; 122 - }; 123 - 124 - adc0: adc@f8018000 { 125 - atmel,adc-vref = <3333>; 126 - status = "okay"; 127 - }; 128 - 129 - usart2: serial@f8020000 { 130 - status = "okay"; 131 - }; 132 - 133 - macb1: ethernet@f802c000 { 134 - phy-mode = "rmii"; 135 - status = "okay"; 136 - }; 137 - 138 - dbgu: serial@ffffee00 { 139 - status = "okay"; 140 - }; 141 - 142 - watchdog@fffffe40 { 143 - status = "okay"; 144 - }; 145 - }; 146 - 147 - usb1: ohci@600000 { 148 - status = "okay"; 149 - }; 150 - 151 - usb2: ehci@700000 { 152 - status = "okay"; 153 - }; 154 - 155 - ebi: ebi@10000000 { 156 - pinctrl-0 = <&pinctrl_ebi_nand_addr>; 157 - pinctrl-names = "default"; 158 - status = "okay"; 159 - 160 - nand_controller: nand-controller { 161 - status = "okay"; 162 - 163 - nand@3 { 164 - reg = <0x3 0x0 0x2>; 165 - atmel,rb = <0>; 166 - nand-bus-width = <8>; 167 - nand-ecc-mode = "hw"; 168 - nand-ecc-strength = <4>; 169 - nand-ecc-step-size = <512>; 170 - nand-on-flash-bbt; 171 - label = "atmel_nand"; 172 - 173 - partitions { 174 - compatible = "fixed-partitions"; 175 - #address-cells = <1>; 176 - #size-cells = <1>; 177 - 178 - bootstrap@0 { 179 - label = "bootstrap"; 180 - reg = <0x0 0x20000>; 181 - }; 182 - 183 - ubi@20000 { 184 - label = "ubi"; 185 - reg = <0x20000 0x7fe0000>; 186 - }; 187 - }; 188 - }; 189 - }; 190 - }; 191 - }; 192 - 193 - gpio_keys { 194 - compatible = "gpio-keys"; 195 - #address-cells = <1>; 196 - #size-cells = <0>; 197 - 198 - prog { 199 - label = "PB_PROG"; 200 - gpios = <&pioE 27 GPIO_ACTIVE_LOW>; 201 - linux,code = <0x102>; 202 - wakeup-source; 203 - }; 204 - 205 - reset { 206 - label = "PB_RST"; 207 - gpios = <&pioE 29 GPIO_ACTIVE_LOW>; 208 - linux,code = <0x100>; 209 - wakeup-source; 210 - }; 211 - 212 - user { 213 - label = "PB_USER"; 214 - gpios = <&pioE 31 GPIO_ACTIVE_HIGH>; 215 - linux,code = <0x101>; 216 - wakeup-source; 217 - }; 218 - }; 219 - 220 - pwm_leds { 221 - compatible = "pwm-leds"; 222 - 223 - blue { 224 - label = "pwm:blue:user"; 225 - pwms = <&pwm0 2 10000000 0>; 226 - max-brightness = <255>; 227 - linux,default-trigger = "default-on"; 228 - }; 229 - 230 - green { 231 - label = "pwm:green:user"; 232 - pwms = <&pwm0 1 10000000 0>; 233 - max-brightness = <255>; 234 - linux,default-trigger = "default-on"; 235 - }; 236 - 237 - red { 238 - label = "pwm:red:user"; 239 - pwms = <&pwm0 0 10000000 0>; 240 - max-brightness = <255>; 241 - linux,default-trigger = "default-on"; 242 - }; 243 - }; 244 - };
+309
arch/arm/boot/dts/at91-kizbox3-hs.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * at91-kizbox3-hs.dts - Device Tree file for Overkiz KIZBOX3-HS board 4 + * 5 + * Copyright (C) 2018 Overkiz SAS 6 + * 7 + * Authors: Dorian Rocipon <d.rocipon@overkiz.com> 8 + * Kevin Carli <k.carli@overkiz.com> 9 + * Mickael Gardet <m.gardet@overkiz.com> 10 + */ 11 + /dts-v1/; 12 + #include "at91-kizbox3_common.dtsi" 13 + 14 + / { 15 + model = "Overkiz KIZBOX3-HS"; 16 + compatible = "overkiz,kizbox3-hs", "atmel,sama5d2", "atmel,sama5"; 17 + 18 + pwm_leds { 19 + status = "okay"; 20 + 21 + red { 22 + status = "okay"; 23 + }; 24 + 25 + green { 26 + status = "okay"; 27 + }; 28 + 29 + blue { 30 + status = "okay"; 31 + }; 32 + 33 + white { 34 + status = "okay"; 35 + }; 36 + }; 37 + 38 + leds { 39 + compatible = "gpio-leds"; 40 + pinctrl-names = "default"; 41 + pinctrl-0 = <&pinctrl_led_red 42 + &pinctrl_led_white>; 43 + status = "okay"; 44 + 45 + red { 46 + label = "pio:red:user"; 47 + gpios = <&pioA PIN_PB1 GPIO_ACTIVE_HIGH>; 48 + default-state = "off"; 49 + }; 50 + 51 + white { 52 + label = "pio:white:user"; 53 + gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>; 54 + default-state = "off"; 55 + }; 56 + }; 57 + 58 + gpio_keys { 59 + compatible = "gpio-keys"; 60 + pinctrl-names = "default" , "default", "default", 61 + "default", "default" ; 62 + pinctrl-0 = <&pinctrl_key_gpio_default>; 63 + pinctrl-1 = <&pinctrl_pio_rf &pinctrl_pio_wifi>; 64 + pinctrl-2 = <&pinctrl_pio_io_boot 65 + &pinctrl_pio_io_reset 66 + &pinctrl_pio_io_test_radio>; 67 + pinctrl-3 = <&pinctrl_pio_zbe_test_radio 68 + &pinctrl_pio_zbe_rst>; 69 + pinctrl-4 = <&pinctrl_pio_input>; 70 + 71 + SW1 { 72 + label = "SW1"; 73 + gpios = <&pioA PIN_PA29 GPIO_ACTIVE_LOW>; 74 + linux,code = <0x101>; 75 + wakeup-source; 76 + }; 77 + 78 + SW2 { 79 + label = "SW2"; 80 + gpios = <&pioA PIN_PA18 GPIO_ACTIVE_LOW>; 81 + linux,code = <0x102>; 82 + wakeup-source; 83 + }; 84 + 85 + SW3 { 86 + label = "SW3"; 87 + gpios = <&pioA PIN_PA22 GPIO_ACTIVE_LOW>; 88 + linux,code = <0x103>; 89 + wakeup-source; 90 + }; 91 + 92 + SW7 { 93 + label = "SW7"; 94 + gpios = <&pioA PIN_PA26 GPIO_ACTIVE_LOW>; 95 + linux,code = <0x107>; 96 + wakeup-source; 97 + }; 98 + 99 + SW8 { 100 + label = "SW8"; 101 + gpios = <&pioA PIN_PA24 GPIO_ACTIVE_LOW>; 102 + linux,code = <0x108>; 103 + wakeup-source; 104 + }; 105 + }; 106 + 107 + gpios { 108 + compatible = "gpio"; 109 + status = "okay"; 110 + 111 + rf_on { 112 + label = "rf on"; 113 + gpio = <&pioA PIN_PC19 GPIO_ACTIVE_HIGH>; 114 + output; 115 + init-low; 116 + }; 117 + 118 + wifi_on { 119 + label = "wifi on"; 120 + gpio = <&pioA PIN_PC20 GPIO_ACTIVE_HIGH>; 121 + output; 122 + init-low; 123 + }; 124 + 125 + zbe_test_radio { 126 + label = "zbe test radio"; 127 + gpio = <&pioA PIN_PB21 GPIO_ACTIVE_HIGH>; 128 + output; 129 + init-low; 130 + }; 131 + 132 + zbe_rst { 133 + label = "zbe rst"; 134 + gpio = <&pioA PIN_PB25 GPIO_ACTIVE_HIGH>; 135 + output; 136 + init-low; 137 + }; 138 + 139 + io_reset { 140 + label = "io reset"; 141 + gpio = <&pioA PIN_PB30 GPIO_ACTIVE_HIGH>; 142 + output; 143 + init-low; 144 + }; 145 + 146 + io_test_radio { 147 + label = "io test radio"; 148 + gpio = <&pioA PIN_PC9 GPIO_ACTIVE_HIGH>; 149 + output; 150 + init-low; 151 + }; 152 + 153 + io_boot_0 { 154 + label = "io boot 0"; 155 + gpio = <&pioA PIN_PC11 GPIO_ACTIVE_HIGH>; 156 + output; 157 + init-low; 158 + }; 159 + 160 + io_boot_1 { 161 + label = "io boot 1"; 162 + gpio = <&pioA PIN_PC17 GPIO_ACTIVE_HIGH>; 163 + output; 164 + init-low; 165 + }; 166 + 167 + verbose_bootloader { 168 + label = "verbose bootloader"; 169 + gpio = <&pioA PIN_PB11 GPIO_ACTIVE_HIGH>; 170 + input; 171 + }; 172 + 173 + nail_bed_detection { 174 + label = "nail bed detection"; 175 + gpio = <&pioA PIN_PB12 GPIO_ACTIVE_HIGH>; 176 + input; 177 + }; 178 + 179 + id_usba { 180 + label = "id usba"; 181 + gpio = <&pioA PIN_PC0 GPIO_ACTIVE_LOW>; 182 + input; 183 + }; 184 + }; 185 + }; 186 + 187 + &pioA { 188 + pinctrl_key_gpio_default: key_gpio_default { 189 + pinmux= <PIN_PA22__GPIO>, 190 + <PIN_PA24__GPIO>, 191 + <PIN_PA26__GPIO>, 192 + <PIN_PA29__GPIO>, 193 + <PIN_PA18__GPIO>; 194 + bias-disable; 195 + }; 196 + 197 + pinctrl_gpio { 198 + pinctrl_pio_rf: gpio_rf { 199 + pinmux = <PIN_PC19__GPIO>; 200 + bias-disable; 201 + }; 202 + pinctrl_pio_wifi: gpio_wifi { 203 + pinmux = <PIN_PC20__GPIO>; 204 + bias-disable; 205 + }; 206 + pinctrl_pio_io_boot: gpio_io_boot { 207 + pinmux = 208 + <PIN_PC11__GPIO>, 209 + <PIN_PC17__GPIO>; 210 + bias-disable; 211 + }; 212 + pinctrl_pio_io_test_radio: gpio_io_test_radio { 213 + pinmux = <PIN_PC9__GPIO>; 214 + bias-disable; 215 + }; 216 + pinctrl_pio_zbe_test_radio: gpio_zbe_test_radio { 217 + pinmux = <PIN_PB21__GPIO>; 218 + bias-disable; 219 + }; 220 + pinctrl_pio_zbe_rst: gpio_zbe_rst { 221 + pinmux = <PIN_PB25__GPIO>; 222 + bias-disable; 223 + }; 224 + /* stm32 reset must be open drain (internal pull up) */ 225 + pinctrl_pio_io_reset: gpio_io_reset { 226 + pinmux = <PIN_PB30__GPIO>; 227 + bias-disable; 228 + drive-open-drain = <1>; 229 + output-low; 230 + }; 231 + pinctrl_pio_input: gpio_input { 232 + pinmux = 233 + <PIN_PB11__GPIO>, 234 + <PIN_PB12__GPIO>, 235 + <PIN_PC0__GPIO>; 236 + bias-disable; 237 + }; 238 + }; 239 + 240 + pinctrl_leds { 241 + pinctrl_led_red: led_red { 242 + pinmux = <PIN_PB1__GPIO>; 243 + bias-disable; 244 + }; 245 + pinctrl_led_white: led_white { 246 + pinmux = <PIN_PB8__GPIO>; 247 + bias-disable; 248 + }; 249 + }; 250 + }; 251 + 252 + &adc { 253 + status = "okay"; 254 + }; 255 + 256 + &uart0 { 257 + status = "okay"; 258 + }; 259 + 260 + &uart1 { 261 + status = "okay"; 262 + }; 263 + 264 + &uart2 { 265 + status = "okay"; 266 + }; 267 + 268 + &uart3 { 269 + status = "okay"; 270 + }; 271 + 272 + &uart4 { 273 + status = "okay"; 274 + }; 275 + 276 + &flx0 { 277 + status = "okay"; 278 + 279 + uart5: serial@200 { 280 + status = "okay"; 281 + }; 282 + }; 283 + 284 + &flx3 { 285 + status = "okay"; 286 + uart6: serial@200 { 287 + status = "okay"; 288 + }; 289 + }; 290 + 291 + &flx4 { 292 + status = "okay"; 293 + 294 + i2c2: i2c@600 { 295 + status = "okay"; 296 + }; 297 + }; 298 + 299 + &usb0 { 300 + status = "okay"; 301 + }; 302 + 303 + &usb1 { 304 + status = "okay"; 305 + }; 306 + 307 + &usb2 { 308 + status = "okay"; 309 + };
+412
arch/arm/boot/dts/at91-kizbox3_common.dtsi
··· 1 + // SPDX-License-Identifier: GPL-2.0 2 + /* 3 + * at91-kizbox3.dts - Device Tree Include file for Overkiz Kizbox 3 4 + * family SoC boards 5 + * 6 + * Copyright (C) 2018 Overkiz SAS 7 + * 8 + * Authors: Dorian Rocipon <d.rocipon@overkiz.com> 9 + * Kevin Carli <k.carli@overkiz.com> 10 + * Mickael Gardet <m.gardet@overkiz.com> 11 + */ 12 + /dts-v1/; 13 + #include "sama5d2.dtsi" 14 + #include "sama5d2-pinfunc.h" 15 + #include <dt-bindings/gpio/gpio.h> 16 + #include <dt-bindings/mfd/atmel-flexcom.h> 17 + #include <dt-bindings/pinctrl/at91.h> 18 + #include <dt-bindings/pwm/pwm.h> 19 + 20 + / { 21 + model = "Overkiz Kizbox3"; 22 + compatible = "overkiz,kizbox3", "atmel,sama5d2", "atmel,sama5"; 23 + 24 + aliases { 25 + serial0 = &uart0; 26 + serial1 = &uart1; 27 + serial2 = &uart2; 28 + serial3 = &uart3; 29 + serial4 = &uart4; 30 + serial5 = &uart5; 31 + serial6 = &uart6; 32 + }; 33 + 34 + chosen { 35 + bootargs = "ubi.mtd=ubi"; 36 + stdout-path = "serial1:115200n8"; 37 + }; 38 + 39 + clocks { 40 + slow_xtal { 41 + clock-frequency = <32768>; 42 + }; 43 + 44 + main_xtal { 45 + clock-frequency = <12000000>; 46 + }; 47 + }; 48 + 49 + vdd_adc_vddana: supply_3v3_ana { 50 + compatible = "regulator-fixed"; 51 + regulator-name = "adc-vddana"; 52 + regulator-min-microvolt = <3300000>; 53 + regulator-max-microvolt = <3300000>; 54 + regulator-always-on; 55 + }; 56 + 57 + vdd_adc_vref: supply_3v3_ref { 58 + compatible = "regulator-fixed"; 59 + regulator-name = "adc-vref"; 60 + regulator-min-microvolt = <3300000>; 61 + regulator-max-microvolt = <3300000>; 62 + regulator-always-on; 63 + }; 64 + 65 + pwm_leds { 66 + compatible = "pwm-leds"; 67 + pinctrl-names = "default"; 68 + pinctrl-0 = <&pinctrl_pwm0_pwm_h0 69 + &pinctrl_pwm0_pwm_h1 70 + &pinctrl_pwm0_pwm_h2 71 + &pinctrl_pwm0_pwm_h3>; 72 + status = "disabled"; 73 + 74 + red { 75 + label = "pwm:red:user"; 76 + pwms = <&pwm0 0 10000000 0>; 77 + max-brightness = <255>; 78 + linux,default-trigger = "default-on"; 79 + status = "disabled"; 80 + }; 81 + 82 + green { 83 + label = "pwm:green:user"; 84 + pwms = <&pwm0 1 10000000 0>; 85 + max-brightness = <255>; 86 + linux,default-trigger = "default-on"; 87 + status = "disabled"; 88 + }; 89 + 90 + blue { 91 + label = "pwm:blue:user"; 92 + pwms = <&pwm0 2 10000000 0>; 93 + max-brightness = <255>; 94 + status = "disabled"; 95 + }; 96 + 97 + white { 98 + label = "pwm:white:user"; 99 + pwms = <&pwm0 3 10000000 0>; 100 + max-brightness = <255>; 101 + status = "disabled"; 102 + }; 103 + }; 104 + }; 105 + 106 + &ebi { 107 + status = "okay"; 108 + }; 109 + 110 + &nand_controller { 111 + status = "okay"; 112 + 113 + nand@3 { 114 + pinctrl-0 = <&pinctrl_ebi_nand_addr>; 115 + pinctrl-names = "default"; 116 + reg = <0x3 0x0 0x800000>; 117 + 118 + atmel,rb = <0>; 119 + nand-bus-width = <8>; 120 + nand-ecc-mode = "hw"; 121 + nand-ecc-strength = <4>; 122 + nand-ecc-step-size = <512>; 123 + nand-on-flash-bbt; 124 + label = "atmel_nand"; 125 + 126 + partitions { 127 + compatible = "fixed-partitions"; 128 + #address-cells = <1>; 129 + #size-cells = <1>; 130 + 131 + bootstrap@0 { 132 + label = "bootstrap"; 133 + reg = <0x0 0x20000>; 134 + }; 135 + 136 + u-boot@20000 { 137 + label = "u-boot"; 138 + reg = <0x20000 0x140000>; 139 + }; 140 + 141 + u-boot-factory@160000 { 142 + label = "u-boot-factory"; 143 + reg = <0x160000 0x140000>; 144 + }; 145 + 146 + ubi@2A0000 { 147 + label = "ubi"; 148 + reg = <0x2A0000 0x7D60000>; 149 + }; 150 + }; 151 + 152 + }; 153 + }; 154 + 155 + &rtc { 156 + status = "okay"; 157 + }; 158 + 159 + &pioA { 160 + pinctrl_ebi_nand_addr: ebi-addr-1 { 161 + pinmux = <PIN_PA0__D0>, 162 + <PIN_PA1__D1>, 163 + <PIN_PA2__D2>, 164 + <PIN_PA3__D3>, 165 + <PIN_PA4__D4>, 166 + <PIN_PA5__D5>, 167 + <PIN_PA6__D6>, 168 + <PIN_PA7__D7>, 169 + <PIN_PA8__NWE_NANDWE>, 170 + <PIN_PA9__NCS3>, 171 + <PIN_PA10__A21_NANDALE>, 172 + <PIN_PA11__A22_NANDCLE>, 173 + <PIN_PA21__NANDRDY>; 174 + bias-disable; 175 + }; 176 + 177 + pinctrl_usart { 178 + pinctrl_usart_0: usart0-0 { 179 + pinmux = < PIN_PB26__URXD0>, <PIN_PB27__UTXD0>; 180 + bias-disable; 181 + }; 182 + pinctrl_usart_1: usart1-0 { 183 + pinmux = < PIN_PD2__URXD1>, <PIN_PD3__UTXD1>; 184 + bias-disable; 185 + }; 186 + pinctrl_usart_2: usart2-0 { 187 + pinmux = < PIN_PD4__URXD2>, <PIN_PD5__UTXD2>; 188 + bias-disable; 189 + }; 190 + pinctrl_usart_3: usart3-0 { 191 + pinmux = < PIN_PC12__URXD3>, <PIN_PC13__UTXD3>; 192 + bias-disable; 193 + }; 194 + pinctrl_usart_4: usart4-0 { 195 + pinmux = < PIN_PB3__URXD4>, <PIN_PB4__UTXD4>; 196 + bias-disable; 197 + }; 198 + pinctrl_flx0_default: flx0_usart_default { 199 + pinmux = <PIN_PB28__FLEXCOM0_IO0>, //TX 200 + <PIN_PB29__FLEXCOM0_IO1>; //RX 201 + bias-disable; 202 + }; 203 + pinctrl_flx3_default: flx3_usart_default { 204 + pinmux = <PIN_PB22__FLEXCOM3_IO1>, //RX 205 + <PIN_PB23__FLEXCOM3_IO0>; //TX 206 + bias-disable; 207 + }; 208 + }; 209 + 210 + pinctrl_flx4_default: flx4_i2c2_default { 211 + pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA 212 + <PIN_PD13__FLEXCOM4_IO1>; //CLK 213 + bias-disable; 214 + drive-open-drain = <1>; 215 + }; 216 + 217 + pinctrl_pwm0 { 218 + pinctrl_pwm0_pwm_h0: pwm0_pwm_h0 { 219 + pinmux = <PIN_PA30__PWMH0>; 220 + bias-disable; 221 + }; 222 + pinctrl_pwm0_pwm_h1: pwm0_pwmh1 { 223 + pinmux = <PIN_PB0__PWMH1>; 224 + bias-disable; 225 + }; 226 + pinctrl_pwm0_pwm_h2: pwm0_pwm_h2 { 227 + pinmux = <PIN_PB5__PWMH2>; 228 + bias-disable; 229 + }; 230 + pinctrl_pwm0_pwm_h3: pwm0_pwm_h3 { 231 + pinmux = <PIN_PB7__PWMH3>; 232 + bias-disable; 233 + }; 234 + }; 235 + 236 + pinctrl_adc { 237 + pinctrl_adc2: adc2 { 238 + pinmux = <PIN_PD21__GPIO>; 239 + bias-disable; 240 + }; 241 + pinctrl_adc3: adc3 { 242 + pinmux = <PIN_PD22__GPIO>; 243 + bias-disable; 244 + }; 245 + pinctrl_adc4: adc4 { 246 + pinmux = <PIN_PD23__GPIO>; 247 + bias-disable; 248 + }; 249 + pinctrl_adc5: adc5 { 250 + pinmux = <PIN_PD24__GPIO>; 251 + bias-disable; 252 + }; 253 + }; 254 + }; 255 + 256 + &uart0 { 257 + pinctrl-names = "default"; 258 + pinctrl-0 = <&pinctrl_usart_0>; 259 + atmel,use-dma-rx; 260 + atmel,use-dma-tx; 261 + status = "disabled"; 262 + }; 263 + 264 + /* debug uart */ 265 + &uart1 { 266 + pinctrl-names = "default"; 267 + pinctrl-0 = <&pinctrl_usart_1>; 268 + atmel,use-dma-rx; 269 + atmel,use-dma-tx; 270 + status = "disabled"; 271 + }; 272 + 273 + &uart2 { 274 + pinctrl-names = "default"; 275 + pinctrl-0 = <&pinctrl_usart_2>; 276 + atmel,use-dma-rx; 277 + atmel,use-dma-tx; 278 + status = "disabled"; 279 + }; 280 + 281 + &uart3 { 282 + pinctrl-names = "default"; 283 + pinctrl-0 = <&pinctrl_usart_3>; 284 + atmel,use-dma-rx; 285 + atmel,use-dma-tx; 286 + status = "disabled"; 287 + }; 288 + 289 + &uart4 { 290 + pinctrl-names = "default"; 291 + pinctrl-0 = <&pinctrl_usart_4>; 292 + atmel,use-dma-rx; 293 + atmel,use-dma-tx; 294 + status = "disabled"; 295 + }; 296 + 297 + &flx0 { 298 + atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 299 + status = "disabled"; 300 + 301 + uart5: serial@200 { 302 + compatible = "atmel,at91sam9260-usart"; 303 + reg = <0x200 0x400>; 304 + interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>; 305 + dmas = <&dma0 306 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 307 + | AT91_XDMAC_DT_PERID(11))>, 308 + <&dma0 309 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 310 + | AT91_XDMAC_DT_PERID(12))>; 311 + dma-names = "tx", "rx"; 312 + clocks = <&pmc PMC_TYPE_PERIPHERAL 19>; 313 + clock-names = "usart"; 314 + pinctrl-names = "default"; 315 + pinctrl-0 = <&pinctrl_flx0_default>; 316 + atmel,fifo-size = <32>; 317 + atmel,use-dma-rx; 318 + atmel,use-dma-tx; 319 + status = "disabled"; 320 + }; 321 + }; 322 + 323 + &flx3 { 324 + atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 325 + status = "disabled"; 326 + 327 + uart6: serial@200 { 328 + compatible = "atmel,at91sam9260-usart"; 329 + reg = <0x200 0x400>; 330 + interrupts = <22 IRQ_TYPE_LEVEL_HIGH 7>; 331 + dmas = <&dma0 332 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 333 + | AT91_XDMAC_DT_PERID(17))>, 334 + <&dma0 335 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 336 + | AT91_XDMAC_DT_PERID(18))>; 337 + dma-names = "tx", "rx"; 338 + clocks = <&pmc PMC_TYPE_PERIPHERAL 22>; 339 + clock-names = "usart"; 340 + pinctrl-names = "default"; 341 + pinctrl-0 = <&pinctrl_flx3_default>; 342 + atmel,fifo-size = <32>; 343 + atmel,use-dma-rx; 344 + atmel,use-dma-tx; 345 + status = "disabled"; 346 + }; 347 + }; 348 + 349 + &flx4 { 350 + atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 351 + status = "disabled"; 352 + 353 + i2c2: i2c@600 { 354 + compatible = "atmel,sama5d2-i2c"; 355 + reg = <0x600 0x200>; 356 + interrupts = <23 IRQ_TYPE_LEVEL_HIGH 7>; 357 + dmas = <&dma0 358 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 359 + | AT91_XDMAC_DT_PERID(19))>, 360 + <&dma0 361 + (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) 362 + | AT91_XDMAC_DT_PERID(20))>; 363 + dma-names = "tx", "rx"; 364 + #address-cells = <1>; 365 + #size-cells = <0>; 366 + clocks = <&pmc PMC_TYPE_PERIPHERAL 23>; 367 + pinctrl-names = "default"; 368 + pinctrl-0 = <&pinctrl_flx4_default>; 369 + atmel,fifo-size = <16>; 370 + status = "disabled"; 371 + }; 372 + }; 373 + 374 + &pwm0 { 375 + status = "okay"; 376 + }; 377 + 378 + &shutdown_controller { 379 + atmel,shdwc-debouncer = <976>; 380 + atmel,wakeup-rtc-timer; 381 + 382 + input@0 { 383 + reg = <0>; 384 + atmel,wakeup-type = "low"; 385 + }; 386 + }; 387 + 388 + &watchdog { 389 + status = "okay"; 390 + }; 391 + 392 + &adc { 393 + pinctrl-names = "default"; 394 + pinctrl-0 = <&pinctrl_adc2 395 + &pinctrl_adc3 396 + &pinctrl_adc4 397 + &pinctrl_adc5>; 398 + 399 + vddana-supply = <&vdd_adc_vddana>; 400 + vref-supply = <&vdd_adc_vref>; 401 + status = "disabled"; 402 + }; 403 + 404 + &securam { 405 + export; 406 + 407 + /* export overkiz u-boot mode/version and factory */ 408 + uboot@1400 { 409 + reg = <0x1400 0x20>; 410 + export; 411 + }; 412 + };
+1
arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
··· 53 53 54 54 sdmmc0: sdio-host@a0000000 { 55 55 bus-width = <8>; 56 + mmc-ddr-3_3v; 56 57 pinctrl-names = "default"; 57 58 pinctrl-0 = <&pinctrl_sdmmc0_default>; 58 59 status = "okay";
+6
arch/arm/boot/dts/at91-sama5d2_xplained.dts
··· 334 334 pinctrl-names = "default"; 335 335 pinctrl-0 = <&pinctrl_flx4_default>; 336 336 atmel,fifo-size = <16>; 337 + i2c-analog-filter; 338 + i2c-digital-filter; 339 + i2c-digital-filter-width-ns = <35>; 337 340 status = "okay"; 338 341 }; 339 342 }; ··· 345 342 dmas = <0>, <0>; 346 343 pinctrl-names = "default"; 347 344 pinctrl-0 = <&pinctrl_i2c1_default>; 345 + i2c-analog-filter; 346 + i2c-digital-filter; 347 + i2c-digital-filter-width-ns = <35>; 348 348 status = "okay"; 349 349 350 350 at24@54 {
+1
arch/arm/boot/dts/at91-sama5d4_xplained.dts
··· 49 49 }; 50 50 51 51 i2c0: i2c@f8014000 { 52 + i2c-digital-filter; 52 53 status = "okay"; 53 54 }; 54 55
+1 -1
arch/arm/boot/dts/sama5d2.dtsi
··· 689 689 #clock-cells = <0>; 690 690 }; 691 691 692 - rtc@f80480b0 { 692 + rtc: rtc@f80480b0 { 693 693 compatible = "atmel,at91rm9200-rtc"; 694 694 reg = <0xf80480b0 0x30>; 695 695 interrupts = <74 IRQ_TYPE_LEVEL_HIGH 7>;