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/arm/omap4-duovero.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-only
    2 /*
    3  * Copyright (C) 2014 Florian Vaussard, EPFL Mobots group
    4  */
    5 
    6 #include "omap443x.dtsi"
    7 #include "omap4-mcpdm.dtsi"
    8 
    9 / {
   10         model = "Gumstix Duovero";
   11         compatible = "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";
   12 
   13         chosen {
   14                 stdout-path = &uart3;
   15         };
   16 
   17         memory@80000000 {
   18                 device_type = "memory";
   19                 reg = <0x80000000 0x40000000>; /* 1 GB */
   20         };
   21 
   22         sound {
   23                 compatible = "ti,abe-twl6040";
   24                 ti,model = "DuoVero";
   25 
   26                 ti,mclk-freq = <38400000>;
   27 
   28                 ti,mcpdm = <&mcpdm>;
   29 
   30                 ti,twl6040 = <&twl6040>;
   31 
   32                 /* Audio routing */
   33                 ti,audio-routing =
   34                         "Headset Stereophone", "HSOL",
   35                         "Headset Stereophone", "HSOR",
   36                         "HSMIC", "Headset Mic",
   37                         "Headset Mic", "Headset Mic Bias";
   38         };
   39 
   40         /* HS USB Host PHY on PORT 1 */
   41         hsusb1_phy: hsusb1_phy {
   42                 compatible = "usb-nop-xceiv";
   43                 reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;      /* gpio_62 */
   44                 #phy-cells = <0>;
   45 
   46                 pinctrl-names = "default";
   47                 pinctrl-0 = <&hsusb1phy_pins>;
   48 
   49                 clocks = <&auxclk3_ck>;
   50                 clock-names = "main_clk";
   51                 clock-frequency = <19200000>;
   52         };
   53 
   54         /* regulator for w2cbw0015 on sdio5 */
   55         w2cbw0015_vmmc: w2cbw0015_vmmc {
   56                 pinctrl-names = "default";
   57                 pinctrl-0 = <&w2cbw0015_pins>;
   58                 compatible = "regulator-fixed";
   59                 regulator-name = "w2cbw0015";
   60                 regulator-min-microvolt = <3000000>;
   61                 regulator-max-microvolt = <3000000>;
   62                 gpio = <&gpio2 11 GPIO_ACTIVE_LOW>;             /* gpio_43 */
   63                 startup-delay-us = <70000>;
   64                 enable-active-high;
   65                 regulator-boot-on;
   66         };
   67 };
   68 
   69 &omap4_pmx_core {
   70         pinctrl-names = "default";
   71         pinctrl-0 = <
   72                         &twl6040_pins
   73                         &hsusbb1_pins
   74         >;
   75 
   76         twl6040_pins: pinmux_twl6040_pins {
   77                 pinctrl-single,pins = <
   78                         OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE3)              /* usbb2_ulpitll_nxt.gpio_160 */
   79                         OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0)               /* sys_nirq2.sys_nirq2 */
   80                 >;
   81         };
   82 
   83         mcbsp1_pins: pinmux_mcbsp1_pins {
   84                 pinctrl-single,pins = <
   85                         OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
   86                         OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0)      /* abe_mcbsp1_dr.abe_mcbsp1_dr */
   87                         OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0)     /* abe_mcbsp1_dx.abe_mcbsp1_dx */
   88                         OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0)               /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
   89                 >;
   90         };
   91 
   92         hsusbb1_pins: pinmux_hsusbb1_pins {
   93                 pinctrl-single,pins = <
   94                         OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
   95                         OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4)              /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
   96                         OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
   97                         OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
   98                         OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
   99                         OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
  100                         OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
  101                         OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
  102                         OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
  103                         OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
  104                         OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
  105                         OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4)      /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
  106                 >;
  107         };
  108 
  109         hsusb1phy_pins: pinmux_hsusb1phy_pins {
  110                 pinctrl-single,pins = <
  111                         OMAP4_IOPAD(0x08c, PIN_OUTPUT | MUX_MODE3)              /* gpmc_wait1.gpio_62 */
  112                 >;
  113         };
  114 
  115         w2cbw0015_pins: pinmux_w2cbw0015_pins {
  116                 pinctrl-single,pins = <
  117                         OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3)              /* gpmc_a19.gpio_43 */
  118                         OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3)               /* gpmc_ncs3.gpio_53 */
  119                 >;
  120         };
  121 
  122         i2c1_pins: pinmux_i2c1_pins {
  123                 pinctrl-single,pins = <
  124                         OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_scl */
  125                         OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c1_sda */
  126                 >;
  127         };
  128 
  129         i2c4_pins: pinmux_i2c4_pins {
  130                 pinctrl-single,pins = <
  131                         OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_scl */
  132                         OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0)        /* i2c4_sda */
  133                 >;
  134         };
  135 
  136         mmc1_pins: pinmux_mmc1_pins {
  137                 pinctrl-single,pins = <
  138                         OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc1_clk */
  139                         OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmcc1_cmd */
  140                         OMAP4_IOPAD(0x0e6, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmcc1_dat0 */
  141                         OMAP4_IOPAD(0x0e8, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc1_dat1 */
  142                         OMAP4_IOPAD(0x0ea, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc1_dat2 */
  143                         OMAP4_IOPAD(0x0ec, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc1_dat3 */
  144                 >;
  145         };
  146 
  147         mmc5_pins: pinmux_mmc5_pins {
  148                 pinctrl-single,pins = <
  149                         OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_clk */
  150                         OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmcc5_cmd */
  151                         OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmcc5_dat0 */
  152                         OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_dat1 */
  153                         OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_dat2 */
  154                         OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0)        /* sdmmc5_dat3 */
  155                 >;
  156         };
  157 };
  158 
  159 /* PMIC */
  160 &i2c1 {
  161         pinctrl-names = "default";
  162         pinctrl-0 = <&i2c1_pins>;
  163 
  164         clock-frequency = <400000>;
  165 
  166         twl: twl@48 {
  167                 reg = <0x48>;
  168                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;           /* IRQ_SYS_1N cascaded to gic */
  169         };
  170 
  171         twl6040: twl@4b {
  172                 compatible = "ti,twl6040";
  173                 #clock-cells = <0>;
  174                 reg = <0x4b>;
  175                 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;         /* IRQ_SYS_2N cascaded to gic */
  176                 ti,audpwron-gpio = <&gpio6 0 GPIO_ACTIVE_HIGH>;         /* gpio_160 */
  177 
  178                 vio-supply = <&v1v8>;
  179                 v2v1-supply = <&v2v1>;
  180                 enable-active-high;
  181         };
  182 };
  183 
  184 #include "twl6030.dtsi"
  185 #include "twl6030_omap4.dtsi"
  186 
  187 /* on-board bluetooth / WiFi module */
  188 &i2c4 {
  189         pinctrl-names = "default";
  190         pinctrl-0 = <&i2c4_pins>;
  191 
  192         clock-frequency = <400000>;
  193 };
  194 
  195 &mcbsp1 {
  196         pinctrl-names = "default";
  197         pinctrl-0 = <&mcbsp1_pins>;
  198         status = "okay";
  199 };
  200 
  201 &mmc1 {
  202         pinctrl-names = "default";
  203         pinctrl-0 = <&mmc1_pins>;
  204 
  205         vmmc-supply = <&vmmc>;
  206         ti,bus-width = <4>;
  207         ti,non-removable;               /* FIXME: use PMIC_MMC detect */
  208 };
  209 
  210 &mmc2 {
  211         status = "disabled";
  212 };
  213 
  214 /* mmc3 is available to the expansion board */
  215 
  216 &mmc4 {
  217         status = "disabled";
  218 };
  219 
  220 /* on-board WiFi module */
  221 &mmc5 {
  222         pinctrl-names = "default";
  223         pinctrl-0 = <&mmc5_pins>;
  224 
  225         vmmc-supply = <&w2cbw0015_vmmc>;
  226         ti,bus-width = <4>;
  227         ti,non-removable;
  228         cap-power-off-card;
  229         keep-power-in-suspend;
  230 };
  231 
  232 &twl_usb_comparator {
  233         usb-supply = <&vusb>;
  234 };
  235 
  236 &usb_otg_hs {
  237         interface-type = <1>;
  238         mode = <3>;
  239         power = <50>;
  240 };
  241 
  242 &usbhshost {
  243         port1-mode = "ehci-phy";
  244 };
  245 
  246 &usbhsehci {
  247         phys = <&hsusb1_phy>;
  248 };
  249 

Cache object: c74e38071d40e9a0d19abc905c7ba993


[ 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.