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


Quelle  imx28-btt3.dtsi   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2024
 * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
 */
/dts-v1/;
#include "imx28-lwe.dtsi"

/ {
 model = "BTT3";

 compatible = "lwn,imx28-btt3", "fsl,imx28";

 chosen {
        bootargs = "root=/dev/mmcblk0p2 rootfstype=ext4 ro rootwait console=ttyAMA0,115200 panic=1 quiet";
 };

 memory@40000000 {
  reg = <0x40000000 0x10000000>;
  device_type = "memory";
 };

 panel {
  compatible = "powertip,hx8238a", "panel-dpi";
  power-supply = <®_3v3>;
  width-mm = <70>;
  height-mm = <52>;

  panel-timing {
   clock-frequency = <6500000>;
   hactive = <320>;
   vactive = <240>;
   hfront-porch = <20>;
   hback-porch = <38>;
   hsync-len = <30>;
   vfront-porch = <4>;
   vback-porch = <14>;
   vsync-len = <4>;
   hsync-active = <0>;
   vsync-active = <0>;
   de-active = <0>;
   pixelclk-active = <1>;
  };

  port {
   panel_in: endpoint {
    remote-endpoint = <&display_out>;
   };
  };
 };

 poweroff {
  compatible = "gpio-poweroff";
  gpios = <&gpio0 24 GPIO_ACTIVE_HIGH>;
 };

 sound {
  compatible = "simple-audio-card";
  simple-audio-card,name = "BTTC Audio";
  simple-audio-card,widgets = "Speaker", "BTTC Speaker";
  simple-audio-card,routing = "BTTC Speaker", "SPKOUTN", "BTTC Speaker", "SPKOUTP";

  simple-audio-card,dai-link@0 {
   format = "left_j";
   bitclock-master = <&dai0_master>;
   frame-master = <&dai0_master>;
   mclk-fs = <256>;

   dai0_master: cpu {
    sound-dai = <&saif0>;
   };

   codec {
    sound-dai = <&wm89xx>;
    clocks = <&saif0>;
   };
  };
 };

 wifi_pwrseq: sdio-pwrseq {
  compatible = "mmc-pwrseq-simple";
  pinctrl-names = "default";
  pinctrl-0 = <&wifi_en_pin_bttc>;
  reset-gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
  /* W1-163 needs 60us for WL_EN to be low and */
  /* 150ms after high before downloading FW is possible */
  post-power-on-delay-ms = <200>;
  power-off-delay-us = <100>;
 };
};

&auart0 {
 pinctrl-names = "default";
 pinctrl-0 = <&auart0_2pins_a>;
 status = "okay";
};

&auart3 {
 pinctrl-names = "default";
 pinctrl-0 = <&auart3_pins_a>;
 uart-has-rtscts;
 status = "okay";
};

&i2c0 {
 wm89xx: audio-codec@1a {
  compatible = "wlf,wm8940";
  reg = <0x1a>;
  #sound-dai-cells = <0>;
 };
};

&lcdif {
 pinctrl-names = "default";
 pinctrl-0 = <&lcdif_24bit_pins_a>, <&lcdif_sync_pins_bttc>,
      <&lcdif_reset_pins_bttc>;
 status = "okay";

 port {
  display_out: endpoint {
   remote-endpoint = <&panel_in>;
  };
 };
};

&mac0 {
 clocks = <&clks 57>, <&clks 57>, <&clks 64>;
 clock-names = "ipg", "ahb", "enet_out";
 phy-handle = <&mac0_phy>;
 phy-mode = "rmii";
 phy-supply = <®_3v3>;
 /*
  * This MAC address is adjusted during production.
  * Value specified below is used as a fallback during recovery.
  */
 local-mac-address = [ 00 11 B8 00 BF 8A ];
 status = "okay";

 mdio {
  #address-cells = <1>;
  #size-cells = <0>;

  mac0_phy: ethernet-phy@0 {
   /* LAN8720Ai - PHY ID */
   compatible = "ethernet-phy-id0007.c0f0","ethernet-phy-ieee802.3-c22";
   reg = <0>;
   smsc,disable-energy-detect;
   max-speed = <100>;
   reset-gpios = <&gpio4 12 GPIO_ACTIVE_LOW>;
   reset-assert-us = <1000>;
   reset-deassert-us = <1000>;
  };
 };
};

&pinctrl {
 pinctrl-names = "default";
 pinctrl-0 = <&hog_pins_a>, <&hog_pins_rev>;

 hog_pins_a: hog@0 {
  reg = <0>;
  fsl,pinmux-ids = <
   MX28_PAD_GPMI_RDY2__GPIO_0_22
   MX28_PAD_GPMI_RDY3__GPIO_0_23
   MX28_PAD_GPMI_RDN__GPIO_0_24
   MX28_PAD_LCD_VSYNC__GPIO_1_28
   MX28_PAD_SSP2_SS1__GPIO_2_20
   MX28_PAD_SSP2_SS2__GPIO_2_21
   MX28_PAD_AUART2_CTS__GPIO_3_10
   MX28_PAD_AUART2_RTS__GPIO_3_11
   MX28_PAD_GPMI_WRN__GPIO_0_25
   MX28_PAD_ENET0_RXD2__GPIO_4_9
   MX28_PAD_ENET0_TXD2__GPIO_4_11
  >;
  fsl,drive-strength = <MXS_DRIVE_4mA>;
  fsl,voltage = <MXS_VOLTAGE_HIGH>;
  fsl,pull-up = <MXS_PULL_DISABLE>;
 };

 hog_pins_rev: hog@1 {
  reg = <1>;
  fsl,pinmux-ids = <
   MX28_PAD_ENET0_RXD3__GPIO_4_10
   MX28_PAD_ENET0_TX_CLK__GPIO_4_5
   MX28_PAD_ENET0_COL__GPIO_4_14
   MX28_PAD_ENET0_CRS__GPIO_4_15
  >;
  fsl,drive-strength = <MXS_DRIVE_4mA>;
  fsl,voltage = <MXS_VOLTAGE_HIGH>;
  fsl,pull-up = <MXS_PULL_DISABLE>;
 };

 keypad_pins_bttc: keypad-bttc@0 {
  reg = <0>;
  fsl,pinmux-ids = <
   MX28_PAD_GPMI_D00__GPIO_0_0
   MX28_PAD_AUART0_CTS__GPIO_3_2
   MX28_PAD_AUART0_RTS__GPIO_3_3
   MX28_PAD_GPMI_D03__GPIO_0_3
   MX28_PAD_GPMI_D04__GPIO_0_4
   MX28_PAD_GPMI_D05__GPIO_0_5
   MX28_PAD_GPMI_D06__GPIO_0_6
   MX28_PAD_GPMI_D07__GPIO_0_7
   MX28_PAD_GPMI_CE1N__GPIO_0_17
   MX28_PAD_GPMI_CE2N__GPIO_0_18
   MX28_PAD_GPMI_CE3N__GPIO_0_19
   MX28_PAD_GPMI_RDY0__GPIO_0_20
  >;
  fsl,drive-strength = <MXS_DRIVE_4mA>;
  fsl,voltage = <MXS_VOLTAGE_HIGH>;
  fsl,pull-up = <MXS_PULL_DISABLE>;
 };

 lcdif_sync_pins_bttc: lcdif-bttc@0 {
  reg = <0>;
  fsl,pinmux-ids = <
   MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
   MX28_PAD_LCD_ENABLE__LCD_ENABLE
   MX28_PAD_LCD_HSYNC__LCD_HSYNC
   MX28_PAD_LCD_RD_E__LCD_VSYNC
  >;
  fsl,drive-strength = <MXS_DRIVE_4mA>;
  fsl,voltage = <MXS_VOLTAGE_HIGH>;
  fsl,pull-up = <MXS_PULL_DISABLE>;
 };

 lcdif_reset_pins_bttc: lcdif-bttc@1 {
  reg = <1>;
  fsl,pinmux-ids = <
   MX28_PAD_LCD_RESET__GPIO_3_30
  >;
  fsl,drive-strength = <MXS_DRIVE_4mA>;
  fsl,voltage = <MXS_VOLTAGE_HIGH>;
  fsl,pull-up = <MXS_PULL_ENABLE>;
 };

 ssp1_sdio_pins_a: ssp1-sdio@0 {
  reg = <0>;
  fsl,pinmux-ids = <
   MX28_PAD_SSP1_DATA0__SSP1_D0
   MX28_PAD_GPMI_D01__SSP1_D1
   MX28_PAD_GPMI_D02__SSP1_D2
   MX28_PAD_SSP1_DATA3__SSP1_D3
   MX28_PAD_SSP1_CMD__SSP1_CMD
   MX28_PAD_SSP1_SCK__SSP1_SCK
  >;
  fsl,drive-strength = <MXS_DRIVE_8mA>;
  fsl,voltage = <MXS_VOLTAGE_HIGH>;
  fsl,pull-up = <MXS_PULL_ENABLE>;
 };

 wifi_en_pin_bttc: wifi-en-pin@0 {
  reg = <0>;
  fsl,pinmux-ids = <
   MX28_PAD_GPMI_CLE__GPIO_0_27
  >;
  fsl,drive-strength = <MXS_DRIVE_8mA>;
  fsl,voltage = <MXS_VOLTAGE_HIGH>;
  fsl,pull-up = <MXS_PULL_ENABLE>;
 };
};

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

®_usb_5v {
 gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
};

&saif0 {
 pinctrl-names = "default";
 pinctrl-0 = <&saif0_pins_a>;
 #sound-dai-cells = <0>;
 assigned-clocks = <&clks 53>;
 assigned-clock-rates = <12000000>;
 status = "okay";
};

&saif1 {
 pinctrl-names = "default";
 pinctrl-0 = <&saif1_pins_a>;
 #sound-dai-cells = <0>;
 fsl,saif-master = <&saif0>;
 status = "okay";
};

&ssp1 {
 compatible = "fsl,imx28-mmc";
 pinctrl-names = "default";
 pinctrl-0 = <&ssp1_sdio_pins_a>;
 bus-width = <4>;
 no-1-8-v;       /* force 3.3V VIO */
 non-removable;
 vmmc-supply = <®_3v3>;
 mmc-pwrseq = <&wifi_pwrseq>;
 keep-power-in-suspend;
 status = "okay";

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

&ssp2 {
 compatible = "fsl,imx28-spi";
 pinctrl-names = "default";
 pinctrl-0 = <&spi2_pins_a>;
 status = "okay";
};

[ Dauer der Verarbeitung: 0.2 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