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

Quelle  rk3326-odroid-go.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2019 Hardkernel Co., Ltd
 * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
 * Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
 */

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

/ {
 aliases {
  mmc0 = &sdmmc;
 };

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

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

 builtin_gamepad: gpio-keys {
  compatible = "gpio-keys";
  pinctrl-names = "default";
  pinctrl-0 = <&btn_pins>;

  button-sw1 {
   gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
   label = "DPAD-UP";
   linux,code = <BTN_DPAD_UP>;
  };
  button-sw2 {
   gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
   label = "DPAD-DOWN";
   linux,code = <BTN_DPAD_DOWN>;
  };
  button-sw3 {
   gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
   label = "DPAD-LEFT";
   linux,code = <BTN_DPAD_LEFT>;
  };
  button-sw4 {
   gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
   label = "DPAD-RIGHT";
   linux,code = <BTN_DPAD_RIGHT>;
  };
  button-sw5 {
   gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_LOW>;
   label = "BTN-A";
   linux,code = <BTN_EAST>;
  };
  button-sw6 {
   gpios = <&gpio1 RK_PA5 GPIO_ACTIVE_LOW>;
   label = "BTN-B";
   linux,code = <BTN_SOUTH>;
  };
  button-sw7 {
   gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>;
   label = "BTN-Y";
   linux,code = <BTN_WEST>;
  };
  button-sw8 {
   gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
   label = "BTN-X";
   linux,code = <BTN_NORTH>;
  };
  btn_f1: button-sw9 {
   gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
   label = "F1";
   linux,code = <BTN_TRIGGER_HAPPY1>;
  };
  btn_f2: button-sw10 {
   gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>;
   label = "F2";
   linux,code = <BTN_TRIGGER_HAPPY2>;
  };
  btn_f3: button-sw11 {
   gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
   label = "F3";
   linux,code = <BTN_TRIGGER_HAPPY3>;
  };
  btn_f4: button-sw12 {
   gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
   label = "F4";
   linux,code = <BTN_TRIGGER_HAPPY4>;
  };
  btn_f5: button-sw13 {
   gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
   label = "F5";
   linux,code = <BTN_TRIGGER_HAPPY5>;
  };
  btn_f6: button-sw14 {
   gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
   label = "F6";
   linux,code = <BTN_TRIGGER_HAPPY6>;
  };
  button-sw15 {
   gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
   label = "TOP-LEFT";
   linux,code = <BTN_TL>;
  };
  button-sw16 {
   gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
   label = "TOP-RIGHT";
   linux,code = <BTN_TR>;
  };
 };

 /* led-1 is wired directly to output of always-on regulator */

 gpio_led: gpio-leds {
  compatible = "gpio-leds";
  pinctrl-names = "default";
  pinctrl-0 = <&red_led_pin>;

  red_led: led-3 {
   color = <LED_COLOR_ID_RED>;
   gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
   function = LED_FUNCTION_CHARGING;
  };
 };

 pwm_led: led-controller {
  compatible = "pwm-leds";

  blue_led: led-2 {
   color = <LED_COLOR_ID_BLUE>;
   function = LED_FUNCTION_STATUS;
   linux,default-trigger = "heartbeat";
   max-brightness = <255>;
   pwms = <&pwm3 0 25000 0>;
  };
 };

 rk817-sound {
  compatible = "simple-audio-card";
  simple-audio-card,name = "rk817_int";
  simple-audio-card,format = "i2s";
  simple-audio-card,hp-det-gpios = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
  simple-audio-card,mclk-fs = <256>;
  simple-audio-card,widgets =
   "Microphone", "Mic Jack",
   "Headphone", "Headphones",
   "Speaker", "Speaker";
  simple-audio-card,routing =
   "MICL", "Mic Jack",
   "Headphones", "HPOL",
   "Headphones", "HPOR",
   "Speaker", "SPKO";

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

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

 vccsys: regulator-vccsys {
  compatible = "regulator-fixed";
  regulator-name = "vcc3v8_sys";
  regulator-always-on;
  regulator-min-microvolt = <3800000>;
  regulator-max-microvolt = <3800000>;
 };

 vcc_host: regulator-vcc-host {
  compatible = "regulator-fixed";
  regulator-name = "vcc_host";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;

  gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
  enable-active-high;
  regulator-always-on;
  regulator-boot-on;
  vin-supply = <&usb_midu>;
 };
};

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

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

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

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

&cru {
 assigned-clocks = <&cru PLL_NPLL>,
  <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
  <&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
  <&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;

 assigned-clock-rates = <1188000000>,
  <200000000>, <200000000>,
  <150000000>, <150000000>,
  <100000000>, <200000000>;
};

&display_subsystem {
 status = "okay";
};

&dsi {
 #address-cells = <1>;
 #size-cells = <0>;
 status = "okay";

 ports {
  mipi_out: port@1 {
   reg = <1>;

   mipi_out_panel: endpoint {
    remote-endpoint = <&mipi_in_panel>;
   };
  };
 };

 internal_display: panel@0 {
  reg = <0>;
  backlight = <&backlight>;
  reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
  rotation = <270>;

  port {
   mipi_in_panel: endpoint {
    remote-endpoint = <&mipi_out_panel>;
   };
  };
 };
};

&dsi_dphy {
 status = "okay";
};

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

&i2c0 {
 clock-frequency = <400000>;
 i2c-scl-falling-time-ns = <16>;
 i2c-scl-rising-time-ns = <280>;
 status = "okay";

 rk817: pmic@20 {
  compatible = "rockchip,rk817";
  reg = <0x20>;
  interrupt-parent = <&gpio0>;
  interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
  clock-output-names = "rk808-clkout1", "xin32k";
  clock-names = "mclk";
  clocks = <&cru SCLK_I2S1_OUT>;
  pinctrl-names = "default";
  pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
  wakeup-source;
  #clock-cells = <1>;
  #sound-dai-cells = <0>;

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

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

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

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

    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_3v3: DCDC_REG4 {
    regulator-name = "vcc_3v3";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;
    regulator-boot-on;

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

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

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

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

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

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

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

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

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

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

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

   vcc_bl: LDO_REG7 {
    regulator-name = "vcc_bl";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;

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

   vcc_lcd: LDO_REG8 {
    regulator-name = "vcc_lcd";
    regulator-min-microvolt = <2800000>;
    regulator-max-microvolt = <2800000>;

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

   LDO_REG9 {
    /* unused */
   };

   usb_midu: BOOST {
    regulator-name = "usb_midu";
    regulator-min-microvolt = <5000000>;
    regulator-max-microvolt = <5400000>;
    regulator-always-on;
    regulator-boot-on;
   };
  };

  rk817_charger: charger {
   rockchip,resistor-sense-micro-ohms = <10000>;
   rockchip,sleep-enter-current-microamp = <300000>;
   rockchip,sleep-filter-current-microamp = <100000>;
  };

  rk817_codec: codec {
   rockchip,mic-in-differential;
  };
 };
};

/* EXT Header(P2): 7(SCL:GPIO0.C2), 8(SDA:GPIO0.C3) */
&i2c1 {
 clock-frequency = <400000>;
 status = "okay";
};

/* I2S 1 Channel Used */
&i2s1_2ch {
 status = "okay";
};

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

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

&pwm1 {
 status = "okay";
};

&pwm3 {
 status = "okay";
};

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

&sdmmc {
 cap-sd-highspeed;
 card-detect-delay = <200>;
 cd-gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_LOW>; /*[> CD GPIO <]*/
 sd-uhs-sdr12;
 sd-uhs-sdr25;
 sd-uhs-sdr50;
 sd-uhs-sdr104;
 vmmc-supply = <&vcc_sd>;
 vqmmc-supply = <&vccio_sd>;
 status = "okay";
};

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

 flash@0 {
  compatible = "jedec,spi-nor";
  reg = <0>;
  spi-max-frequency = <108000000>;
  spi-rx-bus-width = <2>;
  spi-tx-bus-width = <1>;
 };
};

&tsadc {
 status = "okay";
};

&u2phy {
 status = "okay";

 u2phy_host: host-port {
  status = "okay";
 };

 u2phy_otg: otg-port {
  status = "disabled";
 };
};

&usb20_otg {
 status = "okay";
};

/* EXT Header(P2): 2(RXD:GPIO1.C0),3(TXD:.C1),4(CTS:.C2),5(RTS:.C3) */
&uart1 {
 pinctrl-names = "default";
 pinctrl-0 = <&uart1_xfer &uart1_cts>;
 status = "okay";
};

&uart2 {
 pinctrl-names = "default";
 pinctrl-0 = <&uart2m1_xfer>;
 status = "okay";
};

&vopb {
 status = "okay";
};

&vopb_mmu {
 status = "okay";
};

&pinctrl {
 btns {
  btn_pins: btn-pins {
   rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
     <1 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
     <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
     <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
     <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
     <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
     <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
     <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
     <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
     <2 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>,
     <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
     <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
     <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
     <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
     <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
     <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
  };
 };

 headphone {
  hp_det: hp-det {
   rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
  };
 };

 leds {
  red_led_pin: red-led-pin {
   rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 pmic {
  dc_det: dc-det {
   rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
  };

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

  soc_slppin_gpio: soc_slppin_gpio {
   rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
  };

  soc_slppin_rst: soc_slppin_rst {
   rockchip,pins = <0 RK_PA4 2 &pcfg_pull_none>;
  };

  soc_slppin_slp: soc_slppin_slp {
   rockchip,pins = <0 RK_PA4 1 &pcfg_pull_none>;
  };
 };
};

[ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ]