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

Quelle  jh7100-common.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0 OR MIT
/*
 * Copyright (C) 2021 StarFive Technology Co., Ltd.
 * Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk>
 */

/dts-v1/;
#include "jh7100.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pinctrl/pinctrl-starfive-jh7100.h>

/ {
 aliases {
  mmc0 = &sdio0;
  mmc1 = &sdio1;
  serial0 = &uart3;
 };

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

 cpus {
  timebase-frequency = <6250000>;
 };

 memory@80000000 {
  device_type = "memory";
  reg = <0x0 0x80000000 0x2 0x0>;
 };

 leds {
  compatible = "gpio-leds";

  led-ack {
   gpios = <&gpio 43 GPIO_ACTIVE_HIGH>;
   color = <LED_COLOR_ID_GREEN>;
   function = LED_FUNCTION_HEARTBEAT;
   linux,default-trigger = "heartbeat";
   label = "ack";
  };
 };

 reserved-memory {
  #address-cells = <2>;
  #size-cells = <2>;
  ranges;

  dma-reserved@fa000000 {
   reg = <0x0 0xfa000000 0x0 0x1000000>;
   no-map;
  };

  linux,dma@107a000000 {
   compatible = "shared-dma-pool";
   reg = <0x10 0x7a000000 0x0 0x1000000>;
   no-map;
   linux,dma-default;
  };
 };

 soc {
  dma-ranges = <0x00 0x80000000 0x00 0x80000000 0x00 0x7a000000>,
        <0x00 0xfa000000 0x10 0x7a000000 0x00 0x01000000>,
        <0x00 0xfb000000 0x00 0xfb000000 0x07 0x85000000>;
 };

 wifi_pwrseq: wifi-pwrseq {
  compatible = "mmc-pwrseq-simple";
  reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
 };
};

&gmac {
 pinctrl-names = "default";
 pinctrl-0 = <&gmac_pins>;
 phy-mode = "rgmii-id";
 status = "okay";

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

&gpio {
 gmac_pins: gmac-0 {
  gtxclk-pins {
   pins = <PAD_FUNC_SHARE(115)>;
   bias-pull-up;
   drive-strength = <35>;
   input-enable;
   input-schmitt-enable;
   slew-rate = <0>;
  };
  miitxclk-pins {
   pins = <PAD_FUNC_SHARE(116)>;
   bias-pull-up;
   drive-strength = <14>;
   input-enable;
   input-schmitt-disable;
   slew-rate = <0>;
  };
  tx-pins {
   pins = <PAD_FUNC_SHARE(117)>,
          <PAD_FUNC_SHARE(119)>,
          <PAD_FUNC_SHARE(120)>,
          <PAD_FUNC_SHARE(121)>,
          <PAD_FUNC_SHARE(122)>,
          <PAD_FUNC_SHARE(123)>,
          <PAD_FUNC_SHARE(124)>,
          <PAD_FUNC_SHARE(125)>,
          <PAD_FUNC_SHARE(126)>;
   bias-pull-up;
   drive-strength = <35>;
   input-disable;
   input-schmitt-disable;
   slew-rate = <0>;
  };
  rxclk-pins {
   pins = <PAD_FUNC_SHARE(127)>;
   bias-pull-up;
   drive-strength = <14>;
   input-enable;
   input-schmitt-disable;
   slew-rate = <6>;
  };
  rxer-pins {
   pins = <PAD_FUNC_SHARE(129)>;
   bias-pull-up;
   drive-strength = <14>;
   input-enable;
   input-schmitt-disable;
   slew-rate = <0>;
  };
  rx-pins {
   pins = <PAD_FUNC_SHARE(128)>,
          <PAD_FUNC_SHARE(130)>,
          <PAD_FUNC_SHARE(131)>,
          <PAD_FUNC_SHARE(132)>,
          <PAD_FUNC_SHARE(133)>,
          <PAD_FUNC_SHARE(134)>,
          <PAD_FUNC_SHARE(135)>,
          <PAD_FUNC_SHARE(136)>,
          <PAD_FUNC_SHARE(137)>,
          <PAD_FUNC_SHARE(138)>,
          <PAD_FUNC_SHARE(139)>,
          <PAD_FUNC_SHARE(140)>,
          <PAD_FUNC_SHARE(141)>;
   bias-pull-up;
   drive-strength = <14>;
   input-enable;
   input-schmitt-enable;
   slew-rate = <0>;
  };
 };

 i2c0_pins: i2c0-0 {
  i2c-pins {
   pinmux = <GPIOMUX(62, GPO_LOW,
      GPO_I2C0_PAD_SCK_OEN,
      GPI_I2C0_PAD_SCK_IN)>,
     <GPIOMUX(61, GPO_LOW,
      GPO_I2C0_PAD_SDA_OEN,
      GPI_I2C0_PAD_SDA_IN)>;
   bias-disable; /* external pull-up */
   input-enable;
   input-schmitt-enable;
  };
 };

 i2c1_pins: i2c1-0 {
  i2c-pins {
   pinmux = <GPIOMUX(47, GPO_LOW,
      GPO_I2C1_PAD_SCK_OEN,
      GPI_I2C1_PAD_SCK_IN)>,
     <GPIOMUX(48, GPO_LOW,
      GPO_I2C1_PAD_SDA_OEN,
      GPI_I2C1_PAD_SDA_IN)>;
   bias-pull-up;
   input-enable;
   input-schmitt-enable;
  };
 };

 i2c2_pins: i2c2-0 {
  i2c-pins {
   pinmux = <GPIOMUX(60, GPO_LOW,
      GPO_I2C2_PAD_SCK_OEN,
      GPI_I2C2_PAD_SCK_IN)>,
     <GPIOMUX(59, GPO_LOW,
      GPO_I2C2_PAD_SDA_OEN,
      GPI_I2C2_PAD_SDA_IN)>;
   bias-disable; /* external pull-up */
   input-enable;
   input-schmitt-enable;
  };
 };

 pwm_pins: pwm-0 {
  pwm-pins {
   pinmux = <GPIOMUX(7,
      GPO_PWM_PAD_OUT_BIT0,
      GPO_PWM_PAD_OE_N_BIT0,
      GPI_NONE)>,
     <GPIOMUX(5,
      GPO_PWM_PAD_OUT_BIT1,
      GPO_PWM_PAD_OE_N_BIT1,
      GPI_NONE)>;
   bias-disable;
   drive-strength = <35>;
   input-disable;
   input-schmitt-disable;
   slew-rate = <0>;
  };
 };

 sdio0_pins: sdio0-0 {
  clk-pins {
   pinmux = <GPIOMUX(54, GPO_SDIO0_PAD_CCLK_OUT,
      GPO_ENABLE, GPI_NONE)>;
   bias-disable;
   input-disable;
   input-schmitt-disable;
  };
  sdio-pins {
   pinmux = <GPIOMUX(55, GPO_LOW, GPO_DISABLE,
      GPI_SDIO0_PAD_CARD_DETECT_N)>,
     <GPIOMUX(53,
      GPO_SDIO0_PAD_CCMD_OUT,
      GPO_SDIO0_PAD_CCMD_OEN,
      GPI_SDIO0_PAD_CCMD_IN)>,
     <GPIOMUX(49,
      GPO_SDIO0_PAD_CDATA_OUT_BIT0,
      GPO_SDIO0_PAD_CDATA_OEN_BIT0,
      GPI_SDIO0_PAD_CDATA_IN_BIT0)>,
     <GPIOMUX(50,
      GPO_SDIO0_PAD_CDATA_OUT_BIT1,
      GPO_SDIO0_PAD_CDATA_OEN_BIT1,
      GPI_SDIO0_PAD_CDATA_IN_BIT1)>,
     <GPIOMUX(51,
      GPO_SDIO0_PAD_CDATA_OUT_BIT2,
      GPO_SDIO0_PAD_CDATA_OEN_BIT2,
      GPI_SDIO0_PAD_CDATA_IN_BIT2)>,
     <GPIOMUX(52,
      GPO_SDIO0_PAD_CDATA_OUT_BIT3,
      GPO_SDIO0_PAD_CDATA_OEN_BIT3,
      GPI_SDIO0_PAD_CDATA_IN_BIT3)>;
   bias-pull-up;
   input-enable;
   input-schmitt-enable;
  };
 };

 sdio1_pins: sdio1-0 {
  clk-pins {
   pinmux = <GPIOMUX(33, GPO_SDIO1_PAD_CCLK_OUT,
      GPO_ENABLE, GPI_NONE)>;
   bias-disable;
   input-disable;
   input-schmitt-disable;
  };
  sdio-pins {
   pinmux = <GPIOMUX(29,
      GPO_SDIO1_PAD_CCMD_OUT,
      GPO_SDIO1_PAD_CCMD_OEN,
      GPI_SDIO1_PAD_CCMD_IN)>,
     <GPIOMUX(36,
      GPO_SDIO1_PAD_CDATA_OUT_BIT0,
      GPO_SDIO1_PAD_CDATA_OEN_BIT0,
      GPI_SDIO1_PAD_CDATA_IN_BIT0)>,
     <GPIOMUX(30,
      GPO_SDIO1_PAD_CDATA_OUT_BIT1,
      GPO_SDIO1_PAD_CDATA_OEN_BIT1,
      GPI_SDIO1_PAD_CDATA_IN_BIT1)>,
     <GPIOMUX(34,
      GPO_SDIO1_PAD_CDATA_OUT_BIT2,
      GPO_SDIO1_PAD_CDATA_OEN_BIT2,
      GPI_SDIO1_PAD_CDATA_IN_BIT2)>,
     <GPIOMUX(31,
      GPO_SDIO1_PAD_CDATA_OUT_BIT3,
      GPO_SDIO1_PAD_CDATA_OEN_BIT3,
      GPI_SDIO1_PAD_CDATA_IN_BIT3)>;
   bias-pull-up;
   input-enable;
   input-schmitt-enable;
  };
 };

 uart3_pins: uart3-0 {
  rx-pins {
   pinmux = <GPIOMUX(13, GPO_LOW, GPO_DISABLE,
      GPI_UART3_PAD_SIN)>;
   bias-pull-up;
   drive-strength = <14>;
   input-enable;
   input-schmitt-enable;
   slew-rate = <0>;
  };
  tx-pins {
   pinmux = <GPIOMUX(14, GPO_UART3_PAD_SOUT,
      GPO_ENABLE, GPI_NONE)>;
   bias-disable;
   drive-strength = <35>;
   input-disable;
   input-schmitt-disable;
   slew-rate = <0>;
  };
 };
};

&i2c0 {
 clock-frequency = <100000>;
 i2c-sda-hold-time-ns = <300>;
 i2c-sda-falling-time-ns = <500>;
 i2c-scl-falling-time-ns = <500>;
 pinctrl-names = "default";
 pinctrl-0 = <&i2c0_pins>;
 status = "okay";

 pmic@5e {
  compatible = "ti,tps65086";
  reg = <0x5e>;
  gpio-controller;
  #gpio-cells = <2>;

  regulators {
  };
 };
};

&i2c1 {
 clock-frequency = <400000>;
 i2c-sda-hold-time-ns = <300>;
 i2c-sda-falling-time-ns = <100>;
 i2c-scl-falling-time-ns = <100>;
 pinctrl-names = "default";
 pinctrl-0 = <&i2c1_pins>;
 status = "okay";
};

&i2c2 {
 clock-frequency = <100000>;
 i2c-sda-hold-time-ns = <300>;
 i2c-sda-falling-time-ns = <500>;
 i2c-scl-falling-time-ns = <500>;
 pinctrl-names = "default";
 pinctrl-0 = <&i2c2_pins>;
 status = "okay";
};

&osc_sys {
 clock-frequency = <25000000>;
};

&osc_aud {
 clock-frequency = <27000000>;
};

&pwm {
 pinctrl-names = "default";
 pinctrl-0 = <&pwm_pins>;
 status = "okay";
};

&sdio0 {
 broken-cd;
 bus-width = <4>;
 cap-sd-highspeed;
 pinctrl-names = "default";
 pinctrl-0 = <&sdio0_pins>;
 status = "okay";
};

&sdio1 {
 #address-cells = <1>;
 #size-cells = <0>;
 bus-width = <4>;
 cap-sd-highspeed;
 cap-sdio-irq;
 cap-power-off-card;
 mmc-pwrseq = <&wifi_pwrseq>;
 non-removable;
 pinctrl-names = "default";
 pinctrl-0 = <&sdio1_pins>;
 status = "okay";

 wifi@1 {
  compatible = "brcm,bcm4329-fmac";
  reg = <1>;
 };
};

&uart3 {
 pinctrl-names = "default";
 pinctrl-0 = <&uart3_pins>;
 status = "okay";
};

[ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet)  ]