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

Quelle  sun50i-h6-orangepi-3.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
// Copyright (C) 2019 Ondřej Jirman <megous@megous.com>

/dts-v1/;

#include "sun50i-h6.dtsi"
#include "sun50i-h6-cpu-opp.dtsi"

#include <dt-bindings/gpio/gpio.h>

/ {
 model = "OrangePi 3";
 compatible = "xunlong,orangepi-3", "allwinner,sun50i-h6";

 aliases {
  serial0 = &uart0;
  serial1 = &uart1;
 };

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

 connector {
  compatible = "hdmi-connector";
  ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
  type = "a";

  port {
   hdmi_con_in: endpoint {
    remote-endpoint = <&hdmi_out_con>;
   };
  };
 };

 ext_osc32k: ext-osc32k-clk {
  #clock-cells = <0>;
  compatible = "fixed-clock";
  clock-frequency = <32768>;
  clock-output-names = "ext_osc32k";
 };

 leds {
  compatible = "gpio-leds";

  led-0 {
   label = "orangepi:red:power";
   gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
   default-state = "on";
  };

  led-1 {
   label = "orangepi:green:status";
   gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
  };
 };

 reg_vcc5v: vcc5v {
  /* board wide 5V supply directly from the DC jack */
  compatible = "regulator-fixed";
  regulator-name = "vcc-5v";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  regulator-always-on;
 };

 reg_vcc33_wifi: vcc33-wifi {
  /* Always on 3.3V regulator for WiFi and BT */
  compatible = "regulator-fixed";
  regulator-name = "vcc33-wifi";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  regulator-always-on;
  vin-supply = <®_vcc5v>;
 };

 reg_vcc_wifi_io: vcc-wifi-io {
  /* Always on 1.8V/300mA regulator for WiFi and BT IO */
  compatible = "regulator-fixed";
  regulator-name = "vcc-wifi-io";
  regulator-min-microvolt = <1800000>;
  regulator-max-microvolt = <1800000>;
  regulator-always-on;
  vin-supply = <®_vcc33_wifi>;
 };

 wifi_pwrseq: wifi-pwrseq {
  compatible = "mmc-pwrseq-simple";
  clocks = <&rtc CLK_OSC32K_FANOUT>;
  clock-names = "ext_clock";
  reset-gpios = <&r_pio 1 3 GPIO_ACTIVE_LOW>; /* PM3 */
  post-power-on-delay-ms = <200>;
 };
};

&cpu0 {
 cpu-supply = <®_dcdca>;
};

&de {
 status = "okay";
};

&dwc3 {
 status = "okay";
};

&ehci0 {
 status = "okay";
};

&ehci3 {
 status = "okay";
};

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

&hdmi {
 status = "okay";
};

&hdmi_out {
 hdmi_out_con: endpoint {
  remote-endpoint = <&hdmi_con_in>;
 };
};

&mmc0 {
 vmmc-supply = <®_cldo1>;
 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
 disable-wp;
 bus-width = <4>;
 status = "okay";
};

&mmc1 {
 vmmc-supply = <®_vcc33_wifi>;
 vqmmc-supply = <®_vcc_wifi_io>;
 mmc-pwrseq = <&wifi_pwrseq>;
 bus-width = <4>;
 non-removable;
 status = "okay";

 brcm: wifi@1 {
  reg = <1>;
  compatible = "brcm,bcm4329-fmac";
  interrupt-parent = <&r_pio>;
  interrupts = <1 0 IRQ_TYPE_LEVEL_LOW>; /* PM0 */
  interrupt-names = "host-wake";
 };
};

&mmc2 {
 vmmc-supply = <®_cldo1>;
 vqmmc-supply = <®_bldo2>;
 cap-mmc-hw-reset;
 non-removable;
 bus-width = <8>;
 status = "okay";
};

&ohci0 {
 status = "okay";
};

&ohci3 {
 status = "okay";
};

&pio {
 vcc-pc-supply = <®_bldo2>;
 vcc-pd-supply = <®_cldo1>;
 vcc-pg-supply = <®_vcc_wifi_io>;
};

&r_i2c {
 status = "okay";

 axp805: pmic@36 {
  compatible = "x-powers,axp805", "x-powers,axp806";
  reg = <0x36>;
  interrupt-parent = <&r_intc>;
  interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
  interrupt-controller;
  #interrupt-cells = <1>;
  x-powers,self-working-mode;
  vina-supply = <®_vcc5v>;
  vinb-supply = <®_vcc5v>;
  vinc-supply = <®_vcc5v>;
  vind-supply = <®_vcc5v>;
  vine-supply = <®_vcc5v>;
  aldoin-supply = <®_vcc5v>;
  bldoin-supply = <®_vcc5v>;
  cldoin-supply = <®_vcc5v>;

  regulators {
   reg_aldo1: aldo1 {
    regulator-always-on;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-name = "vcc-pl-led-ir";
   };

   reg_aldo2: aldo2 {
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-name = "vcc33-audio-tv-ephy-mac";
   };

   /* ALDO3 is shorted to CLDO1 */
   reg_aldo3: aldo3 {
    regulator-always-on;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-1";
   };

   reg_bldo1: bldo1 {
    regulator-always-on;
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-name = "vcc18-dram-bias-pll";
   };

   reg_bldo2: bldo2 {
    regulator-always-on;
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-name = "vcc-efuse-pcie-hdmi-pc";
   };

   bldo3 {
    /* unused */
   };

   bldo4 {
    /* unused */
   };

   reg_cldo1: cldo1 {
    regulator-always-on;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-name = "vcc33-io-pd-emmc-sd-usb-uart-2";
   };

   cldo2 {
    /* unused */
   };

   cldo3 {
    /* unused */
   };

   reg_dcdca: dcdca {
    regulator-always-on;
    regulator-min-microvolt = <800000>;
    regulator-max-microvolt = <1160000>;
    regulator-ramp-delay = <2500>;
    regulator-name = "vdd-cpu";
   };

   reg_dcdcc: dcdcc {
    regulator-enable-ramp-delay = <32000>;
    regulator-min-microvolt = <810000>;
    regulator-max-microvolt = <1080000>;
    regulator-ramp-delay = <2500>;
    regulator-name = "vdd-gpu";
   };

   reg_dcdcd: dcdcd {
    regulator-always-on;
    regulator-min-microvolt = <960000>;
    regulator-max-microvolt = <960000>;
    regulator-name = "vdd-sys";
   };

   reg_dcdce: dcdce {
    regulator-always-on;
    regulator-min-microvolt = <1200000>;
    regulator-max-microvolt = <1200000>;
    regulator-name = "vcc-dram";
   };

   sw {
    /* unused */
   };
  };
 };
};

&r_ir {
 status = "okay";
};

&rtc {
 clocks = <&ext_osc32k>;
};

&uart0 {
 pinctrl-names = "default";
 pinctrl-0 = <&uart0_ph_pins>;
 status = "okay";
};

/* There's the BT part of the AP6256 connected to that UART */
&uart1 {
 pinctrl-names = "default";
 pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
 uart-has-rtscts;
 status = "okay";

 bluetooth {
  compatible = "brcm,bcm4345c5";
  clocks = <&rtc CLK_OSC32K_FANOUT>;
  clock-names = "lpo";
  device-wakeup-gpios = <&r_pio 1 2 GPIO_ACTIVE_HIGH>; /* PM2 */
  host-wakeup-gpios = <&r_pio 1 1 GPIO_ACTIVE_HIGH>; /* PM1 */
  shutdown-gpios = <&r_pio 1 4 GPIO_ACTIVE_HIGH>; /* PM4 */
  max-speed = <1500000>;
 };
};

&usb2otg {
 /*
  * This board doesn't have a controllable VBUS even though it
  * does have an ID pin. Using it as anything but a USB host is
  * unsafe.
  */
 dr_mode = "host";
 status = "okay";
};

&usb2phy {
 usb0_id_det-gpios = <&pio 2 15 GPIO_ACTIVE_HIGH>; /* PC15 */
 usb0_vbus-supply = <®_vcc5v>;
 usb3_vbus-supply = <®_vcc5v>;
 status = "okay";
};

&usb3phy {
 status = "okay";
};

[ Dauer der Verarbeitung: 0.4 Sekunden  (vorverarbeitet)  ]