The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm64/amlogic/meson-gxbb-vega-s95.dtsi

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
    2 /*
    3  * Copyright (c) 2016 Andreas Färber
    4  */
    5 
    6 #include "meson-gxbb.dtsi"
    7 #include <dt-bindings/sound/meson-aiu.h>
    8 
    9 / {
   10         compatible = "tronsmart,vega-s95", "amlogic,meson-gxbb";
   11 
   12         aliases {
   13                 serial0 = &uart_AO;
   14                 ethernet0 = &ethmac;
   15         };
   16 
   17         chosen {
   18                 stdout-path = "serial0:115200n8";
   19         };
   20 
   21         spdif_dit: audio-codec-0 {
   22                 #sound-dai-cells = <0>;
   23                 compatible = "linux,spdif-dit";
   24                 status = "okay";
   25                 sound-name-prefix = "DIT";
   26         };
   27 
   28         leds {
   29                 compatible = "gpio-leds";
   30 
   31                 led-blue {
   32                         label = "vega-s95:blue:on";
   33                         gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_HIGH>;
   34                         default-state = "on";
   35                         panic-indicator;
   36                 };
   37         };
   38 
   39         usb_pwr: regulator-usb-pwrs {
   40                 compatible = "regulator-fixed";
   41 
   42                 regulator-name = "USB_PWR";
   43 
   44                 regulator-min-microvolt = <5000000>;
   45                 regulator-max-microvolt = <5000000>;
   46 
   47                 gpio = <&gpio GPIODV_24 GPIO_ACTIVE_HIGH>;
   48                 enable-active-high;
   49         };
   50 
   51         vddio_boot: regulator-vddio_boot {
   52                 compatible = "regulator-fixed";
   53                 regulator-name = "VDDIO_BOOT";
   54                 regulator-min-microvolt = <1800000>;
   55                 regulator-max-microvolt = <1800000>;
   56         };
   57 
   58         vddao_3v3: regulator-vddao_3v3 {
   59                 compatible = "regulator-fixed";
   60                 regulator-name = "VDDAO_3V3";
   61                 regulator-min-microvolt = <3300000>;
   62                 regulator-max-microvolt = <3300000>;
   63         };
   64 
   65         vddio_ao18: regulator-vddio_ao18 {
   66                 compatible = "regulator-fixed";
   67                 regulator-name = "VDDIO_AO18";
   68                 regulator-min-microvolt = <1800000>;
   69                 regulator-max-microvolt = <1800000>;
   70         };
   71 
   72         vcc_3v3: regulator-vcc_3v3 {
   73                 compatible = "regulator-fixed";
   74                 regulator-name = "VCC_3V3";
   75                 regulator-min-microvolt = <3300000>;
   76                 regulator-max-microvolt = <3300000>;
   77         };
   78 
   79         emmc_pwrseq: emmc-pwrseq {
   80                 compatible = "mmc-pwrseq-emmc";
   81                 reset-gpios = <&gpio BOOT_9 GPIO_ACTIVE_LOW>;
   82         };
   83 
   84         wifi32k: wifi32k {
   85                 compatible = "pwm-clock";
   86                 #clock-cells = <0>;
   87                 clock-frequency = <32768>;
   88                 pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
   89         };
   90 
   91         hdmi-connector {
   92                 compatible = "hdmi-connector";
   93                 type = "a";
   94 
   95                 port {
   96                         hdmi_connector_in: endpoint {
   97                                 remote-endpoint = <&hdmi_tx_tmds_out>;
   98                         };
   99                 };
  100         };
  101 
  102         sdio_pwrseq: sdio-pwrseq {
  103                 compatible = "mmc-pwrseq-simple";
  104                 reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
  105                 clocks = <&wifi32k>;
  106                 clock-names = "ext_clock";
  107         };
  108 
  109         sound {
  110                 compatible = "amlogic,gx-sound-card";
  111                 model = "VEGA-S95";
  112                 assigned-clocks = <&clkc CLKID_MPLL0>,
  113                                   <&clkc CLKID_MPLL1>,
  114                                   <&clkc CLKID_MPLL2>;
  115                 assigned-clock-parents = <0>, <0>, <0>;
  116                 assigned-clock-rates = <294912000>,
  117                                        <270950400>,
  118                                        <393216000>;
  119                 status = "okay";
  120 
  121                 dai-link-0 {
  122                         sound-dai = <&aiu AIU_CPU CPU_I2S_FIFO>;
  123                 };
  124 
  125                 dai-link-1 {
  126                         sound-dai = <&aiu AIU_CPU CPU_SPDIF_FIFO>;
  127                 };
  128 
  129                 dai-link-2 {
  130                         sound-dai = <&aiu AIU_CPU CPU_I2S_ENCODER>;
  131                         dai-format = "i2s";
  132                         mclk-fs = <256>;
  133 
  134                         codec-0 {
  135                                 sound-dai = <&aiu AIU_HDMI CTRL_I2S>;
  136                         };
  137                 };
  138 
  139                 dai-link-3 {
  140                         sound-dai = <&aiu AIU_CPU CPU_SPDIF_ENCODER>;
  141 
  142                         codec-0 {
  143                                 sound-dai = <&spdif_dit>;
  144                         };
  145                 };
  146 
  147                 dai-link-4 {
  148                         sound-dai = <&aiu AIU_HDMI CTRL_OUT>;
  149 
  150                         codec-0 {
  151                                 sound-dai = <&hdmi_tx>;
  152                         };
  153                 };
  154         };
  155 };
  156 
  157 &aiu {
  158         status = "okay";
  159         pinctrl-0 = <&spdif_out_y_pins>;
  160         pinctrl-names = "default";
  161 };
  162 
  163 &cec_AO {
  164         status = "okay";
  165         pinctrl-0 = <&ao_cec_pins>;
  166         pinctrl-names = "default";
  167         hdmi-phandle = <&hdmi_tx>;
  168 };
  169 
  170 &ethmac {
  171         status = "okay";
  172         pinctrl-0 = <&eth_rgmii_pins>;
  173         pinctrl-names = "default";
  174 
  175         phy-handle = <&eth_phy0>;
  176         phy-mode = "rgmii";
  177 
  178         amlogic,tx-delay-ns = <2>;
  179 
  180         mdio {
  181                 compatible = "snps,dwmac-mdio";
  182                 #address-cells = <1>;
  183                 #size-cells = <0>;
  184 
  185                 eth_phy0: ethernet-phy@0 {
  186                         /* Realtek RTL8211F (0x001cc916) */
  187                         reg = <0>;
  188 
  189                         reset-assert-us = <10000>;
  190                         reset-deassert-us = <80000>;
  191                         reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
  192 
  193                         interrupt-parent = <&gpio_intc>;
  194                         /* MAC_INTR on GPIOZ_15 */
  195                         interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
  196                 };
  197         };
  198 };
  199 
  200 &hdmi_tx {
  201         status = "okay";
  202         pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
  203         pinctrl-names = "default";
  204 };
  205 
  206 &hdmi_tx_tmds_port {
  207         hdmi_tx_tmds_out: endpoint {
  208                 remote-endpoint = <&hdmi_connector_in>;
  209         };
  210 };
  211 
  212 &ir {
  213         status = "okay";
  214         pinctrl-0 = <&remote_input_ao_pins>;
  215         pinctrl-names = "default";
  216         linux,rc-map-name = "rc-vega-s9x";
  217 };
  218 
  219 &pwm_ef {
  220         status = "okay";
  221         pinctrl-0 = <&pwm_e_pins>;
  222         pinctrl-names = "default";
  223         clocks = <&clkc CLKID_FCLK_DIV4>;
  224         clock-names = "clkin0";
  225 };
  226 
  227 &saradc {
  228         status = "okay";
  229         vref-supply = <&vddio_ao18>;
  230 };
  231 
  232 /* Wireless SDIO Module */
  233 &sd_emmc_a {
  234         status = "okay";
  235         pinctrl-0 = <&sdio_pins>;
  236         pinctrl-1 = <&sdio_clk_gate_pins>;
  237         pinctrl-names = "default", "clk-gate";
  238         #address-cells = <1>;
  239         #size-cells = <0>;
  240 
  241         bus-width = <4>;
  242         cap-sd-highspeed;
  243         max-frequency = <50000000>;
  244 
  245         non-removable;
  246         disable-wp;
  247 
  248         /* WiFi firmware requires power to be kept while in suspend */
  249         keep-power-in-suspend;
  250 
  251         mmc-pwrseq = <&sdio_pwrseq>;
  252 
  253         vmmc-supply = <&vddao_3v3>;
  254         vqmmc-supply = <&vddio_boot>;
  255 
  256         brcmf: wifi@1 {
  257                 reg = <1>;
  258                 compatible = "brcm,bcm4329-fmac";
  259         };
  260 };
  261 
  262 /* SD card */
  263 &sd_emmc_b {
  264         status = "okay";
  265         pinctrl-0 = <&sdcard_pins>;
  266         pinctrl-1 = <&sdcard_clk_gate_pins>;
  267         pinctrl-names = "default", "clk-gate";
  268 
  269         bus-width = <4>;
  270         cap-sd-highspeed;
  271         max-frequency = <50000000>;
  272         disable-wp;
  273 
  274         cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_LOW>;
  275 
  276         vmmc-supply = <&vddao_3v3>;
  277         vqmmc-supply = <&vcc_3v3>;
  278 };
  279 
  280 /* eMMC */
  281 &sd_emmc_c {
  282         status = "okay";
  283         pinctrl-0 = <&emmc_pins>, <&emmc_ds_pins>;
  284         pinctrl-1 = <&emmc_clk_gate_pins>;
  285         pinctrl-names = "default", "clk-gate";
  286 
  287         bus-width = <8>;
  288         cap-mmc-highspeed;
  289         max-frequency = <200000000>;
  290         non-removable;
  291         disable-wp;
  292         mmc-ddr-1_8v;
  293         mmc-hs200-1_8v;
  294 
  295         mmc-pwrseq = <&emmc_pwrseq>;
  296         vmmc-supply = <&vcc_3v3>;
  297         vqmmc-supply = <&vddio_boot>;
  298 };
  299 
  300 /* This is connected to the Bluetooth module: */
  301 &uart_A {
  302         status = "okay";
  303         pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
  304         pinctrl-names = "default";
  305 
  306         bluetooth {
  307                 compatible = "brcm,bcm43438-bt";
  308                 shutdown-gpios = <&gpio GPIOX_20 GPIO_ACTIVE_HIGH>;
  309                 max-speed = <2000000>;
  310                 clocks = <&wifi32k>;
  311                 clock-names = "lpo";
  312         };
  313 };
  314 
  315 /* This UART is brought out to the DB9 connector */
  316 &uart_AO {
  317         status = "okay";
  318         pinctrl-0 = <&uart_ao_a_pins>;
  319         pinctrl-names = "default";
  320 };
  321 
  322 &usb0_phy {
  323         status = "okay";
  324         phy-supply = <&usb_pwr>;
  325 };
  326 
  327 &usb1_phy {
  328         status = "okay";
  329 };
  330 
  331 &usb0 {
  332         status = "okay";
  333 };
  334 
  335 &usb1 {
  336         status = "okay";
  337 };

Cache object: 9ae082ceac2c78b86d3c36a9f711782b


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.