0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * Device Tree Source for OMAP243x SoC
0004 *
0005 * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
0006 */
0007
0008 #include "omap2.dtsi"
0009
0010 / {
0011 compatible = "ti,omap2430", "ti,omap2";
0012
0013 ocp {
0014 l4_wkup: l4_wkup@49000000 {
0015 compatible = "ti,omap2-l4-wkup", "simple-bus";
0016 #address-cells = <1>;
0017 #size-cells = <1>;
0018 ranges = <0 0x49000000 0x31000>;
0019
0020 prcm: prcm@6000 {
0021 compatible = "ti,omap2-prcm";
0022 reg = <0x6000 0x1000>;
0023
0024 prcm_clocks: clocks {
0025 #address-cells = <1>;
0026 #size-cells = <0>;
0027 };
0028
0029 prcm_clockdomains: clockdomains {
0030 };
0031 };
0032
0033 scm: scm@2000 {
0034 compatible = "ti,omap2-scm", "simple-bus";
0035 reg = <0x2000 0x1000>;
0036 #address-cells = <1>;
0037 #size-cells = <1>;
0038 #pinctrl-cells = <1>;
0039 ranges = <0 0x2000 0x1000>;
0040
0041 omap2430_pmx: pinmux@30 {
0042 compatible = "ti,omap2430-padconf",
0043 "pinctrl-single";
0044 reg = <0x30 0x0154>;
0045 #address-cells = <1>;
0046 #size-cells = <0>;
0047 #pinctrl-cells = <1>;
0048 pinctrl-single,register-width = <8>;
0049 pinctrl-single,function-mask = <0x3f>;
0050 };
0051
0052 scm_conf: scm_conf@270 {
0053 compatible = "syscon",
0054 "simple-bus";
0055 reg = <0x270 0x240>;
0056 #address-cells = <1>;
0057 #size-cells = <1>;
0058 ranges = <0 0x270 0x240>;
0059
0060 scm_clocks: clocks {
0061 #address-cells = <1>;
0062 #size-cells = <0>;
0063 };
0064
0065 pbias_regulator: pbias_regulator@230 {
0066 compatible = "ti,pbias-omap2", "ti,pbias-omap";
0067 reg = <0x230 0x4>;
0068 syscon = <&scm_conf>;
0069 pbias_mmc_reg: pbias_mmc_omap2430 {
0070 regulator-name = "pbias_mmc_omap2430";
0071 regulator-min-microvolt = <1800000>;
0072 regulator-max-microvolt = <3000000>;
0073 };
0074 };
0075 };
0076
0077 scm_clockdomains: clockdomains {
0078 };
0079 };
0080
0081 target-module@20000 {
0082 compatible = "ti,sysc-omap2", "ti,sysc";
0083 reg = <0x20000 0x4>,
0084 <0x20004 0x4>;
0085 reg-names = "rev", "sysc";
0086 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
0087 <SYSC_IDLE_NO>;
0088 clocks = <&func_32k_ck>;
0089 clock-names = "fck";
0090 #address-cells = <1>;
0091 #size-cells = <1>;
0092 ranges = <0x0 0x20000 0x1000>;
0093
0094 counter32k: counter@0 {
0095 compatible = "ti,omap-counter32k";
0096 reg = <0 0x20>;
0097 };
0098 };
0099 };
0100
0101 gpio1: gpio@4900c000 {
0102 compatible = "ti,omap2-gpio";
0103 reg = <0x4900c000 0x200>;
0104 interrupts = <29>;
0105 ti,hwmods = "gpio1";
0106 ti,gpio-always-on;
0107 #gpio-cells = <2>;
0108 gpio-controller;
0109 #interrupt-cells = <2>;
0110 interrupt-controller;
0111 };
0112
0113 gpio2: gpio@4900e000 {
0114 compatible = "ti,omap2-gpio";
0115 reg = <0x4900e000 0x200>;
0116 interrupts = <30>;
0117 ti,hwmods = "gpio2";
0118 ti,gpio-always-on;
0119 #gpio-cells = <2>;
0120 gpio-controller;
0121 #interrupt-cells = <2>;
0122 interrupt-controller;
0123 };
0124
0125 gpio3: gpio@49010000 {
0126 compatible = "ti,omap2-gpio";
0127 reg = <0x49010000 0x200>;
0128 interrupts = <31>;
0129 ti,hwmods = "gpio3";
0130 ti,gpio-always-on;
0131 #gpio-cells = <2>;
0132 gpio-controller;
0133 #interrupt-cells = <2>;
0134 interrupt-controller;
0135 };
0136
0137 gpio4: gpio@49012000 {
0138 compatible = "ti,omap2-gpio";
0139 reg = <0x49012000 0x200>;
0140 interrupts = <32>;
0141 ti,hwmods = "gpio4";
0142 ti,gpio-always-on;
0143 #gpio-cells = <2>;
0144 gpio-controller;
0145 #interrupt-cells = <2>;
0146 interrupt-controller;
0147 };
0148
0149 gpio5: gpio@480b6000 {
0150 compatible = "ti,omap2-gpio";
0151 reg = <0x480b6000 0x200>;
0152 interrupts = <33>;
0153 ti,hwmods = "gpio5";
0154 #gpio-cells = <2>;
0155 gpio-controller;
0156 #interrupt-cells = <2>;
0157 interrupt-controller;
0158 };
0159
0160 gpmc: gpmc@6e000000 {
0161 compatible = "ti,omap2430-gpmc";
0162 reg = <0x6e000000 0x1000>;
0163 #address-cells = <2>;
0164 #size-cells = <1>;
0165 interrupts = <20>;
0166 gpmc,num-cs = <8>;
0167 gpmc,num-waitpins = <4>;
0168 ti,hwmods = "gpmc";
0169 interrupt-controller;
0170 #interrupt-cells = <2>;
0171 gpio-controller;
0172 #gpio-cells = <2>;
0173 };
0174
0175 mcbsp1: mcbsp@48074000 {
0176 compatible = "ti,omap2430-mcbsp";
0177 reg = <0x48074000 0xff>;
0178 reg-names = "mpu";
0179 interrupts = <64>, /* OCP compliant interrupt */
0180 <59>, /* TX interrupt */
0181 <60>, /* RX interrupt */
0182 <61>; /* RX overflow interrupt */
0183 interrupt-names = "common", "tx", "rx", "rx_overflow";
0184 ti,buffer-size = <128>;
0185 ti,hwmods = "mcbsp1";
0186 dmas = <&sdma 31>,
0187 <&sdma 32>;
0188 dma-names = "tx", "rx";
0189 status = "disabled";
0190 };
0191
0192 mcbsp2: mcbsp@48076000 {
0193 compatible = "ti,omap2430-mcbsp";
0194 reg = <0x48076000 0xff>;
0195 reg-names = "mpu";
0196 interrupts = <16>, /* OCP compliant interrupt */
0197 <62>, /* TX interrupt */
0198 <63>; /* RX interrupt */
0199 interrupt-names = "common", "tx", "rx";
0200 ti,buffer-size = <128>;
0201 ti,hwmods = "mcbsp2";
0202 dmas = <&sdma 33>,
0203 <&sdma 34>;
0204 dma-names = "tx", "rx";
0205 status = "disabled";
0206 };
0207
0208 mcbsp3: mcbsp@4808c000 {
0209 compatible = "ti,omap2430-mcbsp";
0210 reg = <0x4808c000 0xff>;
0211 reg-names = "mpu";
0212 interrupts = <17>, /* OCP compliant interrupt */
0213 <89>, /* TX interrupt */
0214 <90>; /* RX interrupt */
0215 interrupt-names = "common", "tx", "rx";
0216 ti,buffer-size = <128>;
0217 ti,hwmods = "mcbsp3";
0218 dmas = <&sdma 17>,
0219 <&sdma 18>;
0220 dma-names = "tx", "rx";
0221 status = "disabled";
0222 };
0223
0224 mcbsp4: mcbsp@4808e000 {
0225 compatible = "ti,omap2430-mcbsp";
0226 reg = <0x4808e000 0xff>;
0227 reg-names = "mpu";
0228 interrupts = <18>, /* OCP compliant interrupt */
0229 <54>, /* TX interrupt */
0230 <55>; /* RX interrupt */
0231 interrupt-names = "common", "tx", "rx";
0232 ti,buffer-size = <128>;
0233 ti,hwmods = "mcbsp4";
0234 dmas = <&sdma 19>,
0235 <&sdma 20>;
0236 dma-names = "tx", "rx";
0237 status = "disabled";
0238 };
0239
0240 mcbsp5: mcbsp@48096000 {
0241 compatible = "ti,omap2430-mcbsp";
0242 reg = <0x48096000 0xff>;
0243 reg-names = "mpu";
0244 interrupts = <19>, /* OCP compliant interrupt */
0245 <81>, /* TX interrupt */
0246 <82>; /* RX interrupt */
0247 interrupt-names = "common", "tx", "rx";
0248 ti,buffer-size = <128>;
0249 ti,hwmods = "mcbsp5";
0250 dmas = <&sdma 21>,
0251 <&sdma 22>;
0252 dma-names = "tx", "rx";
0253 status = "disabled";
0254 };
0255
0256 mmc1: mmc@4809c000 {
0257 compatible = "ti,omap2-hsmmc";
0258 reg = <0x4809c000 0x200>;
0259 interrupts = <83>;
0260 ti,hwmods = "mmc1";
0261 ti,dual-volt;
0262 dmas = <&sdma 61>, <&sdma 62>;
0263 dma-names = "tx", "rx";
0264 pbias-supply = <&pbias_mmc_reg>;
0265 };
0266
0267 mmc2: mmc@480b4000 {
0268 compatible = "ti,omap2-hsmmc";
0269 reg = <0x480b4000 0x200>;
0270 interrupts = <86>;
0271 ti,hwmods = "mmc2";
0272 dmas = <&sdma 47>, <&sdma 48>;
0273 dma-names = "tx", "rx";
0274 };
0275
0276 mailbox: mailbox@48094000 {
0277 compatible = "ti,omap2-mailbox";
0278 reg = <0x48094000 0x200>;
0279 interrupts = <26>;
0280 ti,hwmods = "mailbox";
0281 #mbox-cells = <1>;
0282 ti,mbox-num-users = <4>;
0283 ti,mbox-num-fifos = <6>;
0284 mbox_dsp: mbox-dsp {
0285 ti,mbox-tx = <0 0 0>;
0286 ti,mbox-rx = <1 0 0>;
0287 };
0288 };
0289
0290 timer1_target: target-module@49018000 {
0291 compatible = "ti,sysc-omap2-timer", "ti,sysc";
0292 reg = <0x49018000 0x4>,
0293 <0x49018010 0x4>,
0294 <0x49018014 0x4>;
0295 reg-names = "rev", "sysc", "syss";
0296 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
0297 SYSC_OMAP2_EMUFREE |
0298 SYSC_OMAP2_ENAWAKEUP |
0299 SYSC_OMAP2_SOFTRESET |
0300 SYSC_OMAP2_AUTOIDLE)>;
0301 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
0302 <SYSC_IDLE_NO>,
0303 <SYSC_IDLE_SMART>;
0304 ti,syss-mask = <1>;
0305 clocks = <&gpt1_fck>, <&gpt1_ick>;
0306 clock-names = "fck", "ick";
0307 #address-cells = <1>;
0308 #size-cells = <1>;
0309 ranges = <0x0 0x49018000 0x1000>;
0310
0311 timer1: timer@0 {
0312 compatible = "ti,omap2420-timer";
0313 reg = <0 0x400>;
0314 interrupts = <37>;
0315 ti,timer-alwon;
0316 };
0317 };
0318
0319 mcspi3: spi@480b8000 {
0320 compatible = "ti,omap2-mcspi";
0321 ti,hwmods = "mcspi3";
0322 reg = <0x480b8000 0x100>;
0323 interrupts = <91>;
0324 dmas = <&sdma 15 &sdma 16 &sdma 23 &sdma 24>;
0325 dma-names = "tx0", "rx0", "tx1", "rx1";
0326 };
0327
0328 usb_otg_hs: usb_otg_hs@480ac000 {
0329 compatible = "ti,omap2-musb";
0330 ti,hwmods = "usb_otg_hs";
0331 reg = <0x480ac000 0x1000>;
0332 interrupts = <93>;
0333 };
0334
0335 wd_timer2: wdt@49016000 {
0336 compatible = "ti,omap2-wdt";
0337 ti,hwmods = "wd_timer2";
0338 reg = <0x49016000 0x80>;
0339 };
0340 };
0341 };
0342
0343 &sdma {
0344 compatible = "ti,omap2430-sdma", "ti,omap-sdma";
0345 };
0346
0347 &i2c1 {
0348 compatible = "ti,omap2430-i2c";
0349 };
0350
0351 &i2c2 {
0352 compatible = "ti,omap2430-i2c";
0353 };
0354
0355 #include "omap24xx-clocks.dtsi"
0356 #include "omap2430-clocks.dtsi"
0357
0358 /* Preferred always-on timer for clockevent */
0359 &timer1_target {
0360 ti,no-reset-on-init;
0361 ti,no-idle;
0362 timer@0 {
0363 assigned-clocks = <&gpt1_fck>;
0364 assigned-clock-parents = <&func_32k_ck>;
0365 };
0366 };