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/arm/armada-388-helios4.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 OR MIT)
    2 /*
    3  * Device Tree file for Helios4
    4  * based on SolidRun Clearfog revision A1 rev 2.0 (88F6828)
    5  *
    6  *  Copyright (C) 2017 Aditya Prayoga <aditya@kobol.io>
    7  *
    8  */
    9 
   10 /dts-v1/;
   11 #include "armada-388.dtsi"
   12 #include "armada-38x-solidrun-microsom.dtsi"
   13 
   14 / {
   15         model = "Helios4";
   16         compatible = "kobol,helios4", "marvell,armada388",
   17                 "marvell,armada385", "marvell,armada380";
   18 
   19         memory {
   20                 device_type = "memory";
   21                 reg = <0x00000000 0x80000000>; /* 2 GB */
   22         };
   23 
   24         aliases {
   25                 /* So that mvebu u-boot can update the MAC addresses */
   26                 ethernet1 = &eth0;
   27         };
   28 
   29         chosen {
   30                 stdout-path = "serial0:115200n8";
   31         };
   32 
   33         reg_12v: regulator-12v {
   34                 compatible = "regulator-fixed";
   35                 regulator-name = "power_brick_12V";
   36                 regulator-min-microvolt = <12000000>;
   37                 regulator-max-microvolt = <12000000>;
   38                 regulator-always-on;
   39         };
   40 
   41         reg_3p3v: regulator-3p3v {
   42                 compatible = "regulator-fixed";
   43                 regulator-name = "3P3V";
   44                 regulator-min-microvolt = <3300000>;
   45                 regulator-max-microvolt = <3300000>;
   46                 regulator-always-on;
   47                 vin-supply = <&reg_12v>;
   48         };
   49 
   50         reg_5p0v_hdd: regulator-5v-hdd {
   51                 compatible = "regulator-fixed";
   52                 regulator-name = "5V_HDD";
   53                 regulator-min-microvolt = <5000000>;
   54                 regulator-max-microvolt = <5000000>;
   55                 regulator-always-on;
   56                 vin-supply = <&reg_12v>;
   57         };
   58 
   59         reg_5p0v_usb: regulator-5v-usb {
   60                 compatible = "regulator-fixed";
   61                 regulator-name = "USB-PWR";
   62                 regulator-min-microvolt = <5000000>;
   63                 regulator-max-microvolt = <5000000>;
   64                 regulator-boot-on;
   65                 regulator-always-on;
   66                 enable-active-high;
   67                 gpio = <&expander0 6 GPIO_ACTIVE_HIGH>;
   68                 vin-supply = <&reg_12v>;
   69         };
   70 
   71         system-leds {
   72                 compatible = "gpio-leds";
   73                 pinctrl-names = "default";
   74                 pinctrl-0 = <&helios_system_led_pins>;
   75 
   76                 status-led {
   77                         label = "helios4:green:status";
   78                         gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
   79                         linux,default-trigger = "heartbeat";
   80                         default-state = "on";
   81                 };
   82 
   83                 fault-led {
   84                         label = "helios4:red:fault";
   85                         gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
   86                         default-state = "keep";
   87                 };
   88         };
   89 
   90         io-leds {
   91                 compatible = "gpio-leds";
   92                 pinctrl-names = "default";
   93                 pinctrl-0 = <&helios_io_led_pins>;
   94 
   95                 sata1-led {
   96                         label = "helios4:green:ata1";
   97                         gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
   98                         linux,default-trigger = "ata1";
   99                         default-state = "off";
  100                 };
  101                 sata2-led {
  102                         label = "helios4:green:ata2";
  103                         gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
  104                         linux,default-trigger = "ata2";
  105                         default-state = "off";
  106                 };
  107                 sata3-led {
  108                         label = "helios4:green:ata3";
  109                         gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
  110                         linux,default-trigger = "ata3";
  111                         default-state = "off";
  112                 };
  113                 sata4-led {
  114                         label = "helios4:green:ata4";
  115                         gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
  116                         linux,default-trigger = "ata4";
  117                         default-state = "off";
  118                 };
  119                 usb-led {
  120                         label = "helios4:green:usb";
  121                         gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
  122                         linux,default-trigger = "usb-host";
  123                         default-state = "off";
  124                 };
  125         };
  126 
  127         fan1: j10-pwm {
  128                 compatible = "pwm-fan";
  129                 pwms = <&gpio1 9 40000>;        /* Target freq:25 kHz */
  130                 pinctrl-names = "default";
  131                 pinctrl-0 = <&helios_fan1_pins>;
  132         };
  133 
  134         fan2: j17-pwm {
  135                 compatible = "pwm-fan";
  136                 pwms = <&gpio1 23 40000>;       /* Target freq:25 kHz */
  137                 pinctrl-names = "default";
  138                 pinctrl-0 = <&helios_fan2_pins>;
  139         };
  140 
  141         usb2_phy: usb2-phy {
  142                 compatible = "usb-nop-xceiv";
  143                 vbus-regulator = <&reg_5p0v_usb>;
  144         };
  145 
  146         usb3_phy: usb3-phy {
  147                 compatible = "usb-nop-xceiv";
  148         };
  149 
  150         soc {
  151                 internal-regs {
  152                         i2c@11000 {
  153                                 /*
  154                                  * PCA9655 GPIO expander, up to 1MHz clock.
  155                                  *  0-Board Revision bit 0 #
  156                                  *  1-Board Revision bit 1 #
  157                                  *  5-USB3 overcurrent
  158                                  *  6-USB3 power
  159                                  */
  160                                 expander0: gpio-expander@20 {
  161                                         /*
  162                                          * This is how it should be:
  163                                          * compatible = "onnn,pca9655",
  164                                          *       "nxp,pca9555";
  165                                          * but you can't do this because of
  166                                          * the way I2C works.
  167                                          */
  168                                         compatible = "nxp,pca9555";
  169                                         gpio-controller;
  170                                         #gpio-cells = <2>;
  171                                         reg = <0x20>;
  172                                         pinctrl-names = "default";
  173                                         pinctrl-0 = <&pca0_pins>;
  174                                         interrupt-parent = <&gpio0>;
  175                                         interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
  176                                         interrupt-controller;
  177                                         #interrupt-cells = <2>;
  178 
  179                                         board-rev-bit-0-hog {
  180                                                 gpio-hog;
  181                                                 gpios = <0 GPIO_ACTIVE_LOW>;
  182                                                 input;
  183                                                 line-name = "board-rev-0";
  184                                         };
  185                                         board-rev-bit-1-hog {
  186                                                 gpio-hog;
  187                                                 gpios = <1 GPIO_ACTIVE_LOW>;
  188                                                 input;
  189                                                 line-name = "board-rev-1";
  190                                         };
  191                                         usb3-ilimit-hog {
  192                                                 gpio-hog;
  193                                                 gpios = <5 GPIO_ACTIVE_HIGH>;
  194                                                 input;
  195                                                 line-name = "usb-overcurrent-status";
  196                                         };
  197                                 };
  198 
  199                                 temp_sensor: temp@4c {
  200                                         compatible = "ti,lm75";
  201                                         reg = <0x4c>;
  202                                         vcc-supply = <&reg_3p3v>;
  203                                 };
  204                         };
  205 
  206                         i2c@11100 {
  207                                 /*
  208                                  * External I2C Bus for user peripheral
  209                                  */
  210                                 clock-frequency = <400000>;
  211                                 pinctrl-0 = <&helios_i2c1_pins>;
  212                                 pinctrl-names = "default";
  213                                 status = "okay";
  214                         };
  215 
  216                         sata@a8000 {
  217                                 status = "okay";
  218                                 #address-cells = <1>;
  219                                 #size-cells = <0>;
  220 
  221                                 sata0: sata-port@0 {
  222                                         reg = <0>;
  223                                 };
  224 
  225                                 sata1: sata-port@1 {
  226                                         reg = <1>;
  227                                 };
  228                         };
  229 
  230                         sata@e0000 {
  231                                 status = "okay";
  232                                 #address-cells = <1>;
  233                                 #size-cells = <0>;
  234 
  235                                 sata2: sata-port@0 {
  236                                         reg = <0>;
  237                                 };
  238 
  239                                 sata3: sata-port@1 {
  240                                         reg = <1>;
  241                                 };
  242                         };
  243 
  244                         spi@10680 {
  245                                 pinctrl-0 = <&spi1_pins
  246                                              &microsom_spi1_cs_pins>;
  247                                 pinctrl-names = "default";
  248                                 status = "okay";
  249                         };
  250 
  251                         sdhci@d8000 {
  252                                 bus-width = <4>;
  253                                 cd-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
  254                                 no-1-8-v;
  255                                 pinctrl-0 = <&helios_sdhci_pins
  256                                              &helios_sdhci_cd_pins>;
  257                                 pinctrl-names = "default";
  258                                 status = "okay";
  259                                 vmmc = <&reg_3p3v>;
  260                                 wp-inverted;
  261                         };
  262 
  263                         usb@58000 {
  264                                 usb-phy = <&usb2_phy>;
  265                                 status = "okay";
  266                         };
  267 
  268                         usb3@f0000 {
  269                                 status = "okay";
  270                         };
  271 
  272                         usb3@f8000 {
  273                                 status = "okay";
  274                         };
  275 
  276                         pinctrl@18000 {
  277                                 pca0_pins: pca0-pins {
  278                                         marvell,pins = "mpp23";
  279                                         marvell,function = "gpio";
  280                                 };
  281                                 microsom_phy0_int_pins: microsom-phy0-int-pins {
  282                                         marvell,pins = "mpp18";
  283                                         marvell,function = "gpio";
  284                                 };
  285                                 helios_i2c1_pins: i2c1-pins {
  286                                         marvell,pins = "mpp26", "mpp27";
  287                                         marvell,function = "i2c1";
  288                                 };
  289                                 helios_sdhci_cd_pins: helios-sdhci-cd-pins {
  290                                         marvell,pins = "mpp20";
  291                                         marvell,function = "gpio";
  292                                 };
  293                                 helios_sdhci_pins: helios-sdhci-pins {
  294                                         marvell,pins = "mpp21", "mpp28",
  295                                                        "mpp37", "mpp38",
  296                                                        "mpp39", "mpp40";
  297                                         marvell,function = "sd0";
  298                                 };
  299                                 helios_system_led_pins: helios-system-led-pins {
  300                                         marvell,pins = "mpp24", "mpp25";
  301                                         marvell,function = "gpio";
  302                                 };
  303                                 helios_io_led_pins: helios-io-led-pins {
  304                                         marvell,pins = "mpp49", "mpp50",
  305                                                        "mpp52", "mpp53",
  306                                                        "mpp54";
  307                                         marvell,function = "gpio";
  308                                 };
  309                                 helios_fan1_pins: helios_fan1_pins {
  310                                         marvell,pins = "mpp41", "mpp43";
  311                                         marvell,function = "gpio";
  312                                 };
  313                                 helios_fan2_pins: helios_fan2_pins {
  314                                         marvell,pins = "mpp48", "mpp55";
  315                                         marvell,function = "gpio";
  316                                 };
  317                                 microsom_spi1_cs_pins: spi1-cs-pins {
  318                                         marvell,pins = "mpp59";
  319                                         marvell,function = "spi1";
  320                                 };
  321                         };
  322                 };
  323         };
  324 };

Cache object: 50085f9aa9ca90852e7c2eda8d836f32


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