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