As usual, the bulk of the changes for the SoC tree are devicetree file updates, and most of these changes are for 64-bit embedded machines. As before, there are a ton of style cleanups, and additional hardware support for existing machines. Looking only at the new SoC, the notable additions are: - A whole family of Broadcom broadband SoCs, both 32-bit and 64-bit: BCM63178, BCM63158, BCM4912, BCM6858, BCM6878, BCM6846, BCM63146, BCM6856, BCM6855, BCM6756, BCM63148, and BCM6813. Each SoC comes with a corresponding reference board. - The new NXP i.MX93 SoC, the follow-up to the popular i.MX6 and i.MX8 embedded SoCs, now using Cortex-A55 cores and the Ethos-U65 NPU. - Qualcomm Snapdragon 8cx Gen3 (SC8280XP), the current high end of Arm based Laptop SoCs, and its automotive cousin, the SA8540P. The SC8280XP is used in the Lenovo Thinkpad X13s laptop that also gets added here in addition to the reference boards. - Allwinner H616, a newer version of the H6 SoC, targeted at Set-top-box applications. It comes with dts files for the Orange Pi zero2 single-board computer and the X96 Mate set-top-box - Marvell Prestera 98DX2530 (AlleyCat5), a network switch chip in the Armada SoC family based on the Cortex-A55 core. New machines based on previously supported SoCs include: - Several new machines on NXP i.MX platforms: multiple Toradex Colibri boards using the "Iris" and "Ixora" carriers, DH electronics i.MX8M Plus DHCOM and PDK2, TQ-Systems TQMa8MPQL, and phytech phyBOARD-Polis-i.MX8MM. - Google Chameleon v3 FPGA board based on Intel Arria10 and Stratix 10 Software Virtual platform, both in the SoCFPGA platform. - Two new wireless devices based on Broadcom SoCs: The Asus GT-AX6000 Router and the Cisco Meraki MR26 access point - Improved Chromebook support for both the Mediatek and Qualcomm SoC families brought added machines: Acer Chromebook 514 (MT8192), Acer Chromebook Spin 513 (MT8195) and a couple of SC7180 based machines including the Lenovo IdeaPad Chromebook Duet 3. - Xiaomi Mi Mix2s, LG G7 and LG V35 are mobile phones based on Qualcomm SDM845, while Mi 5s Plus is based on MSM8996. - Finally, there are a few development board on other chips: PCB8309 (Microchip lan966x), Radxa Rock Pi S (Rockchips RK3308) DH DRC Compact (ST STM32MP1) and Inforce IFC6560 (Qualcomm SDM660) -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmLo+7MACgkQmmx57+YA GNlTQQ//QnOoW3fl2l4TvuBuP1Vxp7KW3GxZEkWBEfy7lfgkfBzksJ2GT+c96fxk +XEvSJcDsSo8zNYXXu/q0jjVKW4lEkiBtaB53NbLayNTFtJccKPiL4hccUkwSg1K zOhfu6SEgkwuYNAhtcQOfIec+gdF2PvpZSWUfuGvM2Z3rNhhyfhgoRRZCpc62eeS VQ+bVJH/7hG4XAJEcwmNK+8GoCcLbOclCa14oa9/LuEVjfYwOblfPjSflmfALzbM BoTDdeMbZoOdy3LOmLpT26Wv7zWQxLhTpiSYiSV0CI4NHUfzJj8ncNh+w9OiN+KO Z7cblHhveW5WSEP/jDp9YTf2XXA5UgpFQQjuXS8zQVECw5YxrSBB96GroQhvpcmT oSS0BVvlmp5snBRx4Oev2ldJ0BuyYYljF0DmmTrQ6s2gvB4WBlRSqplCAkDy59Im +mc5BBTqZYoxzCpzXEZR7VPzk1jzAO5wnYYd1mLJSHVExlSw8CQijy1a4YXxsvmK 4Sysrm8UbmPN/0anbiyPKeIkuNuufFUvUCR3Vm2HnMzNPza8YBJ0xm6zr8J7ecXe QcucpXyLi17GTLOm+pcyj2fQ19yVqO3xbutP4sy9StctEXLZe3rH2hY+GPK6N+Uj 83MbABMCmpUAyPMzR0AwTKx/RwWbf1jjYvcKg2VW8NNV5kkQQzM= =X6mA -----END PGP SIGNATURE----- Merge tag 'arm-dt-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc Pull ARM DT updates from Arnd Bergmann: "As usual, the bulk of the changes for the SoC tree are devicetree file updates, and most of these changes are for 64-bit embedded machines. As before, there are a ton of style cleanups, and additional hardware support for existing machines. Looking only at the new SoC, the notable additions are: - A whole family of Broadcom broadband SoCs, both 32-bit and 64-bit: BCM63178, BCM63158, BCM4912, BCM6858, BCM6878, BCM6846, BCM63146, BCM6856, BCM6855, BCM6756, BCM63148, and BCM6813. Each SoC comes with a corresponding reference board. - The new NXP i.MX93 SoC, the follow-up to the popular i.MX6 and i.MX8 embedded SoCs, now using Cortex-A55 cores and the Ethos-U65 NPU. - Qualcomm Snapdragon 8cx Gen3 (SC8280XP), the current high end of Arm based Laptop SoCs, and its automotive cousin, the SA8540P. The SC8280XP is used in the Lenovo Thinkpad X13s laptop that also gets added here in addition to the reference boards. - Allwinner H616, a newer version of the H6 SoC, targeted at Set-top-box applications. It comes with dts files for the Orange Pi zero2 single-board computer and the X96 Mate set-top-box - Marvell Prestera 98DX2530 (AlleyCat5), a network switch chip in the Armada SoC family based on the Cortex-A55 core. New machines based on previously supported SoCs include: - Several new machines on NXP i.MX platforms: multiple Toradex Colibri boards using the "Iris" and "Ixora" carriers, DH electronics i.MX8M Plus DHCOM and PDK2, TQ-Systems TQMa8MPQL, and phytech phyBOARD-Polis-i.MX8MM. - Google Chameleon v3 FPGA board based on Intel Arria10 and Stratix 10 Software Virtual platform, both in the SoCFPGA platform. - Two new wireless devices based on Broadcom SoCs: The Asus GT-AX6000 Router and the Cisco Meraki MR26 access point - Improved Chromebook support for both the Mediatek and Qualcomm SoC families brought added machines: Acer Chromebook 514 (MT8192), Acer Chromebook Spin 513 (MT8195) and a couple of SC7180 based machines including the Lenovo IdeaPad Chromebook Duet 3. - Xiaomi Mi Mix2s, LG G7 and LG V35 are mobile phones based on Qualcomm SDM845, while Mi 5s Plus is based on MSM8996. - Finally, there are a few development board on other chips: PCB8309 (Microchip lan966x), Radxa Rock Pi S (Rockchips RK3308) DH DRC Compact (ST STM32MP1) and Inforce IFC6560 (Qualcomm SDM660)" * tag 'arm-dt-6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (829 commits) dt-bindings: soc: bcm: use absolute path to other schema dt-bindings: soc: bcm: drop quotes when not needed dt-bindings: soc: microchip: use absolute path to other schema dt-bindings: soc: microchip: drop quotes when not needed ARM: dts: lan966x: keep lan966 entries alphabetically sorted ARM: dts: lan966x: add support for pcb8309 dt-bindings: arm: at91: add lan966 pcb8309 board ARM: dts: lan966x: Enable network driver on pcb8291 ARM: dts: lan966x: Disable can0 on pcb8291 ARM: dts: lan966x: Add gpio-restart dt-bindings: arm: aspeed: add Aspeed Evaluation boards arm64: dts: qcom: Add support for Xiaomi Mi Mix2s dt-bindings: arm: qcom: Add Xiaomi Mi Mix2s bindings dt-bindings: arm: qcom: Document lg,judyln and lg,judyp devices dt-bindings: arm: qcom: add missing SM6350 board compatibles dt-bindings: arm: qcom: add missing SM6125 board compatibles dt-bindings: arm: qcom: add missing SDM845 board compatibles dt-bindings: arm: qcom: add missing SDM636 board compatibles dt-bindings: arm: qcom: add missing SDM630 board compatibles dt-bindings: arm: qcom: add missing QCS404 board compatibles ...
707 lines
18 KiB
Text
707 lines
18 KiB
Text
// 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_1v15: fixed-regulator-vdd_1v15@1 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VDD_1V15";
|
|
regulator-min-microvolt = <1150000>;
|
|
regulator-max-microvolt = <1150000>;
|
|
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>;
|
|
|
|
button-1 {
|
|
label = "SW1";
|
|
gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_PROG1>;
|
|
wakeup-source;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pinctrl_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,24c02";
|
|
reg = <0x53>;
|
|
pagesize = <16>;
|
|
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 */
|
|
};
|
|
pinctrl_sdmmc0_cd: sdmmc0_cd {
|
|
atmel,pins =
|
|
<AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
|
|
};
|
|
};
|
|
|
|
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>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
pinctrl_gpio_leds: gpio_leds {
|
|
atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
|
|
AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
|
|
AT91_PIOB 13 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 &pinctrl_sdmmc0_cd>;
|
|
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 {
|
|
debounce-delay-us = <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";
|
|
};
|
|
|