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


Quelle  rzg3e-smarc-som.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/*
 * Device Tree Source for the R9A09G047E57 SMARC SoM board.
 *
 * Copyright (C) 2024 Renesas Electronics Corp.
 */

/*
 * Please set the below switch position on the SoM and the corresponding macro
 * on the board DTS:
 *
 * Switch position SYS.1, Macro SW_SD0_DEV_SEL:
 *      0 - SD0 is connected to eMMC (default)
 *      1 - SD0 is connected to uSD0 card
 *
 * Switch position SYS.5, Macro SW_LCD_EN:
 *      0 - Select Misc. Signals routing
 *      1 - Select LCD
 *
 * Switch position BOOT.6, Macro SW_PDM_EN:
 *      0 - Select CAN routing
 *      1 - Select PDM
 */

/ {
 compatible = "renesas,rzg3e-smarcm", "renesas,r9a09g047e57", "renesas,r9a09g047";

 aliases {
  ethernet0 = ð0;
  ethernet1 = ð1;
  i2c2 = &i2c2;
  mmc0 = &sdhi0;
  mmc2 = &sdhi2;
 };

 memory@48000000 {
  device_type = "memory";
  /* First 128MB is reserved for secure area. */
  reg = <0x0 0x48000000 0x0 0xf8000000>;
 };

 reg_1p8v: regulator-1p8v {
  compatible = "regulator-fixed";
  regulator-name = "fixed-1.8V";
  regulator-min-microvolt = <1800000>;
  regulator-max-microvolt = <1800000>;
  regulator-boot-on;
  regulator-always-on;
 };

 reg_3p3v: regulator-3p3v {
  compatible = "regulator-fixed";
  regulator-name = "fixed-3.3V";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
  regulator-boot-on;
  regulator-always-on;
 };

 reg_vdd0p8v_others: regulator-vdd0p8v-others {
  compatible = "regulator-fixed";

  regulator-name = "fixed-0.8V";
  regulator-min-microvolt = <800000>;
  regulator-max-microvolt = <800000>;
  regulator-boot-on;
  regulator-always-on;
 };

 /* 32.768kHz crystal */
 x3: x3-clock {
  compatible = "fixed-clock";
  #clock-cells = <0>;
  clock-frequency = <32768>;
 };
};

&audio_extal_clk {
 clock-frequency = <48000000>;
};

ð0 {
 phy-handle = <&phy0>;
 phy-mode = "rgmii-id";

 pinctrl-0 = <ð0_pins>;
 pinctrl-names = "default";
 status = "okay";
};

ð1 {
 phy-handle = <&phy1>;
 phy-mode = "rgmii-id";

 pinctrl-0 = <ð1_pins>;
 pinctrl-names = "default";
 status = "okay";
};

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

&i2c2 {
 pinctrl-0 = <&i2c2_pins>;
 pinctrl-names = "default";
 clock-frequency = <400000>;
 status = "okay";

 raa215300: pmic@12 {
  compatible = "renesas,raa215300";
  reg = <0x12>, <0x6f>;
  reg-names = "main", "rtc";
  clocks = <&x3>;
  clock-names = "xin";

  pinctrl-0 = <&rtc_irq_pin>;
  pinctrl-names = "default";

  interrupts-extended = <&pinctrl RZG3E_GPIO(S, 1) IRQ_TYPE_EDGE_FALLING>;
 };
};

&mdio0 {
 phy0: ethernet-phy@7 {
  compatible = "ethernet-phy-id0022.1640",
        "ethernet-phy-ieee802.3-c22";
  reg = <7>;
  interrupts-extended = <&icu 3 IRQ_TYPE_LEVEL_LOW>;
  rxc-skew-psec = <1400>;
  txc-skew-psec = <1400>;
  rxdv-skew-psec = <0>;
  txdv-skew-psec = <0>;
  rxd0-skew-psec = <0>;
  rxd1-skew-psec = <0>;
  rxd2-skew-psec = <0>;
  rxd3-skew-psec = <0>;
  txd0-skew-psec = <0>;
  txd1-skew-psec = <0>;
  txd2-skew-psec = <0>;
  txd3-skew-psec = <0>;
 };
};

&mdio1 {
 phy1: ethernet-phy@7 {
  compatible = "ethernet-phy-id0022.1640",
        "ethernet-phy-ieee802.3-c22";
  reg = <7>;
  interrupts-extended = <&icu 16 IRQ_TYPE_LEVEL_LOW>;
  rxc-skew-psec = <1400>;
  txc-skew-psec = <1400>;
  rxdv-skew-psec = <0>;
  txdv-skew-psec = <0>;
  rxd0-skew-psec = <0>;
  rxd1-skew-psec = <0>;
  rxd2-skew-psec = <0>;
  rxd3-skew-psec = <0>;
  txd0-skew-psec = <0>;
  txd1-skew-psec = <0>;
  txd2-skew-psec = <0>;
  txd3-skew-psec = <0>;
 };
};

&pinctrl {
 eth0_pins: eth0 {
  clk {
   pinmux = <RZG3E_PORT_PINMUX(B, 1, 1)>; /* TXC */
   output-enable;
  };

  ctrl {
   pinmux = <RZG3E_PORT_PINMUX(A, 1, 1)>, /* MDC */
     <RZG3E_PORT_PINMUX(A, 0, 1)>, /* MDIO */
     <RZG3E_PORT_PINMUX(C, 2, 15)>, /* PHY_INTR (IRQ2) */
     <RZG3E_PORT_PINMUX(C, 1, 1)>, /* RXD3 */
     <RZG3E_PORT_PINMUX(C, 0, 1)>, /* RXD2 */
     <RZG3E_PORT_PINMUX(B, 7, 1)>, /* RXD1 */
     <RZG3E_PORT_PINMUX(B, 6, 1)>, /* RXD0 */
     <RZG3E_PORT_PINMUX(B, 0, 1)>, /* RXC */
     <RZG3E_PORT_PINMUX(A, 2, 1)>, /* RX_CTL */
     <RZG3E_PORT_PINMUX(B, 5, 1)>, /* TXD3 */
     <RZG3E_PORT_PINMUX(B, 4, 1)>, /* TXD2 */
     <RZG3E_PORT_PINMUX(B, 3, 1)>, /* TXD1 */
     <RZG3E_PORT_PINMUX(B, 2, 1)>, /* TXD0 */
     <RZG3E_PORT_PINMUX(A, 3, 1)>; /* TX_CTL */
  };
 };

 eth1_pins: eth1 {
  clk {
   pinmux = <RZG3E_PORT_PINMUX(E, 1, 1)>; /* TXC */
   output-enable;
  };

  ctrl {

   pinmux = <RZG3E_PORT_PINMUX(D, 1, 1)>, /* MDC */
     <RZG3E_PORT_PINMUX(D, 0, 1)>, /* MDIO */
     <RZG3E_PORT_PINMUX(F, 2, 15)>, /* PHY_INTR (IRQ15) */
     <RZG3E_PORT_PINMUX(F, 1, 1)>, /* RXD3 */
     <RZG3E_PORT_PINMUX(F, 0, 1)>, /* RXD2 */
     <RZG3E_PORT_PINMUX(E, 7, 1)>, /* RXD1 */
     <RZG3E_PORT_PINMUX(E, 6, 1)>, /* RXD0 */
     <RZG3E_PORT_PINMUX(E, 0, 1)>, /* RXC */
     <RZG3E_PORT_PINMUX(D, 2, 1)>, /* RX_CTL */
     <RZG3E_PORT_PINMUX(E, 5, 1)>, /* TXD3 */
     <RZG3E_PORT_PINMUX(E, 4, 1)>, /* TXD2 */
     <RZG3E_PORT_PINMUX(E, 3, 1)>, /* TXD1 */
     <RZG3E_PORT_PINMUX(E, 2, 1)>, /* TXD0 */
     <RZG3E_PORT_PINMUX(D, 3, 1)>; /* TX_CTL */
  };
 };

 i2c2_pins: i2c {
  pinmux = <RZG3E_PORT_PINMUX(3, 4, 1)>, /* SCL2 */
    <RZG3E_PORT_PINMUX(3, 5, 1)>; /* SDA2 */
 };

 rtc_irq_pin: rtc-irq {
  pins = "PS1";
  bias-pull-up;
 };

 sdhi0_emmc_pins: sd0-emmc {
  sd0-ctrl {
   pins = "SD0CLK", "SD0CMD";
   renesas,output-impedance = <3>;
  };

  sd0-data {
   pins = "SD0DAT0", "SD0DAT1", "SD0DAT2", "SD0DAT3",
          "SD0DAT4", "SD0DAT5", "SD0DAT6", "SD0DAT7";
   renesas,output-impedance = <3>;
  };

  sd0-rst {
   pins = "SD0RSTN";
   renesas,output-impedance = <3>;
  };
 };

 sdhi0_usd_pins: sd0-usd {
  sd0-cd {
   pinmux = <RZG3E_PORT_PINMUX(5, 0, 8)>;
  };

  sd0-ctrl {
   pins = "SD0CLK", "SD0CMD";
   renesas,output-impedance = <3>;
  };

  sd0-data {
   pins = "SD0DAT0", "SD0DAT1", "SD0DAT2", "SD0DAT3";
   renesas,output-impedance = <3>;
  };

  sd0-iovs {
   pins = "SD0IOVS";
   renesas,output-impedance = <3>;
  };

  sd0-pwen {
   pins = "SD0PWEN";
   renesas,output-impedance = <3>;
  };
 };

 sdhi2_pins: sd2 {
  sd2-cd {
   pinmux = <RZG3E_PORT_PINMUX(K, 0, 1)>; /* SD2CD */
  };

  sd2-ctrl {
   pinmux = <RZG3E_PORT_PINMUX(H, 0, 1)>, /* SD2CLK */
     <RZG3E_PORT_PINMUX(H, 1, 1)>; /* SD2CMD */
  };

  sd2-data {
   pinmux = <RZG3E_PORT_PINMUX(H, 2, 1)>, /* SD2DAT0 */
     <RZG3E_PORT_PINMUX(H, 3, 1)>, /* SD2DAT1 */
     <RZG3E_PORT_PINMUX(H, 4, 1)>, /* SD2DAT2 */
     <RZG3E_PORT_PINMUX(H, 5, 1)>; /* SD2DAT3 */
  };

  sd2-iovs {
   pinmux = <RZG3E_PORT_PINMUX(K, 1, 1)>; /* SD2IOVS */
  };

  sd2-pwen {
   pinmux = <RZG3E_PORT_PINMUX(K, 2, 1)>; /* SD2PWEN */
  };
 };

 xspi_pins: xspi0 {
  pinmux = <RZG3E_PORT_PINMUX(M, 0, 0)>, /* XSPI0_IO0 */
    <RZG3E_PORT_PINMUX(M, 1, 0)>, /* XSPI0_IO1 */
    <RZG3E_PORT_PINMUX(M, 2, 0)>, /* XSPI0_IO2 */
    <RZG3E_PORT_PINMUX(M, 3, 0)>, /* XSPI0_IO3 */
    <RZG3E_PORT_PINMUX(L, 0, 0)>, /* XSPI0_CKP */
    <RZG3E_PORT_PINMUX(L, 1, 0)>; /* XSPI0_CS0 */
 };
};

&qextal_clk {
 clock-frequency = <24000000>;
};

&rtxin_clk {
 clock-frequency = <32768>;
};

#if (SW_SD0_DEV_SEL)
&sdhi0 {
 pinctrl-0 = <&sdhi0_usd_pins>;
 pinctrl-1 = <&sdhi0_usd_pins>;
 pinctrl-names = "default", "state_uhs";

 vmmc-supply = <®_3p3v>;
 vqmmc-supply = <&sdhi0_vqmmc>;
 bus-width = <4>;
 sd-uhs-sdr50;
 sd-uhs-sdr104;
 status = "okay";
};

&sdhi0_vqmmc {
 status = "okay";
};
#else
&sdhi0 {
 pinctrl-0 = <&sdhi0_emmc_pins>;
 pinctrl-1 = <&sdhi0_emmc_pins>;
 pinctrl-names = "default", "state_uhs";

 vmmc-supply = <®_3p3v>;
 vqmmc-supply = <®_1p8v>;
 bus-width = <8>;
 mmc-hs200-1_8v;
 non-removable;
 fixed-emmc-driver-type = <1>;
 status = "okay";
};
#endif

&sdhi2 {
 pinctrl-0 = <&sdhi2_pins>;
 pinctrl-1 = <&sdhi2_pins>;
 pinctrl-names = "default", "state_uhs";

 vmmc-supply = <®_3p3v>;
 vqmmc-supply = <&sdhi2_vqmmc>;
 bus-width = <4>;
 sd-uhs-sdr50;
 sd-uhs-sdr104;
 status = "okay";
};

&sdhi2_vqmmc {
 status = "okay";
};

&wdt1 {
 status = "okay";
};

&xspi {
 pinctrl-0 = <&xspi_pins>;
 pinctrl-names = "default";
 status = "okay";

 flash@0 {
  compatible = "jedec,spi-nor";
  reg = <0>;
  vcc-supply = <®_1p8v>;
  m25p,fast-read;
  spi-max-frequency = <50000000>;
  spi-tx-bus-width = <4>;
  spi-rx-bus-width = <4>;

  partitions {
   compatible = "fixed-partitions";
   #address-cells = <1>;
   #size-cells = <1>;

   partition@0 {
    label = "bl2";
    reg = <0x00000000 0x00060000>;
   };

   partition@60000 {
    label = "fip";
    reg = <0x00060000 0x007a0000>;
   };

   partition@800000 {
    label = "user";
    reg = <0x800000 0x800000>;
   };
  };
 };
};

[ 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