Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Common support for CompuLab CM-T3x CoMs
0004  */
0005 
0006 / {
0007 
0008         memory@80000000 {
0009                 device_type = "memory";
0010                 reg = <0x80000000 0x10000000>; /* 256 MB */
0011         };
0012 
0013         leds {
0014                 compatible = "gpio-leds";
0015                 pinctrl-names = "default";
0016                 pinctrl-0 = <&green_led_pins>;
0017                 ledb {
0018                         label = "cm-t3x:green";
0019                         gpios = <&gpio6 26 GPIO_ACTIVE_HIGH>;  /* gpio186 */
0020                         linux,default-trigger = "heartbeat";
0021                 };
0022         };
0023 
0024         /* HS USB Port 1 Power */
0025         hsusb1_power: hsusb1_power_reg {
0026                 compatible = "regulator-fixed";
0027                 regulator-name = "hsusb1_vbus";
0028                 regulator-min-microvolt = <3300000>;
0029                 regulator-max-microvolt = <3300000>;
0030                 startup-delay-us = <70000>;
0031         };
0032 
0033         /* HS USB Port 2 Power */
0034         hsusb2_power: hsusb2_power_reg {
0035                 compatible = "regulator-fixed";
0036                 regulator-name = "hsusb2_vbus";
0037                 regulator-min-microvolt = <3300000>;
0038                 regulator-max-microvolt = <3300000>;
0039                 startup-delay-us = <70000>;
0040         };
0041 
0042         /* HS USB Host PHY on PORT 1 */
0043         hsusb1_phy: hsusb1_phy {
0044                 compatible = "usb-nop-xceiv";
0045                 vcc-supply = <&hsusb1_power>;
0046                 #phy-cells = <0>;
0047         };
0048 
0049         /* HS USB Host PHY on PORT 2 */
0050         hsusb2_phy: hsusb2_phy {
0051                 compatible = "usb-nop-xceiv";
0052                 vcc-supply = <&hsusb2_power>;
0053                 #phy-cells = <0>;
0054         };
0055 
0056         ads7846reg: ads7846-reg {
0057                 compatible = "regulator-fixed";
0058                 regulator-name = "ads7846-reg";
0059                 regulator-min-microvolt = <3300000>;
0060                 regulator-max-microvolt = <3300000>;
0061         };
0062 
0063         tv0: svideo-connector {
0064                 compatible = "svideo-connector";
0065                 label = "tv";
0066 
0067                 port {
0068                         tv_connector_in: endpoint {
0069                                 remote-endpoint = <&venc_out>;
0070                         };
0071                 };
0072         };
0073 };
0074 
0075 &omap3_pmx_core {
0076 
0077         uart3_pins: pinmux_uart3_pins {
0078                 pinctrl-single,pins = <
0079                         OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT  | MUX_MODE0)       /* uart3_rx_irrx.uart3_rx_irrx */
0080                         OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0)       /* uart3_tx_irtx.uart3_tx_irtx */
0081                 >;
0082         };
0083 
0084         mmc1_pins: pinmux_mmc1_pins {
0085                 pinctrl-single,pins = <
0086                         OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
0087                         OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
0088                         OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
0089                         OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
0090                         OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
0091                         OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
0092                 >;
0093         };
0094 
0095         green_led_pins: pinmux_green_led_pins {
0096                 pinctrl-single,pins = <
0097                         OMAP3_CORE1_IOPAD(0x21e2, PIN_OUTPUT | MUX_MODE4)       /* sys_clkout2.gpio_186 */
0098                 >;
0099         };
0100 
0101         dss_dpi_pins_common: pinmux_dss_dpi_pins_common {
0102                 pinctrl-single,pins = <
0103                         OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)       /* dss_pclk.dss_pclk */
0104                         OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)       /* dss_hsync.dss_hsync */
0105                         OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)       /* dss_vsync.dss_vsync */
0106                         OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)       /* dss_acbias.dss_acbias */
0107 
0108                         OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)       /* dss_data6.dss_data6 */
0109                         OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)       /* dss_data7.dss_data7 */
0110                         OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)       /* dss_data8.dss_data8 */
0111                         OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)       /* dss_data9.dss_data9 */
0112                         OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)       /* dss_data10.dss_data10 */
0113                         OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)       /* dss_data11.dss_data11 */
0114                         OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)       /* dss_data12.dss_data12 */
0115                         OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)       /* dss_data13.dss_data13 */
0116                         OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)       /* dss_data14.dss_data14 */
0117                         OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)       /* dss_data15.dss_data15 */
0118                         OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)       /* dss_data16.dss_data16 */
0119                         OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)       /* dss_data17.dss_data17 */
0120                         OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0)       /* dss_data18.dss_data18 */
0121                         OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0)       /* dss_data19.dss_data19 */
0122                         OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0)       /* dss_data20.dss_data20 */
0123                         OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0)       /* dss_data21.dss_data21 */
0124                         OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0)       /* dss_data22.dss_data22 */
0125                         OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0)       /* dss_data23.dss_data23 */
0126                 >;
0127         };
0128 
0129         dss_dpi_pins_cm_t35x: pinmux_dss_dpi_pins_cm_t35x {
0130                 pinctrl-single,pins = <
0131                         OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0)       /* dss_data0.dss_data0 */
0132                         OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0)       /* dss_data1.dss_data1 */
0133                         OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0)       /* dss_data2.dss_data2 */
0134                         OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0)       /* dss_data3.dss_data3 */
0135                         OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0)       /* dss_data4.dss_data4 */
0136                         OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0)       /* dss_data5.dss_data5 */
0137                 >;
0138         };
0139 
0140         ads7846_pins: pinmux_ads7846_pins {
0141                 pinctrl-single,pins = <
0142                         OMAP3_CORE1_IOPAD(0x20ba, PIN_INPUT_PULLUP | MUX_MODE4) /* gpmc_ncs6.gpio_57 */
0143                 >;
0144         };
0145 
0146         mcspi1_pins: pinmux_mcspi1_pins {
0147                 pinctrl-single,pins = <
0148                         OMAP3_CORE1_IOPAD(0x21c8, PIN_INPUT | MUX_MODE0)        /* mcspi1_clk */
0149                         OMAP3_CORE1_IOPAD(0x21ca, PIN_INPUT | MUX_MODE0)        /* mcspi1_simo */
0150                         OMAP3_CORE1_IOPAD(0x21cc, PIN_INPUT | MUX_MODE0)        /* mcspi1_somi */
0151                         OMAP3_CORE1_IOPAD(0x21ce, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcspi1_cs0 */
0152                 >;
0153         };
0154 
0155         i2c1_pins: pinmux_i2c1_pins {
0156                 pinctrl-single,pins = <
0157                         OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
0158                         OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
0159                 >;
0160         };
0161 
0162         mcbsp2_pins: pinmux_mcbsp2_pins {
0163                 pinctrl-single,pins = <
0164                         OMAP3_CORE1_IOPAD(0x213c, PIN_INPUT | MUX_MODE0)        /* mcbsp2_fsx */
0165                         OMAP3_CORE1_IOPAD(0x213e, PIN_INPUT | MUX_MODE0)        /* mcbsp2_clkx */
0166                         OMAP3_CORE1_IOPAD(0x2140, PIN_INPUT | MUX_MODE0)        /* mcbsp2_dr */
0167                         OMAP3_CORE1_IOPAD(0x2142, PIN_OUTPUT | MUX_MODE0)       /* mcbsp2_dx */
0168                 >;
0169         };
0170 };
0171 
0172 &uart3 {
0173         pinctrl-names = "default";
0174         pinctrl-0 = <&uart3_pins>;
0175 };
0176 
0177 &mmc1 {
0178         pinctrl-names = "default";
0179         pinctrl-0 = <&mmc1_pins>;
0180         bus-width = <4>;
0181 };
0182 
0183 &mmc3 {
0184         status = "disabled";
0185 };
0186 
0187 &i2c1 {
0188         pinctrl-names = "default";
0189         pinctrl-0 = <&i2c1_pins>;
0190 
0191         clock-frequency = <400000>;
0192 
0193         at24@50 {
0194                 compatible = "atmel,24c02";
0195                 pagesize = <16>;
0196                 reg = <0x50>;
0197         };
0198 };
0199 
0200 &i2c3 {
0201         clock-frequency = <400000>;
0202 };
0203 
0204 &usbhshost {
0205         port1-mode = "ehci-phy";
0206         port2-mode = "ehci-phy";
0207 };
0208 
0209 &usbhsehci {
0210         phys = <&hsusb1_phy &hsusb2_phy>;
0211 };
0212 
0213 &mcspi1 {
0214         pinctrl-names = "default";
0215         pinctrl-0 = <&mcspi1_pins>;
0216 
0217         /* touch controller */
0218         ads7846@0 {
0219                 pinctrl-names = "default";
0220                 pinctrl-0 = <&ads7846_pins>;
0221 
0222                 compatible = "ti,ads7846";
0223                 vcc-supply = <&ads7846reg>;
0224 
0225                 reg = <0>;                      /* CS0 */
0226                 spi-max-frequency = <1500000>;
0227 
0228                 interrupt-parent = <&gpio2>;
0229                 interrupts = <25 0>;            /* gpio_57 */
0230                 pendown-gpio = <&gpio2 25 GPIO_ACTIVE_HIGH>;
0231 
0232                 ti,x-min = /bits/ 16 <0x0>;
0233                 ti,x-max = /bits/ 16 <0x0fff>;
0234                 ti,y-min = /bits/ 16 <0x0>;
0235                 ti,y-max = /bits/ 16 <0x0fff>;
0236 
0237                 ti,x-plate-ohms = /bits/ 16 <180>;
0238                 ti,pressure-max = /bits/ 16 <255>;
0239 
0240                 ti,debounce-max = /bits/ 16 <30>;
0241                 ti,debounce-tol = /bits/ 16 <10>;
0242                 ti,debounce-rep = /bits/ 16 <1>;
0243 
0244                 wakeup-source;
0245         };
0246 };
0247 
0248 &venc {
0249         status = "okay";
0250 
0251         port {
0252                 venc_out: endpoint {
0253                         remote-endpoint = <&tv_connector_in>;
0254                         ti,channels = <2>;
0255                 };
0256         };
0257 };
0258 
0259 &mcbsp2 {
0260         status = "okay";
0261 
0262         pinctrl-names = "default";
0263         pinctrl-0 = <&mcbsp2_pins>;
0264 };
0265 
0266 &gpmc {
0267         ranges = <0 0 0x30000000 0x01000000>;   /* CS0: 16MB for NAND */
0268 
0269         nand@0,0 {
0270                 compatible = "ti,omap2-nand";
0271                 reg = <0 0 4>;  /* CS0, offset 0, IO size 4 */
0272                 interrupt-parent = <&gpmc>;
0273                 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
0274                              <1 IRQ_TYPE_NONE>; /* termcount */
0275                 nand-bus-width = <8>;
0276                 gpmc,device-width = <1>;
0277                 ti,nand-ecc-opt = "sw";
0278 
0279                 gpmc,cs-on-ns = <0>;
0280                 gpmc,cs-rd-off-ns = <120>;
0281                 gpmc,cs-wr-off-ns = <120>;
0282 
0283                 gpmc,adv-on-ns = <0>;
0284                 gpmc,adv-rd-off-ns = <120>;
0285                 gpmc,adv-wr-off-ns = <120>;
0286 
0287                 gpmc,we-on-ns = <6>;
0288                 gpmc,we-off-ns = <90>;
0289 
0290                 gpmc,oe-on-ns = <6>;
0291                 gpmc,oe-off-ns = <90>;
0292 
0293                 gpmc,page-burst-access-ns = <6>;
0294                 gpmc,access-ns = <72>;
0295                 gpmc,cycle2cycle-delay-ns = <60>;
0296 
0297                 gpmc,rd-cycle-ns = <120>;
0298                 gpmc,wr-cycle-ns = <120>;
0299                 gpmc,wr-access-ns = <186>;
0300                 gpmc,wr-data-mux-bus-ns = <90>;
0301 
0302                 #address-cells = <1>;
0303                 #size-cells = <1>;
0304 
0305                 partition@0 {
0306                         label = "xloader";
0307                         reg = <0 0x80000>;
0308                 };
0309                 partition@80000 {
0310                         label = "uboot";
0311                         reg = <0x80000 0x1e0000>;
0312                 };
0313                 partition@260000 {
0314                         label = "uboot environment";
0315                         reg = <0x260000 0x40000>;
0316                 };
0317                 partition@2a0000 {
0318                         label = "linux";
0319                         reg = <0x2a0000 0x400000>;
0320                 };
0321                 partition@6a0000 {
0322                         label = "rootfs";
0323                         reg = <0x6a0000 0x1f880000>;
0324                 };
0325         };
0326 };