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 = &uart8; 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 led-controller-1 { 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 led-1 { 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 led-2 { 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 led-3 { 91 label = "pwm:blue:user"; 92 pwms = <&pwm0 2 10000000 0>; 93 max-brightness = <255>; 94 status = "disabled"; 95 }; 96 97 led-4 { 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_i2c6_default { 211 pinmux = <PIN_PD12__FLEXCOM4_IO0>, //DATA 212 <PIN_PD13__FLEXCOM4_IO1>; //CLK 213 bias-disable; 214 drive-open-drain; 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 pinctrl-names = "default"; 303 pinctrl-0 = <&pinctrl_flx0_default>; 304 atmel,use-dma-rx; 305 atmel,use-dma-tx; 306 status = "disabled"; 307 }; 308}; 309 310&flx3 { 311 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 312 status = "disabled"; 313 314 uart8: serial@200 { 315 pinctrl-names = "default"; 316 pinctrl-0 = <&pinctrl_flx3_default>; 317 atmel,use-dma-rx; 318 atmel,use-dma-tx; 319 status = "disabled"; 320 }; 321}; 322 323&flx4 { 324 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 325 status = "disabled"; 326 327 i2c6: i2c@600 { 328 pinctrl-names = "default"; 329 pinctrl-0 = <&pinctrl_flx4_default>; 330 status = "disabled"; 331 }; 332}; 333 334&pwm0 { 335 status = "okay"; 336}; 337 338&shutdown_controller { 339 debounce-delay-us = <976>; 340 atmel,wakeup-rtc-timer; 341 342 input@0 { 343 reg = <0>; 344 }; 345}; 346 347&watchdog { 348 status = "okay"; 349}; 350 351&adc { 352 pinctrl-names = "default"; 353 pinctrl-0 = <&pinctrl_adc2 354 &pinctrl_adc3 355 &pinctrl_adc4 356 &pinctrl_adc5>; 357 358 vddana-supply = <&vdd_adc_vddana>; 359 vref-supply = <&vdd_adc_vref>; 360 status = "disabled"; 361}; 362 363&securam { 364 export; 365 366 /* export overkiz u-boot mode/version and factory */ 367 uboot@1400 { 368 reg = <0x1400 0x20>; 369 export; 370 }; 371}; 372