1 // SPDX-License-Identifier: GPL-2.0 1 // SPDX-License-Identifier: GPL-2.0 2 /* 2 /* 3 * at91-kizbox3.dts - Device Tree Include file 3 * at91-kizbox3.dts - Device Tree Include file for Overkiz Kizbox 3 4 * family SoC boards 4 * family SoC boards 5 * 5 * 6 * Copyright (C) 2018 Overkiz SAS 6 * Copyright (C) 2018 Overkiz SAS 7 * 7 * 8 * Authors: Dorian Rocipon <d.rocipon@overkiz.c 8 * Authors: Dorian Rocipon <d.rocipon@overkiz.com> 9 * Kevin Carli <k.carli@overkiz.com> 9 * Kevin Carli <k.carli@overkiz.com> 10 * Mickael Gardet <m.gardet@overkiz.co 10 * Mickael Gardet <m.gardet@overkiz.com> 11 */ 11 */ 12 /dts-v1/; 12 /dts-v1/; 13 #include "sama5d2.dtsi" 13 #include "sama5d2.dtsi" 14 #include "sama5d2-pinfunc.h" 14 #include "sama5d2-pinfunc.h" 15 #include <dt-bindings/gpio/gpio.h> 15 #include <dt-bindings/gpio/gpio.h> 16 #include <dt-bindings/mfd/atmel-flexcom.h> 16 #include <dt-bindings/mfd/atmel-flexcom.h> 17 #include <dt-bindings/pinctrl/at91.h> 17 #include <dt-bindings/pinctrl/at91.h> 18 #include <dt-bindings/pwm/pwm.h> 18 #include <dt-bindings/pwm/pwm.h> 19 19 20 / { 20 / { 21 model = "Overkiz Kizbox3"; 21 model = "Overkiz Kizbox3"; 22 compatible = "overkiz,kizbox3", "atmel 22 compatible = "overkiz,kizbox3", "atmel,sama5d2", "atmel,sama5"; 23 23 24 aliases { 24 aliases { 25 serial0 = &uart0; 25 serial0 = &uart0; 26 serial1 = &uart1; 26 serial1 = &uart1; 27 serial2 = &uart2; 27 serial2 = &uart2; 28 serial3 = &uart3; 28 serial3 = &uart3; 29 serial4 = &uart4; 29 serial4 = &uart4; 30 serial5 = &uart5; 30 serial5 = &uart5; 31 serial6 = &uart8; 31 serial6 = &uart8; 32 }; 32 }; 33 33 34 chosen { 34 chosen { 35 bootargs = "ubi.mtd=ubi"; 35 bootargs = "ubi.mtd=ubi"; 36 stdout-path = "serial1:115200n 36 stdout-path = "serial1:115200n8"; 37 }; 37 }; 38 38 39 clocks { 39 clocks { 40 slow_xtal { 40 slow_xtal { 41 clock-frequency = <327 41 clock-frequency = <32768>; 42 }; 42 }; 43 43 44 main_xtal { 44 main_xtal { 45 clock-frequency = <120 45 clock-frequency = <12000000>; 46 }; 46 }; 47 }; 47 }; 48 48 49 vdd_adc_vddana: supply_3v3_ana { 49 vdd_adc_vddana: supply_3v3_ana { 50 compatible = "regulator-fixed" 50 compatible = "regulator-fixed"; 51 regulator-name = "adc-vddana"; 51 regulator-name = "adc-vddana"; 52 regulator-min-microvolt = <330 52 regulator-min-microvolt = <3300000>; 53 regulator-max-microvolt = <330 53 regulator-max-microvolt = <3300000>; 54 regulator-always-on; 54 regulator-always-on; 55 }; 55 }; 56 56 57 vdd_adc_vref: supply_3v3_ref { 57 vdd_adc_vref: supply_3v3_ref { 58 compatible = "regulator-fixed" 58 compatible = "regulator-fixed"; 59 regulator-name = "adc-vref"; 59 regulator-name = "adc-vref"; 60 regulator-min-microvolt = <330 60 regulator-min-microvolt = <3300000>; 61 regulator-max-microvolt = <330 61 regulator-max-microvolt = <3300000>; 62 regulator-always-on; 62 regulator-always-on; 63 }; 63 }; 64 64 65 led-controller-1 { 65 led-controller-1 { 66 compatible = "pwm-leds"; 66 compatible = "pwm-leds"; 67 pinctrl-names = "default"; 67 pinctrl-names = "default"; 68 pinctrl-0 = <&pinctrl_pwm0_pwm 68 pinctrl-0 = <&pinctrl_pwm0_pwm_h0 69 &pinctrl_pwm0_pwm 69 &pinctrl_pwm0_pwm_h1 70 &pinctrl_pwm0_pwm 70 &pinctrl_pwm0_pwm_h2 71 &pinctrl_pwm0_pwm 71 &pinctrl_pwm0_pwm_h3>; 72 status = "disabled"; 72 status = "disabled"; 73 73 74 led-1 { 74 led-1 { 75 label = "pwm:red:user" 75 label = "pwm:red:user"; 76 pwms = <&pwm0 0 100000 76 pwms = <&pwm0 0 10000000 0>; 77 max-brightness = <255> 77 max-brightness = <255>; 78 linux,default-trigger 78 linux,default-trigger = "default-on"; 79 status = "disabled"; 79 status = "disabled"; 80 }; 80 }; 81 81 82 led-2 { 82 led-2 { 83 label = "pwm:green:use 83 label = "pwm:green:user"; 84 pwms = <&pwm0 1 100000 84 pwms = <&pwm0 1 10000000 0>; 85 max-brightness = <255> 85 max-brightness = <255>; 86 linux,default-trigger 86 linux,default-trigger = "default-on"; 87 status = "disabled"; 87 status = "disabled"; 88 }; 88 }; 89 89 90 led-3 { 90 led-3 { 91 label = "pwm:blue:user 91 label = "pwm:blue:user"; 92 pwms = <&pwm0 2 100000 92 pwms = <&pwm0 2 10000000 0>; 93 max-brightness = <255> 93 max-brightness = <255>; 94 status = "disabled"; 94 status = "disabled"; 95 }; 95 }; 96 96 97 led-4 { 97 led-4 { 98 label = "pwm:white:use 98 label = "pwm:white:user"; 99 pwms = <&pwm0 3 100000 99 pwms = <&pwm0 3 10000000 0>; 100 max-brightness = <255> 100 max-brightness = <255>; 101 status = "disabled"; 101 status = "disabled"; 102 }; 102 }; 103 }; 103 }; 104 }; 104 }; 105 105 106 &ebi { 106 &ebi { 107 status = "okay"; 107 status = "okay"; 108 }; 108 }; 109 109 110 &nand_controller { 110 &nand_controller { 111 status = "okay"; 111 status = "okay"; 112 112 113 nand@3 { 113 nand@3 { 114 pinctrl-0 = <&pinctrl_ebi_nand 114 pinctrl-0 = <&pinctrl_ebi_nand_addr>; 115 pinctrl-names = "default"; 115 pinctrl-names = "default"; 116 reg = <0x3 0x0 0x800000>; 116 reg = <0x3 0x0 0x800000>; 117 117 118 atmel,rb = <0>; 118 atmel,rb = <0>; 119 nand-bus-width = <8>; 119 nand-bus-width = <8>; 120 nand-ecc-mode = "hw"; 120 nand-ecc-mode = "hw"; 121 nand-ecc-strength = <4>; 121 nand-ecc-strength = <4>; 122 nand-ecc-step-size = <512>; 122 nand-ecc-step-size = <512>; 123 nand-on-flash-bbt; 123 nand-on-flash-bbt; 124 label = "atmel_nand"; 124 label = "atmel_nand"; 125 125 126 partitions { 126 partitions { 127 compatible = "fixed-pa 127 compatible = "fixed-partitions"; 128 #address-cells = <1>; 128 #address-cells = <1>; 129 #size-cells = <1>; 129 #size-cells = <1>; 130 130 131 bootstrap@0 { 131 bootstrap@0 { 132 label = "boots 132 label = "bootstrap"; 133 reg = <0x0 0x2 133 reg = <0x0 0x20000>; 134 }; 134 }; 135 135 136 u-boot@20000 { 136 u-boot@20000 { 137 label = "u-boo 137 label = "u-boot"; 138 reg = <0x20000 138 reg = <0x20000 0x140000>; 139 }; 139 }; 140 140 141 u-boot-factory@160000 141 u-boot-factory@160000 { 142 label = "u-boo 142 label = "u-boot-factory"; 143 reg = <0x16000 143 reg = <0x160000 0x140000>; 144 }; 144 }; 145 145 146 ubi@2A0000 { 146 ubi@2A0000 { 147 label = "ubi"; 147 label = "ubi"; 148 reg = <0x2A000 148 reg = <0x2A0000 0x7D60000>; 149 }; 149 }; 150 }; 150 }; 151 151 152 }; 152 }; 153 }; 153 }; 154 154 155 &rtc { 155 &rtc { 156 status = "okay"; 156 status = "okay"; 157 }; 157 }; 158 158 159 &pioA { 159 &pioA { 160 pinctrl_ebi_nand_addr: ebi-addr-1 { 160 pinctrl_ebi_nand_addr: ebi-addr-1 { 161 pinmux = <PIN_PA0__D0>, 161 pinmux = <PIN_PA0__D0>, 162 <PIN_PA1__D1>, 162 <PIN_PA1__D1>, 163 <PIN_PA2__D2>, 163 <PIN_PA2__D2>, 164 <PIN_PA3__D3>, 164 <PIN_PA3__D3>, 165 <PIN_PA4__D4>, 165 <PIN_PA4__D4>, 166 <PIN_PA5__D5>, 166 <PIN_PA5__D5>, 167 <PIN_PA6__D6>, 167 <PIN_PA6__D6>, 168 <PIN_PA7__D7>, 168 <PIN_PA7__D7>, 169 <PIN_PA8__NWE_NANDWE>, 169 <PIN_PA8__NWE_NANDWE>, 170 <PIN_PA9__NCS3>, 170 <PIN_PA9__NCS3>, 171 <PIN_PA10__A21_NANDALE 171 <PIN_PA10__A21_NANDALE>, 172 <PIN_PA11__A22_NANDCLE 172 <PIN_PA11__A22_NANDCLE>, 173 <PIN_PA21__NANDRDY>; 173 <PIN_PA21__NANDRDY>; 174 bias-disable; 174 bias-disable; 175 }; 175 }; 176 176 177 pinctrl_usart { 177 pinctrl_usart { 178 pinctrl_usart_0: usart0-0 { 178 pinctrl_usart_0: usart0-0 { 179 pinmux = < PIN_PB26__U 179 pinmux = < PIN_PB26__URXD0>, <PIN_PB27__UTXD0>; 180 bias-disable; 180 bias-disable; 181 }; 181 }; 182 pinctrl_usart_1: usart1-0 { 182 pinctrl_usart_1: usart1-0 { 183 pinmux = < PIN_PD2__UR 183 pinmux = < PIN_PD2__URXD1>, <PIN_PD3__UTXD1>; 184 bias-disable; 184 bias-disable; 185 }; 185 }; 186 pinctrl_usart_2: usart2-0 { 186 pinctrl_usart_2: usart2-0 { 187 pinmux = < PIN_PD4__UR 187 pinmux = < PIN_PD4__URXD2>, <PIN_PD5__UTXD2>; 188 bias-disable; 188 bias-disable; 189 }; 189 }; 190 pinctrl_usart_3: usart3-0 { 190 pinctrl_usart_3: usart3-0 { 191 pinmux = < PIN_PC12__U 191 pinmux = < PIN_PC12__URXD3>, <PIN_PC13__UTXD3>; 192 bias-disable; 192 bias-disable; 193 }; 193 }; 194 pinctrl_usart_4: usart4-0 { 194 pinctrl_usart_4: usart4-0 { 195 pinmux = < PIN_PB3__UR 195 pinmux = < PIN_PB3__URXD4>, <PIN_PB4__UTXD4>; 196 bias-disable; 196 bias-disable; 197 }; 197 }; 198 pinctrl_flx0_default: flx0_usa 198 pinctrl_flx0_default: flx0_usart_default { 199 pinmux = <PIN_PB28__FL 199 pinmux = <PIN_PB28__FLEXCOM0_IO0>, //TX 200 <PIN_PB29__FLEXCOM0_IO 200 <PIN_PB29__FLEXCOM0_IO1>; //RX 201 bias-disable; 201 bias-disable; 202 }; 202 }; 203 pinctrl_flx3_default: flx3_usa 203 pinctrl_flx3_default: flx3_usart_default { 204 pinmux = <PIN_PB22__FL 204 pinmux = <PIN_PB22__FLEXCOM3_IO1>, //RX 205 <PIN_PB23__FLEXCOM3_IO 205 <PIN_PB23__FLEXCOM3_IO0>; //TX 206 bias-disable; 206 bias-disable; 207 }; 207 }; 208 }; 208 }; 209 209 210 pinctrl_flx4_default: flx4_i2c6_defaul 210 pinctrl_flx4_default: flx4_i2c6_default { 211 pinmux = <PIN_PD12__FLEXCOM4_I 211 pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA 212 <PIN_PD13__FLEXCOM4_IO1>; //CL 212 <PIN_PD13__FLEXCOM4_IO1>; //CLK 213 bias-disable; 213 bias-disable; 214 drive-open-drain; 214 drive-open-drain; 215 }; 215 }; 216 216 217 pinctrl_pwm0 { 217 pinctrl_pwm0 { 218 pinctrl_pwm0_pwm_h0: pwm0_pwm_ 218 pinctrl_pwm0_pwm_h0: pwm0_pwm_h0 { 219 pinmux = <PIN_PA30__PW 219 pinmux = <PIN_PA30__PWMH0>; 220 bias-disable; 220 bias-disable; 221 }; 221 }; 222 pinctrl_pwm0_pwm_h1: pwm0_pwmh 222 pinctrl_pwm0_pwm_h1: pwm0_pwmh1 { 223 pinmux = <PIN_PB0__PWM 223 pinmux = <PIN_PB0__PWMH1>; 224 bias-disable; 224 bias-disable; 225 }; 225 }; 226 pinctrl_pwm0_pwm_h2: pwm0_pwm_ 226 pinctrl_pwm0_pwm_h2: pwm0_pwm_h2 { 227 pinmux = <PIN_PB5__PWM 227 pinmux = <PIN_PB5__PWMH2>; 228 bias-disable; 228 bias-disable; 229 }; 229 }; 230 pinctrl_pwm0_pwm_h3: pwm0_pwm_ 230 pinctrl_pwm0_pwm_h3: pwm0_pwm_h3 { 231 pinmux = <PIN_PB7__PWM 231 pinmux = <PIN_PB7__PWMH3>; 232 bias-disable; 232 bias-disable; 233 }; 233 }; 234 }; 234 }; 235 235 236 pinctrl_adc { 236 pinctrl_adc { 237 pinctrl_adc2: adc2 { 237 pinctrl_adc2: adc2 { 238 pinmux = <PIN_PD21__GP 238 pinmux = <PIN_PD21__GPIO>; 239 bias-disable; 239 bias-disable; 240 }; 240 }; 241 pinctrl_adc3: adc3 { 241 pinctrl_adc3: adc3 { 242 pinmux = <PIN_PD22__GP 242 pinmux = <PIN_PD22__GPIO>; 243 bias-disable; 243 bias-disable; 244 }; 244 }; 245 pinctrl_adc4: adc4 { 245 pinctrl_adc4: adc4 { 246 pinmux = <PIN_PD23__GP 246 pinmux = <PIN_PD23__GPIO>; 247 bias-disable; 247 bias-disable; 248 }; 248 }; 249 pinctrl_adc5: adc5 { 249 pinctrl_adc5: adc5 { 250 pinmux = <PIN_PD24__GP 250 pinmux = <PIN_PD24__GPIO>; 251 bias-disable; 251 bias-disable; 252 }; 252 }; 253 }; 253 }; 254 }; 254 }; 255 255 256 &uart0 { 256 &uart0 { 257 pinctrl-names = "default"; 257 pinctrl-names = "default"; 258 pinctrl-0 = <&pinctrl_usart_0>; 258 pinctrl-0 = <&pinctrl_usart_0>; 259 atmel,use-dma-rx; 259 atmel,use-dma-rx; 260 atmel,use-dma-tx; 260 atmel,use-dma-tx; 261 status = "disabled"; 261 status = "disabled"; 262 }; 262 }; 263 263 264 /* debug uart */ 264 /* debug uart */ 265 &uart1 { 265 &uart1 { 266 pinctrl-names = "default"; 266 pinctrl-names = "default"; 267 pinctrl-0 = <&pinctrl_usart_1>; 267 pinctrl-0 = <&pinctrl_usart_1>; 268 atmel,use-dma-rx; 268 atmel,use-dma-rx; 269 atmel,use-dma-tx; 269 atmel,use-dma-tx; 270 status = "disabled"; 270 status = "disabled"; 271 }; 271 }; 272 272 273 &uart2 { 273 &uart2 { 274 pinctrl-names = "default"; 274 pinctrl-names = "default"; 275 pinctrl-0 = <&pinctrl_usart_2>; 275 pinctrl-0 = <&pinctrl_usart_2>; 276 atmel,use-dma-rx; 276 atmel,use-dma-rx; 277 atmel,use-dma-tx; 277 atmel,use-dma-tx; 278 status = "disabled"; 278 status = "disabled"; 279 }; 279 }; 280 280 281 &uart3 { 281 &uart3 { 282 pinctrl-names = "default"; 282 pinctrl-names = "default"; 283 pinctrl-0 = <&pinctrl_usart_3>; 283 pinctrl-0 = <&pinctrl_usart_3>; 284 atmel,use-dma-rx; 284 atmel,use-dma-rx; 285 atmel,use-dma-tx; 285 atmel,use-dma-tx; 286 status = "disabled"; 286 status = "disabled"; 287 }; 287 }; 288 288 289 &uart4 { 289 &uart4 { 290 pinctrl-names = "default"; 290 pinctrl-names = "default"; 291 pinctrl-0 = <&pinctrl_usart_4>; 291 pinctrl-0 = <&pinctrl_usart_4>; 292 atmel,use-dma-rx; 292 atmel,use-dma-rx; 293 atmel,use-dma-tx; 293 atmel,use-dma-tx; 294 status = "disabled"; 294 status = "disabled"; 295 }; 295 }; 296 296 297 &flx0 { 297 &flx0 { 298 atmel,flexcom-mode = <ATMEL_FLEXCOM_MO 298 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 299 status = "disabled"; 299 status = "disabled"; 300 300 301 uart5: serial@200 { 301 uart5: serial@200 { 302 pinctrl-names = "default"; 302 pinctrl-names = "default"; 303 pinctrl-0 = <&pinctrl_flx0_def 303 pinctrl-0 = <&pinctrl_flx0_default>; 304 atmel,use-dma-rx; 304 atmel,use-dma-rx; 305 atmel,use-dma-tx; 305 atmel,use-dma-tx; 306 status = "disabled"; 306 status = "disabled"; 307 }; 307 }; 308 }; 308 }; 309 309 310 &flx3 { 310 &flx3 { 311 atmel,flexcom-mode = <ATMEL_FLEXCOM_MO 311 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 312 status = "disabled"; 312 status = "disabled"; 313 313 314 uart8: serial@200 { 314 uart8: serial@200 { 315 pinctrl-names = "default"; 315 pinctrl-names = "default"; 316 pinctrl-0 = <&pinctrl_flx3_def 316 pinctrl-0 = <&pinctrl_flx3_default>; 317 atmel,use-dma-rx; 317 atmel,use-dma-rx; 318 atmel,use-dma-tx; 318 atmel,use-dma-tx; 319 status = "disabled"; 319 status = "disabled"; 320 }; 320 }; 321 }; 321 }; 322 322 323 &flx4 { 323 &flx4 { 324 atmel,flexcom-mode = <ATMEL_FLEXCOM_MO 324 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 325 status = "disabled"; 325 status = "disabled"; 326 326 327 i2c6: i2c@600 { 327 i2c6: i2c@600 { 328 pinctrl-names = "default"; 328 pinctrl-names = "default"; 329 pinctrl-0 = <&pinctrl_flx4_def 329 pinctrl-0 = <&pinctrl_flx4_default>; 330 status = "disabled"; 330 status = "disabled"; 331 }; 331 }; 332 }; 332 }; 333 333 334 &pwm0 { 334 &pwm0 { 335 status = "okay"; 335 status = "okay"; 336 }; 336 }; 337 337 338 &shutdown_controller { 338 &shutdown_controller { 339 debounce-delay-us = <976>; 339 debounce-delay-us = <976>; 340 atmel,wakeup-rtc-timer; 340 atmel,wakeup-rtc-timer; 341 341 342 input@0 { 342 input@0 { 343 reg = <0>; 343 reg = <0>; 344 }; 344 }; 345 }; 345 }; 346 346 347 &watchdog { 347 &watchdog { 348 status = "okay"; 348 status = "okay"; 349 }; 349 }; 350 350 351 &adc { 351 &adc { 352 pinctrl-names = "default"; 352 pinctrl-names = "default"; 353 pinctrl-0 = <&pinctrl_adc2 353 pinctrl-0 = <&pinctrl_adc2 354 &pinctrl_adc3 354 &pinctrl_adc3 355 &pinctrl_adc4 355 &pinctrl_adc4 356 &pinctrl_adc5>; 356 &pinctrl_adc5>; 357 357 358 vddana-supply = <&vdd_adc_vddana>; 358 vddana-supply = <&vdd_adc_vddana>; 359 vref-supply = <&vdd_adc_vref>; 359 vref-supply = <&vdd_adc_vref>; 360 status = "disabled"; 360 status = "disabled"; 361 }; 361 }; 362 362 363 &securam { 363 &securam { 364 export; 364 export; 365 365 366 /* export overkiz u-boot mode/version 366 /* export overkiz u-boot mode/version and factory */ 367 uboot@1400 { 367 uboot@1400 { 368 reg = <0x1400 0x20>; 368 reg = <0x1400 0x20>; 369 export; 369 export; 370 }; 370 }; 371 }; 371 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.