1dd7e1845SClément Léger// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2dd7e1845SClément Léger/* 3dd7e1845SClément Léger * at91-sama5d2_xplained.dts - Device Tree file for SAMA5D2 Xplained board 4dd7e1845SClément Léger * 5dd7e1845SClément Léger * Copyright (C) 2015 Atmel, 6dd7e1845SClément Léger * 2015 Nicolas Ferre <nicolas.ferre@atmel.com> 7dd7e1845SClément Léger */ 8dd7e1845SClément Léger/dts-v1/; 9dd7e1845SClément Léger#include "sama5d2.dtsi" 10dd7e1845SClément Léger#include "sama5d2-pinfunc.h" 11dd7e1845SClément Léger#include <dt-bindings/mfd/atmel-flexcom.h> 12dd7e1845SClément Léger#include <dt-bindings/gpio/gpio.h> 13dd7e1845SClément Léger#include <dt-bindings/regulator/active-semi,8945a-regulator.h> 14dd7e1845SClément Léger 15dd7e1845SClément Léger/ { 16dd7e1845SClément Léger model = "Atmel SAMA5D2 Xplained"; 17dd7e1845SClément Léger compatible = "atmel,sama5d2-xplained", "atmel,sama5d2", "atmel,sama5"; 18dd7e1845SClément Léger 19dd7e1845SClément Léger aliases { 20dd7e1845SClément Léger serial0 = &uart1; /* DBGU */ 21dd7e1845SClément Léger i2c0 = &i2c0; 22dd7e1845SClément Léger i2c1 = &i2c1; 23dd7e1845SClément Léger i2c2 = &i2c2; /* XPRO EXT2 */ 24dd7e1845SClément Léger }; 25dd7e1845SClément Léger 26dd7e1845SClément Léger chosen { 27dd7e1845SClément Léger stdout-path = "serial0:115200n8"; 28dd7e1845SClément Léger }; 29dd7e1845SClément Léger 30dd7e1845SClément Léger clocks { 31dd7e1845SClément Léger slow_xtal { 32dd7e1845SClément Léger clock-frequency = <32768>; 33dd7e1845SClément Léger }; 34dd7e1845SClément Léger 35dd7e1845SClément Léger main_xtal { 36dd7e1845SClément Léger clock-frequency = <12000000>; 37dd7e1845SClément Léger }; 38dd7e1845SClément Léger }; 39dd7e1845SClément Léger 40dd7e1845SClément Léger ahb { 41dd7e1845SClément Léger usb0: gadget@300000 { 42dd7e1845SClément Léger atmel,vbus-gpio = <&pioA PIN_PA31 GPIO_ACTIVE_HIGH>; 43dd7e1845SClément Léger pinctrl-names = "default"; 44dd7e1845SClément Léger pinctrl-0 = <&pinctrl_usba_vbus>; 45dd7e1845SClément Léger status = "okay"; 46dd7e1845SClément Léger }; 47dd7e1845SClément Léger 48dd7e1845SClément Léger usb1: ohci@400000 { 49dd7e1845SClément Léger num-ports = <3>; 50dd7e1845SClément Léger atmel,vbus-gpio = <0 /* &pioA PIN_PB9 GPIO_ACTIVE_HIGH */ 51dd7e1845SClément Léger &pioA PIN_PB10 GPIO_ACTIVE_HIGH 52dd7e1845SClément Léger 0 53dd7e1845SClément Léger >; 54dd7e1845SClément Léger pinctrl-names = "default"; 55dd7e1845SClément Léger pinctrl-0 = <&pinctrl_usb_default>; 56dd7e1845SClément Léger status = "okay"; 57dd7e1845SClément Léger }; 58dd7e1845SClément Léger 59dd7e1845SClément Léger usb2: ehci@500000 { 60dd7e1845SClément Léger status = "okay"; 61dd7e1845SClément Léger }; 62dd7e1845SClément Léger 63dd7e1845SClément Léger sdmmc0: sdio-host@a0000000 { 64dd7e1845SClément Léger bus-width = <8>; 65dd7e1845SClément Léger pinctrl-names = "default"; 66dd7e1845SClément Léger pinctrl-0 = <&pinctrl_sdmmc0_default>; 67dd7e1845SClément Léger non-removable; 68dd7e1845SClément Léger mmc-ddr-1_8v; 69dd7e1845SClément Léger status = "okay"; 70dd7e1845SClément Léger }; 71dd7e1845SClément Léger 72dd7e1845SClément Léger sdmmc1: sdio-host@b0000000 { 73dd7e1845SClément Léger bus-width = <4>; 74dd7e1845SClément Léger pinctrl-names = "default"; 75dd7e1845SClément Léger pinctrl-0 = <&pinctrl_sdmmc1_default>; 76dd7e1845SClément Léger status = "okay"; /* conflict with qspi0 */ 77dd7e1845SClément Léger vqmmc-supply = <&vdd_3v3_reg>; 78dd7e1845SClément Léger vmmc-supply = <&vdd_3v3_reg>; 79dd7e1845SClément Léger }; 80dd7e1845SClément Léger 81dd7e1845SClément Léger apb { 82dd7e1845SClément Léger qspi0: spi@f0020000 { 83dd7e1845SClément Léger pinctrl-names = "default"; 84dd7e1845SClément Léger pinctrl-0 = <&pinctrl_qspi0_default>; 85dd7e1845SClément Léger status = "disabled"; /* conflict with sdmmc1 */ 86dd7e1845SClément Léger 87dd7e1845SClément Léger flash@0 { 88dd7e1845SClément Léger #address-cells = <1>; 89dd7e1845SClément Léger #size-cells = <1>; 90dd7e1845SClément Léger compatible = "jedec,spi-nor"; 91dd7e1845SClément Léger reg = <0>; 92dd7e1845SClément Léger spi-max-frequency = <80000000>; 93dd7e1845SClément Léger spi-tx-bus-width = <4>; 94dd7e1845SClément Léger spi-rx-bus-width = <4>; 95dd7e1845SClément Léger m25p,fast-read; 96dd7e1845SClément Léger 97dd7e1845SClément Léger at91bootstrap@0 { 98dd7e1845SClément Léger label = "at91bootstrap"; 99dd7e1845SClément Léger reg = <0x00000000 0x00040000>; 100dd7e1845SClément Léger }; 101dd7e1845SClément Léger 102dd7e1845SClément Léger bootloader@40000 { 103dd7e1845SClément Léger label = "bootloader"; 104dd7e1845SClément Léger reg = <0x00040000 0x000c0000>; 105dd7e1845SClément Léger }; 106dd7e1845SClément Léger 107dd7e1845SClément Léger bootloaderenvred@100000 { 108dd7e1845SClément Léger label = "bootloader env redundant"; 109dd7e1845SClément Léger reg = <0x00100000 0x00040000>; 110dd7e1845SClément Léger }; 111dd7e1845SClément Léger 112dd7e1845SClément Léger bootloaderenv@140000 { 113dd7e1845SClément Léger label = "bootloader env"; 114dd7e1845SClément Léger reg = <0x00140000 0x00040000>; 115dd7e1845SClément Léger }; 116dd7e1845SClément Léger 117dd7e1845SClément Léger dtb@180000 { 118dd7e1845SClément Léger label = "device tree"; 119dd7e1845SClément Léger reg = <0x00180000 0x00080000>; 120dd7e1845SClément Léger }; 121dd7e1845SClément Léger 122dd7e1845SClément Léger kernel@200000 { 123dd7e1845SClément Léger label = "kernel"; 124dd7e1845SClément Léger reg = <0x00200000 0x00600000>; 125dd7e1845SClément Léger }; 126dd7e1845SClément Léger 127dd7e1845SClément Léger misc@800000 { 128dd7e1845SClément Léger label = "misc"; 129dd7e1845SClément Léger reg = <0x00800000 0x00000000>; 130dd7e1845SClément Léger }; 131dd7e1845SClément Léger }; 132dd7e1845SClément Léger }; 133dd7e1845SClément Léger 134dd7e1845SClément Léger spi0: spi@f8000000 { 135dd7e1845SClément Léger pinctrl-names = "default"; 136dd7e1845SClément Léger pinctrl-0 = <&pinctrl_spi0_default>; 137dd7e1845SClément Léger status = "okay"; 138dd7e1845SClément Léger 139dd7e1845SClément Léger m25p80@0 { 140dd7e1845SClément Léger compatible = "atmel,at25df321a"; 141dd7e1845SClément Léger reg = <0>; 142dd7e1845SClément Léger spi-max-frequency = <50000000>; 143dd7e1845SClément Léger }; 144dd7e1845SClément Léger }; 145dd7e1845SClément Léger 146dd7e1845SClément Léger macb0: ethernet@f8008000 { 147dd7e1845SClément Léger pinctrl-names = "default"; 148dd7e1845SClément Léger pinctrl-0 = <&pinctrl_macb0_default &pinctrl_macb0_phy_irq>; 149dd7e1845SClément Léger phy-mode = "rmii"; 150dd7e1845SClément Léger status = "okay"; 151dd7e1845SClément Léger 152dd7e1845SClément Léger ethernet-phy@1 { 153dd7e1845SClément Léger reg = <0x1>; 154dd7e1845SClément Léger interrupt-parent = <&pioA>; 155dd7e1845SClément Léger interrupts = <PIN_PC9 IRQ_TYPE_LEVEL_LOW>; 156dd7e1845SClément Léger }; 157dd7e1845SClément Léger }; 158dd7e1845SClément Léger 159dd7e1845SClément Léger tcb0: timer@f800c000 { 160dd7e1845SClément Léger timer0: timer@0 { 161dd7e1845SClément Léger compatible = "atmel,tcb-timer"; 162dd7e1845SClément Léger reg = <0>; 163dd7e1845SClément Léger }; 164dd7e1845SClément Léger 165dd7e1845SClément Léger timer1: timer@1 { 166dd7e1845SClément Léger compatible = "atmel,tcb-timer"; 167dd7e1845SClément Léger reg = <1>; 168dd7e1845SClément Léger }; 169dd7e1845SClément Léger }; 170dd7e1845SClément Léger 171dd7e1845SClément Léger uart1: serial@f8020000 { 172dd7e1845SClément Léger pinctrl-names = "default"; 173dd7e1845SClément Léger pinctrl-0 = <&pinctrl_uart1_default>; 174dd7e1845SClément Léger atmel,use-dma-rx; 175dd7e1845SClément Léger atmel,use-dma-tx; 176dd7e1845SClément Léger status = "okay"; 177dd7e1845SClément Léger }; 178dd7e1845SClément Léger 179dd7e1845SClément Léger i2c0: i2c@f8028000 { 180dd7e1845SClément Léger dmas = <0>, <0>; 181dd7e1845SClément Léger pinctrl-names = "default", "gpio"; 182dd7e1845SClément Léger pinctrl-0 = <&pinctrl_i2c0_default>; 183dd7e1845SClément Léger pinctrl-1 = <&pinctrl_i2c0_gpio>; 184dd7e1845SClément Léger sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>; 185dd7e1845SClément Léger scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 186dd7e1845SClément Léger i2c-sda-hold-time-ns = <350>; 187dd7e1845SClément Léger status = "okay"; 188dd7e1845SClément Léger 189dd7e1845SClément Léger pmic@5b { 190dd7e1845SClément Léger compatible = "active-semi,act8945a"; 191dd7e1845SClément Léger reg = <0x5b>; 192dd7e1845SClément Léger active-semi,vsel-high; 193dd7e1845SClément Léger status = "okay"; 194dd7e1845SClément Léger 195dd7e1845SClément Léger regulators { 196dd7e1845SClément Léger vdd_1v35_reg: REG_DCDC1 { 197dd7e1845SClément Léger regulator-name = "VDD_1V35"; 198dd7e1845SClément Léger regulator-min-microvolt = <1350000>; 199dd7e1845SClément Léger regulator-max-microvolt = <1350000>; 200dd7e1845SClément Léger regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, 201dd7e1845SClément Léger <ACT8945A_REGULATOR_MODE_LOWPOWER>; 202dd7e1845SClément Léger regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; 203dd7e1845SClément Léger regulator-always-on; 204dd7e1845SClément Léger 205dd7e1845SClément Léger regulator-state-mem { 206dd7e1845SClément Léger regulator-on-in-suspend; 207dd7e1845SClément Léger regulator-suspend-min-microvolt=<1400000>; 208dd7e1845SClément Léger regulator-suspend-max-microvolt=<1400000>; 209dd7e1845SClément Léger regulator-changeable-in-suspend; 210dd7e1845SClément Léger regulator-mode=<ACT8945A_REGULATOR_MODE_LOWPOWER>; 211dd7e1845SClément Léger }; 212dd7e1845SClément Léger }; 213dd7e1845SClément Léger 214dd7e1845SClément Léger vdd_1v2_reg: REG_DCDC2 { 215dd7e1845SClément Léger regulator-name = "VDD_1V2"; 216dd7e1845SClément Léger regulator-min-microvolt = <1100000>; 217dd7e1845SClément Léger regulator-max-microvolt = <1300000>; 218dd7e1845SClément Léger regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, 219dd7e1845SClément Léger <ACT8945A_REGULATOR_MODE_LOWPOWER>; 220dd7e1845SClément Léger regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; 221dd7e1845SClément Léger regulator-always-on; 222dd7e1845SClément Léger 223dd7e1845SClément Léger regulator-state-mem { 224dd7e1845SClément Léger regulator-off-in-suspend; 225dd7e1845SClément Léger }; 226dd7e1845SClément Léger }; 227dd7e1845SClément Léger 228dd7e1845SClément Léger vdd_3v3_reg: REG_DCDC3 { 229dd7e1845SClément Léger regulator-name = "VDD_3V3"; 230dd7e1845SClément Léger regulator-min-microvolt = <3300000>; 231dd7e1845SClément Léger regulator-max-microvolt = <3300000>; 232dd7e1845SClément Léger regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_FIXED>, 233dd7e1845SClément Léger <ACT8945A_REGULATOR_MODE_LOWPOWER>; 234dd7e1845SClément Léger regulator-initial-mode = <ACT8945A_REGULATOR_MODE_FIXED>; 235dd7e1845SClément Léger regulator-always-on; 236dd7e1845SClément Léger 237dd7e1845SClément Léger regulator-state-mem { 238dd7e1845SClément Léger regulator-off-in-suspend; 239dd7e1845SClément Léger }; 240dd7e1845SClément Léger }; 241dd7e1845SClément Léger 242dd7e1845SClément Léger vdd_fuse_reg: REG_LDO1 { 243dd7e1845SClément Léger regulator-name = "VDD_FUSE"; 244dd7e1845SClément Léger regulator-min-microvolt = <2500000>; 245dd7e1845SClément Léger regulator-max-microvolt = <2500000>; 246dd7e1845SClément Léger regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 247dd7e1845SClément Léger <ACT8945A_REGULATOR_MODE_LOWPOWER>; 248dd7e1845SClément Léger regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 249dd7e1845SClément Léger regulator-always-on; 250dd7e1845SClément Léger 251dd7e1845SClément Léger regulator-state-mem { 252dd7e1845SClément Léger regulator-off-in-suspend; 253dd7e1845SClément Léger }; 254dd7e1845SClément Léger }; 255dd7e1845SClément Léger 256dd7e1845SClément Léger vdd_3v3_lp_reg: REG_LDO2 { 257dd7e1845SClément Léger regulator-name = "VDD_3V3_LP"; 258dd7e1845SClément Léger regulator-min-microvolt = <3300000>; 259dd7e1845SClément Léger regulator-max-microvolt = <3300000>; 260dd7e1845SClément Léger regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 261dd7e1845SClément Léger <ACT8945A_REGULATOR_MODE_LOWPOWER>; 262dd7e1845SClément Léger regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 263dd7e1845SClément Léger regulator-always-on; 264dd7e1845SClément Léger 265dd7e1845SClément Léger regulator-state-mem { 266dd7e1845SClément Léger regulator-off-in-suspend; 267dd7e1845SClément Léger }; 268dd7e1845SClément Léger }; 269dd7e1845SClément Léger 270dd7e1845SClément Léger vdd_led_reg: REG_LDO3 { 271dd7e1845SClément Léger regulator-name = "VDD_LED"; 272dd7e1845SClément Léger regulator-min-microvolt = <3300000>; 273dd7e1845SClément Léger regulator-max-microvolt = <3300000>; 274dd7e1845SClément Léger regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 275dd7e1845SClément Léger <ACT8945A_REGULATOR_MODE_LOWPOWER>; 276dd7e1845SClément Léger regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 277dd7e1845SClément Léger regulator-always-on; 278dd7e1845SClément Léger 279dd7e1845SClément Léger regulator-state-mem { 280dd7e1845SClément Léger regulator-off-in-suspend; 281dd7e1845SClément Léger }; 282dd7e1845SClément Léger }; 283dd7e1845SClément Léger 284dd7e1845SClément Léger vdd_sdhc_1v8_reg: REG_LDO4 { 285dd7e1845SClément Léger regulator-name = "VDD_SDHC_1V8"; 286dd7e1845SClément Léger regulator-min-microvolt = <1800000>; 287dd7e1845SClément Léger regulator-max-microvolt = <1800000>; 288dd7e1845SClément Léger regulator-allowed-modes = <ACT8945A_REGULATOR_MODE_NORMAL>, 289dd7e1845SClément Léger <ACT8945A_REGULATOR_MODE_LOWPOWER>; 290dd7e1845SClément Léger regulator-initial-mode = <ACT8945A_REGULATOR_MODE_NORMAL>; 291dd7e1845SClément Léger regulator-always-on; 292dd7e1845SClément Léger 293dd7e1845SClément Léger regulator-state-mem { 294dd7e1845SClément Léger regulator-off-in-suspend; 295dd7e1845SClément Léger }; 296dd7e1845SClément Léger }; 297dd7e1845SClément Léger }; 298dd7e1845SClément Léger 299dd7e1845SClément Léger charger { 300dd7e1845SClément Léger compatible = "active-semi,act8945a-charger"; 301dd7e1845SClément Léger pinctrl-names = "default"; 302dd7e1845SClément Léger pinctrl-0 = <&pinctrl_charger_chglev &pinctrl_charger_lbo &pinctrl_charger_irq>; 303dd7e1845SClément Léger interrupt-parent = <&pioA>; 304dd7e1845SClément Léger interrupts = <PIN_PB13 IRQ_TYPE_EDGE_RISING>; 305dd7e1845SClément Léger 306dd7e1845SClément Léger active-semi,chglev-gpios = <&pioA PIN_PA12 GPIO_ACTIVE_HIGH>; 307dd7e1845SClément Léger active-semi,lbo-gpios = <&pioA PIN_PC8 GPIO_ACTIVE_LOW>; 308dd7e1845SClément Léger active-semi,input-voltage-threshold-microvolt = <6600>; 309dd7e1845SClément Léger active-semi,precondition-timeout = <40>; 310dd7e1845SClément Léger active-semi,total-timeout = <3>; 311dd7e1845SClément Léger status = "okay"; 312dd7e1845SClément Léger }; 313dd7e1845SClément Léger }; 314dd7e1845SClément Léger }; 315dd7e1845SClément Léger 316dd7e1845SClément Léger pwm0: pwm@f802c000 { 317dd7e1845SClément Léger pinctrl-names = "default"; 318dd7e1845SClément Léger pinctrl-0 = <&pinctrl_pwm0_pwm2_default>; 319dd7e1845SClément Léger status = "disabled"; /* conflict with leds */ 320dd7e1845SClément Léger }; 321dd7e1845SClément Léger 322dd7e1845SClément Léger flx0: flexcom@f8034000 { 323dd7e1845SClément Léger atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>; 324dd7e1845SClément Léger status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */ 325dd7e1845SClément Léger 326dd7e1845SClément Léger uart5: serial@200 { 327dd7e1845SClément Léger dmas = <0>, <0>; 328dd7e1845SClément Léger pinctrl-names = "default"; 329dd7e1845SClément Léger pinctrl-0 = <&pinctrl_flx0_default>; 330dd7e1845SClément Léger status = "okay"; 331dd7e1845SClément Léger }; 332dd7e1845SClément Léger 333dd7e1845SClément Léger i2c2: i2c@600 { 334dd7e1845SClément Léger dmas = <0>, <0>; 335dd7e1845SClément Léger pinctrl-names = "default", "gpio"; 336dd7e1845SClément Léger pinctrl-0 = <&pinctrl_flx0_default>; 337dd7e1845SClément Léger pinctrl-1 = <&pinctrl_i2c2_gpio>; 338dd7e1845SClément Léger sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>; 339dd7e1845SClément Léger scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 340dd7e1845SClément Léger i2c-sda-hold-time-ns = <350>; 341dd7e1845SClément Léger i2c-analog-filter; 342dd7e1845SClément Léger i2c-digital-filter; 343dd7e1845SClément Léger i2c-digital-filter-width-ns = <35>; 344dd7e1845SClément Léger status = "disabled"; /* conflict with ISC_D2 & ISC_D3 data pins */ 345dd7e1845SClément Léger }; 346dd7e1845SClément Léger }; 347dd7e1845SClément Léger 348dd7e1845SClément Léger shdwc@f8048010 { 349dd7e1845SClément Léger debounce-delay-us = <976>; 350dd7e1845SClément Léger atmel,wakeup-rtc-timer; 351dd7e1845SClément Léger 352dd7e1845SClément Léger input@0 { 353dd7e1845SClément Léger reg = <0>; 354dd7e1845SClément Léger }; 355dd7e1845SClément Léger }; 356dd7e1845SClément Léger 357dd7e1845SClément Léger i2s0: i2s@f8050000 { 358dd7e1845SClément Léger pinctrl-names = "default"; 359dd7e1845SClément Léger pinctrl-0 = <&pinctrl_i2s0_default>; 360dd7e1845SClément Léger status = "disabled"; /* conflict with can0 */ 361dd7e1845SClément Léger }; 362dd7e1845SClément Léger 363dd7e1845SClément Léger can0: can@f8054000 { 364dd7e1845SClément Léger pinctrl-names = "default"; 365dd7e1845SClément Léger pinctrl-0 = <&pinctrl_can0_default>; 366dd7e1845SClément Léger status = "okay"; 367dd7e1845SClément Léger }; 368dd7e1845SClément Léger 369dd7e1845SClément Léger uart3: serial@fc008000 { 370dd7e1845SClément Léger atmel,use-dma-rx; 371dd7e1845SClément Léger atmel,use-dma-tx; 372dd7e1845SClément Léger pinctrl-names = "default"; 373dd7e1845SClément Léger pinctrl-0 = <&pinctrl_uart3_default>; 374dd7e1845SClément Léger status = "okay"; 375dd7e1845SClément Léger }; 376dd7e1845SClément Léger 377dd7e1845SClément Léger flx4: flexcom@fc018000 { 378dd7e1845SClément Léger atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; 379dd7e1845SClément Léger status = "okay"; 380dd7e1845SClément Léger 381dd7e1845SClément Léger i2c6: i2c@600 { 382dd7e1845SClément Léger dmas = <0>, <0>; 383dd7e1845SClément Léger pinctrl-names = "default", "gpio"; 384dd7e1845SClément Léger pinctrl-0 = <&pinctrl_flx4_default>; 385dd7e1845SClément Léger pinctrl-1 = <&pinctrl_flx4_gpio>; 386dd7e1845SClément Léger sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>; 387dd7e1845SClément Léger scl-gpios = <&pioA PIN_PD13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 388dd7e1845SClément Léger i2c-analog-filter; 389dd7e1845SClément Léger i2c-digital-filter; 390dd7e1845SClément Léger i2c-digital-filter-width-ns = <35>; 391dd7e1845SClément Léger status = "okay"; 392dd7e1845SClément Léger }; 393dd7e1845SClément Léger }; 394dd7e1845SClément Léger 395dd7e1845SClément Léger i2c1: i2c@fc028000 { 396dd7e1845SClément Léger dmas = <0>, <0>; 397dd7e1845SClément Léger pinctrl-names = "default", "gpio"; 398dd7e1845SClément Léger pinctrl-0 = <&pinctrl_i2c1_default>; 399dd7e1845SClément Léger i2c-analog-filter; 400dd7e1845SClément Léger i2c-digital-filter; 401dd7e1845SClément Léger i2c-digital-filter-width-ns = <35>; 402dd7e1845SClément Léger pinctrl-1 = <&pinctrl_i2c1_gpio>; 403dd7e1845SClément Léger sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>; 404dd7e1845SClément Léger scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 405dd7e1845SClément Léger status = "okay"; 406dd7e1845SClément Léger 407dd7e1845SClément Léger at24@54 { 408dd7e1845SClément Léger compatible = "atmel,24c02"; 409dd7e1845SClément Léger reg = <0x54>; 410dd7e1845SClément Léger pagesize = <16>; 411dd7e1845SClément Léger }; 412dd7e1845SClément Léger }; 413dd7e1845SClément Léger 414dd7e1845SClément Léger adc: adc@fc030000 { 415dd7e1845SClément Léger vddana-supply = <&vdd_3v3_lp_reg>; 416dd7e1845SClément Léger vref-supply = <&vdd_3v3_lp_reg>; 417dd7e1845SClément Léger pinctrl-names = "default"; 418dd7e1845SClément Léger pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>; 419dd7e1845SClément Léger status = "okay"; 420dd7e1845SClément Léger }; 421dd7e1845SClément Léger 422*d16bc0a9SClément Léger pinctrl@fc039000 { 423dd7e1845SClément Léger /* 424dd7e1845SClément Léger * There is no real pinmux for ADC, if the pin 425dd7e1845SClément Léger * is not requested by another peripheral then 426dd7e1845SClément Léger * the muxing is done when channel is enabled. 427dd7e1845SClément Léger * Requesting pins for ADC is GPIO is 428dd7e1845SClément Léger * encouraged to prevent conflicts and to 429dd7e1845SClément Léger * disable bias in order to be in the same 430dd7e1845SClément Léger * state when the pin is not muxed to the adc. 431dd7e1845SClément Léger */ 432dd7e1845SClément Léger pinctrl_adc_default: adc_default { 433dd7e1845SClément Léger pinmux = <PIN_PD23__GPIO>; 434dd7e1845SClément Léger bias-disable; 435dd7e1845SClément Léger }; 436dd7e1845SClément Léger 437dd7e1845SClément Léger pinctrl_can0_default: can0_default { 438dd7e1845SClément Léger pinmux = <PIN_PC10__CANTX0>, 439dd7e1845SClément Léger <PIN_PC11__CANRX0>; 440dd7e1845SClément Léger bias-disable; 441dd7e1845SClément Léger }; 442dd7e1845SClément Léger 443dd7e1845SClément Léger pinctrl_can1_default: can1_default { 444dd7e1845SClément Léger pinmux = <PIN_PC26__CANTX1>, 445dd7e1845SClément Léger <PIN_PC27__CANRX1>; 446dd7e1845SClément Léger bias-disable; 447dd7e1845SClément Léger }; 448dd7e1845SClément Léger 449dd7e1845SClément Léger /* 450dd7e1845SClément Léger * The ADTRG pin can work on any edge type. 451dd7e1845SClément Léger * In here it's being pulled up, so need to 452dd7e1845SClément Léger * connect it to ground to get an edge e.g. 453dd7e1845SClément Léger * Trigger can be configured on falling, rise 454dd7e1845SClément Léger * or any edge, and the pull-up can be changed 455dd7e1845SClément Léger * to pull-down or left floating according to 456dd7e1845SClément Léger * needs. 457dd7e1845SClément Léger */ 458dd7e1845SClément Léger pinctrl_adtrg_default: adtrg_default { 459dd7e1845SClément Léger pinmux = <PIN_PD31__ADTRG>; 460dd7e1845SClément Léger bias-pull-up; 461dd7e1845SClément Léger }; 462dd7e1845SClément Léger 463dd7e1845SClément Léger pinctrl_charger_chglev: charger_chglev { 464dd7e1845SClément Léger pinmux = <PIN_PA12__GPIO>; 465dd7e1845SClément Léger bias-disable; 466dd7e1845SClément Léger }; 467dd7e1845SClément Léger 468dd7e1845SClément Léger pinctrl_charger_irq: charger_irq { 469dd7e1845SClément Léger pinmux = <PIN_PB13__GPIO>; 470dd7e1845SClément Léger bias-disable; 471dd7e1845SClément Léger }; 472dd7e1845SClément Léger 473dd7e1845SClément Léger pinctrl_charger_lbo: charger_lbo { 474dd7e1845SClément Léger pinmux = <PIN_PC8__GPIO>; 475dd7e1845SClément Léger bias-pull-up; 476dd7e1845SClément Léger }; 477dd7e1845SClément Léger 478dd7e1845SClément Léger pinctrl_classd_default_pfets: classd_default_pfets { 479dd7e1845SClément Léger pinmux = <PIN_PB1__CLASSD_R0>, 480dd7e1845SClément Léger <PIN_PB3__CLASSD_R2>; 481dd7e1845SClément Léger bias-pull-up; 482dd7e1845SClément Léger }; 483dd7e1845SClément Léger 484dd7e1845SClément Léger pinctrl_classd_default_nfets: classd_default_nfets { 485dd7e1845SClément Léger pinmux = <PIN_PB2__CLASSD_R1>, 486dd7e1845SClément Léger <PIN_PB4__CLASSD_R3>; 487dd7e1845SClément Léger bias-pull-down; 488dd7e1845SClément Léger }; 489dd7e1845SClément Léger 490dd7e1845SClément Léger pinctrl_flx0_default: flx0_default { 491dd7e1845SClément Léger pinmux = <PIN_PB28__FLEXCOM0_IO0>, 492dd7e1845SClément Léger <PIN_PB29__FLEXCOM0_IO1>; 493dd7e1845SClément Léger bias-disable; 494dd7e1845SClément Léger }; 495dd7e1845SClément Léger 496dd7e1845SClément Léger pinctrl_flx4_default: flx4_default { 497dd7e1845SClément Léger pinmux = <PIN_PD12__FLEXCOM4_IO0>, 498dd7e1845SClément Léger <PIN_PD13__FLEXCOM4_IO1>; 499dd7e1845SClément Léger bias-disable; 500dd7e1845SClément Léger }; 501dd7e1845SClément Léger 502dd7e1845SClément Léger pinctrl_flx4_gpio: flx4_gpio { 503dd7e1845SClément Léger pinmux = <PIN_PD12__GPIO>, 504dd7e1845SClément Léger <PIN_PD13__GPIO>; 505dd7e1845SClément Léger bias-disable; 506dd7e1845SClément Léger }; 507dd7e1845SClément Léger 508dd7e1845SClément Léger pinctrl_i2c0_default: i2c0_default { 509dd7e1845SClément Léger pinmux = <PIN_PD21__TWD0>, 510dd7e1845SClément Léger <PIN_PD22__TWCK0>; 511dd7e1845SClément Léger bias-disable; 512dd7e1845SClément Léger }; 513dd7e1845SClément Léger 514dd7e1845SClément Léger pinctrl_i2c0_gpio: i2c0_gpio { 515dd7e1845SClément Léger pinmux = <PIN_PD21__GPIO>, 516dd7e1845SClément Léger <PIN_PD22__GPIO>; 517dd7e1845SClément Léger bias-disable; 518dd7e1845SClément Léger }; 519dd7e1845SClément Léger 520dd7e1845SClément Léger pinctrl_i2c1_default: i2c1_default { 521dd7e1845SClément Léger pinmux = <PIN_PD4__TWD1>, 522dd7e1845SClément Léger <PIN_PD5__TWCK1>; 523dd7e1845SClément Léger bias-disable; 524dd7e1845SClément Léger }; 525dd7e1845SClément Léger 526dd7e1845SClément Léger pinctrl_i2c1_gpio: i2c1_gpio { 527dd7e1845SClément Léger pinmux = <PIN_PD4__GPIO>, 528dd7e1845SClément Léger <PIN_PD5__GPIO>; 529dd7e1845SClément Léger bias-disable; 530dd7e1845SClément Léger }; 531dd7e1845SClément Léger 532dd7e1845SClément Léger pinctrl_i2c2_gpio: i2c2_gpio { 533dd7e1845SClément Léger pinmux = <PIN_PB28__GPIO>, 534dd7e1845SClément Léger <PIN_PB29__GPIO>; 535dd7e1845SClément Léger bias-disable; 536dd7e1845SClément Léger }; 537dd7e1845SClément Léger 538dd7e1845SClément Léger pinctrl_i2s0_default: i2s0_default { 539dd7e1845SClément Léger pinmux = <PIN_PC1__I2SC0_CK>, 540dd7e1845SClément Léger <PIN_PC2__I2SC0_MCK>, 541dd7e1845SClément Léger <PIN_PC3__I2SC0_WS>, 542dd7e1845SClément Léger <PIN_PC4__I2SC0_DI0>, 543dd7e1845SClément Léger <PIN_PC5__I2SC0_DO0>; 544dd7e1845SClément Léger bias-disable; 545dd7e1845SClément Léger }; 546dd7e1845SClément Léger 547dd7e1845SClément Léger pinctrl_i2s1_default: i2s1_default { 548dd7e1845SClément Léger pinmux = <PIN_PA15__I2SC1_CK>, 549dd7e1845SClément Léger <PIN_PA14__I2SC1_MCK>, 550dd7e1845SClément Léger <PIN_PA16__I2SC1_WS>, 551dd7e1845SClément Léger <PIN_PA17__I2SC1_DI0>, 552dd7e1845SClément Léger <PIN_PA18__I2SC1_DO0>; 553dd7e1845SClément Léger bias-disable; 554dd7e1845SClément Léger }; 555dd7e1845SClément Léger 556dd7e1845SClément Léger pinctrl_key_gpio_default: key_gpio_default { 557dd7e1845SClément Léger pinmux = <PIN_PB9__GPIO>; 558dd7e1845SClément Léger bias-pull-up; 559dd7e1845SClément Léger }; 560dd7e1845SClément Léger 561dd7e1845SClément Léger pinctrl_led_gpio_default: led_gpio_default { 562dd7e1845SClément Léger pinmux = <PIN_PB0__GPIO>, 563dd7e1845SClément Léger <PIN_PB5__GPIO>, 564dd7e1845SClément Léger <PIN_PB6__GPIO>; 565dd7e1845SClément Léger bias-pull-up; 566dd7e1845SClément Léger }; 567dd7e1845SClément Léger 568dd7e1845SClément Léger pinctrl_macb0_default: macb0_default { 569dd7e1845SClément Léger pinmux = <PIN_PB14__GTXCK>, 570dd7e1845SClément Léger <PIN_PB15__GTXEN>, 571dd7e1845SClément Léger <PIN_PB16__GRXDV>, 572dd7e1845SClément Léger <PIN_PB17__GRXER>, 573dd7e1845SClément Léger <PIN_PB18__GRX0>, 574dd7e1845SClément Léger <PIN_PB19__GRX1>, 575dd7e1845SClément Léger <PIN_PB20__GTX0>, 576dd7e1845SClément Léger <PIN_PB21__GTX1>, 577dd7e1845SClément Léger <PIN_PB22__GMDC>, 578dd7e1845SClément Léger <PIN_PB23__GMDIO>; 579dd7e1845SClément Léger bias-disable; 580dd7e1845SClément Léger }; 581dd7e1845SClément Léger 582dd7e1845SClément Léger pinctrl_macb0_phy_irq: macb0_phy_irq { 583dd7e1845SClément Léger pinmux = <PIN_PC9__GPIO>; 584dd7e1845SClément Léger bias-disable; 585dd7e1845SClément Léger }; 586dd7e1845SClément Léger 587dd7e1845SClément Léger pinctrl_qspi0_default: qspi0_default { 588dd7e1845SClément Léger sck_cs { 589dd7e1845SClément Léger pinmux = <PIN_PA22__QSPI0_SCK>, 590dd7e1845SClément Léger <PIN_PA23__QSPI0_CS>; 591dd7e1845SClément Léger bias-disable; 592dd7e1845SClément Léger }; 593dd7e1845SClément Léger 594dd7e1845SClément Léger data { 595dd7e1845SClément Léger pinmux = <PIN_PA24__QSPI0_IO0>, 596dd7e1845SClément Léger <PIN_PA25__QSPI0_IO1>, 597dd7e1845SClément Léger <PIN_PA26__QSPI0_IO2>, 598dd7e1845SClément Léger <PIN_PA27__QSPI0_IO3>; 599dd7e1845SClément Léger bias-pull-up; 600dd7e1845SClément Léger }; 601dd7e1845SClément Léger }; 602dd7e1845SClément Léger 603dd7e1845SClément Léger pinctrl_sdmmc0_default: sdmmc0_default { 604dd7e1845SClément Léger cmd_data { 605dd7e1845SClément Léger pinmux = <PIN_PA1__SDMMC0_CMD>, 606dd7e1845SClément Léger <PIN_PA2__SDMMC0_DAT0>, 607dd7e1845SClément Léger <PIN_PA3__SDMMC0_DAT1>, 608dd7e1845SClément Léger <PIN_PA4__SDMMC0_DAT2>, 609dd7e1845SClément Léger <PIN_PA5__SDMMC0_DAT3>, 610dd7e1845SClément Léger <PIN_PA6__SDMMC0_DAT4>, 611dd7e1845SClément Léger <PIN_PA7__SDMMC0_DAT5>, 612dd7e1845SClément Léger <PIN_PA8__SDMMC0_DAT6>, 613dd7e1845SClément Léger <PIN_PA9__SDMMC0_DAT7>; 614dd7e1845SClément Léger bias-disable; 615dd7e1845SClément Léger }; 616dd7e1845SClément Léger 617dd7e1845SClément Léger ck_cd_rstn_vddsel { 618dd7e1845SClément Léger pinmux = <PIN_PA0__SDMMC0_CK>, 619dd7e1845SClément Léger <PIN_PA10__SDMMC0_RSTN>, 620dd7e1845SClément Léger <PIN_PA11__SDMMC0_VDDSEL>, 621dd7e1845SClément Léger <PIN_PA13__SDMMC0_CD>; 622dd7e1845SClément Léger bias-disable; 623dd7e1845SClément Léger }; 624dd7e1845SClément Léger }; 625dd7e1845SClément Léger 626dd7e1845SClément Léger pinctrl_sdmmc1_default: sdmmc1_default { 627dd7e1845SClément Léger cmd_data { 628dd7e1845SClément Léger pinmux = <PIN_PA28__SDMMC1_CMD>, 629dd7e1845SClément Léger <PIN_PA18__SDMMC1_DAT0>, 630dd7e1845SClément Léger <PIN_PA19__SDMMC1_DAT1>, 631dd7e1845SClément Léger <PIN_PA20__SDMMC1_DAT2>, 632dd7e1845SClément Léger <PIN_PA21__SDMMC1_DAT3>; 633dd7e1845SClément Léger bias-disable; 634dd7e1845SClément Léger }; 635dd7e1845SClément Léger 636dd7e1845SClément Léger conf-ck_cd { 637dd7e1845SClément Léger pinmux = <PIN_PA22__SDMMC1_CK>, 638dd7e1845SClément Léger <PIN_PA30__SDMMC1_CD>; 639dd7e1845SClément Léger bias-disable; 640dd7e1845SClément Léger }; 641dd7e1845SClément Léger }; 642dd7e1845SClément Léger 643dd7e1845SClément Léger pinctrl_spi0_default: spi0_default { 644dd7e1845SClément Léger pinmux = <PIN_PA14__SPI0_SPCK>, 645dd7e1845SClément Léger <PIN_PA15__SPI0_MOSI>, 646dd7e1845SClément Léger <PIN_PA16__SPI0_MISO>, 647dd7e1845SClément Léger <PIN_PA17__SPI0_NPCS0>; 648dd7e1845SClément Léger bias-disable; 649dd7e1845SClément Léger }; 650dd7e1845SClément Léger 651dd7e1845SClément Léger pinctrl_uart1_default: uart1_default { 652dd7e1845SClément Léger pinmux = <PIN_PD2__URXD1>, 653dd7e1845SClément Léger <PIN_PD3__UTXD1>; 654dd7e1845SClément Léger bias-disable; 655dd7e1845SClément Léger }; 656dd7e1845SClément Léger 657dd7e1845SClément Léger pinctrl_uart3_default: uart3_default { 658dd7e1845SClément Léger pinmux = <PIN_PB11__URXD3>, 659dd7e1845SClément Léger <PIN_PB12__UTXD3>; 660dd7e1845SClément Léger bias-disable; 661dd7e1845SClément Léger }; 662dd7e1845SClément Léger 663dd7e1845SClément Léger pinctrl_usb_default: usb_default { 664dd7e1845SClément Léger pinmux = <PIN_PB10__GPIO>; 665dd7e1845SClément Léger bias-disable; 666dd7e1845SClément Léger }; 667dd7e1845SClément Léger 668dd7e1845SClément Léger pinctrl_usba_vbus: usba_vbus { 669dd7e1845SClément Léger pinmux = <PIN_PA31__GPIO>; 670dd7e1845SClément Léger bias-disable; 671dd7e1845SClément Léger }; 672dd7e1845SClément Léger 673dd7e1845SClément Léger pinctrl_pwm0_pwm2_default: pwm0_pwm2_default { 674dd7e1845SClément Léger pinmux = <PIN_PB5__PWMH2>, 675dd7e1845SClément Léger <PIN_PB6__PWML2>; 676dd7e1845SClément Léger bias-pull-up; 677dd7e1845SClément Léger }; 678dd7e1845SClément Léger }; 679dd7e1845SClément Léger 680dd7e1845SClément Léger classd: classd@fc048000 { 681dd7e1845SClément Léger pinctrl-names = "default"; 682dd7e1845SClément Léger pinctrl-0 = <&pinctrl_classd_default_pfets &pinctrl_classd_default_nfets>; 683dd7e1845SClément Léger atmel,pwm-type = "diff"; 684dd7e1845SClément Léger atmel,non-overlap-time = <10>; 685dd7e1845SClément Léger status = "okay"; 686dd7e1845SClément Léger }; 687dd7e1845SClément Léger 688dd7e1845SClément Léger i2s1: i2s@fc04c000 { 689dd7e1845SClément Léger pinctrl-names = "default"; 690dd7e1845SClément Léger pinctrl-0 = <&pinctrl_i2s1_default>; 691dd7e1845SClément Léger status = "disabled"; /* conflict with spi0, sdmmc1 */ 692dd7e1845SClément Léger }; 693dd7e1845SClément Léger 694dd7e1845SClément Léger can1: can@fc050000 { 695dd7e1845SClément Léger pinctrl-names = "default"; 696dd7e1845SClément Léger pinctrl-0 = <&pinctrl_can1_default>; 697dd7e1845SClément Léger status = "okay"; 698dd7e1845SClément Léger }; 699dd7e1845SClément Léger }; 700dd7e1845SClément Léger }; 701dd7e1845SClément Léger 702dd7e1845SClément Léger gpio_keys { 703dd7e1845SClément Léger compatible = "gpio-keys"; 704dd7e1845SClément Léger 705dd7e1845SClément Léger pinctrl-names = "default"; 706dd7e1845SClément Léger pinctrl-0 = <&pinctrl_key_gpio_default>; 707dd7e1845SClément Léger 708dd7e1845SClément Léger bp1 { 709dd7e1845SClément Léger label = "PB_USER"; 710dd7e1845SClément Léger gpios = <&pioA PIN_PB9 GPIO_ACTIVE_LOW>; 711dd7e1845SClément Léger /* linux,code = <KEY_PROG1>; BSD license issue */ 712dd7e1845SClément Léger wakeup-source; 713dd7e1845SClément Léger }; 714dd7e1845SClément Léger }; 715dd7e1845SClément Léger 716dd7e1845SClément Léger leds { 717dd7e1845SClément Léger compatible = "gpio-leds"; 718dd7e1845SClément Léger pinctrl-names = "default"; 719dd7e1845SClément Léger pinctrl-0 = <&pinctrl_led_gpio_default>; 720dd7e1845SClément Léger status = "okay"; /* conflict with pwm0 */ 721dd7e1845SClément Léger 722dd7e1845SClément Léger red { 723dd7e1845SClément Léger label = "red"; 724dd7e1845SClément Léger gpios = <&pioA PIN_PB6 GPIO_ACTIVE_LOW>; 725dd7e1845SClément Léger }; 726dd7e1845SClément Léger 727dd7e1845SClément Léger 728dd7e1845SClément Léger green { 729dd7e1845SClément Léger label = "green"; 730dd7e1845SClément Léger gpios = <&pioA PIN_PB5 GPIO_ACTIVE_LOW>; 731dd7e1845SClément Léger }; 732dd7e1845SClément Léger 733dd7e1845SClément Léger blue { 734dd7e1845SClément Léger label = "blue"; 735dd7e1845SClément Léger gpios = <&pioA PIN_PB0 GPIO_ACTIVE_LOW>; 736dd7e1845SClément Léger linux,default-trigger = "heartbeat"; 737dd7e1845SClément Léger }; 738dd7e1845SClément Léger }; 739dd7e1845SClément Léger}; 740