Pull ARM devicetree updates from Arnd Bergmann:
"There are six new SoCs added this time.
Apple M1 and Nuvoton WPCM450 have separate branches because they are
new SoC families that require changes outside of device tree files.
The other four are variations of already supported chips and get
merged through this branch:
- STMicroelectronics STM32H750 is one of many variants of STM32
microcontrollers based on the Cortex-M7 core.
This is particularly notable since we rarely add support for new
MMU-less chips these days. In this case, the board that gets added
along with the platform is not a SoC reference platform but the
"Art Pi" (https://art-pi.gitee.io/website/) machine that was
originally design for the RT-Thread RTOS.
- NXP i.MX8QuadMax is a variant of the growing i.MX8
embedded/industrial SoC family, using two Cortex-A72 and four
Cortex-A53 cores.
It gets added along with its reference board, the "NXP i.MX8QuadMax
Multisensory Enablement Kit".
- Qualcomm SC7280 is a Laptop SoC following the SC7180 (Snapdragon
7c) that is used in some Chromebooks and Windows laptops.
Only a reference board is added for the moment.
- TI AM64x Sita4ra is a new version of the K3 SoC family for
industrial control, motor control, remote IO, IoT gateway etc.,
similar to the older AM65x family.
Two reference machines are added alongside.
Among the newly added machines, there is a very clear skew towards
64-bit machines now, with 12 32-bit machines compared to 23 64-bit
machines. The full list sorted by SoC is:
- ASpeed AST2500 BMC: ASRock E3C246D4I Xeon server board
- Allwinner A10: Topwise A721 Tablet
- Amlogic GXL: MeCool KII TV box
- Amlogic GXM: Mecool KIII, Minix Neo U9-H TV boxes
- Broadcom BCM4908: TP-Link Archer C2300 V1 router
- MStar SSD202D: M5Stack UnitV2 camera
- Marvell Armada 38x: ATL-x530 ethernet switch
- Mediatek MT8183 Chromebooks: Lenovo 10e, Acer Spin 311, Asus Flip
CM3, Asus Detachable CM3
- Mediatek MT8516/MT8183: OLogic Pumpkin Board
- NXP i.MX7: reMarkable Tablet
- NXP i.MX8M: Kontron pitx-imx8m, Engicam i.Core MX8M Mini
- Nuvoton NPCM730: Quanta GBS BMC
- Qualcomm X55: Telit FN980 TLB SoM, Thundercomm TurboX T55 SoM
- Qualcomm MSM8998: OnePlus 5/5T phones
- Qualcomm SM8350: Snapdragon 888 Mobile Hardware Development Kit
- Rockchip RK3399: NanoPi R4S board
- STM32MP1: Engicam MicroGEA STM32MP1 MicroDev 2.0 and SOM, EDIMM2.2
Starter Kit, Carrier, SOM
- TI AM65: Siemens SIMATIC IOT2050 gateway
There is notable work going into extending already supported machines
and SoCs:
- ASpeed AST2500
- Allwinner A23, A83t, A31, A64, H6
- Amlogic G12B
- Broadcom BCM4908
- Marvell Armada 7K/8K/CN91xx
- Mediatek MT6589, MT7622, MT8173, MT8183, MT8195
- NXP i.MX8Q, i.MX8MM, i.MX8MP
- Qualcomm MSM8916, SC7180, SDM845, SDX55, SM8350
- Renesas R-Car M3, V3U
- Rockchip RK3328, RK3399
- STEricsson U8500
- STMicroelectronics STM32MP141
- Samsung Exynos 4412
- TI K3-AM65, K3-J7200
- TI OMAP3
Among the treewide cleanups and bug fixes, two parts stand out:
- There are a number of cleanups for issues pointed out by 'make
dtbs_check' this time, and I expect more to come in the future as
we increasingly check for regressions.
- After a change to the MMC subsystem that can lead to unpredictable
device numbers, several platforms add 'aliases' properties for
these to give each MMC controller a fixed number"
* tag 'arm-dt-5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (516 commits)
dt-bindings: mali-bifrost: add dma-coherent
arm64: dts: amlogic: misc DT schema fixups
arm64: dts: qcom: sc7180: Update iommu property for simultaneous playback
arm64: dts: qcom: sc7180: pompom: Add "dmic_clk_en" + sound model
arm64: dts: qcom: sc7180: coachz: Add "dmic_clk_en"
ARM: dts: mstar: Add a dts for M5Stack UnitV2
dt-bindings: arm: mstar: Add compatible for M5Stack UnitV2
dt-bindings: vendor-prefixes: Add vendor prefix for M5Stack
arm64: dts: mt8183: fix dtbs_check warning
arm64: dts: mt8183-pumpkin: fix dtbs_check warning
ARM: dts: aspeed: tiogapass: add hotplug controller
ARM: dts: aspeed: amd-ethanolx: Enable all used I2C busses
ARM: dts: aspeed: Rainier: Update to pass 2 hardware
ARM: dts: aspeed: Rainier 1S4U: Fix fan nodes
ARM: dts: aspeed: Rainier: Fix humidity sensor bus address
ARM: dts: aspeed: Rainier: Fix PCA9552 on bus 8
ARM: dts: qcom: sdx55: add IPA information
ARM: dts: qcom: sdx55: Add basic devicetree support for Thundercomm T55
dt-bindings: arm: qcom: Add binding for Thundercomm T55 kit
ARM: dts: qcom: sdx55: Add basic devicetree support for Telit FN980 TLB
...
696 lines
17 KiB
Plaintext
696 lines
17 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* at91-sam9x60ek.dts - Device Tree file for Microchip SAM9X60-EK board
|
|
*
|
|
* Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
|
|
*
|
|
* Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com>
|
|
*/
|
|
/dts-v1/;
|
|
#include "sam9x60.dtsi"
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "Microchip SAM9X60-EK";
|
|
compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9";
|
|
|
|
aliases {
|
|
i2c0 = &i2c0;
|
|
i2c1 = &i2c1;
|
|
serial1 = &uart1;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
clocks {
|
|
slow_xtal {
|
|
clock-frequency = <32768>;
|
|
};
|
|
|
|
main_xtal {
|
|
clock-frequency = <24000000>;
|
|
};
|
|
};
|
|
|
|
regulators: regulators {
|
|
compatible = "simple-bus";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
vdd_1v8: fixed-regulator-vdd_1v8@0 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VDD_1V8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-always-on;
|
|
status = "okay";
|
|
};
|
|
|
|
vdd_1v5: fixed-regulator-vdd_1v5@1 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VDD_1V5";
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-always-on;
|
|
status = "okay";
|
|
};
|
|
|
|
vdd1_3v3: fixed-regulator-vdd1_3v3@2 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VDD1_3V3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
status = "okay";
|
|
};
|
|
|
|
vdd2_3v3: regulator-fixed-vdd2_3v3@3 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VDD2_3V3";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-always-on;
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_key_gpio_default>;
|
|
status = "okay";
|
|
|
|
sw1 {
|
|
label = "SW1";
|
|
gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
|
|
linux,code=<KEY_PROG1>;
|
|
wakeup-source;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
status = "okay"; /* Conflict with pwm0. */
|
|
|
|
red {
|
|
label = "red";
|
|
gpios = <&pioB 11 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
green {
|
|
label = "green";
|
|
gpios = <&pioB 12 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
blue {
|
|
label = "blue";
|
|
gpios = <&pioB 13 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "heartbeat";
|
|
};
|
|
};
|
|
};
|
|
|
|
&adc {
|
|
vddana-supply = <&vdd1_3v3>;
|
|
vref-supply = <&vdd1_3v3>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
|
|
status = "okay";
|
|
};
|
|
|
|
&can0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_can0_rx_tx>;
|
|
status = "disabled"; /* Conflict with dbgu. */
|
|
};
|
|
|
|
&can1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_can1_rx_tx>;
|
|
status = "okay";
|
|
};
|
|
|
|
&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>;
|
|
status = "okay"; /* Conflict with can0. */
|
|
};
|
|
|
|
&ebi {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
|
|
status = "okay";
|
|
|
|
nand_controller: nand-controller {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
|
|
status = "okay";
|
|
|
|
nand@3 {
|
|
reg = <0x3 0x0 0x800000>;
|
|
rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
|
|
cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
|
|
nand-bus-width = <8>;
|
|
nand-ecc-mode = "hw";
|
|
nand-ecc-strength = <8>;
|
|
nand-ecc-step-size = <512>;
|
|
nand-on-flash-bbt;
|
|
label = "atmel_nand";
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
at91bootstrap@0 {
|
|
label = "at91bootstrap";
|
|
reg = <0x0 0x40000>;
|
|
};
|
|
|
|
uboot@40000 {
|
|
label = "u-boot";
|
|
reg = <0x40000 0xc0000>;
|
|
};
|
|
|
|
ubootenvred@100000 {
|
|
label = "U-Boot Env Redundant";
|
|
reg = <0x100000 0x40000>;
|
|
};
|
|
|
|
ubootenv@140000 {
|
|
label = "U-Boot Env";
|
|
reg = <0x140000 0x40000>;
|
|
};
|
|
|
|
dtb@180000 {
|
|
label = "device tree";
|
|
reg = <0x180000 0x80000>;
|
|
};
|
|
|
|
kernel@200000 {
|
|
label = "kernel";
|
|
reg = <0x200000 0x600000>;
|
|
};
|
|
|
|
rootfs@800000 {
|
|
label = "rootfs";
|
|
reg = <0x800000 0x1f800000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&flx0 {
|
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
|
status = "okay";
|
|
|
|
i2c0: i2c@600 {
|
|
compatible = "microchip,sam9x60-i2c";
|
|
reg = <0x600 0x200>;
|
|
interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_flx0_default>;
|
|
atmel,fifo-size = <16>;
|
|
i2c-analog-filter;
|
|
i2c-digital-filter;
|
|
i2c-digital-filter-width-ns = <35>;
|
|
status = "okay";
|
|
|
|
eeprom@53 {
|
|
compatible = "atmel,24c32";
|
|
reg = <0x53>;
|
|
pagesize = <16>;
|
|
size = <128>;
|
|
status = "okay";
|
|
};
|
|
};
|
|
};
|
|
|
|
&flx4 {
|
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
|
|
status = "disabled";
|
|
|
|
spi0: spi@400 {
|
|
compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
|
|
reg = <0x400 0x200>;
|
|
interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
|
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
|
|
clock-names = "spi_clk";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_flx4_default>;
|
|
atmel,fifo-size = <16>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
&flx5 {
|
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
|
|
status = "okay";
|
|
|
|
uart1: serial@200 {
|
|
compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
|
|
reg = <0x200 0x200>;
|
|
interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
|
|
dmas = <&dma0
|
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
|
AT91_XDMAC_DT_PERID(10))>,
|
|
<&dma0
|
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
|
|
AT91_XDMAC_DT_PERID(11))>;
|
|
dma-names = "tx", "rx";
|
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
|
|
clock-names = "usart";
|
|
pinctrl-0 = <&pinctrl_flx5_default>;
|
|
pinctrl-names = "default";
|
|
atmel,use-dma-rx;
|
|
atmel,use-dma-tx;
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
&flx6 {
|
|
atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
|
|
status = "okay";
|
|
|
|
i2c1: i2c@600 {
|
|
compatible = "microchip,sam9x60-i2c";
|
|
reg = <0x600 0x200>;
|
|
interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_flx6_default>;
|
|
atmel,fifo-size = <16>;
|
|
i2c-analog-filter;
|
|
i2c-digital-filter;
|
|
i2c-digital-filter-width-ns = <35>;
|
|
status = "okay";
|
|
|
|
gpio_exp: mcp23008@20 {
|
|
compatible = "microchip,mcp23008";
|
|
reg = <0x20>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gpbr {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2s {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_i2s_default>;
|
|
#sound-dai-cells = <0>;
|
|
status = "disabled"; /* Conflict with QSPI. */
|
|
};
|
|
|
|
&macb0 {
|
|
phy-mode = "rmii";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_macb0_rmii>;
|
|
status = "okay";
|
|
|
|
ethernet-phy@0 {
|
|
reg = <0x0>;
|
|
};
|
|
};
|
|
|
|
&pinctrl {
|
|
adc {
|
|
pinctrl_adc_default: adc_default {
|
|
atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
|
};
|
|
|
|
pinctrl_adtrg_default: adtrg_default {
|
|
atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
|
|
};
|
|
};
|
|
|
|
dbgu {
|
|
pinctrl_dbgu: dbgu-0 {
|
|
atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
|
AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
|
};
|
|
};
|
|
|
|
i2s {
|
|
pinctrl_i2s_default: i2s {
|
|
atmel,pins =
|
|
<AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SCK */
|
|
AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SWS */
|
|
AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDIN */
|
|
AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDOUT */
|
|
AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* I2SMCK */
|
|
};
|
|
};
|
|
|
|
qspi {
|
|
pinctrl_qspi: qspi {
|
|
atmel,pins =
|
|
<AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
|
|
AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
|
|
AT91_PIOB 21 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOB 22 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOB 23 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOB 24 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)>;
|
|
};
|
|
};
|
|
|
|
nand {
|
|
pinctrl_nand_oe_we: nand-oe-we-0 {
|
|
atmel,pins =
|
|
<AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
|
|
};
|
|
|
|
pinctrl_nand_rb: nand-rb-0 {
|
|
atmel,pins =
|
|
<AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
|
|
};
|
|
|
|
pinctrl_nand_cs: nand-cs-0 {
|
|
atmel,pins =
|
|
<AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
|
|
};
|
|
};
|
|
|
|
ebi {
|
|
pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
|
|
atmel,pins =
|
|
<AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
|
|
};
|
|
|
|
pinctrl_ebi_data_0_15: ebi-data-msb-0 {
|
|
atmel,pins =
|
|
<AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
|
};
|
|
|
|
pinctrl_ebi_addr_nand: ebi-addr-0 {
|
|
atmel,pins =
|
|
<AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
|
|
AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
|
|
};
|
|
};
|
|
|
|
flexcom {
|
|
pinctrl_flx0_default: flx0_twi {
|
|
atmel,pins =
|
|
<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
|
AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
|
};
|
|
|
|
pinctrl_flx4_default: flx4_spi {
|
|
atmel,pins =
|
|
<AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
|
|
AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
|
|
};
|
|
|
|
pinctrl_flx5_default: flx_uart {
|
|
atmel,pins =
|
|
<AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
|
|
AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE
|
|
AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE
|
|
AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
|
};
|
|
|
|
pinctrl_flx6_default: flx6_twi {
|
|
atmel,pins =
|
|
<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
|
|
AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
|
|
};
|
|
};
|
|
|
|
classd {
|
|
pinctrl_classd_default: classd {
|
|
atmel,pins =
|
|
<AT91_PIOA 24 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
|
|
AT91_PIOA 25 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN
|
|
AT91_PIOA 26 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
|
|
AT91_PIOA 27 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN>;
|
|
};
|
|
};
|
|
|
|
can0 {
|
|
pinctrl_can0_rx_tx: can0_rx_tx {
|
|
atmel,pins =
|
|
<AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX0 */
|
|
AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX0 */
|
|
AT91_PIOD 20 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN0 mux */
|
|
AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
|
|
};
|
|
};
|
|
|
|
can1 {
|
|
pinctrl_can1_rx_tx: can1_rx_tx {
|
|
atmel,pins =
|
|
<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX1 RXD1 */
|
|
AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX1 TXD1 */
|
|
AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN1 mux */
|
|
AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
|
|
};
|
|
};
|
|
|
|
macb0 {
|
|
pinctrl_macb0_rmii: macb0_rmii-0 {
|
|
atmel,pins =
|
|
<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */
|
|
AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */
|
|
AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */
|
|
AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */
|
|
AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
|
|
AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */
|
|
AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
|
|
AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
|
|
AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
|
|
AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
|
|
};
|
|
};
|
|
|
|
pwm0 {
|
|
pinctrl_pwm0_0: pwm0_0 {
|
|
atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
|
};
|
|
|
|
pinctrl_pwm0_1: pwm0_1 {
|
|
atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
|
};
|
|
|
|
pinctrl_pwm0_2: pwm0_2 {
|
|
atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
|
};
|
|
|
|
pinctrl_pwm0_3: pwm0_3 {
|
|
atmel,pins = <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE>;
|
|
};
|
|
};
|
|
|
|
sdmmc0 {
|
|
pinctrl_sdmmc0_default: sdmmc0 {
|
|
atmel,pins =
|
|
<AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA17 CK periph A with pullup */
|
|
AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA16 CMD periph A with pullup */
|
|
AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA15 DAT0 periph A */
|
|
AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA18 DAT1 periph A with pullup */
|
|
AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA19 DAT2 periph A with pullup */
|
|
AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA20 DAT3 periph A with pullup */
|
|
};
|
|
};
|
|
|
|
sdmmc1 {
|
|
pinctrl_sdmmc1_default: sdmmc1 {
|
|
atmel,pins =
|
|
<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA13 CK periph B */
|
|
AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA12 CMD periph B with pullup */
|
|
AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA11 DAT0 periph B with pullup */
|
|
AT91_PIOA 2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA2 DAT1 periph B with pullup */
|
|
AT91_PIOA 3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA3 DAT2 periph B with pullup */
|
|
AT91_PIOA 4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA4 DAT3 periph B with pullup */
|
|
};
|
|
};
|
|
|
|
gpio_keys {
|
|
pinctrl_key_gpio_default: pinctrl_key_gpio {
|
|
atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
};
|
|
};
|
|
|
|
usb0 {
|
|
pinctrl_usba_vbus: usba_vbus {
|
|
atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
};
|
|
};
|
|
|
|
usb1 {
|
|
pinctrl_usb_default: usb_default {
|
|
atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
|
|
AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
};
|
|
};
|
|
}; /* pinctrl */
|
|
|
|
&pwm0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2 &pinctrl_pwm0_3>;
|
|
status = "disabled"; /* Conflict with leds. */
|
|
};
|
|
|
|
&sdmmc0 {
|
|
bus-width = <4>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_sdmmc0_default>;
|
|
status = "okay";
|
|
cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
|
|
disable-wp;
|
|
};
|
|
|
|
&sdmmc1 {
|
|
bus-width = <4>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_sdmmc1_default>;
|
|
no-1-8-v;
|
|
non-removable;
|
|
status = "disabled"; /* Conflict with flx4. */
|
|
};
|
|
|
|
&qspi {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_qspi>;
|
|
status = "okay"; /* Conflict with i2s. */
|
|
|
|
flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <80000000>;
|
|
spi-tx-bus-width = <4>;
|
|
spi-rx-bus-width = <4>;
|
|
m25p,fast-read;
|
|
|
|
at91bootstrap@0 {
|
|
label = "qspi: at91bootstrap";
|
|
reg = <0x0 0x40000>;
|
|
};
|
|
|
|
bootloader@40000 {
|
|
label = "qspi: bootloader";
|
|
reg = <0x40000 0xc0000>;
|
|
};
|
|
|
|
bootloaderenvred@100000 {
|
|
label = "qspi: bootloader env redundant";
|
|
reg = <0x100000 0x40000>;
|
|
};
|
|
|
|
bootloaderenv@140000 {
|
|
label = "qspi: bootloader env";
|
|
reg = <0x140000 0x40000>;
|
|
};
|
|
|
|
dtb@180000 {
|
|
label = "qspi: device tree";
|
|
reg = <0x180000 0x80000>;
|
|
};
|
|
|
|
kernel@200000 {
|
|
label = "qspi: kernel";
|
|
reg = <0x200000 0x600000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&rtt {
|
|
atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&shutdown_controller {
|
|
atmel,shdwc-debouncer = <976>;
|
|
status = "okay";
|
|
|
|
input@0 {
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
&tcb0 {
|
|
timer0: timer@0 {
|
|
compatible = "atmel,tcb-timer";
|
|
reg = <0>;
|
|
};
|
|
|
|
timer1: timer@1 {
|
|
compatible = "atmel,tcb-timer";
|
|
reg = <1>;
|
|
};
|
|
};
|
|
|
|
&usb0 {
|
|
atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_usba_vbus>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb1 {
|
|
num-ports = <3>;
|
|
atmel,vbus-gpio = <0
|
|
&pioD 15 GPIO_ACTIVE_HIGH
|
|
&pioD 16 GPIO_ACTIVE_HIGH>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_usb_default>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&watchdog {
|
|
status = "okay";
|
|
};
|
|
|