Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  armada-388-helios4.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Device Tree file for Helios4
 * based on SolidRun Clearfog revision A1 rev 2.0 (88F6828)
 *
 *  Copyright (C) 2017 Aditya Prayoga <aditya@kobol.io>
 *
 */

/dts-v1/;
#include "armada-388.dtsi"
#include "armada-38x-solidrun-microsom.dtsi"

/ {
 model = "Helios4";
 compatible = "kobol,helios4", "marvell,armada388",
  "marvell,armada385", "marvell,armada380";

 memory {
  device_type = "memory";
  reg = <0x00000000 0x80000000>; /* 2 GB */
 };

 aliases {
  /* So that mvebu u-boot can update the MAC addresses */
  ethernet1 = ð0;
 };

 chosen {
  stdout-path = "serial0:115200n8";
 };

 reg_12v: regulator-12v {
  compatible = "regulator-fixed";
  regulator-name = "power_brick_12V";
  regulator-min-microvolt = <12000000>;
  regulator-max-microvolt = <12000000>;
  regulator-always-on;
 };

 reg_3p3v: regulator-3p3v {
  compatible = "regulator-fixed";
  regulator-name = "3P3V";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  regulator-always-on;
  vin-supply = <®_12v>;
 };

 reg_5p0v_hdd: regulator-5v-hdd {
  compatible = "regulator-fixed";
  regulator-name = "5V_HDD";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  regulator-always-on;
  vin-supply = <®_12v>;
 };

 reg_5p0v_usb: regulator-5v-usb {
  compatible = "regulator-fixed";
  regulator-name = "USB-PWR";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  regulator-boot-on;
  regulator-always-on;
  enable-active-high;
  gpio = <&expander0 6 GPIO_ACTIVE_HIGH>;
  vin-supply = <®_12v>;
 };

 system-leds {
  compatible = "gpio-leds";
  pinctrl-names = "default";
  pinctrl-0 = <&helios_system_led_pins>;

  status-led {
   label = "helios4:green:status";
   gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
   linux,default-trigger = "heartbeat";
   default-state = "on";
  };

  fault-led {
   label = "helios4:red:fault";
   gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
   default-state = "keep";
  };
 };

 io-leds {
  compatible = "gpio-leds";
  pinctrl-names = "default";
  pinctrl-0 = <&helios_io_led_pins>;

  sata1-led {
   label = "helios4:green:ata1";
   gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
   linux,default-trigger = "ata1";
   default-state = "off";
  };
  sata2-led {
   label = "helios4:green:ata2";
   gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
   linux,default-trigger = "ata2";
   default-state = "off";
  };
  sata3-led {
   label = "helios4:green:ata3";
   gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
   linux,default-trigger = "ata3";
   default-state = "off";
  };
  sata4-led {
   label = "helios4:green:ata4";
   gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
   linux,default-trigger = "ata4";
   default-state = "off";
  };
  usb-led {
   label = "helios4:green:usb";
   gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
   linux,default-trigger = "usb-host";
   default-state = "off";
  };
 };

 fan1: j10-pwm {
  compatible = "pwm-fan";
  pwms = <&gpio1 9 40000>; /* Target freq:25 kHz */
  pinctrl-names = "default";
  pinctrl-0 = <&helios_fan1_pins>;
 };

 fan2: j17-pwm {
  compatible = "pwm-fan";
  pwms = <&gpio1 23 40000>; /* Target freq:25 kHz */
  pinctrl-names = "default";
  pinctrl-0 = <&helios_fan2_pins>;
 };

 usb2_phy: usb2-phy {
  compatible = "usb-nop-xceiv";
  vbus-regulator = <®_5p0v_usb>;
 };

 usb3_phy: usb3-phy {
  compatible = "usb-nop-xceiv";
 };

 soc {
  internal-regs {
   i2c@11000 {
    /*
     * PCA9655 GPIO expander, up to 1MHz clock.
     *  0-Board Revision bit 0 #
     *  1-Board Revision bit 1 #
     *  5-USB3 overcurrent
     *  6-USB3 power
     */
    expander0: gpio-expander@20 {
     /*
      * This is how it should be:
      * compatible = "onnn,pca9655",
      *  "nxp,pca9555";
      * but you can't do this because of
      * the way I2C works.
      */
     compatible = "nxp,pca9555";
     gpio-controller;
     #gpio-cells = <2>;
     reg = <0x20>;
     pinctrl-names = "default";
     pinctrl-0 = <&pca0_pins>;
     interrupt-parent = <&gpio0>;
     interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
     interrupt-controller;
     #interrupt-cells = <2>;

     board-rev-bit-0-hog {
      gpio-hog;
      gpios = <0 GPIO_ACTIVE_LOW>;
      input;
      line-name = "board-rev-0";
     };
     board-rev-bit-1-hog {
      gpio-hog;
      gpios = <1 GPIO_ACTIVE_LOW>;
      input;
      line-name = "board-rev-1";
     };
     usb3-ilimit-hog {
      gpio-hog;
      gpios = <5 GPIO_ACTIVE_HIGH>;
      input;
      line-name = "usb-overcurrent-status";
     };
    };

    temp_sensor: temp@4c {
     compatible = "ti,lm75";
     reg = <0x4c>;
     vcc-supply = <®_3p3v>;
    };
   };

   i2c@11100 {
    /*
     * External I2C Bus for user peripheral
     */
    clock-frequency = <400000>;
    pinctrl-0 = <&helios_i2c1_pins>;
    pinctrl-names = "default";
    status = "okay";
   };

   sata@a8000 {
    status = "okay";
    #address-cells = <1>;
    #size-cells = <0>;

    sata0: sata-port@0 {
     reg = <0>;
    };

    sata1: sata-port@1 {
     reg = <1>;
    };
   };

   sata@e0000 {
    status = "okay";
    #address-cells = <1>;
    #size-cells = <0>;

    sata2: sata-port@0 {
     reg = <0>;
    };

    sata3: sata-port@1 {
     reg = <1>;
    };
   };

   spi@10680 {
    pinctrl-0 = <&spi1_pins
          µsom_spi1_cs_pins>;
    pinctrl-names = "default";
    status = "okay";
   };

   sdhci@d8000 {
    bus-width = <4>;
    cd-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
    no-1-8-v;
    pinctrl-0 = <&helios_sdhci_pins
          &helios_sdhci_cd_pins>;
    pinctrl-names = "default";
    status = "okay";
    vmmc = <®_3p3v>;
    wp-inverted;
   };

   usb@58000 {
    usb-phy = <&usb2_phy>;
    status = "okay";
   };

   usb3@f0000 {
    status = "okay";
   };

   usb3@f8000 {
    status = "okay";
   };

   pinctrl@18000 {
    pca0_pins: pca0-pins {
     marvell,pins = "mpp23";
     marvell,function = "gpio";
    };
    microsom_phy0_int_pins: microsom-phy0-int-pins {
     marvell,pins = "mpp18";
     marvell,function = "gpio";
    };
    helios_i2c1_pins: i2c1-pins {
     marvell,pins = "mpp26", "mpp27";
     marvell,function = "i2c1";
    };
    helios_sdhci_cd_pins: helios-sdhci-cd-pins {
     marvell,pins = "mpp20";
     marvell,function = "gpio";
    };
    helios_sdhci_pins: helios-sdhci-pins {
     marvell,pins = "mpp21", "mpp28",
             "mpp37", "mpp38",
             "mpp39", "mpp40";
     marvell,function = "sd0";
    };
    helios_system_led_pins: helios-system-led-pins {
     marvell,pins = "mpp24", "mpp25";
     marvell,function = "gpio";
    };
    helios_io_led_pins: helios-io-led-pins {
     marvell,pins = "mpp49", "mpp50",
             "mpp52", "mpp53",
             "mpp54";
     marvell,function = "gpio";
    };
    helios_fan1_pins: helios_fan1_pins {
     marvell,pins = "mpp41", "mpp43";
     marvell,function = "gpio";
    };
    helios_fan2_pins: helios_fan2_pins {
     marvell,pins = "mpp48", "mpp55";
     marvell,function = "gpio";
    };
    microsom_spi1_cs_pins: spi1-cs-pins {
     marvell,pins = "mpp59";
     marvell,function = "spi1";
    };
   };
  };
 };
};

[ Dauer der Verarbeitung: 0.3 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge