325 lines
7.2 KiB
Plaintext
325 lines
7.2 KiB
Plaintext
|
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||
|
/*
|
||
|
* at91-sam9x75_curiosity.dts - Device Tree file for Microchip SAM9X75 Curiosity board
|
||
|
*
|
||
|
* Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries
|
||
|
*
|
||
|
* Author: Varshini Rajendran <varshini.rajendran@microchip.com>
|
||
|
*/
|
||
|
/dts-v1/;
|
||
|
#include "sam9x7.dtsi"
|
||
|
#include <dt-bindings/input/input.h>
|
||
|
|
||
|
/ {
|
||
|
model = "Microchip SAM9X75 Curiosity";
|
||
|
compatible = "microchip,sam9x75-curiosity", "microchip,sam9x7", "atmel,at91sam9";
|
||
|
|
||
|
aliases {
|
||
|
i2c0 = &i2c6;
|
||
|
};
|
||
|
|
||
|
chosen {
|
||
|
stdout-path = "serial0:115200n8";
|
||
|
};
|
||
|
|
||
|
gpio-keys {
|
||
|
compatible = "gpio-keys";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_key_gpio_default>;
|
||
|
|
||
|
button-user {
|
||
|
label = "USER";
|
||
|
gpios = <&pioC 9 GPIO_ACTIVE_LOW>;
|
||
|
linux,code = <KEY_0>;
|
||
|
wakeup-source;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
led-controller {
|
||
|
compatible = "gpio-leds";
|
||
|
|
||
|
led_red: led-red {
|
||
|
label = "red";
|
||
|
gpios = <&pioC 14 GPIO_ACTIVE_HIGH>;
|
||
|
pinctrl-0 = <&pinctrl_red_led_gpio_default>;
|
||
|
};
|
||
|
|
||
|
led_green: led-green {
|
||
|
label = "green";
|
||
|
gpios = <&pioC 21 GPIO_ACTIVE_HIGH>;
|
||
|
pinctrl-0 = <&pinctrl_green_led_gpio_default>;
|
||
|
};
|
||
|
|
||
|
led_blue: led-blue {
|
||
|
label = "blue";
|
||
|
gpios = <&pioC 20 GPIO_ACTIVE_HIGH>;
|
||
|
pinctrl-0 = <&pinctrl_blue_led_gpio_default>;
|
||
|
linux,default-trigger = "heartbeat";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
memory@20000000 {
|
||
|
reg = <0x20000000 0x10000000>;
|
||
|
device_type = "memory";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&classd {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_classd_default>;
|
||
|
atmel,pwm-type = "diff";
|
||
|
atmel,non-overlap-time = <10>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&dbgu {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_dbgu_default>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&dma0 {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&flx6 {
|
||
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&i2c6 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_flx6_default>;
|
||
|
i2c-analog-filter;
|
||
|
i2c-digital-filter;
|
||
|
i2c-digital-filter-width-ns = <35>;
|
||
|
status = "okay";
|
||
|
|
||
|
pmic@5b {
|
||
|
compatible = "microchip,mcp16502";
|
||
|
reg = <0x5b>;
|
||
|
|
||
|
regulators {
|
||
|
vdd_3v3: VDD_IO {
|
||
|
regulator-name = "VDD_IO";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-initial-mode = <2>;
|
||
|
regulator-allowed-modes = <2>, <4>;
|
||
|
regulator-always-on;
|
||
|
|
||
|
regulator-state-standby {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <4>;
|
||
|
};
|
||
|
|
||
|
regulator-state-mem {
|
||
|
regulator-mode = <4>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
vddioddr: VDD_DDR {
|
||
|
regulator-name = "VDD_DDR";
|
||
|
regulator-min-microvolt = <1350000>;
|
||
|
regulator-max-microvolt = <1350000>;
|
||
|
regulator-initial-mode = <2>;
|
||
|
regulator-allowed-modes = <2>, <4>;
|
||
|
regulator-always-on;
|
||
|
|
||
|
regulator-state-standby {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <4>;
|
||
|
};
|
||
|
|
||
|
regulator-state-mem {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <4>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
vddcore: VDD_CORE {
|
||
|
regulator-name = "VDD_CORE";
|
||
|
regulator-min-microvolt = <1150000>;
|
||
|
regulator-max-microvolt = <1150000>;
|
||
|
regulator-initial-mode = <2>;
|
||
|
regulator-allowed-modes = <2>, <4>;
|
||
|
regulator-always-on;
|
||
|
|
||
|
regulator-state-standby {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <4>;
|
||
|
};
|
||
|
|
||
|
regulator-state-mem {
|
||
|
regulator-mode = <4>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dcdc4: VDD_OTHER {
|
||
|
regulator-name = "VDD_OTHER";
|
||
|
regulator-min-microvolt = <1150000>;
|
||
|
regulator-max-microvolt = <1150000>;
|
||
|
regulator-initial-mode = <2>;
|
||
|
regulator-allowed-modes = <2>, <4>;
|
||
|
regulator-ramp-delay = <3125>;
|
||
|
regulator-always-on;
|
||
|
|
||
|
regulator-state-standby {
|
||
|
regulator-on-in-suspend;
|
||
|
regulator-mode = <4>;
|
||
|
};
|
||
|
|
||
|
regulator-state-mem {
|
||
|
regulator-mode = <4>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
vldo1: LDO1 {
|
||
|
regulator-name = "LDO1";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
regulator-always-on;
|
||
|
|
||
|
regulator-state-standby {
|
||
|
regulator-on-in-suspend;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
vldo2: LDO2 {
|
||
|
regulator-name = "LDO2";
|
||
|
regulator-min-microvolt = <1800000>;
|
||
|
regulator-max-microvolt = <1800000>;
|
||
|
|
||
|
regulator-state-standby {
|
||
|
regulator-on-in-suspend;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2s {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_i2s_default>;
|
||
|
#sound-dai-cells = <0>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&main_xtal {
|
||
|
clock-frequency = <24000000>;
|
||
|
};
|
||
|
|
||
|
&pinctrl {
|
||
|
classd {
|
||
|
pinctrl_classd_default: classd-default {
|
||
|
atmel,pins =
|
||
|
<AT91_PIOA 18 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>,
|
||
|
<AT91_PIOA 19 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dbgu {
|
||
|
pinctrl_dbgu_default: dbgu-default {
|
||
|
atmel,pins = <AT91_PIOA 26 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
|
||
|
<AT91_PIOA 27 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
flexcom {
|
||
|
pinctrl_flx6_default: flx6-default {
|
||
|
atmel,pins =
|
||
|
<AT91_PIOA 24 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
|
||
|
<AT91_PIOA 25 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gpio-keys {
|
||
|
pinctrl_key_gpio_default: key-gpio-default {
|
||
|
atmel,pins = <AT91_PIOC 9 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
i2s {
|
||
|
pinctrl_i2s_default: i2s-default {
|
||
|
atmel,pins =
|
||
|
<AT91_PIOB 26 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SCK */
|
||
|
<AT91_PIOB 15 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SWS */
|
||
|
<AT91_PIOB 16 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SDIN */
|
||
|
<AT91_PIOB 17 AT91_PERIPH_D AT91_PINCTRL_NONE>, /* I2SDOUT */
|
||
|
<AT91_PIOB 25 AT91_PERIPH_D AT91_PINCTRL_NONE>; /* I2SMCK */
|
||
|
};
|
||
|
};
|
||
|
|
||
|
led-controller {
|
||
|
pinctrl_red_led_gpio_default: red-led-gpio-default {
|
||
|
atmel,pins = <AT91_PIOC 14 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||
|
};
|
||
|
pinctrl_green_led_gpio_default: green-led-gpio-default {
|
||
|
atmel,pins = <AT91_PIOC 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||
|
};
|
||
|
pinctrl_blue_led_gpio_default: blue-led-gpio-default {
|
||
|
atmel,pins = <AT91_PIOC 20 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sdmmc0 {
|
||
|
pinctrl_sdmmc0_default: sdmmc0-default {
|
||
|
atmel,pins =
|
||
|
<AT91_PIOA 2 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA2 CK periph A with pullup */
|
||
|
<AT91_PIOA 1 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA1 CMD periph A with pullup */
|
||
|
<AT91_PIOA 0 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA0 DAT0 periph A */
|
||
|
<AT91_PIOA 3 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA3 DAT1 periph A with pullup */
|
||
|
<AT91_PIOA 4 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>, /* PA4 DAT2 periph A with pullup */
|
||
|
<AT91_PIOA 5 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI | AT91_PINCTRL_SLEWRATE_ENA)>; /* PA5 DAT3 periph A with pullup */
|
||
|
};
|
||
|
};
|
||
|
}; /* pinctrl */
|
||
|
|
||
|
&poweroff {
|
||
|
debounce-delay-us = <976>;
|
||
|
status = "okay";
|
||
|
|
||
|
input@0 {
|
||
|
reg = <0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&rtt {
|
||
|
atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
|
||
|
};
|
||
|
|
||
|
&sdmmc0 {
|
||
|
bus-width = <4>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&pinctrl_sdmmc0_default>;
|
||
|
cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
|
||
|
disable-wp;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&slow_xtal {
|
||
|
clock-frequency = <32768>;
|
||
|
};
|
||
|
|
||
|
&tcb {
|
||
|
timer0: timer@0 {
|
||
|
compatible = "atmel,tcb-timer";
|
||
|
reg = <0>;
|
||
|
};
|
||
|
|
||
|
timer1: timer@1 {
|
||
|
compatible = "atmel,tcb-timer";
|
||
|
reg = <1>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&trng {
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&watchdog {
|
||
|
status = "okay";
|
||
|
};
|