| // 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 { |
| 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; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &flx7 { |
| atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>; |
| status = "okay"; |
| }; |
| |
| &i2c7 { |
| dmas = <0>, <0>; |
| i2c-analog-filter; |
| i2c-digital-filter; |
| i2c-digital-filter-width-ns = <35>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_flx7_default>; |
| status = "okay"; |
| |
| power-monitor@10 { |
| compatible = "microchip,pac1934"; |
| reg = <0x10>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| channel@1 { |
| reg = <0x1>; |
| shunt-resistor-micro-ohms = <10000>; |
| label = "VDD3V3"; |
| }; |
| |
| channel@2 { |
| reg = <0x2>; |
| shunt-resistor-micro-ohms = <10000>; |
| label = "DCDC4"; |
| }; |
| |
| channel@3 { |
| reg = <0x3>; |
| shunt-resistor-micro-ohms = <10000>; |
| label = "VDDCORE"; |
| }; |
| |
| channel@4 { |
| reg = <0x4>; |
| shunt-resistor-micro-ohms = <10000>; |
| label = "VDDIODDR"; |
| }; |
| }; |
| }; |
| |
| &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>; |
| }; |
| |
| pinctrl_flx7_default: flx7-default { |
| atmel,pins = |
| <AT91_PIOC 0 AT91_PERIPH_C AT91_PINCTRL_PULL_UP>, |
| <AT91_PIOC 1 AT91_PERIPH_C 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"; |
| }; |