Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
0004  * Copyright (C) 2014 Stefan Roese <sr@denx.de>
0005  */
0006 /dts-v1/;
0007 
0008 #include "omap34xx.dtsi"
0009 
0010 /* Secure omaps have some devices inaccessible depending on the firmware */
0011 &aes1_target {
0012         status = "disabled";
0013 };
0014 
0015 &aes2_target {
0016         status = "disabled";
0017 };
0018 
0019 &sham {
0020         status = "disabled";
0021 };
0022 
0023 / {
0024         cpus {
0025                 cpu@0 {
0026                         cpu0-supply = <&vcc>;
0027                 };
0028         };
0029 
0030         memory@80000000 {
0031                 device_type = "memory";
0032                 reg = <0x80000000 0x10000000>; /* 256 MB */
0033         };
0034 
0035         /* HS USB Port 2 Power */
0036         hsusb2_power: hsusb2_power_reg {
0037                 compatible = "regulator-fixed";
0038                 regulator-name = "hsusb2_vbus";
0039                 regulator-min-microvolt = <3300000>;
0040                 regulator-max-microvolt = <3300000>;
0041                 gpio = <&twl_gpio 18 GPIO_ACTIVE_HIGH>; /* GPIO LEDA */
0042                 startup-delay-us = <70000>;
0043         };
0044 
0045         /* HS USB Host PHY on PORT 2 */
0046         hsusb2_phy: hsusb2_phy {
0047                 compatible = "usb-nop-xceiv";
0048                 reset-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;       /* gpio_162 */
0049                 vcc-supply = <&hsusb2_power>;
0050                 #phy-cells = <0>;
0051         };
0052 
0053         sound {
0054                 compatible = "ti,omap-twl4030";
0055                 ti,model = "omap3beagle";
0056 
0057                 /* McBSP2 is used for onboard sound, same as on beagle */
0058                 ti,mcbsp = <&mcbsp2>;
0059         };
0060 
0061         /* Regulator to enable/switch the vcc of the Wifi module */
0062         mmc2_sdio_poweron: regulator-mmc2-sdio-poweron {
0063                 compatible = "regulator-fixed";
0064                 regulator-name = "regulator-mmc2-sdio-poweron";
0065                 regulator-min-microvolt = <3150000>;
0066                 regulator-max-microvolt = <3150000>;
0067                 gpio = <&gpio5 29 GPIO_ACTIVE_LOW>;             /* gpio_157 */
0068                 startup-delay-us = <10000>;
0069         };
0070 };
0071 
0072 &omap3_pmx_core {
0073         hsusbb2_pins: pinmux_hsusbb2_pins {
0074                 pinctrl-single,pins = <
0075                         OMAP3_CORE1_IOPAD(0x25f0, PIN_OUTPUT | MUX_MODE3)               /* etk_d10.hsusb2_clk */
0076                         OMAP3_CORE1_IOPAD(0x25f2, PIN_OUTPUT | MUX_MODE3)               /* etk_d11.hsusb2_stp */
0077                         OMAP3_CORE1_IOPAD(0x25f4, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* etk_d12.hsusb2_dir */
0078                         OMAP3_CORE1_IOPAD(0x25f6, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* etk_d13.hsusb2_nxt */
0079                         OMAP3_CORE1_IOPAD(0x25f8, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* etk_d14.hsusb2_data0 */
0080                         OMAP3_CORE1_IOPAD(0x25fa, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* etk_d15.hsusb2_data1 */
0081                         OMAP3_CORE1_IOPAD(0x21d4, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi1_cs3.hsusb2_data2 */
0082                         OMAP3_CORE1_IOPAD(0x21d6, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_clk.hsusb2_data7 */
0083                         OMAP3_CORE1_IOPAD(0x21d8, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_simo.hsusb2_data4 */
0084                         OMAP3_CORE1_IOPAD(0x21da, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_somi.hsusb2_data5 */
0085                         OMAP3_CORE1_IOPAD(0x21dc, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs0.hsusb2_data6 */
0086                         OMAP3_CORE1_IOPAD(0x21de, PIN_INPUT_PULLDOWN | MUX_MODE3)       /* mcspi2_cs1.hsusb2_data3 */
0087                 >;
0088         };
0089 
0090         mmc1_pins: pinmux_mmc1_pins {
0091                 pinctrl-single,pins = <
0092                         OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
0093                         OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
0094                         OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
0095                         OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
0096                         OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
0097                         OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
0098                         OMAP3_CORE1_IOPAD(0x2150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat4.sdmmc1_dat4 */
0099                         OMAP3_CORE1_IOPAD(0x2152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat5.sdmmc1_dat5 */
0100                         OMAP3_CORE1_IOPAD(0x2154, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat6.sdmmc1_dat6 */
0101                         OMAP3_CORE1_IOPAD(0x2156, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat7.sdmmc1_dat7 */
0102                 >;
0103         };
0104 
0105         mmc2_pins: pinmux_mmc2_pins {
0106                 pinctrl-single,pins = <
0107                         OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_clk.sdmmc2_clk */
0108                         OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_cmd.sdmmc2_cmd */
0109                         OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat0.sdmmc2_dat0 */
0110                         OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat1.sdmmc2_dat1 */
0111                         OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat2.sdmmc2_dat2 */
0112                         OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc2_dat3.sdmmc2_dat3 */
0113                 >;
0114         };
0115 
0116         /* wlan GPIO output for WLAN_EN */
0117         wlan_gpio: pinmux_wlan_gpio {
0118                 pinctrl-single,pins = <
0119                         OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4)       /* mcbsp1_fsr gpio_157 */
0120                 >;
0121         };
0122 
0123         uart3_pins: pinmux_uart3_pins {
0124                 pinctrl-single,pins = <
0125                         OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
0126                         OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)       /* uart3_tx_irtx.uart3_tx_irtx */
0127                 >;
0128         };
0129 
0130         i2c3_pins: pinmux_i2c3_pins {
0131                 pinctrl-single,pins = <
0132                         OMAP3_CORE1_IOPAD(0x21c2, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl.i2c3_scl */
0133                         OMAP3_CORE1_IOPAD(0x21c4, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda.i2c3_sda */
0134                 >;
0135         };
0136 
0137         mcspi1_pins: pinmux_mcspi1_pins {
0138                 pinctrl-single,pins = <
0139                         OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0)        /* mcspi1_clk.mcspi1_clk */
0140                         OMAP3_CORE1_IOPAD(0x21ca, PIN_OUTPUT | MUX_MODE0)       /* mcspi1_simo.mcspi1_simo */
0141                         OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT_PULLUP | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
0142                         OMAP3_CORE1_IOPAD(0x21ce, PIN_OUTPUT | MUX_MODE0)       /* mcspi1_cs0.mcspi1_cs0 */
0143                 >;
0144         };
0145 
0146         mcspi3_pins: pinmux_mcspi3_pins {
0147                 pinctrl-single,pins = <
0148                         OMAP3_CORE1_IOPAD(0x25dc, PIN_OUTPUT | MUX_MODE1)       /* etk_d0.mcspi3_simo gpio14 INPUT | MODE1 */
0149                         OMAP3_CORE1_IOPAD(0x25de, PIN_INPUT_PULLUP | MUX_MODE1) /* etk_d1.mcspi3_somi gpio15 INPUT | MODE1 */
0150                         OMAP3_CORE1_IOPAD(0x25e0, PIN_OUTPUT | MUX_MODE1)       /* etk_d2.mcspi3_cs0 gpio16 INPUT | MODE1 */
0151                         OMAP3_CORE1_IOPAD(0x25e2, PIN_INPUT | MUX_MODE1)        /* etk_d3.mcspi3_clk gpio17 INPUT | MODE1 */
0152                 >;
0153         };
0154 
0155         mcbsp3_pins: pinmux_mcbsp3_pins {
0156                 pinctrl-single,pins = <
0157                         OMAP3_CORE1_IOPAD(0x216c, PIN_OUTPUT | MUX_MODE0)       /* mcbsp3_dx.uart2_cts */
0158                         OMAP3_CORE1_IOPAD(0x216e, PIN_INPUT | MUX_MODE0)        /* mcbsp3_dr.uart2_rts */
0159                         OMAP3_CORE1_IOPAD(0x2170, PIN_INPUT | MUX_MODE0)        /* mcbsp3_clk.uart2_tx */
0160                         OMAP3_CORE1_IOPAD(0x2172, PIN_INPUT | MUX_MODE0)        /* mcbsp3_fsx.uart2_rx */
0161                 >;
0162         };
0163 };
0164 
0165 /* McBSP1: mux'ed with GPIO158 as clock for HA-DSP */
0166 &mcbsp1 {
0167         status = "disabled";
0168 };
0169 
0170 &mcbsp2 {
0171         status = "okay";
0172 };
0173 
0174 &i2c1 {
0175         clock-frequency = <2600000>;
0176 
0177         twl: twl@48 {
0178                 reg = <0x48>;
0179                 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
0180                 interrupt-parent = <&intc>;
0181 
0182                 twl_audio: audio {
0183                         compatible = "ti,twl4030-audio";
0184                         codec {
0185                         };
0186                 };
0187         };
0188 };
0189 
0190 &i2c3 {
0191         clock-frequency = <100000>;
0192 
0193         pinctrl-names = "default";
0194         pinctrl-0 = <&i2c3_pins>;
0195 };
0196 
0197 &mcspi1 {
0198         pinctrl-names = "default";
0199         pinctrl-0 = <&mcspi1_pins>;
0200 };
0201 
0202 &mcspi3 {
0203         pinctrl-names = "default";
0204         pinctrl-0 = <&mcspi3_pins>;
0205 };
0206 
0207 #include "twl4030.dtsi"
0208 #include "twl4030_omap3.dtsi"
0209 
0210 &mmc1 {
0211         pinctrl-names = "default";
0212         pinctrl-0 = <&mmc1_pins>;
0213         vmmc-supply = <&vmmc1>;
0214         vqmmc-supply = <&vsim>;
0215         cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>;
0216         bus-width = <8>;
0217 };
0218 
0219 // WiFi (Marvell 88W8686) on MMC2/SDIO
0220 &mmc2 {
0221         pinctrl-names = "default";
0222         pinctrl-0 = <&mmc2_pins>;
0223         vmmc-supply = <&mmc2_sdio_poweron>;
0224         non-removable;
0225         bus-width = <4>;
0226         cap-power-off-card;
0227 };
0228 
0229 &mmc3 {
0230         status = "disabled";
0231 };
0232 
0233 &usbhshost {
0234         port2-mode = "ehci-phy";
0235 };
0236 
0237 &usbhsehci {
0238         phys = <0 &hsusb2_phy>;
0239 };
0240 
0241 &twl_gpio {
0242         ti,use-leds;
0243         /* pullups: BIT(1) */
0244         ti,pullups = <0x000002>;
0245         /*
0246          * pulldowns:
0247          * BIT(2), BIT(6), BIT(7), BIT(8), BIT(13)
0248          * BIT(15), BIT(16), BIT(17)
0249          */
0250         ti,pulldowns = <0x03a1c4>;
0251 };
0252 
0253 &uart3 {
0254         pinctrl-names = "default";
0255         pinctrl-0 = <&uart3_pins>;
0256 };
0257 
0258 &mcbsp3 {
0259         status = "okay";
0260         pinctrl-names = "default";
0261         pinctrl-0 = <&mcbsp3_pins>;
0262 };
0263 
0264 &gpmc {
0265         ranges = <0 0 0x30000000 0x01000000>;   /* CS0: 16MB for NAND */
0266 
0267         nand@0,0 {
0268                 compatible = "ti,omap2-nand";
0269                 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
0270                 interrupt-parent = <&gpmc>;
0271                 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
0272                              <1 IRQ_TYPE_NONE>; /* termcount */
0273                 nand-bus-width = <16>;
0274                 gpmc,device-width = <2>;        /* GPMC_DEVWIDTH_16BIT */
0275                 ti,nand-ecc-opt = "sw";
0276 
0277                 gpmc,cs-on-ns = <0>;
0278                 gpmc,cs-rd-off-ns = <36>;
0279                 gpmc,cs-wr-off-ns = <36>;
0280                 gpmc,adv-on-ns = <6>;
0281                 gpmc,adv-rd-off-ns = <24>;
0282                 gpmc,adv-wr-off-ns = <36>;
0283                 gpmc,oe-on-ns = <6>;
0284                 gpmc,oe-off-ns = <48>;
0285                 gpmc,we-on-ns = <6>;
0286                 gpmc,we-off-ns = <30>;
0287                 gpmc,rd-cycle-ns = <72>;
0288                 gpmc,wr-cycle-ns = <72>;
0289                 gpmc,access-ns = <54>;
0290                 gpmc,wr-access-ns = <30>;
0291 
0292                 #address-cells = <1>;
0293                 #size-cells = <1>;
0294 
0295                 x-loader@0 {
0296                         label = "X-Loader";
0297                         reg = <0 0x80000>;
0298                 };
0299 
0300                 bootloaders@80000 {
0301                         label = "U-Boot";
0302                         reg = <0x80000 0x1e0000>;
0303                 };
0304 
0305                 bootloaders_env@260000 {
0306                         label = "U-Boot Env";
0307                         reg = <0x260000 0x20000>;
0308                 };
0309 
0310                 kernel@280000 {
0311                         label = "Kernel";
0312                         reg = <0x280000 0x400000>;
0313                 };
0314 
0315                 filesystem@680000 {
0316                         label = "File System";
0317                         reg = <0x680000 0xf980000>;
0318                 };
0319         };
0320 };
0321 
0322 &usb_otg_hs {
0323         interface-type = <0>;
0324         usb-phy = <&usb2_phy>;
0325         phys = <&usb2_phy>;
0326         phy-names = "usb2-phy";
0327         mode = <3>;
0328         power = <50>;
0329 };
0330 
0331 &vaux2 {
0332         regulator-name = "vdd_ehci";
0333         regulator-min-microvolt = <1800000>;
0334         regulator-max-microvolt = <1800000>;
0335         regulator-always-on;
0336 };