Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  rk3566-quartz64-b.dts   Sprache: unbekannt

 
Spracherkennung für: .dts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

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

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/soc/rockchip,vop2.h>
#include "rk3566.dtsi"

/ {
 model = "Pine64 Quartz64 Model B";
 compatible = "pine64,quartz64-b", "rockchip,rk3566";

 aliases {
  ethernet0 = &gmac1;
  mmc0 = &sdmmc0;
  mmc1 = &sdhci;
  mmc2 = &sdmmc1;
 };

 chosen: chosen {
  stdout-path = "serial2:1500000n8";
 };

 gmac1_clkin: external-gmac1-clock {
  compatible = "fixed-clock";
  clock-frequency = <125000000>;
  clock-output-names = "gmac1_clkin";
  #clock-cells = <0>;
 };

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

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

 leds {
  compatible = "gpio-leds";

  led-user {
   label = "user-led";
   default-state = "on";
   gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
   linux,default-trigger = "heartbeat";
   pinctrl-names = "default";
   pinctrl-0 = <&user_led_enable_h>;
   retain-state-suspended;
  };
 };

 sound {
  compatible = "simple-audio-card";
  simple-audio-card,format = "i2s";
  simple-audio-card,name = "Analog RK809";
  simple-audio-card,mclk-fs = <256>;

  simple-audio-card,cpu {
   sound-dai = <&i2s1_8ch>;
  };

  simple-audio-card,codec {
   sound-dai = <&rk809>;
  };
 };

 sdio_pwrseq: sdio-pwrseq {
  status = "okay";
  compatible = "mmc-pwrseq-simple";
  clocks = <&rk809 1>;
  clock-names = "ext_clock";
  pinctrl-names = "default";
  pinctrl-0 = <&wifi_enable_h>;
  reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
  post-power-on-delay-ms = <100>;
  power-off-delay-us = <5000000>;
 };

 vcc3v3_pcie_p: regulator-vcc3v3-pcie-p {
  compatible = "regulator-fixed";
  enable-active-high;
  gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
  pinctrl-names = "default";
  pinctrl-0 = <&pcie_enable_h>;
  regulator-name = "vcc3v3_pcie_p";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  vin-supply = <&vcc_3v3>;
 };

 vcc5v0_in: regulator-vcc5v0-in {
  compatible = "regulator-fixed";
  regulator-name = "vcc5v0_in";
  regulator-always-on;
  regulator-boot-on;
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
 };

 vcc5v0_sys: regulator-vcc5v0-sys {
  compatible = "regulator-fixed";
  regulator-name = "vcc5v0_sys";
  regulator-always-on;
  regulator-boot-on;
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  vin-supply = <&vcc5v0_in>;
 };

 vcc3v3_sys: regulator-vcc3v3-sys {
  compatible = "regulator-fixed";
  regulator-name = "vcc3v3_sys";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  regulator-always-on;
  vin-supply = <&vcc5v0_sys>;
 };

 vcc5v0_usb30_host: regulator-vcc5v0-usb30-host {
  compatible = "regulator-fixed";
  regulator-name = "vcc5v0_usb30_host";
  enable-active-high;
  gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
  pinctrl-names = "default";
  pinctrl-0 = <&vcc5v0_usb30_host_en_h>;
  regulator-always-on;
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  vin-supply = <&vcc5v0_sys>;
 };

 vcc5v0_usb_otg: regulator-vcc5v0-usb-otg {
  compatible = "regulator-fixed";
  regulator-name = "vcc5v0_usb_otg";
  enable-active-high;
  gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
  pinctrl-names = "default";
  pinctrl-0 = <&vcc5v0_usb_otg_en_h>;
  regulator-always-on;
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  vin-supply = <&vcc5v0_sys>;
 };
};

&combphy1 {
 status = "okay";
};

&combphy2 {
 status = "okay";
};

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

&cpu1 {
 cpu-supply = <&vdd_cpu>;
};

&cpu2 {
 cpu-supply = <&vdd_cpu>;
};

&cpu3 {
 cpu-supply = <&vdd_cpu>;
};

&gmac1 {
 assigned-clocks = <&cru SCLK_GMAC1_RX_TX>,
     <&cru SCLK_GMAC1_RGMII_SPEED>,
     <&cru SCLK_GMAC1>;
 assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>,
     <&cru SCLK_GMAC1>,
     <&gmac1_clkin>;
 clock_in_out = "input";
 phy-mode = "rgmii";
 phy-supply = <&vcc_3v3>;
 pinctrl-names = "default";
 pinctrl-0 = <&gmac1m1_miim
       &gmac1m1_tx_bus2
       &gmac1m1_rx_bus2
       &gmac1m1_rgmii_clk
       &gmac1m1_clkinout
       &gmac1m1_rgmii_bus>;
 snps,reset-gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
 snps,reset-active-low;
 /* Reset time is 20ms, 100ms for rtl8211f, also works well here */
 snps,reset-delays-us = <0 20000 100000>;
 tx_delay = <0x4f>;
 rx_delay = <0x24>;
 phy-handle = <&rgmii_phy1>;
 status = "okay";
};

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

&hdmi {
 avdd-0v9-supply = <&vdda0v9_image>;
 avdd-1v8-supply = <&vcca1v8_image>;
 status = "okay";
};

&hdmi_in {
 hdmi_in_vp0: endpoint {
  remote-endpoint = <&vp0_out_hdmi>;
 };
};

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

&hdmi_sound {
 status = "okay";
};

&i2c0 {
 status = "okay";

 vdd_cpu: regulator@1c {
  compatible = "tcs,tcs4525";
  reg = <0x1c>;
  fcs,suspend-voltage-selector = <1>;
  regulator-name = "vdd_cpu";
  regulator-min-microvolt = <800000>;
  regulator-max-microvolt = <1150000>;
  regulator-ramp-delay = <2300>;
  regulator-always-on;
  regulator-boot-on;
  vin-supply = <&vcc5v0_sys>;

  regulator-state-mem {
   regulator-off-in-suspend;
  };
 };

 rk809: pmic@20 {
  compatible = "rockchip,rk809";
  reg = <0x20>;
  interrupt-parent = <&gpio0>;
  interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
  assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
  assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
  clock-names = "mclk";
  clocks = <&cru I2S1_MCLKOUT_TX>;
  clock-output-names = "rk808-clkout1", "rk808-clkout2";

  pinctrl-names = "default";
  pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
  system-power-controller;
  #sound-dai-cells = <0>;
  wakeup-source;
  #clock-cells = <1>;

  vcc1-supply = <&vcc3v3_sys>;
  vcc2-supply = <&vcc3v3_sys>;
  vcc3-supply = <&vcc3v3_sys>;
  vcc4-supply = <&vcc3v3_sys>;
  vcc5-supply = <&vcc3v3_sys>;
  vcc6-supply = <&vcc3v3_sys>;
  vcc7-supply = <&vcc3v3_sys>;
  vcc8-supply = <&vcc3v3_sys>;
  vcc9-supply = <&vcc3v3_sys>;

  regulators {
   vdd_log: DCDC_REG1 {
    regulator-name = "vdd_log";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <500000>;
    regulator-max-microvolt = <1350000>;
    regulator-ramp-delay = <6001>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <900000>;
    };
   };

   vdd_gpu: DCDC_REG2 {
    regulator-name = "vdd_gpu";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <500000>;
    regulator-max-microvolt = <1350000>;
    regulator-ramp-delay = <6001>;

    regulator-state-mem {
     regulator-off-in-suspend;
     regulator-suspend-microvolt = <900000>;
    };
   };

   vcc_ddr: DCDC_REG3 {
    regulator-name = "vcc_ddr";
    regulator-always-on;
    regulator-boot-on;
    regulator-initial-mode = <0x2>;
    regulator-state-mem {
     regulator-on-in-suspend;
    };
   };

   vdd_npu: DCDC_REG4 {
    regulator-name = "vdd_npu";
    regulator-min-microvolt = <900000>;
    regulator-max-microvolt = <1350000>;
    regulator-initial-mode = <0x2>;
    regulator-state-mem {
     regulator-off-in-suspend;
    };
   };

   vcc_1v8: DCDC_REG5 {
    regulator-name = "vcc_1v8";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <1800000>;
    };
   };

   vdda0v9_image: LDO_REG1 {
    regulator-name = "vdda0v9_image";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <900000>;
    regulator-max-microvolt = <900000>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <900000>;
    };
   };

   vdda_0v9: LDO_REG2 {
    regulator-name = "vdda_0v9";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <900000>;
    regulator-max-microvolt = <900000>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <900000>;
    };
   };

   vdda0v9_pmu: LDO_REG3 {
    regulator-name = "vdda0v9_pmu";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <900000>;
    regulator-max-microvolt = <900000>;
    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <900000>;
    };
   };

   vccio_acodec: LDO_REG4 {
    regulator-name = "vccio_acodec";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <3300000>;

    };
   };

   vccio_sd: LDO_REG5 {
    regulator-name = "vccio_sd";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <3300000>;
    };
   };

   vcc3v3_pmu: LDO_REG6 {
    regulator-name = "vcc3v3_pmu";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <3300000>;
    };
   };

   vcca_1v8: LDO_REG7 {
    regulator-name = "vcca_1v8";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <1800000>;
    };
   };

   vcca1v8_pmu: LDO_REG8 {
    regulator-name = "vcca1v8_pmu";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <1800000>;
    };
   };

   vcca1v8_image: LDO_REG9 {
    regulator-name = "vcca1v8_image";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <1800000>;
    };
   };

   vcc_3v3: SWITCH_REG1 {
    regulator-boot-on;
    regulator-name = "vcc_3v3";
   };

   vcc3v3_sd: SWITCH_REG2 {
    regulator-name = "vcc3v3_sd";
   };
  };
 };
};

/* i2c2_m1 exposed on csi port, pulled up to vcc_3v3 */
&i2c2 {
 pinctrl-names = "default";
 pinctrl-0 = <&i2c2m1_xfer>;
 status = "okay";
};

/* i2c3_m1 exposed on dsi port, pulled up to vcc_3v3 */
&i2c3 {
 pinctrl-names = "default";
 pinctrl-0 = <&i2c3m1_xfer>;
 status = "okay";
};

/*
 * i2c4_m0 is exposed on PI40, pulled up to vcc_3v3
 * pin 27 - i2c4_sda_m0
 * pin 28 - i2c4_scl_m0
 */
&i2c4 {
 status = "okay";
};

/*
 * i2c5_m0 is exposed on PI40
 * pin 29 - i2c5_scl_m0
 * pin 31 - i2c5_sda_m0
 */
&i2c5 {
 status = "disabled";
};

&i2s0_8ch {
 status = "okay";
};

&i2s1_8ch {
 pinctrl-names = "default";
 pinctrl-0 = <&i2s1m0_sclktx
       &i2s1m0_lrcktx
       &i2s1m0_sdi0
       &i2s1m0_sdo0>;
 rockchip,trcm-sync-tx-only;
 status = "okay";
};

&mdio1 {
 rgmii_phy1: ethernet-phy@1 {
  compatible = "ethernet-phy-ieee802.3-c22";
  reg = <0x1>;
 };
};

&pcie2x1 {
 pinctrl-names = "default";
 pinctrl-0 = <&pcie_reset_h>;
 reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
 vpcie3v3-supply = <&vcc3v3_pcie_p>;
 status = "okay";
};

&pinctrl {
 bt {
  bt_enable_h: bt-enable-h {
   rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  bt_host_wake_l: bt-host-wake-l {
   rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_down>;
  };

  bt_wake_l: bt-wake-l {
   rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 leds {
  user_led_enable_h: user-led-enable-h {
   rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 pcie {
  pcie_enable_h: pcie-enable-h {
   rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  pcie_reset_h: pcie-reset-h {
   rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 pmic {
  pmic_int: pmic_int {
   rockchip,pins =
    <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
  };
 };

 sdio-pwrseq {
  wifi_enable_h: wifi-enable-h {
   rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 usb {
  vcc5v0_usb30_host_en_h: vcc5v0-usb30-host-en_h {
   rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  vcc5v0_usb_otg_en_h: vcc5v0-usb-otg-en_h {
   rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };
};

&pmu_io_domains {
 status = "okay";
 pmuio1-supply = <&vcc3v3_pmu>;
 pmuio2-supply = <&vcca1v8_pmu>;
 vccio1-supply = <&vccio_acodec>;
 vccio2-supply = <&vcc_1v8>;
 vccio3-supply = <&vccio_sd>;
 vccio4-supply = <&vcca1v8_pmu>;
 vccio5-supply = <&vcc_3v3>;
 vccio6-supply = <&vcc_3v3>;
 vccio7-supply = <&vcc_3v3>;
};

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

&sdhci {
 bus-width = <8>;
 mmc-hs200-1_8v;
 non-removable;
 vmmc-supply = <&vcc_3v3>;
 vqmmc-supply = <&vcc_1v8>;
 status = "okay";
};

&sdmmc0 {
 bus-width = <4>;
 cap-sd-highspeed;
 cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
 disable-wp;
 pinctrl-names = "default";
 pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
 sd-uhs-sdr50;
 vmmc-supply = <&vcc3v3_sd>;
 vqmmc-supply = <&vccio_sd>;
 status = "okay";
};

&sdmmc1 {
 bus-width = <4>;
 cap-sd-highspeed;
 cap-sdio-irq;
 keep-power-in-suspend;
 mmc-pwrseq = <&sdio_pwrseq>;
 non-removable;
 pinctrl-names = "default";
 pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
 vmmc-supply = <&vcc3v3_sys>;
 vqmmc-supply = <&vcca1v8_pmu>;
 status = "okay";
};

&sfc {
 pinctrl-0 = <&fspi_pins>;
 pinctrl-names = "default";
 #address-cells = <1>;
 #size-cells = <0>;
 status = "okay";

 flash@0 {
  compatible = "jedec,spi-nor";
  reg = <0>;
  spi-max-frequency = <24000000>;
  spi-rx-bus-width = <4>;
  spi-tx-bus-width = <1>;
  vcc-supply = <&vcc_1v8>;
 };
};

&tsadc {
 rockchip,hw-tshut-mode = <1>;
 rockchip,hw-tshut-polarity = <0>;
 status = "okay";
};

&uart1 {
 dma-names = "tx", "rx";
 pinctrl-names = "default";
 pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
 status = "okay";
 uart-has-rtscts;

 bluetooth {
  compatible = "brcm,bcm4345c5";
  clocks = <&rk809 1>;
  clock-names = "lpo";
  device-wakeup-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
  host-wakeup-gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
  shutdown-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
  pinctrl-names = "default";
  pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
  vbat-supply = <&vcc3v3_sys>;
  vddio-supply = <&vcca1v8_pmu>;
 };
};

/*
 * uart2_m0 is exposed on PI40
 * pin 8  - uart2_tx_m0
 * pin 10 - uart2_rx_m0
 */
&uart2 {
 status = "okay";
};

&usb2phy0_host {
 phy-supply = <&vcc5v0_usb30_host>;
 status = "okay";
};

&usb2phy0_otg {
 phy-supply = <&vcc5v0_usb_otg>;
 status = "okay";
};

&usb2phy1_otg {
 phy-supply = <&vcc5v0_usb30_host>;
 status = "okay";
};

&usb2phy0 {
 status = "okay";
};

&usb2phy1 {
 status = "okay";
};

&usb_host0_xhci {
 status = "okay";
};

&usb_host1_xhci {
 status = "okay";
};

&usb_host0_ehci {
 status = "okay";
};

&usb_host0_ohci {
 status = "okay";
};

&vop {
 assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
 assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
 status = "okay";
};

&vop_mmu {
 status = "okay";
};

&vp0 {
 vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
  reg = <ROCKCHIP_VOP2_EP_HDMI0>;
  remote-endpoint = <&hdmi_in_vp0>;
 };
};

[Dauer der Verarbeitung: 0.39 Sekunden, vorverarbeitet 2026-06-07]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik