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


Quelle  px30-pp1516.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2025 Cherry Embedded Solutions GmbH
 */

/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include "px30.dtsi"

/ {
 aliases {
  mmc0 = &emmc;
 };

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

 backlight: backlight {
  compatible = "pwm-backlight";
  power-supply = <&vcc5v0_sys>;
  pwms = <&pwm0 0 25000 0>;
 };

 beeper {
  compatible = "pwm-beeper";
  pwms = <&pwm1 0 1000 0>;
 };

 emmc_pwrseq: emmc-pwrseq {
  compatible = "mmc-pwrseq-emmc";
  pinctrl-0 = <&emmc_reset>;
  pinctrl-names = "default";
  reset-gpios = <&gpio1 RK_PB3 GPIO_ACTIVE_HIGH>;
 };

 gpio-leds {
  compatible = "gpio-leds";
  pinctrl-names = "default";
  pinctrl-0 = <&debug_led_pin>, <&heartbeat_led_pin>;

  /*
   * LED2 on the PCB, left of the USB-C connector.
   * Typically NOT populated.
   */
  debug: led-0 {
   label = "debug";
   gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;
   linux,default-trigger = "none";
  };

  /*
   * LED14 on the PCB, left of the PX30 SoC.
   * Typically NOT populated.
   */
  heartbeat: led-1 {
   label = "heartbeat";
   gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
   linux,default-trigger = "heartbeat";
  };
 };

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

 vcc_cam_avdd: regulator-vcc-cam-avdd {
  compatible = "regulator-fixed";
  regulator-name = "vcc_cam_avdd";
  gpio = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
  pinctrl-names = "default";
  pinctrl-0 = <&cam_avdd_en>;
  regulator-min-microvolt = <2800000>;
  regulator-max-microvolt = <2800000>;
  vin-supply = <&vcc_2v8>;
 };

 vcc_cam_dovdd: regulator-vcc-cam-dovdd {
  compatible = "regulator-fixed";
  regulator-name = "vcc_cam_dovdd";
  gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>;
  pinctrl-names = "default";
  pinctrl-0 = <&cam_dovdd_en>;
  regulator-min-microvolt = <1800000>;
  regulator-max-microvolt = <1800000>;
  vin-supply = <&vcc_1v8>;
 };

 vcc_cam_dvdd: regulator-vcc-cam-dvdd {
  compatible = "regulator-fixed";
  regulator-name = "vcc_cam_dvdd";
  gpio = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
  enable-active-high;
  pinctrl-names = "default";
  pinctrl-0 = <&cam_dvdd_en>;
  regulator-min-microvolt = <1200000>;
  regulator-max-microvolt = <1200000>;
  vin-supply = <&vcc_3v3>;
 };

 vcc_lens_afvdd: regulator-vcc-lens-afvdd {
  compatible = "regulator-fixed";
  regulator-name = "vcc_lens_afvdd";
  gpio = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>;
  pinctrl-names = "default";
  pinctrl-0 = <&cam_afvdd_en>;
  regulator-min-microvolt = <2800000>;
  regulator-max-microvolt = <2800000>;
  vin-supply = <&vcc_2v8>;
 };
};

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

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

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

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

&csi_dphy {
 status = "okay";
};

&display_subsystem {
 status = "okay";
};

&dsi_dphy {
 status = "okay";
};

&emmc {
 bus-width = <8>;
 cap-mmc-highspeed;
 /*
  * For hs200 support, U-Boot would have to set the RK809 DCDC4
  * rail to 1.8V from the default of 3.0V. It doesn't do that on
  * devices out in the field, so disable hs200.
  * mmc-hs200-1_8v;
  */
 mmc-pwrseq = <&emmc_pwrseq>;
 non-removable;
 vmmc-supply = <&vcc_3v3>;
 vqmmc-supply = <&vcc_emmc>;
 status = "okay";
};

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

/* I2C0 = PMIC, Touchscreen */
&i2c0 {
 status = "okay";

 touchscreen@14 {
  compatible = "goodix,gt911";
  reg = <0x14>;
  AVDD28-supply = <&vcc_2v8>;
  interrupt-parent = <&gpio0>;
  interrupts = <RK_PA1 IRQ_TYPE_LEVEL_LOW>;
  irq-gpios = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
  pinctrl-names = "default";
  pinctrl-0 = <&tch_int &tch_rst>;
  reset-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
  VDDIO-supply = <&vcc_3v3>;
 };

 rk809: pmic@20 {
  compatible = "rockchip,rk809";
  reg = <0x20>;
  #clock-cells = <0>;
  clock-output-names = "xin32k";
  interrupt-parent = <&gpio0>;
  interrupts = <RK_PA7 IRQ_TYPE_LEVEL_LOW>;
  pinctrl-names = "default";
  pinctrl-0 = <&pmic_int>;
  system-power-controller;
  wakeup-source;

  vcc1-supply = <&vcc5v0_sys>;
  vcc2-supply = <&vcc5v0_sys>;
  vcc3-supply = <&vcc5v0_sys>;
  vcc4-supply = <&vcc5v0_sys>;
  vcc5-supply = <&vcc_3v3>;
  vcc6-supply = <&vcc_3v3>;
  vcc7-supply = <&vcc_3v3>;
  vcc9-supply = <&vcc5v0_sys>;

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

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

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

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

   vcc_ddr: DCDC_REG3 {
    regulator-name = "vcc_ddr";
    regulator-always-on;
    regulator-boot-on;

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

   vcc_3v0_1v8: vcc_emmc: DCDC_REG4 {
    regulator-name = "vcc_3v0_1v8";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <3000000>;
    regulator-max-microvolt = <3000000>;

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

   vcc_3v3: DCDC_REG5 {
    regulator-name = "vcc_3v3";
    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>;
    };
   };

   vcc_1v8: LDO_REG2 {
    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>;
    };
   };

   vcc_1v0: LDO_REG3 {
    regulator-name = "vcc_1v0";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <1000000>;
    regulator-max-microvolt = <1000000>;

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

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

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

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

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

   vcc_sdio: LDO_REG6 {
    regulator-name = "vcc_sdio";
    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_lcd: LDO_REG7 {
    regulator-name = "vcc_lcd";
    regulator-always-on;
    regulator-boot-on;
    regulator-min-microvolt = <1000000>;
    regulator-max-microvolt = <1000000>;

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

   vcc_1v8_lcd: LDO_REG8 {
    regulator-name = "vcc_1v8_lcd";
    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>;
    };
   };

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

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

&i2c1 {
 clock-frequency = <100000>;
 status = "okay";
};

/* I2C2 = Accelerometer + Camera */
&i2c2 {
 /* MEMSIC MXC4005 accelerometer is rated for I2C Fast Mode (<=400KHz) */
 /* OmniVision OV5675 camera is rated for I2C Fast Mode (<=400KHz) */
 clock-frequency = <400000>;
 status = "okay";

 focus: focus@c {
  compatible = "dongwoon,dw9714";
  reg = <0xc>;
  vcc-supply = <&vcc_lens_afvdd>;
 };

 accel@15 {
  compatible = "memsic,mxc4005";
  reg = <0x15>;
  interrupt-parent = <&gpio2>;
  interrupts = <RK_PB4 IRQ_TYPE_LEVEL_LOW>;
  pinctrl-names = "default";
  pinctrl-0 = <&accel_int>;
 };

 camera@36 {
  compatible = "ovti,ov5675";
  reg = <0x36>;
  clocks = <&cru SCLK_CIF_OUT>;
  assigned-clocks = <&cru SCLK_CIF_OUT>;
  assigned-clock-rates = <19200000>;
  avdd-supply = <&vcc_cam_avdd>;
  dvdd-supply = <&vcc_cam_dvdd>;
  dovdd-supply = <&vcc_cam_dovdd>;
  lens-focus = <&focus>;
  orientation = <0>;
  pinctrl-names = "default";
  pinctrl-0 = <&cif_clkout_m0 &cam_pwdn>;
  reset-gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
  rotation = <0>;

  port {
   ucam_out: endpoint {
    remote-endpoint = <&mipi_in_ucam>;
    data-lanes = <1 2>;
    link-frequencies = /bits/ 64 <450000000>;
   };
  };
 };
};

&io_domains {
 vccio1-supply = <&vcc_sdio>;
 vccio2-supply = <&vccio_sd>;
 vccio3-supply = <&vcc_1v8>;
 vccio4-supply = <&vcc_3v3>;
 vccio5-supply = <&vcc_3v3>;
 vccio6-supply = <&vcc_emmc>;
 status = "okay";
};

&isp {
 status = "okay";

 ports {
  port@0 {
   mipi_in_ucam: endpoint {
    data-lanes = <1 2>;
    remote-endpoint = <&ucam_out>;
   };
  };
 };
};

&isp_mmu {
 status = "okay";
};

&pinctrl {
 accel {
  accel_int: accel-int {
   rockchip,pins =
    <2 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 camera {
  cam_afvdd_en: cam-afvdd-en {
   rockchip,pins =
    <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  cam_avdd_en: cam-avdd-en {
   rockchip,pins =
    <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  cam_dovdd_en: cam-dovdd-en {
   rockchip,pins =
    <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  cam_dvdd_en: cam-dvdd-en {
   rockchip,pins =
    <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  cam_pwdn: cam-pwdn {
   rockchip,pins =
    <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 emmc {
  emmc_reset: emmc-reset {
   rockchip,pins =
    <1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 leds {
  debug_led_pin: debug-led-pin {
   rockchip,pins =
    <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  heartbeat_led_pin: heartbeat-led-pin {
   rockchip,pins =
    <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 panel {
  dsp_rst: dsp-rst {
   rockchip,pins =
    <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
  };

  tch_int: tch-int {
   rockchip,pins =
    <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  tch_rst: tch-rst {
   rockchip,pins =
    <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

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

&pmu_io_domains {
 pmuio1-supply = <&vcc_3v3>;
 pmuio2-supply = <&vcc_3v3>;
 status = "okay";
};

&pwm0 {
 status = "okay";
};

&pwm1 {
 status = "okay";
};

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

&tsadc {
 status = "okay";
};

&u2phy {
 status = "okay";
};

&u2phy_host {
 status = "okay";
};

&u2phy_otg {
 status = "okay";
};

&uart5 {
 pinctrl-0 = <&uart5_xfer>;
 status = "okay";
};

&usb20_otg {
 dr_mode = "peripheral";
 status = "okay";
};

&usb_host0_ehci {
 status = "okay";
};

&usb_host0_ohci {
 status = "okay";
};

&vopb {
 status = "okay";
};

&vopb_mmu {
 status = "okay";
};

&wdt {
 status = "okay";
};

[ 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