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

Quelle  sparx5_pcb135_board.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries.
 */

/dts-v1/;
#include "sparx5_pcb_common.dtsi"

/{
 gpio-restart {
  compatible = "gpio-restart";
  gpios = <&gpio 37 GPIO_ACTIVE_LOW>;
  priority = <200>;
 };

 i2c0_imux: i2c-mux {
  compatible = "i2c-mux-pinctrl";
  #address-cells = <1>;
  #size-cells = <0>;
  i2c-parent = <&i2c0>;
 };

 leds {
  compatible = "gpio-leds";
  led-0 {
   label = "eth60:yellow";
   gpios = <&sgpio_out1 28 0 GPIO_ACTIVE_LOW>;
   default-state = "off";
  };
  led-1 {
   label = "eth60:green";
   gpios = <&sgpio_out1 28 1 GPIO_ACTIVE_LOW>;
   default-state = "off";
  };
  led-2 {
   label = "eth61:yellow";
   gpios = <&sgpio_out1 29 0 GPIO_ACTIVE_LOW>;
   default-state = "off";
  };
  led-3 {
   label = "eth61:green";
   gpios = <&sgpio_out1 29 1 GPIO_ACTIVE_LOW>;
   default-state = "off";
  };
  led-4 {
   label = "eth62:yellow";
   gpios = <&sgpio_out1 30 0 GPIO_ACTIVE_LOW>;
   default-state = "off";
  };
  led-5 {
   label = "eth62:green";
   gpios = <&sgpio_out1 30 1 GPIO_ACTIVE_LOW>;
   default-state = "off";
  };
  led-6 {
   label = "eth63:yellow";
   gpios = <&sgpio_out1 31 0 GPIO_ACTIVE_LOW>;
   default-state = "off";
  };
  led-7 {
   label = "eth63:green";
   gpios = <&sgpio_out1 31 1 GPIO_ACTIVE_LOW>;
   default-state = "off";
  };
 };

 sfp_eth60: sfp-eth60 {
  compatible  = "sff,sfp";
  i2c-bus = <&i2c_sfp1>;
  tx-disable-gpios = <&sgpio_out2 28 0 GPIO_ACTIVE_LOW>;
  rate-select0-gpios = <&sgpio_out2 28 1 GPIO_ACTIVE_HIGH>;
  los-gpios = <&sgpio_in2 28 0 GPIO_ACTIVE_HIGH>;
  mod-def0-gpios = <&sgpio_in2 28 1 GPIO_ACTIVE_LOW>;
  tx-fault-gpios = <&sgpio_in2 28 2 GPIO_ACTIVE_HIGH>;
 };

 sfp_eth61: sfp-eth61 {
  compatible = "sff,sfp";
  i2c-bus = <&i2c_sfp2>;
  tx-disable-gpios = <&sgpio_out2 29 0 GPIO_ACTIVE_LOW>;
  rate-select0-gpios = <&sgpio_out2 29 1 GPIO_ACTIVE_HIGH>;
  los-gpios = <&sgpio_in2 29 0 GPIO_ACTIVE_HIGH>;
  mod-def0-gpios = <&sgpio_in2 29 1 GPIO_ACTIVE_LOW>;
  tx-fault-gpios = <&sgpio_in2 29 2 GPIO_ACTIVE_HIGH>;
 };

 sfp_eth62: sfp-eth62 {
  compatible = "sff,sfp";
  i2c-bus = <&i2c_sfp3>;
  tx-disable-gpios = <&sgpio_out2 30 0 GPIO_ACTIVE_LOW>;
  rate-select0-gpios = <&sgpio_out2 30 1 GPIO_ACTIVE_HIGH>;
  los-gpios = <&sgpio_in2 30 0 GPIO_ACTIVE_HIGH>;
  mod-def0-gpios = <&sgpio_in2 30 1 GPIO_ACTIVE_LOW>;
  tx-fault-gpios = <&sgpio_in2 30 2 GPIO_ACTIVE_HIGH>;
 };

 sfp_eth63: sfp-eth63 {
  compatible = "sff,sfp";
  i2c-bus = <&i2c_sfp4>;
  tx-disable-gpios = <&sgpio_out2 31 0 GPIO_ACTIVE_LOW>;
  rate-select0-gpios = <&sgpio_out2 31 1 GPIO_ACTIVE_HIGH>;
  los-gpios = <&sgpio_in2 31 0 GPIO_ACTIVE_HIGH>;
  mod-def0-gpios = <&sgpio_in2 31 1 GPIO_ACTIVE_LOW>;
  tx-fault-gpios = <&sgpio_in2 31 2 GPIO_ACTIVE_HIGH>;
 };
};

&gpio {
 i2cmux_pins_i: i2cmux-pins {
        pins = "GPIO_35", "GPIO_36",
        "GPIO_50", "GPIO_51";
  function = "twi_scl_m";
  output-low;
 };
 i2cmux_s29: i2cmux-0-pins {
  pins = "GPIO_35";
  function = "twi_scl_m";
  output-high;
 };
 i2cmux_s30: i2cmux-1-pins {
  pins = "GPIO_36";
  function = "twi_scl_m";
  output-high;
 };
 i2cmux_s31: i2cmux-2-pins {
  pins = "GPIO_50";
  function = "twi_scl_m";
  output-high;
 };
 i2cmux_s32: i2cmux-3-pins {
  pins = "GPIO_51";
  function = "twi_scl_m";
  output-high;
 };
};

&spi0 {
 status = "okay";
 spi@0 {
  compatible = "spi-mux";
  mux-controls = <&mux>;
  #address-cells = <1>;
  #size-cells = <0>;
  reg = <0>; /* CS0 */
  flash@9 {
   compatible = "jedec,spi-nor";
   spi-max-frequency = <8000000>;
   reg = <0x9>; /* SPI */
  };
 };
};

&sgpio1 {
 status = "okay";
 microchip,sgpio-port-ranges = <24 31>;
 gpio@0 {
  ngpios = <64>;
 };
 gpio@1 {
  ngpios = <64>;
 };
};

&sgpio2 {
 status = "okay";
 microchip,sgpio-port-ranges = <0 0>, <16 18>, <28 31>;
};

&i2c0_imux {
 pinctrl-names =
  "i2c_sfp1", "i2c_sfp2", "i2c_sfp3", "i2c_sfp4",
  "idle";
 pinctrl-0 = <&i2cmux_s29>;
 pinctrl-1 = <&i2cmux_s30>;
 pinctrl-2 = <&i2cmux_s31>;
 pinctrl-3 = <&i2cmux_s32>;
 pinctrl-4 = <&i2cmux_pins_i>;
 i2c_sfp1: i2c@0 {
  reg = <0x0>;
  #address-cells = <1>;
  #size-cells = <0>;
 };
 i2c_sfp2: i2c@1 {
  reg = <0x1>;
  #address-cells = <1>;
  #size-cells = <0>;
 };
 i2c_sfp3: i2c@2 {
  reg = <0x2>;
  #address-cells = <1>;
  #size-cells = <0>;
 };
 i2c_sfp4: i2c@3 {
  reg = <0x3>;
  #address-cells = <1>;
  #size-cells = <0>;
 };
};

&mdio0 {
 status = "okay";
 phy0: ethernet-phy@0 {
  reg = <0>;
 };
 phy1: ethernet-phy@1 {
  reg = <1>;
 };
 phy2: ethernet-phy@2 {
  reg = <2>;
 };
 phy3: ethernet-phy@3 {
  reg = <3>;
 };
 phy4: ethernet-phy@4 {
  reg = <4>;
 };
 phy5: ethernet-phy@5 {
  reg = <5>;
 };
 phy6: ethernet-phy@6 {
  reg = <6>;
 };
 phy7: ethernet-phy@7 {
  reg = <7>;
 };
 phy8: ethernet-phy@8 {
  reg = <8>;
 };
 phy9: ethernet-phy@9 {
  reg = <9>;
 };
 phy10: ethernet-phy@10 {
  reg = <10>;
 };
 phy11: ethernet-phy@11 {
  reg = <11>;
 };
 phy12: ethernet-phy@12 {
  reg = <12>;
 };
 phy13: ethernet-phy@13 {
  reg = <13>;
 };
 phy14: ethernet-phy@14 {
  reg = <14>;
 };
 phy15: ethernet-phy@15 {
  reg = <15>;
 };
 phy16: ethernet-phy@16 {
  reg = <16>;
 };
 phy17: ethernet-phy@17 {
  reg = <17>;
 };
 phy18: ethernet-phy@18 {
  reg = <18>;
 };
 phy19: ethernet-phy@19 {
  reg = <19>;
 };
 phy20: ethernet-phy@20 {
  reg = <20>;
 };
 phy21: ethernet-phy@21 {
  reg = <21>;
 };
 phy22: ethernet-phy@22 {
  reg = <22>;
 };
 phy23: ethernet-phy@23 {
  reg = <23>;
 };
};

&mdio1 {
 status = "okay";
 phy24: ethernet-phy@24 {
  reg = <0>;
 };
 phy25: ethernet-phy@25 {
  reg = <1>;
 };
 phy26: ethernet-phy@26 {
  reg = <2>;
 };
 phy27: ethernet-phy@27 {
  reg = <3>;
 };
 phy28: ethernet-phy@28 {
  reg = <4>;
 };
 phy29: ethernet-phy@29 {
  reg = <5>;
 };
 phy30: ethernet-phy@30 {
  reg = <6>;
 };
 phy31: ethernet-phy@31 {
  reg = <7>;
 };
 phy32: ethernet-phy@32 {
  reg = <8>;
 };
 phy33: ethernet-phy@33 {
  reg = <9>;
 };
 phy34: ethernet-phy@34 {
  reg = <10>;
 };
 phy35: ethernet-phy@35 {
  reg = <11>;
 };
 phy36: ethernet-phy@36 {
  reg = <12>;
 };
 phy37: ethernet-phy@37 {
  reg = <13>;
 };
 phy38: ethernet-phy@38 {
  reg = <14>;
 };
 phy39: ethernet-phy@39 {
  reg = <15>;
 };
 phy40: ethernet-phy@40 {
  reg = <16>;
 };
 phy41: ethernet-phy@41 {
  reg = <17>;
 };
 phy42: ethernet-phy@42 {
  reg = <18>;
 };
 phy43: ethernet-phy@43 {
  reg = <19>;
 };
 phy44: ethernet-phy@44 {
  reg = <20>;
 };
 phy45: ethernet-phy@45 {
  reg = <21>;
 };
 phy46: ethernet-phy@46 {
  reg = <22>;
 };
 phy47: ethernet-phy@47 {
  reg = <23>;
 };
};

&mdio3 {
 status = "okay";
 phy64: ethernet-phy@64 {
  reg = <28>;
 };
};

&switch {
 ethernet-ports {
  #address-cells = <1>;
  #size-cells = <0>;

  port0: port@0 {
   reg = <0>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 13>;
   phy-handle = <&phy0>;
   phy-mode = "qsgmii";
  };
  port1: port@1 {
   reg = <1>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 13>;
   phy-handle = <&phy1>;
   phy-mode = "qsgmii";
  };
  port2: port@2 {
   reg = <2>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 13>;
   phy-handle = <&phy2>;
   phy-mode = "qsgmii";
  };
  port3: port@3 {
   reg = <3>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 13>;
   phy-handle = <&phy3>;
   phy-mode = "qsgmii";
  };
  port4: port@4 {
   reg = <4>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 14>;
   phy-handle = <&phy4>;
   phy-mode = "qsgmii";
  };
  port5: port@5 {
   reg = <5>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 14>;
   phy-handle = <&phy5>;
   phy-mode = "qsgmii";
  };
  port6: port@6 {
   reg = <6>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 14>;
   phy-handle = <&phy6>;
   phy-mode = "qsgmii";
  };
  port7: port@7 {
   reg = <7>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 14>;
   phy-handle = <&phy7>;
   phy-mode = "qsgmii";
  };
  port8: port@8 {
   reg = <8>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 15>;
   phy-handle = <&phy8>;
   phy-mode = "qsgmii";
  };
  port9: port@9 {
   reg = <9>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 15>;
   phy-handle = <&phy9>;
   phy-mode = "qsgmii";
  };
  port10: port@10 {
   reg = <10>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 15>;
   phy-handle = <&phy10>;
   phy-mode = "qsgmii";
  };
  port11: port@11 {
   reg = <11>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 15>;
   phy-handle = <&phy11>;
   phy-mode = "qsgmii";
  };
  port12: port@12 {
   reg = <12>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 16>;
   phy-handle = <&phy12>;
   phy-mode = "qsgmii";
  };
  port13: port@13 {
   reg = <13>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 16>;
   phy-handle = <&phy13>;
   phy-mode = "qsgmii";
  };
  port14: port@14 {
   reg = <14>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 16>;
   phy-handle = <&phy14>;
   phy-mode = "qsgmii";
  };
  port15: port@15 {
   reg = <15>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 16>;
   phy-handle = <&phy15>;
   phy-mode = "qsgmii";
  };
  port16: port@16 {
   reg = <16>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 17>;
   phy-handle = <&phy16>;
   phy-mode = "qsgmii";
  };
  port17: port@17 {
   reg = <17>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 17>;
   phy-handle = <&phy17>;
   phy-mode = "qsgmii";
  };
  port18: port@18 {
   reg = <18>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 17>;
   phy-handle = <&phy18>;
   phy-mode = "qsgmii";
  };
  port19: port@19 {
   reg = <19>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 17>;
   phy-handle = <&phy19>;
   phy-mode = "qsgmii";
  };
  port20: port@20 {
   reg = <20>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 18>;
   phy-handle = <&phy20>;
   phy-mode = "qsgmii";
  };
  port21: port@21 {
   reg = <21>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 18>;
   phy-handle = <&phy21>;
   phy-mode = "qsgmii";
  };
  port22: port@22 {
   reg = <22>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 18>;
   phy-handle = <&phy22>;
   phy-mode = "qsgmii";
  };
  port23: port@23 {
   reg = <23>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 18>;
   phy-handle = <&phy23>;
   phy-mode = "qsgmii";
  };
  port24: port@24 {
   reg = <24>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 19>;
   phy-handle = <&phy24>;
   phy-mode = "qsgmii";
  };
  port25: port@25 {
   reg = <25>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 19>;
   phy-handle = <&phy25>;
   phy-mode = "qsgmii";
  };
  port26: port@26 {
   reg = <26>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 19>;
   phy-handle = <&phy26>;
   phy-mode = "qsgmii";
  };
  port27: port@27 {
   reg = <27>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 19>;
   phy-handle = <&phy27>;
   phy-mode = "qsgmii";
  };
  port28: port@28 {
   reg = <28>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 20>;
   phy-handle = <&phy28>;
   phy-mode = "qsgmii";
  };
  port29: port@29 {
   reg = <29>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 20>;
   phy-handle = <&phy29>;
   phy-mode = "qsgmii";
  };
  port30: port@30 {
   reg = <30>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 20>;
   phy-handle = <&phy30>;
   phy-mode = "qsgmii";
  };
  port31: port@31 {
   reg = <31>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 20>;
   phy-handle = <&phy31>;
   phy-mode = "qsgmii";
  };
  port32: port@32 {
   reg = <32>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 21>;
   phy-handle = <&phy32>;
   phy-mode = "qsgmii";
  };
  port33: port@33 {
   reg = <33>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 21>;
   phy-handle = <&phy33>;
   phy-mode = "qsgmii";
  };
  port34: port@34 {
   reg = <34>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 21>;
   phy-handle = <&phy34>;
   phy-mode = "qsgmii";
  };
  port35: port@35 {
   reg = <35>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 21>;
   phy-handle = <&phy35>;
   phy-mode = "qsgmii";
  };
  port36: port@36 {
   reg = <36>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 22>;
   phy-handle = <&phy36>;
   phy-mode = "qsgmii";
  };
  port37: port@37 {
   reg = <37>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 22>;
   phy-handle = <&phy37>;
   phy-mode = "qsgmii";
  };
  port38: port@38 {
   reg = <38>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 22>;
   phy-handle = <&phy38>;
   phy-mode = "qsgmii";
  };
  port39: port@39 {
   reg = <39>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 22>;
   phy-handle = <&phy39>;
   phy-mode = "qsgmii";
  };
  port40: port@40 {
   reg = <40>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 23>;
   phy-handle = <&phy40>;
   phy-mode = "qsgmii";
  };
  port41: port@41 {
   reg = <41>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 23>;
   phy-handle = <&phy41>;
   phy-mode = "qsgmii";
  };
  port42: port@42 {
   reg = <42>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 23>;
   phy-handle = <&phy42>;
   phy-mode = "qsgmii";
  };
  port43: port@43 {
   reg = <43>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 23>;
   phy-handle = <&phy43>;
   phy-mode = "qsgmii";
  };
  port44: port@44 {
   reg = <44>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 24>;
   phy-handle = <&phy44>;
   phy-mode = "qsgmii";
  };
  port45: port@45 {
   reg = <45>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 24>;
   phy-handle = <&phy45>;
   phy-mode = "qsgmii";
  };
  port46: port@46 {
   reg = <46>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 24>;
   phy-handle = <&phy46>;
   phy-mode = "qsgmii";
  };
  port47: port@47 {
   reg = <47>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 24>;
   phy-handle = <&phy47>;
   phy-mode = "qsgmii";
  };
  /* Then the 25G interfaces */
  port60: port@60 {
   reg = <60>;
   microchip,bandwidth = <25000>;
   phys = <&serdes 29>;
   phy-mode = "10gbase-r";
   sfp = <&sfp_eth60>;
   managed = "in-band-status";
  };
  port61: port@61 {
   reg = <61>;
   microchip,bandwidth = <25000>;
   phys = <&serdes 30>;
   phy-mode = "10gbase-r";
   sfp = <&sfp_eth61>;
   managed = "in-band-status";
  };
  port62: port@62 {
   reg = <62>;
   microchip,bandwidth = <25000>;
   phys = <&serdes 31>;
   phy-mode = "10gbase-r";
   sfp = <&sfp_eth62>;
   managed = "in-band-status";
  };
  port63: port@63 {
   reg = <63>;
   microchip,bandwidth = <25000>;
   phys = <&serdes 32>;
   phy-mode = "10gbase-r";
   sfp = <&sfp_eth63>;
   managed = "in-band-status";
  };
  /* Finally the Management interface */
  port64: port@64 {
   reg = <64>;
   microchip,bandwidth = <1000>;
   phys = <&serdes 0>;
   phy-handle = <&phy64>;
   phy-mode = "sgmii";
  };
 };
};

[ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ]