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 6 kB image not shown  

Quelle  rk3308-bpi-p2-pro.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 "rk3308.dtsi"

/ {
 model = "Banana Pi P2 Pro (RK3308) Board";
 compatible = "sinovoip,rk3308-bpi-p2pro", "rockchip,rk3308";

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

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

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

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

 analog-sound {
  compatible = "audio-graph-card";
  label = "rockchip,rk3308";

  dais = <&i2s_8ch_2_p0>;
  pinctrl-names = "default";
  pinctrl-0 = <&phone_ctl>;
 };

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

  blue-led {
   color = <LED_COLOR_ID_BLUE>;
   default-state = "on";
   function = LED_FUNCTION_POWER;
   gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
   label = "blue:power";
   linux,default-trigger = "default-on";
  };

  green-led {
   color = <LED_COLOR_ID_GREEN>;
   default-state = "on";
   function = LED_FUNCTION_HEARTBEAT;
   gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
   label = "green:heartbeat";
   linux,default-trigger = "heartbeat";
  };
 };

 vdd_log: regulator-1v04-vdd-log {
  compatible = "regulator-fixed";
  regulator-name = "vdd_log";
  regulator-always-on;
  regulator-boot-on;
  regulator-min-microvolt = <1040000>;
  regulator-max-microvolt = <1040000>;
  vin-supply = <&vcc_in>;
 };

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

 vcc_1v8: regulator-1v8-vcc {
  compatible = "regulator-fixed";
  regulator-name = "vcc_1v8";
  regulator-always-on;
  regulator-boot-on;
  regulator-min-microvolt = <1800000>;
  regulator-max-microvolt = <1800000>;
  vin-supply = <&vcc_io>;
 };

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

 vcc_in: regulator-5v0-vcc-in {
  compatible = "regulator-fixed";
  regulator-name = "vcc_in";
  regulator-always-on;
  regulator-boot-on;
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
 };

 vdd_core: regulator-vdd-core {
  compatible = "pwm-regulator";
  pwms = <&pwm0 0 5000 1>;
  pwm-supply = <&vcc_in>;
  regulator-name = "vdd_core";
  regulator-always-on;
  regulator-boot-on;
  regulator-min-microvolt = <827000>;
  regulator-max-microvolt = <1340000>;
  regulator-settling-time-up-us = <250>;
 };

 sdio_pwrseq: sdio-pwrseq {
  compatible = "mmc-pwrseq-simple";
  pinctrl-0 = <&wifi_reg_on>;
  pinctrl-names = "default";
  reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
 };
};

&codec {
 status = "okay";

 port {
  codec_p0_0: endpoint {
   remote-endpoint = <&i2s_8ch_2_p0_0>;
  };
 };
};

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

&emmc {
 cap-mmc-highspeed;
 mmc-hs200-1_8v;
 no-sd;
 no-sdio;
 non-removable;
 pinctrl-names = "default";
 pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_pwren>;
 status = "okay";
};

&gmac {
 assigned-clocks = <&cru SCLK_MAC>;
 assigned-clock-parents = <&mac_clkin>;
 clock_in_out = "input";
 phy-handle = <&rtl8201f>;
 phy-supply = <&vcc_io>;
 status = "okay";

 mdio {
  #address-cells = <1>;
  #size-cells = <0>;
  compatible = "snps,dwmac-mdio";

  rtl8201f: ethernet-phy@1 {
   compatible = "ethernet-phy-ieee802.3-c22";
   reg = <1>;
   pinctrl-names = "default";
   pinctrl-0 = <&mac_rst>;
   reset-assert-us = <50000>;
   reset-deassert-us = <50000>;
   reset-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
  };
 };
};

&i2s_8ch_2 {
 #sound-dai-cells = <0>;
 status = "okay";

 i2s_8ch_2_p0: port {
  i2s_8ch_2_p0_0: endpoint {
   dai-format = "i2s";
   mclk-fs = <256>;
   remote-endpoint = <&codec_p0_0>;
  };
 };
};

&io_domains {
 vccio0-supply = <&vcc_io>;
 vccio1-supply = <&vcc_io>;
 vccio2-supply = <&vcc_io>;
 vccio3-supply = <&vcc_io>;
 vccio4-supply = <&vcc_1v8>;
 vccio5-supply = <&vcc_io>;
 status = "okay";
};

&pinctrl {
 pinctrl-names = "default";
 pinctrl-0 = <&rtc_32k>;

 bt {
  bt_reg_on: bt-reg-on {
   rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  bt_wake_host: bt-wake-host {
   rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  host_wake_bt: host-wake-bt {
   rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 gmac {
  mac_rst: mac-rst {
   rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 leds {
  led_en0: led-en0 {
   rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  led_en1: led-en1 {
   rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 sound {
  phone_ctl: phone-ctl {
   rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
  };
 };

 wifi {
  wifi_reg_on: wifi-reg-on {
   rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
  };

  wifi_wake_host: wifi-wake-host {
   rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
  };
 };
};

&pwm0 {
 pinctrl-names = "default";
 pinctrl-0 = <&pwm0_pin_pull_down>;
 status = "okay";
};

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

/* WIFI part of the AP6256 connected with SDIO */
&sdio {
 #address-cells = <1>;
 #size-cells = <0>;
 cap-sd-highspeed;
 cap-sdio-irq;
 disable-wp;
 keep-power-in-suspend;
 mmc-pwrseq = <&sdio_pwrseq>;
 no-mmc;
 no-sd;
 non-removable;
 sd-uhs-sdr104;
 status = "okay";

 ap6256: wifi@1 {
  compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
  reg = <1>;
  interrupt-parent = <&gpio0>;
  interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>;
  interrupt-names = "host-wake";
  pinctrl-names = "default";
  pinctrl-0 = <&wifi_wake_host>;
 };
};

&sdmmc {
 cap-mmc-highspeed;
 cap-sd-highspeed;
 disable-wp;
 vmmc-supply = <&vcc_io>;
 status = "okay";
};

&u2phy {
 status = "okay";
};

&u2phy_host {
 status = "okay";
};

&u2phy_otg {
 status = "okay";
};

&uart2 {
 status = "okay";
};

/* BT part of the AP6256 connected with UART */
&uart4 {
 uart-has-rtscts;
 status = "okay";

 bluetooth {
  compatible = "brcm,bcm4345c5";
  clocks = <&cru SCLK_RTC32K>;
  clock-names = "lpo";
  interrupt-parent = <&gpio4>;
  interrupts = <RK_PB4 IRQ_TYPE_LEVEL_HIGH>;
  interrupt-names = "host-wakeup";
  device-wakeup-gpios = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
  shutdown-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
  max-speed = <1500000>;
  pinctrl-names = "default";
  pinctrl-0 = <&bt_reg_on &bt_wake_host &host_wake_bt>;
  vbat-supply = <&vcc_io>;
  vddio-supply = <&vcc_1v8>;
 };
};

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

&usb_host_ehci {
 status = "okay";
};

&usb_host_ohci {
 status = "okay";
};

&wdt {
 status = "okay";
};

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]