Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
0004  */
0005 /dts-v1/;
0006 
0007 #include <dt-bindings/input/input.h>
0008 #include "omap34xx.dtsi"
0009 #include "omap-gpmc-smsc911x.dtsi"
0010 
0011 / {
0012         model = "TI OMAP3430 LDP (Zoom1 Labrador)";
0013         compatible = "ti,omap3-ldp", "ti,omap3430", "ti,omap3";
0014 
0015         memory@80000000 {
0016                 device_type = "memory";
0017                 reg = <0x80000000 0x8000000>; /* 128 MB */
0018         };
0019 
0020         cpus {
0021                 cpu@0 {
0022                         cpu0-supply = <&vcc>;
0023                 };
0024         };
0025 
0026         gpio_keys {
0027                 compatible = "gpio-keys";
0028                 pinctrl-names = "default";
0029                 pinctrl-0 = <&gpio_key_pins>;
0030 
0031                 key_enter {
0032                         label = "enter";
0033                         gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* gpio101 */
0034                         linux,code = <KEY_ENTER>;
0035                         wakeup-source;
0036                 };
0037 
0038                 key_f1 {
0039                         label = "f1";
0040                         gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* gpio102 */
0041                         linux,code = <KEY_F1>;
0042                         wakeup-source;
0043                 };
0044 
0045                 key_f2 {
0046                         label = "f2";
0047                         gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* gpio103 */
0048                         linux,code = <KEY_F2>;
0049                         wakeup-source;
0050                 };
0051 
0052                 key_f3 {
0053                         label = "f3";
0054                         gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* gpio104 */
0055                         linux,code = <KEY_F3>;
0056                         wakeup-source;
0057                 };
0058 
0059                 key_f4 {
0060                         label = "f4";
0061                         gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* gpio105 */
0062                         linux,code = <KEY_F4>;
0063                         wakeup-source;
0064                 };
0065 
0066                 key_left {
0067                         label = "left";
0068                         gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* gpio106 */
0069                         linux,code = <KEY_LEFT>;
0070                         wakeup-source;
0071                 };
0072 
0073                 key_right {
0074                         label = "right";
0075                         gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* gpio107 */
0076                         linux,code = <KEY_RIGHT>;
0077                         wakeup-source;
0078                 };
0079 
0080                 key_up {
0081                         label = "up";
0082                         gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; /* gpio108 */
0083                         linux,code = <KEY_UP>;
0084                         wakeup-source;
0085                 };
0086 
0087                 key_down {
0088                         label = "down";
0089                         gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* gpio109 */
0090                         linux,code = <KEY_DOWN>;
0091                         wakeup-source;
0092                 };
0093         };
0094 };
0095 
0096 &gpmc {
0097         ranges = <0 0 0x30000000 0x1000000>,    /* CS0 space, 16MB */
0098                  <1 0 0x08000000 0x1000000>;    /* CS1 space, 16MB */
0099 
0100         nand@0,0 {
0101                 compatible = "ti,omap2-nand";
0102                 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
0103                 interrupt-parent = <&gpmc>;
0104                 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
0105                              <1 IRQ_TYPE_NONE>; /* termcount */
0106                 linux,mtd-name = "micron,nand";
0107                 nand-bus-width = <16>;
0108                 gpmc,device-width = <2>;
0109                 ti,nand-ecc-opt = "bch8";
0110 
0111                 gpmc,sync-clk-ps = <0>;
0112                 gpmc,cs-on-ns = <0>;
0113                 gpmc,cs-rd-off-ns = <44>;
0114                 gpmc,cs-wr-off-ns = <44>;
0115                 gpmc,adv-on-ns = <6>;
0116                 gpmc,adv-rd-off-ns = <34>;
0117                 gpmc,adv-wr-off-ns = <44>;
0118                 gpmc,we-off-ns = <40>;
0119                 gpmc,oe-off-ns = <54>;
0120                 gpmc,access-ns = <64>;
0121                 gpmc,rd-cycle-ns = <82>;
0122                 gpmc,wr-cycle-ns = <82>;
0123                 gpmc,wr-access-ns = <40>;
0124                 gpmc,wr-data-mux-bus-ns = <0>;
0125 
0126                 #address-cells = <1>;
0127                 #size-cells = <1>;
0128 
0129                 partition@0 {
0130                         label = "X-Loader";
0131                         reg = <0 0x80000>;
0132                 };
0133                 partition@80000 {
0134                         label = "U-Boot";
0135                         reg = <0x80000 0x140000>;
0136                 };
0137                 partition@1c0000 {
0138                         label = "Environment";
0139                         reg = <0x1c0000 0x40000>;
0140                 };
0141                 partition@200000 {
0142                         label = "Kernel";
0143                         reg = <0x200000 0x1e00000>;
0144                 };
0145                 partition@2000000 {
0146                         label = "Filesystem";
0147                         reg = <0x2000000 0x6000000>;
0148                 };
0149         };
0150 
0151         ethernet@gpmc {
0152                 interrupt-parent = <&gpio5>;
0153                 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
0154                 reg = <1 0 0xff>;
0155         };
0156 };
0157 
0158 &i2c1 {
0159         clock-frequency = <2600000>;
0160 
0161         twl: twl@48 {
0162                 reg = <0x48>;
0163                 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
0164                 interrupt-parent = <&intc>;
0165 
0166                 twl_power: power {
0167                         compatible = "ti,twl4030-power-idle";
0168                         ti,use_poweroff;
0169                 };
0170         };
0171 };
0172 
0173 #include "twl4030.dtsi"
0174 #include "twl4030_omap3.dtsi"
0175 #include "omap3-panel-sharp-ls037v7dw01.dtsi"
0176 
0177 &backlight0 {
0178         gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
0179 };
0180 
0181 &i2c2 {
0182         clock-frequency = <400000>;
0183 };
0184 
0185 &i2c3 {
0186         clock-frequency = <400000>;
0187 };
0188 
0189 /* tps61130rsa enabled by twl4030 regen */
0190 &lcd_3v3 {
0191         regulator-always-on;
0192 };
0193 
0194 &lcd0 {
0195         enable-gpios = <&twl_gpio 15 GPIO_ACTIVE_HIGH>; /* lcd INI */
0196         reset-gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>;     /* gpio55, lcd RESB */
0197         mode-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;      /* gpio56, lcd MO */
0198 };
0199 
0200 &mcspi1 {
0201         tsc2046@0 {
0202                 interrupt-parent = <&gpio2>;
0203                 interrupts = <22 0>;            /* gpio54 */
0204                 pendown-gpio = <&gpio2 22 GPIO_ACTIVE_HIGH>;
0205         };
0206 };
0207 
0208 &mmc1 {
0209         /* See 35xx errata 2.1.1.128 in SPRZ278F */
0210         compatible = "ti,omap3-pre-es3-hsmmc";
0211         vmmc-supply = <&vmmc1>;
0212         bus-width = <4>;
0213         pinctrl-names = "default";
0214         pinctrl-0 = <&mmc1_pins>;
0215 };
0216 
0217 &mmc2 {
0218         status = "disabled";
0219 };
0220 
0221 &mmc3 {
0222         status = "disabled";
0223 };
0224 
0225 &omap3_pmx_core {
0226         gpio_key_pins: pinmux_gpio_key_pins {
0227                 pinctrl-single,pins = <
0228                         OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4)        /* cam_d2.gpio_101 */
0229                         OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4)        /* cam_d3.gpio_102 */
0230                         OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4)        /* cam_d4.gpio_103 */
0231                         OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4)        /* cam_d5.gpio_104 */
0232                         OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4)        /* cam_d6.gpio_105 */
0233                         OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4)        /* cam_d7.gpio_106 */
0234                         OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4)        /* cam_d8.gpio_107 */
0235                         OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4)        /* cam_d9.gpio_108 */
0236                         OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4)        /* cam_d10.gpio_109 */
0237                 >;
0238         };
0239 
0240         musb_pins: pinmux_musb_pins {
0241                 pinctrl-single,pins = <
0242                         OMAP3_CORE1_IOPAD(0x21a2, PIN_INPUT | MUX_MODE0)        /* hsusb0_clk.hsusb0_clk */
0243                         OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT | MUX_MODE0)        /* hsusb0_data0.hsusb0_data0 */
0244                         OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT | MUX_MODE0)        /* hsusb0_data1.hsusb0_data1 */
0245                         OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT | MUX_MODE0)        /* hsusb0_data2.hsusb0_data2 */
0246                         OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT | MUX_MODE0)        /* hsusb0_data3.hsusb0_data3 */
0247                         OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT | MUX_MODE0)        /* hsusb0_data4.hsusb0_data4 */
0248                         OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT | MUX_MODE0)        /* hsusb0_data5.hsusb0_data5 */
0249                         OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT | MUX_MODE0)        /* hsusb0_data6.hsusb0_data6 */
0250                         OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT | MUX_MODE0)        /* hsusb0_data7.hsusb0_data7 */
0251                         OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT | MUX_MODE0)        /* hsusb0_dir.hsusb0_dir */
0252                         OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT | MUX_MODE0)        /* hsusb0_nxt.hsusb0_nxt */
0253                         OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0)       /* hsusb0_stp.hsusb0_stp */
0254                 >;
0255         };
0256 
0257         mmc1_pins: pinmux_mmc1_pins {
0258                 pinctrl-single,pins = <
0259                         OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.mmc1_clk */
0260                         OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.mmc1_cmd */
0261                         OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.mmc1_dat0 */
0262                         OMAP3_CORE1_IOPAD(0x214A, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.mmc1_dat1 */
0263                         OMAP3_CORE1_IOPAD(0x214C, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.mmc1_dat2 */
0264                         OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.mmc1_dat3 */
0265                 >;
0266         };
0267 };
0268 
0269 &twl_keypad {
0270         linux,keymap = <MATRIX_KEY(0, 0, KEY_1)
0271                         MATRIX_KEY(0, 1, KEY_2)
0272                         MATRIX_KEY(0, 2, KEY_3)
0273                         MATRIX_KEY(1, 0, KEY_4)
0274                         MATRIX_KEY(1, 1, KEY_5)
0275                         MATRIX_KEY(1, 2, KEY_6)
0276                         MATRIX_KEY(1, 3, KEY_F5)
0277                         MATRIX_KEY(2, 0, KEY_7)
0278                         MATRIX_KEY(2, 1, KEY_8)
0279                         MATRIX_KEY(2, 2, KEY_9)
0280                         MATRIX_KEY(2, 3, KEY_F6)
0281                         MATRIX_KEY(3, 0, KEY_F7)
0282                         MATRIX_KEY(3, 1, KEY_0)
0283                         MATRIX_KEY(3, 2, KEY_F8)
0284                         MATRIX_KEY(5, 4, KEY_RESERVED)
0285                         MATRIX_KEY(4, 4, KEY_VOLUMEUP)
0286                         MATRIX_KEY(5, 5, KEY_VOLUMEDOWN)>;
0287 };
0288 
0289 &uart3 {
0290         interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
0291 };
0292 
0293 &usb_otg_hs {
0294         pinctrl-names = "default";
0295         pinctrl-0 = <&musb_pins>;
0296         interface-type = <0>;
0297         usb-phy = <&usb2_phy>;
0298         mode = <3>;
0299         power = <50>;
0300 };
0301 
0302 &vaux1 {
0303         /* Needed for ads7846 */
0304         regulator-name = "vcc";
0305 };