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


Quelle  rk3128-xpi-3128.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)

/dts-v1/;

#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include "rk3128.dtsi"

/ {
 model = "Geniatech XPI-3128";
 compatible = "geniatech,xpi-3128", "rockchip,rk3128";

 aliases {
  ethernet0 = &gmac;
  mmc0 = &emmc;
  mmc1 = &sdmmc;
 };

 memory@60000000 {
  device_type = "memory";
  reg = <0x60000000 0x40000000>;
 };

 chosen {
  stdout-path = &uart1;
 };

 adc-keys {
  compatible = "adc-keys";
  io-channels = <&saradc 1>;
  io-channel-names = "buttons";
  keyup-threshold-microvolt = <3300000>;

  button-recovery {
   label = "Recovery";
   linux,code = <KEY_VENDOR>;
   press-threshold-microvolt = <0>;
  };
 };

 dc_5v: regulator-dc-5v {
  compatible = "regulator-fixed";
  regulator-name = "DC_5V";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  regulator-always-on;
  regulator-boot-on;
 };

 hdmi-connnector {
  compatible = "hdmi-connector";
  type = "a";

  port {
   hdmi_connector_in: endpoint {
    remote-endpoint = <&hdmi_connector_out>;
   };
  };
 };

 /*
  * This is a vbus-supply, which also supplies the GL852G usb hub,
  * thus has to be always-on
  */
 host_pwr_5v: regulator-host-pwr-5v {
  compatible = "regulator-fixed";
  gpio = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
  startup-delay-us = <1500>;
  regulator-name = "HOST_PWR_5V";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  vin-supply = <&dc_5v>;
  pinctrl-names = "default";
  pinctrl-0 = <&host_drv>;
  enable-active-high;
  regulator-always-on;
 };

 ir-receiver {
  compatible = "gpio-ir-receiver";
  gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_LOW>;
  pinctrl-names = "default";
  pinctrl-0 = <&ir_int>;
 };

 leds {
  compatible = "gpio-leds";

  led-power {
   gpios = <&gpio0 RK_PD2 GPIO_ACTIVE_HIGH>;
   function = LED_FUNCTION_POWER;
   color = <LED_COLOR_ID_BLUE>;
   default-state = "on";
   pinctrl-names = "default";
   pinctrl-0 = <&power_led>;
  };

  led-spd {
   gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
   function = LED_FUNCTION_LAN;
   color = <LED_COLOR_ID_GREEN>;
   /*
    * currently not allowed to be set as per
    * https://www.kernel.org/doc/Documentation/devicetree/bindings/leds/common.yaml
    * and needs to set in userspace:
    *
    * linux,default-trigger = "netdev";
    */
   pinctrl-names = "default";
   pinctrl-0 = <&spd_led>;
  };
 };

 mcu3v3: regulator-mcu3v3 {
  compatible = "regulator-fixed";
  regulator-name = "MCU3V3";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  vin-supply = <&vcc_io>;
  regulator-always-on;
  regulator-boot-on;
 };

 vcc_ddr: regulator-vcc-ddr {
  compatible = "regulator-fixed";
  regulator-name = "VCC_DDR";
  regulator-min-microvolt = <1500000>;
  regulator-max-microvolt = <1500000>;
  vin-supply = <&vcc_sys>;
  regulator-always-on;
  regulator-boot-on;
 };

 vcc_io: regulator-vcc-io {
  compatible = "regulator-fixed";
  regulator-name = "VCC_IO";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  vin-supply = <&vcc_sys>;
  regulator-always-on;
  regulator-boot-on;
 };

 vcc_lan: regulator-vcc-lan {
  compatible = "regulator-fixed";
  regulator-name = "VCC_LAN";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  vin-supply = <&vcc_io>;
  regulator-always-on;
  regulator-boot-on;
 };

 vcc_sd: regulator-vcc-sd {
  compatible = "regulator-fixed";
  gpio = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
  startup-delay-us = <500>;
  regulator-name = "VCC_SD";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  vin-supply = <&vcc_io>;
  pinctrl-names = "default";
  pinctrl-0 = <&sdmmc_pwren>;
 };

 vcc_sys: regulator-vcc-sys {
  compatible = "regulator-fixed";
  regulator-name = "VCC_SYS";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  vin-supply = <&dc_5v>;
  regulator-always-on;
  regulator-boot-on;
 };

 vcc33_hdmi: regulator-vcc33-hdmi {
  compatible = "regulator-fixed";
  regulator-name = "VCC33_HDMI";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  vin-supply = <&vcca_33>;
  regulator-always-on;
  regulator-boot-on;
 };

 vcca_33: regulator-vcca-33 {
  compatible = "regulator-fixed";
  regulator-name = "VCCA_33";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  vin-supply = <&vcc_sys>;
  regulator-always-on;
  regulator-boot-on;
 };

 vdd_11: regulator-vdd-11 {
  compatible = "regulator-fixed";
  regulator-name = "VDD_11";
  regulator-min-microvolt = <1100000>;
  regulator-max-microvolt = <1100000>;
  vin-supply = <&vcc_sys>;
  regulator-always-on;
  regulator-boot-on;
 };

 vdd11_hdmi: regulator-vdd11-hdmi {
  compatible = "regulator-fixed";
  regulator-name = "VDD11_HDMI";
  regulator-min-microvolt = <1100000>;
  regulator-max-microvolt = <1100000>;
  vin-supply = <&vdd_11>;
  regulator-always-on;
  regulator-boot-on;
 };

 vdd_arm: regulator-vdd-arm {
  compatible = "pwm-regulator";
  regulator-name = "VDD_ARM";
  pwms = <&pwm1 0 25000 1>;
  pwm-supply = <&vcc_sys>;
  regulator-min-microvolt = <900000>;
  regulator-max-microvolt = <1400000>;
  regulator-always-on;
  regulator-boot-on;
 };

 /*
  * As per schematics vdd_log is minimum 900 mV, maximum 1400 mV.
  * Since there are HW blocks in PD_LOGIC (which are all driven by
  * this supply), that either do not have a driver at all or the
  * driver does not implement regulator support we have to make
  * sure here that the voltage never drops below 1050 mV.
  */
 vdd_log: regulator-vdd-log {
  compatible = "pwm-regulator";
  regulator-name = "VDD_LOG";
  pwms = <&pwm2 0 25000 1>;
  pwm-dutycycle-range = <30 100>;
  pwm-supply = <&vcc_sys>;
  regulator-min-microvolt = <1050000>;
  regulator-max-microvolt = <1400000>;
  regulator-ramp-delay = <4000>;
  regulator-always-on;
  regulator-boot-on;
 };

};

&cpu0 {
 cpu-supply = <&vdd_arm>;
};

&display_subsystem {
 status = "okay";
};

&emmc {
 bus-width = <8>;
 vmmc-supply = <&vcc_io>;
 pinctrl-names = "default";
 pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
 cap-mmc-highspeed;
 mmc-ddr-3_3v;
 no-sd;
 no-sdio;
 status = "okay";
};

&gmac {
 clock_in_out = "output";
 phy-supply = <&vcc_lan>;
 phy-mode = "rmii";
 phy-handle = <&phy0>;
 assigned-clocks = <&cru SCLK_MAC_SRC>;
 assigned-clock-rates = <50000000>;
 pinctrl-names = "default";
 pinctrl-0 = <&rmii_pins>;
 status = "okay";
};

&gpio0 {
 gpio-line-names = /* GPIO0 A0-A7 */
     "", "", "HEADER_5", "HEADER_3",
     "", "", "", "",
     /* GPIO0 B0-B7 */
     "HEADER_22", "HEADER_23", "", "HEADER_19",
     "HEADER_26", "HEADER_21", "HEADER_24", "",
     /* GPIO0 C0-C7 */
     "", "HEADER_18", "", "",
     "", "", "", "",
     /* GPIO0 D0-D7 */
     "HEADER_36", "", "", "",
     "", "", "HEADER_13", "";
};

&gpio1 {
 gpio-line-names = /* GPIO1 A0-A7 */
     "HEADER_7", "HEADER_35", "HEADER_33", "HEADER_37",
     "HEADER_40", "HEADER_38", "", "",
     /* GPIO1 B0-B7 */
     "HEADER_11", "", "", "HEADER_29",
     "HEADER_31", "", "", "",
     /* GPIO1 C0-C7 */
     "", "", "", "",
     "", "", "", "",
     /* GPIO1 D0-D7 */
     "", "", "", "",
     "", "", "", "";
};

&gpio2 {
 gpio-line-names = /* GPIO2 A0-A7 */
     "", "", "", "",
     "", "", "", "",
     /* GPIO2 B0-B7 */
     "", "", "", "",
     "", "", "", "",
     /* GPIO2 C0-C7 */
     "", "", "", "",
     "HEADER_27", "", "", "",
     /* GPIO2 D0-D7 */
     "", "", "HEADER_8", "HEADER_10",
     "", "", "", "";
};

&gpio3 {
 gpio-line-names = /* GPIO3 A0-A7 */
     "", "", "", "",
     "", "", "", "",
     /* GPIO3 B0-B7 */
     "", "", "", "",
     "", "", "", "",
     /* GPIO3 C0-C7 */
     "", "HEADER_32", "", "",
     "", "", "", "HEADER_12",
     /* GPIO3 D0-D7 */
     "", "", "", "HEADER_15",
     "", "", "", "";
};

&gpu {
 mali-supply = <&vdd_log>;
 status = "okay";
};

&hdmi {
 status = "okay";
};

&hdmi_out {
 hdmi_connector_out: endpoint {
  remote-endpoint = <&hdmi_connector_in>;
 };
};

&mdio {
 phy0: ethernet-phy@1 {
  compatible = "ethernet-phy-ieee802.3-c22";
  reg = <1>;
  max-speed = <100>;
  /* T2.2.4 min. 1 us */
  reset-assert-us = <10>;
  /* T2.2.1 + T2.2.2 + T2.2.3 min. 6.05 us */
  reset-deassert-us = <20>;
  reset-gpios = <&gpio2 RK_PD0 GPIO_ACTIVE_LOW>;
  pinctrl-names = "default";
  pinctrl-0 = <&dp83848c_rst>;
 };
};

&pinctrl {
 dp83848c {
  dp83848c_rst: dp83848c-rst {
   rockchip,pins = <2 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 ir-receiver {
  ir_int: ir-int {
   rockchip,pins = <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 leds {
  power_led: power-led {
   rockchip,pins = <0 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  spd_led: spd-led {
   rockchip,pins = <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 usb2 {
  host_drv: host-drv {
   rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };
};

&pwm1 {
 status = "okay";
};

&pwm2 {
 status = "okay";
};

&saradc {
 vref-supply = <&vcc_io>;
 status = "okay";
};

&sdmmc {
 bus-width = <4>;
 vmmc-supply = <&vcc_sd>;
 pinctrl-names = "default";
 pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>;
 disable-wp;
 cap-sd-highspeed;
 no-mmc;
 no-sdio;
 status = "okay";
};

&uart1 {
 status = "okay";
};

&usb_host_ehci {
 status = "okay";
};

&usb_otg {
 vusb_a-supply = <&vcc_io>;
 vusb_d-supply = <&vdd_11>;
 status = "okay";
};

&usb2phy {
 status = "okay";
};

&usb2phy_host {
 status = "okay";
};

&usb2phy_otg {
 status = "okay";
};

&vop {
 status = "okay";
};

[ Dauer der Verarbeitung: 0.16 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