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/marvell/cn9132-db.dtsi

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+ OR MIT)
    2 /*
    3  * Copyright (C) 2020 Marvell International Ltd.
    4  *
    5  * Device tree for the CN9132-DB board.
    6  */
    7 
    8 #include "cn9131-db.dtsi"
    9 
   10 / {
   11         compatible = "marvell,cn9132", "marvell,cn9131", "marvell,cn9130",
   12                      "marvell,armada-ap807-quad", "marvell,armada-ap807";
   13 
   14         aliases {
   15                 gpio5 = &cp2_gpio1;
   16                 gpio6 = &cp2_gpio2;
   17                 ethernet5 = &cp2_eth0;
   18         };
   19 
   20         cp2_reg_usb3_vbus0: cp2_usb3_vbus@0 {
   21                 compatible = "regulator-fixed";
   22                 regulator-name = "cp2-xhci0-vbus";
   23                 regulator-min-microvolt = <5000000>;
   24                 regulator-max-microvolt = <5000000>;
   25                 enable-active-high;
   26                 gpio = <&cp2_gpio1 2 GPIO_ACTIVE_HIGH>;
   27         };
   28 
   29         cp2_usb3_0_phy0: cp2_usb3_phy0 {
   30                 compatible = "usb-nop-xceiv";
   31                 vcc-supply = <&cp2_reg_usb3_vbus0>;
   32         };
   33 
   34         cp2_reg_usb3_vbus1: cp2_usb3_vbus@1 {
   35                 compatible = "regulator-fixed";
   36                 regulator-name = "cp2-xhci1-vbus";
   37                 regulator-min-microvolt = <5000000>;
   38                 regulator-max-microvolt = <5000000>;
   39                 enable-active-high;
   40                 gpio = <&cp2_gpio1 3 GPIO_ACTIVE_HIGH>;
   41         };
   42 
   43         cp2_usb3_0_phy1: cp2_usb3_phy1 {
   44                 compatible = "usb-nop-xceiv";
   45                 vcc-supply = <&cp2_reg_usb3_vbus1>;
   46         };
   47 
   48         cp2_reg_sd_vccq: cp2_sd_vccq@0 {
   49                 compatible = "regulator-gpio";
   50                 regulator-name = "cp2_sd_vcc";
   51                 regulator-min-microvolt = <1800000>;
   52                 regulator-max-microvolt = <3300000>;
   53                 gpios = <&cp2_gpio2 17 GPIO_ACTIVE_HIGH>;
   54                 states = <1800000 0x1 3300000 0x0>;
   55         };
   56 
   57         cp2_sfp_eth0: sfp-eth0 {
   58                 compatible = "sff,sfp";
   59                 i2c-bus = <&cp2_sfpp0_i2c>;
   60                 los-gpios = <&cp2_module_expander1 11 GPIO_ACTIVE_HIGH>;
   61                 mod-def0-gpios = <&cp2_module_expander1 10 GPIO_ACTIVE_LOW>;
   62                 tx-disable-gpios = <&cp2_module_expander1 9 GPIO_ACTIVE_HIGH>;
   63                 tx-fault-gpios = <&cp2_module_expander1 8 GPIO_ACTIVE_HIGH>;
   64                 /*
   65                  * SFP cages are unconnected on early PCBs because of an the I2C
   66                  * lanes not being connected. Prevent the port for being
   67                  * unusable by disabling the SFP node.
   68                  */
   69                 status = "disabled";
   70         };
   71 };
   72 
   73 /*
   74  * Instantiate the second slave CP115
   75  */
   76 
   77 #define CP11X_NAME              cp2
   78 #define CP11X_BASE              f6000000
   79 #define CP11X_PCIEx_MEM_BASE(iface) (0xe5000000 + (iface * 0x1000000))
   80 #define CP11X_PCIEx_MEM_SIZE(iface) 0xf00000
   81 #define CP11X_PCIE0_BASE        f6600000
   82 #define CP11X_PCIE1_BASE        f6620000
   83 #define CP11X_PCIE2_BASE        f6640000
   84 
   85 #include "armada-cp115.dtsi"
   86 
   87 #undef CP11X_NAME
   88 #undef CP11X_BASE
   89 #undef CP11X_PCIEx_MEM_BASE
   90 #undef CP11X_PCIEx_MEM_SIZE
   91 #undef CP11X_PCIE0_BASE
   92 #undef CP11X_PCIE1_BASE
   93 #undef CP11X_PCIE2_BASE
   94 
   95 &cp2_crypto {
   96         status = "disabled";
   97 };
   98 
   99 &cp2_ethernet {
  100         status = "okay";
  101 };
  102 
  103 /* SLM-1521-V2, CON9 */
  104 &cp2_eth0 {
  105         status = "disabled";
  106         phy-mode = "10gbase-r";
  107         /* Generic PHY, providing serdes lanes */
  108         phys = <&cp2_comphy4 0>;
  109         managed = "in-band-status";
  110         sfp = <&cp2_sfp_eth0>;
  111 };
  112 
  113 &cp2_gpio1 {
  114         status = "okay";
  115 };
  116 
  117 &cp2_gpio2 {
  118         status = "okay";
  119 };
  120 
  121 &cp2_i2c0 {
  122         clock-frequency = <100000>;
  123 
  124         /* SLM-1521-V2 - U3 */
  125         i2c-mux@72 {
  126                 compatible = "nxp,pca9544";
  127                 #address-cells = <1>;
  128                 #size-cells = <0>;
  129                 reg = <0x72>;
  130                 cp2_sfpp0_i2c: i2c@0 {
  131                         #address-cells = <1>;
  132                         #size-cells = <0>;
  133                         reg = <0>;
  134                 };
  135 
  136                 i2c@1 {
  137                         #address-cells = <1>;
  138                         #size-cells = <0>;
  139                         reg = <1>;
  140                         /* U12 */
  141                         cp2_module_expander1: pca9555@21 {
  142                                 compatible = "nxp,pca9555";
  143                                 pinctrl-names = "default";
  144                                 gpio-controller;
  145                                 #gpio-cells = <2>;
  146                                 reg = <0x21>;
  147                         };
  148                 };
  149         };
  150 };
  151 
  152 /* SLM-1521-V2, CON6 */
  153 &cp2_pcie0 {
  154         status = "okay";
  155         num-lanes = <2>;
  156         num-viewport = <8>;
  157         /* Generic PHY, providing serdes lanes */
  158         phys = <&cp2_comphy0 0
  159                 &cp2_comphy1 0>;
  160 };
  161 
  162 /* SLM-1521-V2, CON8 */
  163 &cp2_pcie2 {
  164         status = "okay";
  165         num-lanes = <1>;
  166         num-viewport = <8>;
  167         /* Generic PHY, providing serdes lanes */
  168         phys = <&cp2_comphy5 2>;
  169 };
  170 
  171 &cp2_sata0 {
  172         status = "okay";
  173 
  174         /* SLM-1521-V2, CON4 */
  175         sata-port@0 {
  176                 /* Generic PHY, providing serdes lanes */
  177                 phys = <&cp2_comphy2 0>;
  178         };
  179 };
  180 
  181 /* CON 2 on SLM-1683 - microSD */
  182 &cp2_sdhci0 {
  183         status = "okay";
  184         pinctrl-names = "default";
  185         pinctrl-0 = <&cp2_sdhci_pins>;
  186         bus-width = <4>;
  187         cd-gpios = <&cp2_gpio2 23 GPIO_ACTIVE_LOW>;
  188         vqmmc-supply = <&cp2_reg_sd_vccq>;
  189 };
  190 
  191 &cp2_syscon0 {
  192         cp2_pinctrl: pinctrl {
  193                 compatible = "marvell,cp115-standalone-pinctrl";
  194 
  195                 cp2_i2c0_pins: cp2-i2c-pins-0 {
  196                         marvell,pins = "mpp37", "mpp38";
  197                         marvell,function = "i2c0";
  198                 };
  199                 cp2_sdhci_pins: cp2-sdhi-pins-0 {
  200                         marvell,pins = "mpp56", "mpp57", "mpp58",
  201                                        "mpp59", "mpp60", "mpp61";
  202                         marvell,function = "sdio";
  203                 };
  204         };
  205 };
  206 
  207 &cp2_utmi {
  208         status = "okay";
  209 };
  210 
  211 &cp2_usb3_0 {
  212         status = "okay";
  213         usb-phy = <&cp2_usb3_0_phy0>;
  214         phys = <&cp2_utmi0>;
  215         phy-names = "usb";
  216         dr_mode = "host";
  217 };
  218 
  219 /* SLM-1521-V2, CON11 */
  220 &cp2_usb3_1 {
  221         status = "okay";
  222         usb-phy = <&cp2_usb3_0_phy1>;
  223         /* Generic PHY, providing serdes lanes */
  224         phys = <&cp2_comphy3 1>, <&cp2_utmi1>;
  225         phy-names = "usb", "utmi";
  226         dr_mode = "host";
  227 };

Cache object: 7e3703ea1b4e9a3b3298ab7eb96aec05


[ 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.