mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-12-07 20:54:50 +00:00
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
...
708 lines
18 KiB
Plaintext
708 lines
18 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_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";
|
|
};
|
|
|