Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/arch/arm/boot/dts/marvell/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 6 kB image not shown  

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.4 Sekunden  (vorverarbeitet)  ]