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


Quelle  meson-gxbb-nexbox-a95x.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2016 Andreas Färber
 * Copyright (c) 2016 BayLibre, Inc.
 * Author: Neil Armstrong <narmstrong@kernel.org>
 */

/dts-v1/;

#include "meson-gxbb.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/sound/meson-aiu.h>

/ {
 compatible = "nexbox,a95x", "amlogic,meson-gxbb";
 model = "NEXBOX A95X";

 aliases {
  serial0 = &uart_AO;
  ethernet0 = ðmac;
 };

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

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

 leds {
  compatible = "gpio-leds";
  led-blue {
   label = "a95x:system-status";
   gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>;
   linux,default-trigger = "heartbeat";
   default-state = "off";
  };
 };

 gpio-keys-polled {
  compatible = "gpio-keys-polled";
  poll-interval = <100>;

  button {
   label = "reset";
   linux,code = <KEY_RESTART>;
   gpios = <&gpio_ao GPIOAO_3 GPIO_ACTIVE_LOW>;
  };
 };

 usb_pwr: regulator-usb-pwrs {
  compatible = "regulator-fixed";

  regulator-name = "USB_PWR";

  regulator-min-microvolt = <5000000>;
  regulator-max-microvolt = <5000000>;

  gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
  enable-active-high;
 };

 vddio_card: gpio-regulator {
  compatible = "regulator-gpio";

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

  gpios = <&gpio_ao GPIOAO_5 GPIO_ACTIVE_HIGH>;
  gpios-states = <1>;

  /* Based on P200 schematics, signal CARD_1.8V/3.3V_CTR */
  states = <1800000 0>,
    <3300000 1>;
 };

 vddio_boot: regulator-vddio-boot {
  compatible = "regulator-fixed";
  regulator-name = "VDDIO_BOOT";
  regulator-min-microvolt = <1800000>;
  regulator-max-microvolt = <1800000>;
 };

 vddao_3v3: regulator-vddao-3v3 {
  compatible = "regulator-fixed";
  regulator-name = "VDDAO_3V3";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
 };

 vcc_3v3: regulator-vcc-3v3 {
  compatible = "regulator-fixed";
  regulator-name = "VCC_3V3";
  regulator-min-microvolt = <3300000>;
  regulator-max-microvolt = <3300000>;
 };

 emmc_pwrseq: emmc-pwrseq {
  compatible = "mmc-pwrseq-emmc";
  reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
 };

 wifi32k: wifi32k {
  compatible = "pwm-clock";
  #clock-cells = <0>;
  clock-frequency = <32768>;
  pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
 };

 sdio_pwrseq: sdio-pwrseq {
  compatible = "mmc-pwrseq-simple";
  reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
  clocks = <&wifi32k>;
  clock-names = "ext_clock";
 };

 cvbs-connector {
  compatible = "composite-video-connector";

  port {
   cvbs_connector_in: endpoint {
    remote-endpoint = <&cvbs_vdac_out>;
   };
  };
 };

 hdmi-connector {
  compatible = "hdmi-connector";
  type = "a";

  port {
   hdmi_connector_in: endpoint {
    remote-endpoint = <&hdmi_tx_tmds_out>;
   };
  };
 };

 sound {
  compatible = "amlogic,gx-sound-card";
  model = "NEXBOX-A95X";
  clocks = <&clkc CLKID_MPLL0>,
    <&clkc CLKID_MPLL1>,
    <&clkc CLKID_MPLL2>;

  assigned-clocks = <&clkc CLKID_MPLL0>,
      <&clkc CLKID_MPLL1>,
      <&clkc CLKID_MPLL2>;
  assigned-clock-parents = <0>, <0>, <0>;
  assigned-clock-rates = <294912000>,
           <270950400>,
           <393216000>;

  dai-link-0 {
   sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
  };

  dai-link-1 {
   sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
   dai-format = "i2s";
   mclk-fs = <256>;

   codec-0 {
    sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
   };
  };

  dai-link-2 {
   sound-dai = <&aiu AIU_HDMI CTRL_OUT>;

   codec-0 {
    sound-dai = <&hdmi_tx>;
   };
  };
 };
};

&aiu {
 status = "okay";
};

&cvbs_vdac_port {
 cvbs_vdac_out: endpoint {
  remote-endpoint = <&cvbs_connector_in>;
 };
};

&cec_AO {
 status = "okay";
 pinctrl-0 = <&ao_cec_pins>;
 pinctrl-names = "default";
 hdmi-phandle = <&hdmi_tx>;
};

ðmac {
 status = "okay";
 pinctrl-0 = <ð_rmii_pins>;
 pinctrl-names = "default";

 phy-handle = <ð_phy0>;
 phy-mode = "rmii";

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

  eth_phy0: ethernet-phy@0 {
   /* IC Plus IP101GR (0x02430c54) */
   reg = <0>;

   reset-assert-us = <10000>;
   reset-deassert-us = <10000>;
   reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
  };
 };
};

&hdmi_tx {
 status = "okay";
 pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
 pinctrl-names = "default";
};

&hdmi_tx_tmds_port {
 hdmi_tx_tmds_out: endpoint {
  remote-endpoint = <&hdmi_connector_in>;
 };
};

&ir {
 status = "okay";
 pinctrl-0 = <&remote_input_ao_pins>;
 pinctrl-names = "default";
};

&pwm_ef {
 status = "okay";
 pinctrl-0 = <&pwm_e_pins>;
 pinctrl-names = "default";
};

/* Wireless SDIO Module */
&sd_emmc_a {
 status = "okay";
 pinctrl-0 = <&sdio_pins>;
 pinctrl-1 = <&sdio_clk_gate_pins>;
 pinctrl-names = "default", "clk-gate";
 #address-cells = <1>;
 #size-cells = <0>;

 bus-width = <4>;
 cap-sd-highspeed;
 max-frequency = <100000000>;

 non-removable;
 disable-wp;

 /* WiFi firmware requires power to be kept while in suspend */
 keep-power-in-suspend;

 mmc-pwrseq = <&sdio_pwrseq>;

 vmmc-supply = <&vddao_3v3>;
 vqmmc-supply = <&vddio_boot>;
};

/* SD card */
&sd_emmc_b {
 status = "okay";
 pinctrl-0 = <&sdcard_pins>;
 pinctrl-1 = <&sdcard_clk_gate_pins>;
 pinctrl-names = "default", "clk-gate";

 bus-width = <4>;
 cap-sd-highspeed;
 max-frequency = <50000000>;
 disable-wp;

 cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;

 vmmc-supply = <&vddao_3v3>;
 vqmmc-supply = <&vddio_card>;
};

/* eMMC */
&sd_emmc_c {
 status = "okay";
 pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
 pinctrl-1 = <&emmc_clk_gate_pins>;
 pinctrl-names = "default", "clk-gate";

 bus-width = <8>;
 cap-mmc-highspeed;
 max-frequency = <200000000>;
 non-removable;
 disable-wp;
 mmc-ddr-1_8v;
 mmc-hs200-1_8v;

 mmc-pwrseq = <&emmc_pwrseq>;
 vmmc-supply = <&vcc_3v3>;
 vqmmc-supply = <&vddio_boot>;
};

&uart_AO {
 status = "okay";
 pinctrl-0 = <&uart_ao_a_pins>;
 pinctrl-names = "default";
};

&usb0_phy {
 status = "okay";
 phy-supply = <&usb_pwr>;
};

&usb1_phy {
 status = "okay";
};

&usb0 {
 status = "okay";
};

&usb1 {
 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