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

Quelle  at91-sama5d27_wlsom1.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * at91-sama5d27_wlsom1.dtsi - Device Tree file for SAMA5D27 WLSOM1
 *
 * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
 *
 * Author: Nicolas Ferre <nicolas.ferre@microcihp.com>
 * Author: Eugen Hristev <eugen.hristev@microcihp.com>
 */
#include "sama5d2.dtsi"
#include "sama5d2-pinfunc.h"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/mfd/atmel-flexcom.h>
#include <dt-bindings/pinctrl/at91.h>

/ {
 model = "Microchip SAMA5D27 WLSOM1";
 compatible = "microchip,sama5d27-wlsom1", "atmel,sama5d27", "atmel,sama5d2", "atmel,sama5";

 aliases {
  i2c0 = &i2c0;
 };

 clocks {
  slow_xtal {
   clock-frequency = <32768>;
  };

  main_xtal {
   clock-frequency = <24000000>;
  };
 };

 reg_5v: regulator-5v {
  compatible = "regulator-fixed";
  regulator-name = "VDD_MAIN";
  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;
  regulator-always-on;
 };

 wifi_pwrseq: wifi_pwrseq {
  compatible = "mmc-pwrseq-wilc1000";
  reset-gpios = <&pioA PIN_PA27 GPIO_ACTIVE_HIGH>;
  powerdown-gpios = <&pioA PIN_PA29 GPIO_ACTIVE_HIGH>;
  pinctrl-0 = <&pinctrl_wilc_pwrseq>;
  pinctrl-names = "default";
 };
};

&flx1 {
 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;

 uart6: serial@200 {
  pinctrl-0 = <&pinctrl_flx1_default>;
  pinctrl-names = "default";
 };
};

&i2c0 {
 pinctrl-0 = <&pinctrl_i2c0_default>;
 pinctrl-1 = <&pinctrl_i2c0_gpio>;
 pinctrl-names = "default", "gpio";
 sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
 scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 status = "okay";
};

&i2c1 {
 dmas = <0>, <0>;
 pinctrl-names = "default", "gpio";
 pinctrl-0 = <&pinctrl_i2c1_default>;
 pinctrl-1 = <&pinctrl_i2c1_gpio>;
 sda-gpios = <&pioA PIN_PD19 GPIO_ACTIVE_HIGH>;
 scl-gpios = <&pioA PIN_PD20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
 status = "okay";

 pmic@5b {
  compatible = "microchip,mcp16502";
  reg = <0x5b>;
  lvin-supply = <®_5v>;
  pvin1-supply = <®_5v>;
  pvin2-supply = <®_5v>;
  pvin3-supply = <®_5v>;
  pvin4-supply = <®_5v>;
  status = "okay";
  lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>;

  regulators {
   vdd_3v3: VDD_IO {
    regulator-name = "VDD_IO";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-initial-mode = <2>;
    regulator-allowed-modes = <2>, <4>;
    regulator-always-on;

    regulator-state-standby {
     regulator-on-in-suspend;
     regulator-mode = <4>;
    };

    regulator-state-mem {
     regulator-off-in-suspend;
     regulator-mode = <4>;
    };
   };

   vddio_ddr: VDD_DDR {
    regulator-name = "VDD_DDR";
    regulator-min-microvolt = <1200000>;
    regulator-max-microvolt = <1200000>;
    regulator-initial-mode = <2>;
    regulator-allowed-modes = <2>, <4>;
    regulator-always-on;

    regulator-state-standby {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <1200000>;
     regulator-changeable-in-suspend;
     regulator-mode = <4>;
    };

    regulator-state-mem {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <1200000>;
     regulator-changeable-in-suspend;
     regulator-mode = <4>;
    };
   };

   vdd_core: VDD_CORE {
    regulator-name = "VDD_CORE";
    regulator-min-microvolt = <1250000>;
    regulator-max-microvolt = <1250000>;
    regulator-initial-mode = <2>;
    regulator-allowed-modes = <2>, <4>;
    regulator-always-on;

    regulator-state-standby {
     regulator-on-in-suspend;
     regulator-mode = <4>;
    };

    regulator-state-mem {
     regulator-off-in-suspend;
     regulator-mode = <4>;
    };
   };

   vdd_ddr: VDD_OTHER {
    regulator-name = "VDD_OTHER";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <1800000>;
    regulator-initial-mode = <2>;
    regulator-allowed-modes = <2>, <4>;
    regulator-always-on;

    regulator-state-standby {
     regulator-on-in-suspend;
     regulator-suspend-microvolt = <1800000>;
     regulator-changeable-in-suspend;
     regulator-mode = <4>;
    };

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

   LDO1 {
    regulator-name = "LDO1";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    regulator-always-on;

    regulator-state-standby {
     regulator-on-in-suspend;
    };

    regulator-state-mem {
     regulator-off-in-suspend;
    };
   };

   LDO2 {
    regulator-name = "LDO2";
    regulator-min-microvolt = <1800000>;
    regulator-max-microvolt = <3300000>;

    regulator-state-standby {
     regulator-on-in-suspend;
    };

    regulator-state-mem {
     regulator-off-in-suspend;
    };
   };
  };
 };
};

&macb0 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_macb0_default>;
 #address-cells = <1>;
 #size-cells = <0>;
 phy-mode = "rmii";

 ethernet-phy@0 {
  reg = <0x0>;
  interrupt-parent = <&pioA>;
  interrupts = <PIN_PB24 IRQ_TYPE_LEVEL_LOW>;
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_macb0_phy_irq>;
 };
};

&pmc {
 atmel,osc-bypass;
};

&qspi1 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_qspi1_default>;
 status = "disabled";

 qspi1_flash: flash@0 {
  #address-cells = <1>;
  #size-cells = <1>;
  compatible = "jedec,spi-nor";
  reg = <0>;
  spi-max-frequency = <104000000>;
  spi-cs-setup-delay-ns = <7>;
  spi-rx-bus-width = <4>;
  spi-tx-bus-width = <4>;
  m25p,fast-read;
  status = "disabled";

  at91bootstrap@0 {
   label = "at91bootstrap";
   reg = <0x0 0x40000>;
  };

  bootloader@40000 {
   label = "bootloader";
   reg = <0x40000 0xc0000>;
  };

  bootloaderenvred@100000 {
   label = "bootloader env redundant";
   reg = <0x100000 0x40000>;
  };

  bootloaderenv@140000 {
   label = "bootloader env";
   reg = <0x140000 0x40000>;
  };

  dtb@180000 {
   label = "device tree";
   reg = <0x180000 0x80000>;
  };

  kernel@200000 {
   label = "kernel";
   reg = <0x200000 0x600000>;
  };
 };
};

&pioA {
 pinctrl_flx1_default: flx1_usart_default {
  pinmux = <PIN_PA24__FLEXCOM1_IO0>,
    <PIN_PA23__FLEXCOM1_IO1>,
    <PIN_PA25__FLEXCOM1_IO3>,
    <PIN_PA26__FLEXCOM1_IO4>;
  bias-disable;
 };

 pinctrl_i2c0_default: i2c0_default {
  pinmux = <PIN_PD21__TWD0>,
    <PIN_PD22__TWCK0>;
  bias-disable;
 };

 pinctrl_i2c0_gpio: i2c0_gpio {
  pinmux = <PIN_PD21__GPIO>,
    <PIN_PD22__GPIO>;
  bias-disable;
 };

 pinctrl_i2c1_default: i2c1_default {
  pinmux = <PIN_PD19__TWD1>,
    <PIN_PD20__TWCK1>;
  bias-disable;
 };

 pinctrl_i2c1_gpio: i2c1_gpio {
  pinmux = <PIN_PD19__GPIO>,
    <PIN_PD20__GPIO>;
  bias-disable;
 };

 pinctrl_macb0_default: macb0_default {
  pinmux = <PIN_PB14__GTXCK>,
    <PIN_PB15__GTXEN>,
    <PIN_PB16__GRXDV>,
    <PIN_PB17__GRXER>,
    <PIN_PB18__GRX0>,
    <PIN_PB19__GRX1>,
    <PIN_PB20__GTX0>,
    <PIN_PB21__GTX1>,
    <PIN_PB22__GMDC>,
    <PIN_PB23__GMDIO>;
  bias-disable;
 };

 pinctrl_macb0_phy_irq: macb0_phy_irq {
  pinmux = <PIN_PB24__GPIO>;
  bias-disable;
 };

 pinctrl_qspi1_default: qspi1_default {
  pinmux = <PIN_PB5__QSPI1_SCK>,
    <PIN_PB6__QSPI1_CS>,
    <PIN_PB7__QSPI1_IO0>,
    <PIN_PB8__QSPI1_IO1>,
    <PIN_PB9__QSPI1_IO2>,
    <PIN_PB10__QSPI1_IO3>;
  bias-pull-up;
 };

 pinctrl_sdmmc1_default: sdmmc1_default {
  cmd-data {
   pinmux = <PIN_PA28__SDMMC1_CMD>,
     <PIN_PA18__SDMMC1_DAT0>,
     <PIN_PA19__SDMMC1_DAT1>,
     <PIN_PA20__SDMMC1_DAT2>,
     <PIN_PA21__SDMMC1_DAT3>;
   bias-disable;
  };

  conf-ck {
   pinmux = <PIN_PA22__SDMMC1_CK>;
   bias-disable;
  };
 };

 pinctrl_wilc_default: wilc_default {
  conf-irq {
   pinmux = <PIN_PB25__GPIO>;
   bias-disable;
  };
 };

 pinctrl_wilc_pwrseq: wilc_pwrseq {
  conf-ce-nrst {
   pinmux = <PIN_PA27__GPIO>,
     <PIN_PA29__GPIO>;
   bias-disable;
  };

  conf-rtcclk {
   pinmux = <PIN_PB13__PCK1>;
   bias-disable;
  };
 };
};

&sdmmc1 {
 #address-cells = <1>;
 #size-cells = <0>;
 bus-width = <4>;
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_sdmmc1_default>;
 mmc-pwrseq = <&wifi_pwrseq>;
 no-1-8-v;
 non-removable;
 bus-width = <4>;
 status = "okay";

 wilc: wifi@0 {
  reg = <0>;
  compatible = "microchip,wilc3000", "microchip,wilc1000";
  pinctrl-names = "default";
  pinctrl-0 = <&pinctrl_wilc_default>;
  clocks = <&pmc PMC_TYPE_SYSTEM 9>;
  clock-names = "rtc";
  interrupts = <PIN_PB25 IRQ_TYPE_NONE>;
  interrupt-parent = <&pioA>;
  assigned-clocks = <&pmc PMC_TYPE_SYSTEM 9>;
  assigned-clock-rates = <32768>;
 };
};


[ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet)  ]