mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-17 18:28:55 +00:00
52caf2c12b
It is not recommended to have aliases for gpio. In past it was used in Linux for assigning numbers via sysfs which is deprecated and libgpiod should be used instead. In U-Boot this number is used for seq number but gpio offset are not counted from this number. That's why having these aliases only for seq number is not needed. As is done in Linux it is the best to use full gpio name instead of sequence number which depends on sequence in binding. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
315 lines
7.7 KiB
Text
315 lines
7.7 KiB
Text
// SPDX-License-Identifier: GPL-2.0
|
|
/*
|
|
* dts file for Xilinx ZynqMP SM-K26 rev1/B/A
|
|
*
|
|
* (C) Copyright 2020, Xilinx, Inc.
|
|
*
|
|
* Michal Simek <michal.simek@xilinx.com>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "zynqmp.dtsi"
|
|
#include "zynqmp-clk-ccf.dtsi"
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/phy/phy.h>
|
|
|
|
/ {
|
|
model = "ZynqMP SM-K26 Rev1/B/A";
|
|
compatible = "xlnx,zynqmp-sm-k26-rev1", "xlnx,zynqmp-sm-k26-revB",
|
|
"xlnx,zynqmp-sm-k26-revA", "xlnx,zynqmp-sm-k26",
|
|
"xlnx,zynqmp";
|
|
|
|
aliases {
|
|
i2c0 = &i2c0;
|
|
i2c1 = &i2c1;
|
|
mmc0 = &sdhci0;
|
|
mmc1 = &sdhci1;
|
|
nvmem0 = &eeprom;
|
|
nvmem1 = &eeprom_cc;
|
|
rtc0 = &rtc;
|
|
serial0 = &uart0;
|
|
serial1 = &uart1;
|
|
serial2 = &dcc;
|
|
spi0 = &qspi;
|
|
spi1 = &spi0;
|
|
spi2 = &spi1;
|
|
usb0 = &usb0;
|
|
usb1 = &usb1;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "earlycon";
|
|
stdout-path = "serial1:115200n8";
|
|
};
|
|
|
|
memory@0 {
|
|
device_type = "memory"; /* 4GB */
|
|
reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
autorepeat;
|
|
fwuen {
|
|
label = "fwuen";
|
|
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
ds35 {
|
|
label = "heartbeat";
|
|
gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
|
|
linux,default-trigger = "heartbeat";
|
|
};
|
|
|
|
ds36 {
|
|
label = "vbus_det";
|
|
gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
|
|
default-state = "on";
|
|
};
|
|
};
|
|
|
|
ams {
|
|
compatible = "iio-hwmon";
|
|
io-channels = <&xilinx_ams 0>, <&xilinx_ams 1>, <&xilinx_ams 2>,
|
|
<&xilinx_ams 3>, <&xilinx_ams 4>, <&xilinx_ams 5>,
|
|
<&xilinx_ams 6>, <&xilinx_ams 7>, <&xilinx_ams 8>,
|
|
<&xilinx_ams 9>, <&xilinx_ams 10>, <&xilinx_ams 11>,
|
|
<&xilinx_ams 12>, <&xilinx_ams 13>, <&xilinx_ams 14>,
|
|
<&xilinx_ams 15>, <&xilinx_ams 16>, <&xilinx_ams 17>,
|
|
<&xilinx_ams 18>, <&xilinx_ams 19>, <&xilinx_ams 20>,
|
|
<&xilinx_ams 21>, <&xilinx_ams 22>, <&xilinx_ams 23>,
|
|
<&xilinx_ams 24>, <&xilinx_ams 25>, <&xilinx_ams 26>,
|
|
<&xilinx_ams 27>, <&xilinx_ams 28>, <&xilinx_ams 29>;
|
|
};
|
|
};
|
|
|
|
&uart1 { /* MIO36/MIO37 */
|
|
status = "okay";
|
|
};
|
|
|
|
&qspi { /* MIO 0-5 - U143 */
|
|
status = "okay";
|
|
flash@0 { /* MT25QU512A */
|
|
compatible = "mt25qu512a", "jedec,spi-nor"; /* 64MB */
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
reg = <0>;
|
|
spi-tx-bus-width = <1>;
|
|
spi-rx-bus-width = <4>;
|
|
spi-max-frequency = <40000000>; /* 40MHz */
|
|
partition@0 {
|
|
label = "Image Selector";
|
|
reg = <0x0 0x80000>; /* 512KB */
|
|
read-only;
|
|
lock;
|
|
};
|
|
partition@80000 {
|
|
label = "Image Selector Golden";
|
|
reg = <0x80000 0x80000>; /* 512KB */
|
|
read-only;
|
|
lock;
|
|
};
|
|
partition@100000 {
|
|
label = "Persistent Register";
|
|
reg = <0x100000 0x20000>; /* 128KB */
|
|
};
|
|
partition@120000 {
|
|
label = "Persistent Register Backup";
|
|
reg = <0x120000 0x20000>; /* 128KB */
|
|
};
|
|
partition@140000 {
|
|
label = "Open_1";
|
|
reg = <0x140000 0xC0000>; /* 768KB */
|
|
};
|
|
partition@200000 {
|
|
label = "Image A (FSBL, PMU, ATF, U-Boot)";
|
|
reg = <0x200000 0xD00000>; /* 13MB */
|
|
};
|
|
partition@f00000 {
|
|
label = "ImgSel Image A Catch";
|
|
reg = <0xF00000 0x80000>; /* 512KB */
|
|
read-only;
|
|
lock;
|
|
};
|
|
partition@f80000 {
|
|
label = "Image B (FSBL, PMU, ATF, U-Boot)";
|
|
reg = <0xF80000 0xD00000>; /* 13MB */
|
|
};
|
|
partition@1c80000 {
|
|
label = "ImgSel Image B Catch";
|
|
reg = <0x1C80000 0x80000>; /* 512KB */
|
|
read-only;
|
|
lock;
|
|
};
|
|
partition@1d00000 {
|
|
label = "Open_2";
|
|
reg = <0x1D00000 0x100000>; /* 1MB */
|
|
};
|
|
partition@1e00000 {
|
|
label = "Recovery Image";
|
|
reg = <0x1E00000 0x200000>; /* 2MB */
|
|
read-only;
|
|
lock;
|
|
};
|
|
partition@2000000 {
|
|
label = "Recovery Image Backup";
|
|
reg = <0x2000000 0x200000>; /* 2MB */
|
|
read-only;
|
|
lock;
|
|
};
|
|
partition@2200000 {
|
|
label = "U-Boot storage variables";
|
|
reg = <0x2200000 0x20000>; /* 128KB */
|
|
};
|
|
partition@2220000 {
|
|
label = "U-Boot storage variables backup";
|
|
reg = <0x2220000 0x20000>; /* 128KB */
|
|
};
|
|
partition@2240000 {
|
|
label = "SHA256";
|
|
reg = <0x2240000 0x10000>; /* 256B but 64KB sector */
|
|
read-only;
|
|
lock;
|
|
};
|
|
partition@2250000 {
|
|
label = "User";
|
|
reg = <0x2250000 0x1db0000>; /* 29.5 MB */
|
|
};
|
|
};
|
|
};
|
|
|
|
&sdhci0 { /* MIO13-23 - 16GB emmc MTFC16GAPALBH-IT - U133A*/
|
|
status = "okay";
|
|
non-removable;
|
|
disable-wp;
|
|
bus-width = <8>;
|
|
xlnx,mio-bank = <0>;
|
|
};
|
|
|
|
&spi1 { /* MIO6, 9-11 */
|
|
status = "okay";
|
|
label = "TPM";
|
|
num-cs = <1>;
|
|
tpm@0 { /* slm9670 - U144 */
|
|
compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
|
|
reg = <0>;
|
|
spi-max-frequency = <18500000>;
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
clock-frequency = <400000>;
|
|
scl-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
|
|
sda-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
|
|
|
|
eeprom: eeprom@50 { /* u46 - also at address 0x58 */
|
|
compatible = "st,24c64", "atmel,24c64"; /* st m24c64 */
|
|
reg = <0x50>;
|
|
/* WP pin EE_WP_EN connected to slg7x644092@68 */
|
|
};
|
|
|
|
eeprom_cc: eeprom@51 { /* required by spec - also at address 0x59 */
|
|
compatible = "st,24c64", "atmel,24c64"; /* st m24c64 */
|
|
reg = <0x51>;
|
|
};
|
|
|
|
/* da9062@30 - u170 - also at address 0x31 */
|
|
/* da9131@33 - u167 */
|
|
da9131: pmic@33 {
|
|
compatible = "dlg,da9131";
|
|
reg = <0x33>;
|
|
regulators {
|
|
da9131_buck1: buck1 {
|
|
regulator-name = "da9131_buck1";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
da9131_buck2: buck2 {
|
|
regulator-name = "da9131_buck2";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
};
|
|
|
|
/* da9130@32 - u166 */
|
|
da9130: pmic@32 {
|
|
compatible = "dlg,da9130";
|
|
reg = <0x32>;
|
|
regulators {
|
|
da9130_buck1: buck1 {
|
|
regulator-name = "da9130_buck1";
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
};
|
|
|
|
/* slg7x644091@70 - u168 NOT accessible due to address conflict with stdp4320 */
|
|
/*
|
|
* stdp4320 - u27 FW has below two issues to be fixed in next board revision.
|
|
* Device acknowledging to addresses 0x5C, 0x5D, 0x70, 0x72, 0x76.
|
|
* Address conflict with slg7x644091@70 making both the devices NOT accessible.
|
|
* With the FW fix, stdp4320 should respond to address 0x73 only.
|
|
*/
|
|
/* slg7x644092@68 - u169 */
|
|
/* Also connected via JA1C as C23/C24 */
|
|
};
|
|
|
|
&gpio {
|
|
status = "okay";
|
|
gpio-line-names = "QSPI_CLK", "QSPI_DQ1", "QSPI_DQ2", "QSPI_DQ3", "QSPI_DQ0", /* 0 - 4 */
|
|
"QSPI_CS_B", "SPI_CLK", "LED1", "LED2", "SPI_CS_B", /* 5 - 9 */
|
|
"SPI_MISO", "SPI_MOSI", "FWUEN", "EMMC_DAT0", "EMMC_DAT1", /* 10 - 14 */
|
|
"EMMC_DAT2", "EMMC_DAT3", "EMMC_DAT4", "EMMC_DAT5", "EMMC_DAT6", /* 15 - 19 */
|
|
"EMMC_DAT7", "EMMC_CMD", "EMMC_CLK", "EMMC_RST", "I2C1_SCL", /* 20 - 24 */
|
|
"I2C1_SDA", "", "", "", "", /* 25 - 29 */
|
|
"", "", "", "", "", /* 30 - 34 */
|
|
"", "", "", "", "", /* 35 - 39 */
|
|
"", "", "", "", "", /* 40 - 44 */
|
|
"", "", "", "", "", /* 45 - 49 */
|
|
"", "", "", "", "", /* 50 - 54 */
|
|
"", "", "", "", "", /* 55 - 59 */
|
|
"", "", "", "", "", /* 60 - 64 */
|
|
"", "", "", "", "", /* 65 - 69 */
|
|
"", "", "", "", "", /* 70 - 74 */
|
|
"", "", "", /* 75 - 77, MIO end and EMIO start */
|
|
"", "", /* 78 - 79 */
|
|
"", "", "", "", "", /* 80 - 84 */
|
|
"", "", "", "", "", /* 85 - 89 */
|
|
"", "", "", "", "", /* 90 - 94 */
|
|
"", "", "", "", "", /* 95 - 99 */
|
|
"", "", "", "", "", /* 100 - 104 */
|
|
"", "", "", "", "", /* 105 - 109 */
|
|
"", "", "", "", "", /* 110 - 114 */
|
|
"", "", "", "", "", /* 115 - 119 */
|
|
"", "", "", "", "", /* 120 - 124 */
|
|
"", "", "", "", "", /* 125 - 129 */
|
|
"", "", "", "", "", /* 130 - 134 */
|
|
"", "", "", "", "", /* 135 - 139 */
|
|
"", "", "", "", "", /* 140 - 144 */
|
|
"", "", "", "", "", /* 145 - 149 */
|
|
"", "", "", "", "", /* 150 - 154 */
|
|
"", "", "", "", "", /* 155 - 159 */
|
|
"", "", "", "", "", /* 160 - 164 */
|
|
"", "", "", "", "", /* 165 - 169 */
|
|
"", "", "", ""; /* 170 - 174 */
|
|
};
|
|
|
|
&xilinx_ams {
|
|
status = "okay";
|
|
};
|
|
|
|
&ams_ps {
|
|
status = "okay";
|
|
};
|
|
|
|
&ams_pl {
|
|
status = "okay";
|
|
};
|