The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm64/xilinx/zynqmp-sm-k26-revA.dts

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: GPL-2.0
    2 /*
    3  * dts file for Xilinx ZynqMP SM-K26 rev1/B/A
    4  *
    5  * (C) Copyright 2020 - 2021, Xilinx, Inc.
    6  *
    7  * Michal Simek <michal.simek@xilinx.com>
    8  */
    9 
   10 /dts-v1/;
   11 
   12 #include "zynqmp.dtsi"
   13 #include "zynqmp-clk-ccf.dtsi"
   14 #include <dt-bindings/input/input.h>
   15 #include <dt-bindings/gpio/gpio.h>
   16 #include <dt-bindings/phy/phy.h>
   17 
   18 / {
   19         model = "ZynqMP SM-K26 Rev1/B/A";
   20         compatible = "xlnx,zynqmp-sm-k26-rev1", "xlnx,zynqmp-sm-k26-revB",
   21                      "xlnx,zynqmp-sm-k26-revA", "xlnx,zynqmp-sm-k26",
   22                      "xlnx,zynqmp";
   23 
   24         aliases {
   25                 i2c0 = &i2c0;
   26                 i2c1 = &i2c1;
   27                 mmc0 = &sdhci0;
   28                 mmc1 = &sdhci1;
   29                 nvmem0 = &eeprom;
   30                 nvmem1 = &eeprom_cc;
   31                 rtc0 = &rtc;
   32                 serial0 = &uart0;
   33                 serial1 = &uart1;
   34                 serial2 = &dcc;
   35                 spi0 = &qspi;
   36                 spi1 = &spi0;
   37                 spi2 = &spi1;
   38                 usb0 = &usb0;
   39                 usb1 = &usb1;
   40         };
   41 
   42         chosen {
   43                 bootargs = "earlycon";
   44                 stdout-path = "serial1:115200n8";
   45         };
   46 
   47         memory@0 {
   48                 device_type = "memory"; /* 4GB */
   49                 reg = <0x0 0x0 0x0 0x80000000>, <0x8 0x00000000 0x0 0x80000000>;
   50         };
   51 
   52         gpio-keys {
   53                 compatible = "gpio-keys";
   54                 autorepeat;
   55                 key-fwuen {
   56                         label = "fwuen";
   57                         gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
   58                 };
   59         };
   60 
   61         leds {
   62                 compatible = "gpio-leds";
   63                 ds35-led {
   64                         label = "heartbeat";
   65                         gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
   66                         linux,default-trigger = "heartbeat";
   67                 };
   68 
   69                 ds36-led {
   70                         label = "vbus_det";
   71                         gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
   72                         default-state = "on";
   73                 };
   74         };
   75 };
   76 
   77 &uart1 { /* MIO36/MIO37 */
   78         status = "okay";
   79 };
   80 
   81 &qspi { /* MIO 0-5 - U143 */
   82         status = "okay";
   83         flash@0 { /* MT25QU512A */
   84                 compatible = "mt25qu512a", "jedec,spi-nor"; /* 64MB */
   85                 #address-cells = <1>;
   86                 #size-cells = <1>;
   87                 reg = <0>;
   88                 spi-tx-bus-width = <1>;
   89                 spi-rx-bus-width = <4>;
   90                 spi-max-frequency = <40000000>; /* 40MHz */
   91                 partition@0 {
   92                         label = "Image Selector";
   93                         reg = <0x0 0x80000>; /* 512KB */
   94                         read-only;
   95                         lock;
   96                 };
   97                 partition@80000 {
   98                         label = "Image Selector Golden";
   99                         reg = <0x80000 0x80000>; /* 512KB */
  100                         read-only;
  101                         lock;
  102                 };
  103                 partition@100000 {
  104                         label = "Persistent Register";
  105                         reg = <0x100000 0x20000>; /* 128KB */
  106                 };
  107                 partition@120000 {
  108                         label = "Persistent Register Backup";
  109                         reg = <0x120000 0x20000>; /* 128KB */
  110                 };
  111                 partition@140000 {
  112                         label = "Open_1";
  113                         reg = <0x140000 0xC0000>; /* 768KB */
  114                 };
  115                 partition@200000 {
  116                         label = "Image A (FSBL, PMU, ATF, U-Boot)";
  117                         reg = <0x200000 0xD00000>; /* 13MB */
  118                 };
  119                 partition@f00000 {
  120                         label = "ImgSel Image A Catch";
  121                         reg = <0xF00000 0x80000>; /* 512KB */
  122                         read-only;
  123                         lock;
  124                 };
  125                 partition@f80000 {
  126                         label = "Image B (FSBL, PMU, ATF, U-Boot)";
  127                         reg = <0xF80000 0xD00000>; /* 13MB */
  128                 };
  129                 partition@1c80000 {
  130                         label = "ImgSel Image B Catch";
  131                         reg = <0x1C80000 0x80000>; /* 512KB */
  132                         read-only;
  133                         lock;
  134                 };
  135                 partition@1d00000 {
  136                         label = "Open_2";
  137                         reg = <0x1D00000 0x100000>; /* 1MB */
  138                 };
  139                 partition@1e00000 {
  140                         label = "Recovery Image";
  141                         reg = <0x1E00000 0x200000>; /* 2MB */
  142                         read-only;
  143                         lock;
  144                 };
  145                 partition@2000000 {
  146                         label = "Recovery Image Backup";
  147                         reg = <0x2000000 0x200000>; /* 2MB */
  148                         read-only;
  149                         lock;
  150                 };
  151                 partition@2200000 {
  152                         label = "U-Boot storage variables";
  153                         reg = <0x2200000 0x20000>; /* 128KB */
  154                 };
  155                 partition@2220000 {
  156                         label = "U-Boot storage variables backup";
  157                         reg = <0x2220000 0x20000>; /* 128KB */
  158                 };
  159                 partition@2240000 {
  160                         label = "SHA256";
  161                         reg = <0x2240000 0x10000>; /* 256B but 64KB sector */
  162                         read-only;
  163                         lock;
  164                 };
  165                 partition@2250000 {
  166                         label = "User";
  167                         reg = <0x2250000 0x1db0000>; /* 29.5 MB */
  168                 };
  169         };
  170 };
  171 
  172 &sdhci0 { /* MIO13-23 - 16GB emmc MTFC16GAPALBH-IT - U133A */
  173         status = "okay";
  174         non-removable;
  175         disable-wp;
  176         bus-width = <8>;
  177         xlnx,mio-bank = <0>;
  178 };
  179 
  180 &spi1 { /* MIO6, 9-11 */
  181         status = "okay";
  182         label = "TPM";
  183         num-cs = <1>;
  184         tpm@0 { /* slm9670 - U144 */
  185                 compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
  186                 reg = <0>;
  187                 spi-max-frequency = <18500000>;
  188         };
  189 };
  190 
  191 &i2c1 {
  192         status = "okay";
  193         clock-frequency = <400000>;
  194         scl-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
  195         sda-gpios = <&gpio 25 GPIO_ACTIVE_HIGH>;
  196 
  197         eeprom: eeprom@50 { /* u46 - also at address 0x58 */
  198                 compatible = "st,24c64", "atmel,24c64"; /* st m24c64 */
  199                 reg = <0x50>;
  200                 /* WP pin EE_WP_EN connected to slg7x644092@68 */
  201         };
  202 
  203         eeprom_cc: eeprom@51 { /* required by spec - also at address 0x59 */
  204                 compatible = "st,24c64", "atmel,24c64"; /* st m24c64 */
  205                 reg = <0x51>;
  206         };
  207 
  208         /* da9062@30 - u170 - also at address 0x31 */
  209         /* da9131@33 - u167 */
  210         da9131: pmic@33 {
  211                 compatible = "dlg,da9131";
  212                 reg = <0x33>;
  213                 regulators {
  214                         da9131_buck1: buck1 {
  215                                 regulator-name = "da9131_buck1";
  216                                 regulator-boot-on;
  217                                 regulator-always-on;
  218                         };
  219                         da9131_buck2: buck2 {
  220                                 regulator-name = "da9131_buck2";
  221                                 regulator-boot-on;
  222                                 regulator-always-on;
  223                         };
  224                 };
  225         };
  226 
  227         /* da9130@32 - u166 */
  228         da9130: pmic@32 {
  229                 compatible = "dlg,da9130";
  230                 reg = <0x32>;
  231                 regulators {
  232                         da9130_buck1: buck1 {
  233                                 regulator-name = "da9130_buck1";
  234                                 regulator-boot-on;
  235                                 regulator-always-on;
  236                         };
  237                 };
  238         };
  239 
  240         /* slg7x644091@70 - u168 NOT accessible due to address conflict with stdp4320 */
  241         /*
  242          * stdp4320 - u27 FW has below two issues to be fixed in next board revision.
  243          * Device acknowledging to addresses 0x5C, 0x5D, 0x70, 0x72, 0x76.
  244          * Address conflict with slg7x644091@70 making both the devices NOT accessible.
  245          * With the FW fix, stdp4320 should respond to address 0x73 only.
  246          */
  247         /* slg7x644092@68 - u169 */
  248         /* Also connected via JA1C as C23/C24 */
  249 };
  250 
  251 &gpio {
  252         status = "okay";
  253         gpio-line-names = "QSPI_CLK", "QSPI_DQ1", "QSPI_DQ2", "QSPI_DQ3", "QSPI_DQ0", /* 0 - 4 */
  254                           "QSPI_CS_B", "SPI_CLK", "LED1", "LED2", "SPI_CS_B", /* 5 - 9 */
  255                           "SPI_MISO", "SPI_MOSI", "FWUEN", "EMMC_DAT0", "EMMC_DAT1", /* 10 - 14 */
  256                           "EMMC_DAT2", "EMMC_DAT3", "EMMC_DAT4", "EMMC_DAT5", "EMMC_DAT6", /* 15 - 19 */
  257                           "EMMC_DAT7", "EMMC_CMD", "EMMC_CLK", "EMMC_RST", "I2C1_SCL", /* 20 - 24 */
  258                           "I2C1_SDA", "", "", "", "", /* 25 - 29 */
  259                           "", "", "", "", "", /* 30 - 34 */
  260                           "", "", "", "", "", /* 35 - 39 */
  261                           "", "", "", "", "", /* 40 - 44 */
  262                           "", "", "", "", "", /* 45 - 49 */
  263                           "", "", "", "", "", /* 50 - 54 */
  264                           "", "", "", "", "", /* 55 - 59 */
  265                           "", "", "", "", "", /* 60 - 64 */
  266                           "", "", "", "", "", /* 65 - 69 */
  267                           "", "", "", "", "", /* 70 - 74 */
  268                           "", "", "", /* 75 - 77, MIO end and EMIO start */
  269                           "", "", /* 78 - 79 */
  270                           "", "", "", "", "", /* 80 - 84 */
  271                           "", "", "", "", "", /* 85 - 89 */
  272                           "", "", "", "", "", /* 90 - 94 */
  273                           "", "", "", "", "", /* 95 - 99 */
  274                           "", "", "", "", "", /* 100 - 104 */
  275                           "", "", "", "", "", /* 105 - 109 */
  276                           "", "", "", "", "", /* 110 - 114 */
  277                           "", "", "", "", "", /* 115 - 119 */
  278                           "", "", "", "", "", /* 120 - 124 */
  279                           "", "", "", "", "", /* 125 - 129 */
  280                           "", "", "", "", "", /* 130 - 134 */
  281                           "", "", "", "", "", /* 135 - 139 */
  282                           "", "", "", "", "", /* 140 - 144 */
  283                           "", "", "", "", "", /* 145 - 149 */
  284                           "", "", "", "", "", /* 150 - 154 */
  285                           "", "", "", "", "", /* 155 - 159 */
  286                           "", "", "", "", "", /* 160 - 164 */
  287                           "", "", "", "", "", /* 165 - 169 */
  288                           "", "", "", ""; /* 170 - 173 */
  289 };

Cache object: dcca2c005d1995f0456fdb7e81844cc5


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.