Advertisement
Guest User

Untitled

a guest
Aug 12th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 26.50 KB | None | 0 0
  1. /*
  2.  * Device Tree Source for AM33XX SoC
  3.  *
  4.  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
  5.  *
  6.  * This file is licensed under the terms of the GNU General Public License
  7.  * version 2.  This program is licensed "as is" without any warranty of any
  8.  * kind, whether express or implied.
  9.  */
  10.  
  11. #include <dt-bindings/gpio/gpio.h>
  12. #include <dt-bindings/pinctrl/am33xx.h>
  13.  
  14. #include "skeleton.dtsi"
  15.  
  16. / {
  17.     compatible = "ti,am33xx";
  18.     interrupt-parent = <&intc>;
  19.  
  20.     aliases {
  21.         i2c0 = &i2c0;
  22.         i2c1 = &i2c1;
  23.         i2c2 = &i2c2;
  24.         serial0 = &uart0;
  25.         serial1 = &uart1;
  26.         serial2 = &uart2;
  27.         serial3 = &uart3;
  28.         serial4 = &uart4;
  29.         serial5 = &uart5;
  30.         d_can0 = &dcan0;
  31.         d_can1 = &dcan1;
  32.         usb0 = &usb0;
  33.         usb1 = &usb1;
  34.         phy0 = &usb0_phy;
  35.         phy1 = &usb1_phy;
  36.         ethernet0 = &cpsw_emac0;
  37.         ethernet1 = &cpsw_emac1;
  38.     };
  39.  
  40.     cpus {
  41.         #address-cells = <1>;
  42.         #size-cells = <0>;
  43.         cpu@0 {
  44.             compatible = "arm,cortex-a8";
  45.             enable-method = "ti,am3352";
  46.             device_type = "cpu";
  47.             reg = <0>;
  48.  
  49.             operating-points-v2 = <&cpu0_opp_table>;
  50.             ti,syscon-efuse = <&scm_conf 0x7fc 0x1fff 0>;
  51.             ti,syscon-rev = <&scm_conf 0x600>;
  52.  
  53.             clocks = <&dpll_mpu_ck>;
  54.             clock-names = "cpu";
  55.  
  56.             clock-latency = <300000>; /* From omap-cpufreq driver */
  57.             cpu-idle-states = <&mpu_gate>;
  58.         };
  59.  
  60.         idle-states {
  61.             mpu_gate: mpu_gate {
  62.                 compatible = "arm,idle-state";
  63.                 entry-latency-us = <40>;
  64.                 exit-latency-us = <90>;
  65.                 min-residency-us = <300>;
  66.                 ti,idle-wkup-m3;
  67.             };
  68.         };
  69.     };
  70.  
  71.     cpu0_opp_table: opp_table0 {
  72.         compatible = "operating-points-v2";
  73.  
  74.         /*
  75.          * The three following nodes are marked with opp-suspend
  76.          * because the can not be enabled simultaneously on a
  77.          * single SoC.
  78.          */
  79.         opp50@300000000 {
  80.             opp-hz = /bits/ 64 <300000000>;
  81.             opp-microvolt = <950000 931000 969000>;
  82.             opp-supported-hw = <0x06 0x0010>;
  83.             opp-suspend;
  84.         };
  85.  
  86.         opp100@275000000 {
  87.             opp-hz = /bits/ 64 <275000000>;
  88.             opp-microvolt = <1100000 1078000 1122000>;
  89.             opp-supported-hw = <0x01 0x00FF>;
  90.             opp-suspend;
  91.         };
  92.  
  93.         opp100@300000000 {
  94.             opp-hz = /bits/ 64 <300000000>;
  95.             opp-microvolt = <1100000 1078000 1122000>;
  96.             opp-supported-hw = <0x06 0x0020>;
  97.             opp-suspend;
  98.         };
  99.  
  100.         opp100@500000000 {
  101.             opp-hz = /bits/ 64 <500000000>;
  102.             opp-microvolt = <1100000 1078000 1122000>;
  103.             opp-supported-hw = <0x01 0xFFFF>;
  104.         };
  105.  
  106.         opp100@600000000 {
  107.             opp-hz = /bits/ 64 <600000000>;
  108.             opp-microvolt = <1100000 1078000 1122000>;
  109.             opp-supported-hw = <0x06 0x0040>;
  110.         };
  111.  
  112.         opp120@600000000 {
  113.             opp-hz = /bits/ 64 <600000000>;
  114.             opp-microvolt = <1200000 1176000 1224000>;
  115.             opp-supported-hw = <0x01 0xFFFF>;
  116.         };
  117.  
  118.         opp120@720000000 {
  119.             opp-hz = /bits/ 64 <720000000>;
  120.             opp-microvolt = <1200000 1176000 1224000>;
  121.             opp-supported-hw = <0x06 0x0080>;
  122.         };
  123.  
  124.         oppturbo@720000000 {
  125.             opp-hz = /bits/ 64 <720000000>;
  126.             opp-microvolt = <1260000 1234800 1285200>;
  127.             opp-supported-hw = <0x01 0xFFFF>;
  128.         };
  129.  
  130.         oppturbo@800000000 {
  131.             opp-hz = /bits/ 64 <800000000>;
  132.             opp-microvolt = <1260000 1234800 1285200>;
  133.             opp-supported-hw = <0x06 0x0100>;
  134.         };
  135.  
  136.         oppnitro@1000000000 {
  137.             opp-hz = /bits/ 64 <1000000000>;
  138.             opp-microvolt = <1325000 1298500 1351500>;
  139.             opp-supported-hw = <0x04 0x0200>;
  140.         };
  141.     };
  142.  
  143.     pmu {
  144.         compatible = "arm,cortex-a8-pmu";
  145.         interrupts = <3>;
  146.     };
  147.  
  148.     /*
  149.      * The soc node represents the soc top level view. It is used for IPs
  150.      * that are not memory mapped in the MPU view or for the MPU itself.
  151.      */
  152.     soc {
  153.         compatible = "ti,omap-infra";
  154.         mpu {
  155.             compatible = "ti,omap3-mpu";
  156.             ti,hwmods = "mpu";
  157.             sram = <&ocmcram>;
  158.         };
  159.     };
  160.  
  161.     /*
  162.      * XXX: Use a flat representation of the AM33XX interconnect.
  163.      * The real AM33XX interconnect network is quite complex. Since
  164.      * it will not bring real advantage to represent that in DT
  165.      * for the moment, just use a fake OCP bus entry to represent
  166.      * the whole bus hierarchy.
  167.      */
  168.     ocp {
  169.         compatible = "simple-bus";
  170.         #address-cells = <1>;
  171.         #size-cells = <1>;
  172.         ranges;
  173.         ti,hwmods = "l3_main";
  174.  
  175.         l4_wkup: l4_wkup@44c00000 {
  176.             compatible = "ti,am3-l4-wkup", "simple-bus";
  177.             #address-cells = <1>;
  178.             #size-cells = <1>;
  179.             ranges = <0 0x44c00000 0x280000>;
  180.  
  181.             wkup_m3: wkup_m3@100000 {
  182.                 compatible = "ti,am3352-wkup-m3";
  183.                 reg = <0x100000 0x4000>,
  184.                       <0x180000 0x2000>;
  185.                 reg-names = "umem", "dmem";
  186.                 ti,hwmods = "wkup_m3";
  187.                 ti,pm-firmware = "am335x-pm-firmware.elf";
  188.             };
  189.  
  190.             prcm: prcm@200000 {
  191.                 compatible = "ti,am3-prcm";
  192.                 reg = <0x200000 0x4000>;
  193.  
  194.                 prcm_clocks: clocks {
  195.                     #address-cells = <1>;
  196.                     #size-cells = <0>;
  197.                 };
  198.  
  199.                 prcm_clockdomains: clockdomains {
  200.                 };
  201.             };
  202.  
  203.             scm: scm@210000 {
  204.                 compatible = "ti,am3-scm", "simple-bus";
  205.                 reg = <0x210000 0x2000>;
  206.                 #address-cells = <1>;
  207.                 #size-cells = <1>;
  208.                 ranges = <0 0x210000 0x2000>;
  209.  
  210.                 am33xx_pinmux: pinmux@800 {
  211.                     compatible = "pinctrl-single";
  212.                     reg = <0x800 0x238>;
  213.                     #address-cells = <1>;
  214.                     #size-cells = <0>;
  215.                     pinctrl-single,register-width = <32>;
  216.                     pinctrl-single,function-mask = <0x7f>;
  217.                 };
  218.  
  219.                 scm_conf: scm_conf@0 {
  220.                     compatible = "syscon";
  221.                     reg = <0x0 0x800>;
  222.                     #address-cells = <1>;
  223.                     #size-cells = <1>;
  224.  
  225.                     scm_clocks: clocks {
  226.                         #address-cells = <1>;
  227.                         #size-cells = <0>;
  228.                     };
  229.                 };
  230.  
  231.                 wkup_m3_ipc: wkup_m3_ipc@1324 {
  232.                     compatible = "ti,am3352-wkup-m3-ipc";
  233.                     reg = <0x1324 0x24>;
  234.                     interrupts = <78>;
  235.                     ti,rproc = <&wkup_m3>;
  236.                     mboxes = <&mailbox &mbox_wkupm3>;
  237.                 };
  238.  
  239.                 edma_xbar: dma-router@f90 {
  240.                     compatible = "ti,am335x-edma-crossbar";
  241.                     reg = <0xf90 0x40>;
  242.                     #dma-cells = <3>;
  243.                     dma-requests = <32>;
  244.                     dma-masters = <&edma>;
  245.                 };
  246.  
  247.                 scm_clockdomains: clockdomains {
  248.                 };
  249.             };
  250.         };
  251.  
  252.         intc: interrupt-controller@48200000 {
  253.             compatible = "ti,am33xx-intc";
  254.             interrupt-controller;
  255.             #interrupt-cells = <1>;
  256.             reg = <0x48200000 0x1000>;
  257.         };
  258.  
  259.         edma: edma@49000000 {
  260.             compatible = "ti,edma3-tpcc";
  261.             ti,hwmods = "tpcc";
  262.             reg =   <0x49000000 0x10000>;
  263.             reg-names = "edma3_cc";
  264.             interrupts = <12 13 14>;
  265.             interrupt-names = "edma3_ccint", "emda3_mperr",
  266.                       "edma3_ccerrint";
  267.             dma-requests = <64>;
  268.             #dma-cells = <2>;
  269.  
  270.             ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
  271.                    <&edma_tptc2 0>;
  272.  
  273.             ti,edma-memcpy-channels = <20 21>;
  274.         };
  275.  
  276.         edma_tptc0: tptc@49800000 {
  277.             compatible = "ti,edma3-tptc";
  278.             ti,hwmods = "tptc0";
  279.             reg =   <0x49800000 0x100000>;
  280.             interrupts = <112>;
  281.             interrupt-names = "edma3_tcerrint";
  282.         };
  283.  
  284.         edma_tptc1: tptc@49900000 {
  285.             compatible = "ti,edma3-tptc";
  286.             ti,hwmods = "tptc1";
  287.             reg =   <0x49900000 0x100000>;
  288.             interrupts = <113>;
  289.             interrupt-names = "edma3_tcerrint";
  290.         };
  291.  
  292.         edma_tptc2: tptc@49a00000 {
  293.             compatible = "ti,edma3-tptc";
  294.             ti,hwmods = "tptc2";
  295.             reg =   <0x49a00000 0x100000>;
  296.             interrupts = <114>;
  297.             interrupt-names = "edma3_tcerrint";
  298.         };
  299.  
  300.         emif: emif@4c000000 {
  301.             compatible = "ti,emif-am3352";
  302.             reg =   <0x4C000000 0x1000>;
  303.             sram = <&ocmcram>;
  304.         };
  305.  
  306.         gpio0: gpio@44e07000 {
  307.             compatible = "ti,omap4-gpio";
  308.             ti,hwmods = "gpio1";
  309.             gpio-controller;
  310.             #gpio-cells = <2>;
  311.             interrupt-controller;
  312.             #interrupt-cells = <2>;
  313.             reg = <0x44e07000 0x1000>;
  314.             interrupts = <96>;
  315.         };
  316.  
  317.         gpio1: gpio@4804c000 {
  318.             compatible = "ti,omap4-gpio";
  319.             ti,hwmods = "gpio2";
  320.             gpio-controller;
  321.             #gpio-cells = <2>;
  322.             interrupt-controller;
  323.             #interrupt-cells = <2>;
  324.             reg = <0x4804c000 0x1000>;
  325.             interrupts = <98>;
  326.         };
  327.  
  328.         gpio2: gpio@481ac000 {
  329.             compatible = "ti,omap4-gpio";
  330.             ti,hwmods = "gpio3";
  331.             gpio-controller;
  332.             #gpio-cells = <2>;
  333.             interrupt-controller;
  334.             #interrupt-cells = <2>;
  335.             reg = <0x481ac000 0x1000>;
  336.             interrupts = <32>;
  337.         };
  338.  
  339.         gpio3: gpio@481ae000 {
  340.             compatible = "ti,omap4-gpio";
  341.             ti,hwmods = "gpio4";
  342.             gpio-controller;
  343.             #gpio-cells = <2>;
  344.             interrupt-controller;
  345.             #interrupt-cells = <2>;
  346.             reg = <0x481ae000 0x1000>;
  347.             interrupts = <62>;
  348.         };
  349.  
  350.         uart0: serial@44e09000 {
  351.             compatible = "ti,am3352-uart", "ti,omap3-uart";
  352.             ti,hwmods = "uart1";
  353.             clock-frequency = <48000000>;
  354.             reg = <0x44e09000 0x2000>;
  355.             interrupts = <72>;
  356.             status = "disabled";
  357.             dmas = <&edma 26 0>, <&edma 27 0>;
  358.             dma-names = "tx", "rx";
  359.         };
  360.  
  361.         uart1: serial@48022000 {
  362.             compatible = "ti,am3352-uart", "ti,omap3-uart";
  363.             ti,hwmods = "uart2";
  364.             clock-frequency = <48000000>;
  365.             reg = <0x48022000 0x2000>;
  366.             interrupts = <73>;
  367.             status = "disabled";
  368.             dmas = <&edma 28 0>, <&edma 29 0>;
  369.             dma-names = "tx", "rx";
  370.         };
  371.  
  372.         uart2: serial@48024000 {
  373.             compatible = "ti,am3352-uart", "ti,omap3-uart";
  374.             ti,hwmods = "uart3";
  375.             clock-frequency = <48000000>;
  376.             reg = <0x48024000 0x2000>;
  377.             interrupts = <74>;
  378.             status = "disabled";
  379.             dmas = <&edma 30 0>, <&edma 31 0>;
  380.             dma-names = "tx", "rx";
  381.         };
  382.  
  383.         uart3: serial@481a6000 {
  384.             compatible = "ti,am3352-uart", "ti,omap3-uart";
  385.             ti,hwmods = "uart4";
  386.             clock-frequency = <48000000>;
  387.             reg = <0x481a6000 0x2000>;
  388.             interrupts = <44>;
  389.             status = "disabled";
  390.         };
  391.  
  392.         uart4: serial@481a8000 {
  393.             compatible = "ti,am3352-uart", "ti,omap3-uart";
  394.             ti,hwmods = "uart5";
  395.             clock-frequency = <48000000>;
  396.             reg = <0x481a8000 0x2000>;
  397.             interrupts = <45>;
  398.             status = "disabled";
  399.         };
  400.  
  401.         uart5: serial@481aa000 {
  402.             compatible = "ti,am3352-uart", "ti,omap3-uart";
  403.             ti,hwmods = "uart6";
  404.             clock-frequency = <48000000>;
  405.             reg = <0x481aa000 0x2000>;
  406.             interrupts = <46>;
  407.             status = "disabled";
  408.         };
  409.  
  410.         i2c0: i2c@44e0b000 {
  411.             compatible = "ti,omap4-i2c";
  412.             #address-cells = <1>;
  413.             #size-cells = <0>;
  414.             ti,hwmods = "i2c1";
  415.             reg = <0x44e0b000 0x1000>;
  416.             interrupts = <70>;
  417.             status = "disabled";
  418.         };
  419.  
  420.         i2c1: i2c@4802a000 {
  421.             compatible = "ti,omap4-i2c";
  422.             #address-cells = <1>;
  423.             #size-cells = <0>;
  424.             ti,hwmods = "i2c2";
  425.             reg = <0x4802a000 0x1000>;
  426.             interrupts = <71>;
  427.             status = "disabled";
  428.         };
  429.  
  430.         i2c2: i2c@4819c000 {
  431.             compatible = "ti,omap4-i2c";
  432.             #address-cells = <1>;
  433.             #size-cells = <0>;
  434.             ti,hwmods = "i2c3";
  435.             reg = <0x4819c000 0x1000>;
  436.             interrupts = <30>;
  437.             status = "disabled";
  438.         };
  439.  
  440.         mmc1: mmc@48060000 {
  441.             compatible = "ti,omap4-hsmmc";
  442.             ti,hwmods = "mmc1";
  443.             ti,dual-volt;
  444.             ti,needs-special-reset;
  445.             ti,needs-special-hs-handling;
  446.             dmas = <&edma_xbar 24 0 0
  447.                 &edma_xbar 25 0 0>;
  448.             dma-names = "tx", "rx";
  449.             interrupts = <64>;
  450.             interrupt-parent = <&intc>;
  451.             reg = <0x48060000 0x1000>;
  452.             status = "disabled";
  453.         };
  454.  
  455.         mmc2: mmc@481d8000 {
  456.             compatible = "ti,omap4-hsmmc";
  457.             ti,hwmods = "mmc2";
  458.             ti,needs-special-reset;
  459.             dmas = <&edma 2 0
  460.                 &edma 3 0>;
  461.             dma-names = "tx", "rx";
  462.             interrupts = <28>;
  463.             interrupt-parent = <&intc>;
  464.             reg = <0x481d8000 0x1000>;
  465.             status = "disabled";
  466.         };
  467.  
  468.         mmc3: mmc@47810000 {
  469.             compatible = "ti,omap4-hsmmc";
  470.             ti,hwmods = "mmc3";
  471.             ti,needs-special-reset;
  472.             interrupts = <29>;
  473.             interrupt-parent = <&intc>;
  474.             reg = <0x47810000 0x1000>;
  475.             status = "disabled";
  476.         };
  477.  
  478.         hwspinlock: spinlock@480ca000 {
  479.             compatible = "ti,omap4-hwspinlock";
  480.             reg = <0x480ca000 0x1000>;
  481.             ti,hwmods = "spinlock";
  482.             #hwlock-cells = <1>;
  483.         };
  484.  
  485.         wdt2: wdt@44e35000 {
  486.             compatible = "ti,omap3-wdt";
  487.             ti,hwmods = "wd_timer2";
  488.             reg = <0x44e35000 0x1000>;
  489.             interrupts = <91>;
  490.         };
  491.  
  492.         dcan0: can@481cc000 {
  493.             compatible = "ti,am3352-d_can";
  494.             ti,hwmods = "d_can0";
  495.             reg = <0x481cc000 0x2000>;
  496.             clocks = <&dcan0_fck>;
  497.             clock-names = "fck";
  498.             syscon-raminit = <&scm_conf 0x644 0>;
  499.             interrupts = <52>;
  500.             status = "disabled";
  501.         };
  502.  
  503.         dcan1: can@481d0000 {
  504.             compatible = "ti,am3352-d_can";
  505.             ti,hwmods = "d_can1";
  506.             reg = <0x481d0000 0x2000>;
  507.             clocks = <&dcan1_fck>;
  508.             clock-names = "fck";
  509.             syscon-raminit = <&scm_conf 0x644 1>;
  510.             interrupts = <55>;
  511.             status = "disabled";
  512.         };
  513.  
  514.         mailbox: mailbox@480C8000 {
  515.             compatible = "ti,omap4-mailbox";
  516.             reg = <0x480C8000 0x200>;
  517.             interrupts = <77>;
  518.             ti,hwmods = "mailbox";
  519.             #mbox-cells = <1>;
  520.             ti,mbox-num-users = <4>;
  521.             ti,mbox-num-fifos = <8>;
  522.             mbox_wkupm3: wkup_m3 {
  523.                 ti,mbox-send-noirq;
  524.                 ti,mbox-tx = <0 0 0>;
  525.                 ti,mbox-rx = <0 0 3>;
  526.             };
  527.             mbox_pru0: mbox_pru0 {
  528.                 ti,mbox-tx = <2 0 0>;
  529.                 ti,mbox-rx = <3 0 0>;
  530.             };
  531.             mbox_pru1: mbox_pru1 {
  532.                 ti,mbox-tx = <4 0 0>;
  533.                 ti,mbox-rx = <5 0 0>;
  534.             };
  535.         };
  536.  
  537.         timer1: timer@44e31000 {
  538.             compatible = "ti,am335x-timer-1ms";
  539.             reg = <0x44e31000 0x400>;
  540.             interrupts = <67>;
  541.             ti,hwmods = "timer1";
  542.             ti,timer-alwon;
  543.         };
  544.  
  545.         timer2: timer@48040000 {
  546.             compatible = "ti,am335x-timer";
  547.             reg = <0x48040000 0x400>;
  548.             interrupts = <68>;
  549.             ti,hwmods = "timer2";
  550.         };
  551.  
  552.         timer3: timer@48042000 {
  553.             compatible = "ti,am335x-timer";
  554.             reg = <0x48042000 0x400>;
  555.             interrupts = <69>;
  556.             ti,hwmods = "timer3";
  557.         };
  558.  
  559.         timer4: timer@48044000 {
  560.             compatible = "ti,am335x-timer";
  561.             reg = <0x48044000 0x400>;
  562.             interrupts = <92>;
  563.             ti,hwmods = "timer4";
  564.             ti,timer-pwm;
  565.         };
  566.  
  567.         timer5: timer@48046000 {
  568.             compatible = "ti,am335x-timer";
  569.             reg = <0x48046000 0x400>;
  570.             interrupts = <93>;
  571.             ti,hwmods = "timer5";
  572.             ti,timer-pwm;
  573.         };
  574.  
  575.         timer6: timer@48048000 {
  576.             compatible = "ti,am335x-timer";
  577.             reg = <0x48048000 0x400>;
  578.             interrupts = <94>;
  579.             ti,hwmods = "timer6";
  580.             ti,timer-pwm;
  581.         };
  582.  
  583.         timer7: timer@4804a000 {
  584.             compatible = "ti,am335x-timer";
  585.             reg = <0x4804a000 0x400>;
  586.             interrupts = <95>;
  587.             ti,hwmods = "timer7";
  588.             ti,timer-pwm;
  589.         };
  590.  
  591.         rtc: rtc@44e3e000 {
  592.             compatible = "ti,am3352-rtc", "ti,da830-rtc";
  593.             reg = <0x44e3e000 0x1000>;
  594.             interrupts = <75
  595.                       76>;
  596.             ti,hwmods = "rtc";
  597.             clocks = <&clkdiv32k_ick>;
  598.             clock-names = "int-clk";
  599.         };
  600.  
  601.         spi0: spi@48030000 {
  602.             compatible = "ti,omap4-mcspi";
  603.             #address-cells = <1>;
  604.             #size-cells = <0>;
  605.             reg = <0x48030000 0x400>;
  606.             interrupts = <65>;
  607.             ti,spi-num-cs = <2>;
  608.             ti,hwmods = "spi0";
  609.             dmas = <&edma 16 0
  610.                 &edma 17 0
  611.                 &edma 18 0
  612.                 &edma 19 0>;
  613.             dma-names = "tx0", "rx0", "tx1", "rx1";
  614.             status = "disabled";
  615.         };
  616.  
  617.         spi1: spi@481a0000 {
  618.             compatible = "ti,omap4-mcspi";
  619.             #address-cells = <1>;
  620.             #size-cells = <0>;
  621.             reg = <0x481a0000 0x400>;
  622.             interrupts = <125>;
  623.             ti,spi-num-cs = <2>;
  624.             ti,hwmods = "spi1";
  625.             dmas = <&edma 42 0
  626.                 &edma 43 0
  627.                 &edma 44 0
  628.                 &edma 45 0>;
  629.             dma-names = "tx0", "rx0", "tx1", "rx1";
  630.             status = "disabled";
  631.         };
  632.  
  633.         usb: usb@47400000 {
  634.             compatible = "ti,am33xx-usb";
  635.             reg = <0x47400000 0x1000>;
  636.             ranges;
  637.             #address-cells = <1>;
  638.             #size-cells = <1>;
  639.             ti,hwmods = "usb_otg_hs";
  640.             status = "disabled";
  641.  
  642.             usb_ctrl_mod: control@44e10620 {
  643.                 compatible = "ti,am335x-usb-ctrl-module";
  644.                 reg = <0x44e10620 0x10
  645.                     0x44e10648 0x4>;
  646.                 reg-names = "phy_ctrl", "wakeup";
  647.                 status = "disabled";
  648.             };
  649.  
  650.             usb0_phy: usb-phy@47401300 {
  651.                 compatible = "ti,am335x-usb-phy";
  652.                 reg = <0x47401300 0x100>;
  653.                 reg-names = "phy";
  654.                 status = "disabled";
  655.                 ti,ctrl_mod = <&usb_ctrl_mod>;
  656.             };
  657.  
  658.             usb0: usb@47401000 {
  659.                 compatible = "ti,musb-am33xx";
  660.                 status = "disabled";
  661.                 reg = <0x47401400 0x400
  662.                     0x47401000 0x200>;
  663.                 reg-names = "mc", "control";
  664.  
  665.                 interrupts = <18>;
  666.                 interrupt-names = "mc";
  667.                 dr_mode = "otg";
  668.                 mentor,multipoint = <1>;
  669.                 mentor,num-eps = <16>;
  670.                 mentor,ram-bits = <12>;
  671.                 mentor,power = <500>;
  672.                 phys = <&usb0_phy>;
  673.  
  674.                 dmas = <&cppi41dma  0 0 &cppi41dma  1 0
  675.                     &cppi41dma  2 0 &cppi41dma  3 0
  676.                     &cppi41dma  4 0 &cppi41dma  5 0
  677.                     &cppi41dma  6 0 &cppi41dma  7 0
  678.                     &cppi41dma  8 0 &cppi41dma  9 0
  679.                     &cppi41dma 10 0 &cppi41dma 11 0
  680.                     &cppi41dma 12 0 &cppi41dma 13 0
  681.                     &cppi41dma 14 0 &cppi41dma  0 1
  682.                     &cppi41dma  1 1 &cppi41dma  2 1
  683.                     &cppi41dma  3 1 &cppi41dma  4 1
  684.                     &cppi41dma  5 1 &cppi41dma  6 1
  685.                     &cppi41dma  7 1 &cppi41dma  8 1
  686.                     &cppi41dma  9 1 &cppi41dma 10 1
  687.                     &cppi41dma 11 1 &cppi41dma 12 1
  688.                     &cppi41dma 13 1 &cppi41dma 14 1>;
  689.                 dma-names =
  690.                     "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
  691.                     "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
  692.                     "rx14", "rx15",
  693.                     "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
  694.                     "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
  695.                     "tx14", "tx15";
  696.             };
  697.  
  698.             usb1_phy: usb-phy@47401b00 {
  699.                 compatible = "ti,am335x-usb-phy";
  700.                 reg = <0x47401b00 0x100>;
  701.                 reg-names = "phy";
  702.                 status = "disabled";
  703.                 ti,ctrl_mod = <&usb_ctrl_mod>;
  704.             };
  705.  
  706.             usb1: usb@47401800 {
  707.                 compatible = "ti,musb-am33xx";
  708.                 status = "disabled";
  709.                 reg = <0x47401c00 0x400
  710.                     0x47401800 0x200>;
  711.                 reg-names = "mc", "control";
  712.                 interrupts = <19>;
  713.                 interrupt-names = "mc";
  714.                 dr_mode = "otg";
  715.                 mentor,multipoint = <1>;
  716.                 mentor,num-eps = <16>;
  717.                 mentor,ram-bits = <12>;
  718.                 mentor,power = <500>;
  719.                 phys = <&usb1_phy>;
  720.  
  721.                 dmas = <&cppi41dma 15 0 &cppi41dma 16 0
  722.                     &cppi41dma 17 0 &cppi41dma 18 0
  723.                     &cppi41dma 19 0 &cppi41dma 20 0
  724.                     &cppi41dma 21 0 &cppi41dma 22 0
  725.                     &cppi41dma 23 0 &cppi41dma 24 0
  726.                     &cppi41dma 25 0 &cppi41dma 26 0
  727.                     &cppi41dma 27 0 &cppi41dma 28 0
  728.                     &cppi41dma 29 0 &cppi41dma 15 1
  729.                     &cppi41dma 16 1 &cppi41dma 17 1
  730.                     &cppi41dma 18 1 &cppi41dma 19 1
  731.                     &cppi41dma 20 1 &cppi41dma 21 1
  732.                     &cppi41dma 22 1 &cppi41dma 23 1
  733.                     &cppi41dma 24 1 &cppi41dma 25 1
  734.                     &cppi41dma 26 1 &cppi41dma 27 1
  735.                     &cppi41dma 28 1 &cppi41dma 29 1>;
  736.                 dma-names =
  737.                     "rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
  738.                     "rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
  739.                     "rx14", "rx15",
  740.                     "tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
  741.                     "tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
  742.                     "tx14", "tx15";
  743.             };
  744.  
  745.             cppi41dma: dma-controller@47402000 {
  746.                 compatible = "ti,am3359-cppi41";
  747.                 reg =  <0x47400000 0x1000
  748.                     0x47402000 0x1000
  749.                     0x47403000 0x1000
  750.                     0x47404000 0x4000>;
  751.                 reg-names = "glue", "controller", "scheduler", "queuemgr";
  752.                 interrupts = <17>;
  753.                 interrupt-names = "glue";
  754.                 #dma-cells = <2>;
  755.                 #dma-channels = <30>;
  756.                 #dma-requests = <256>;
  757.                 status = "disabled";
  758.             };
  759.         };
  760.  
  761.         epwmss0: epwmss@48300000 {
  762.             compatible = "ti,am33xx-pwmss";
  763.             reg = <0x48300000 0x10>;
  764.             ti,hwmods = "epwmss0";
  765.             #address-cells = <1>;
  766.             #size-cells = <1>;
  767.             status = "disabled";
  768.             ranges = <0x48300100 0x48300100 0x80   /* ECAP */
  769.                   0x48300180 0x48300180 0x80   /* EQEP */
  770.                   0x48300200 0x48300200 0x80>; /* EHRPWM */
  771.  
  772.             ecap0: ecap@48300100 {
  773.                 compatible = "ti,am33xx-ecap";
  774.                 #pwm-cells = <3>;
  775.                 reg = <0x48300100 0x80>;
  776.                 interrupts = <31>;
  777.                 interrupt-names = "ecap0";
  778.                 status = "disabled";
  779.             };
  780.  
  781.             ehrpwm0: pwm@48300200 {
  782.                 compatible = "ti,am33xx-ehrpwm";
  783.                 #pwm-cells = <3>;
  784.                 reg = <0x48300200 0x80>;
  785.                 clocks = <&ehrpwm0_tbclk>;
  786.                 clock-names = "tbclk";
  787.                 status = "disabled";
  788.             };
  789.         };
  790.  
  791.         epwmss1: epwmss@48302000 {
  792.             compatible = "ti,am33xx-pwmss";
  793.             reg = <0x48302000 0x10>;
  794.             ti,hwmods = "epwmss1";
  795.             #address-cells = <1>;
  796.             #size-cells = <1>;
  797.             status = "disabled";
  798.             ranges = <0x48302100 0x48302100 0x80   /* ECAP */
  799.                   0x48302180 0x48302180 0x80   /* EQEP */
  800.                   0x48302200 0x48302200 0x80>; /* EHRPWM */
  801.  
  802.             ecap1: ecap@48302100 {
  803.                 compatible = "ti,am33xx-ecap";
  804.                 #pwm-cells = <3>;
  805.                 reg = <0x48302100 0x80>;
  806.                 interrupts = <47>;
  807.                 interrupt-names = "ecap1";
  808.                 status = "disabled";
  809.             };
  810.  
  811.             ehrpwm1: pwm@48302200 {
  812.                 compatible = "ti,am33xx-ehrpwm";
  813.                 #pwm-cells = <3>;
  814.                 reg = <0x48302200 0x80>;
  815.                 clocks = <&ehrpwm1_tbclk>;
  816.                 clock-names = "tbclk";
  817.                 status = "disabled";
  818.             };
  819.         };
  820.  
  821.         epwmss2: epwmss@48304000 {
  822.             compatible = "ti,am33xx-pwmss";
  823.             reg = <0x48304000 0x10>;
  824.             ti,hwmods = "epwmss2";
  825.             #address-cells = <1>;
  826.             #size-cells = <1>;
  827.             status = "disabled";
  828.             ranges = <0x48304100 0x48304100 0x80   /* ECAP */
  829.                   0x48304180 0x48304180 0x80   /* EQEP */
  830.                   0x48304200 0x48304200 0x80>; /* EHRPWM */
  831.  
  832.             ecap2: ecap@48304100 {
  833.                 compatible = "ti,am33xx-ecap";
  834.                 #pwm-cells = <3>;
  835.                 reg = <0x48304100 0x80>;
  836.                 interrupts = <61>;
  837.                 interrupt-names = "ecap2";
  838.                 status = "disabled";
  839.             };
  840.  
  841.             ehrpwm2: pwm@48304200 {
  842.                 compatible = "ti,am33xx-ehrpwm";
  843.                 #pwm-cells = <3>;
  844.                 reg = <0x48304200 0x80>;
  845.                 clocks = <&ehrpwm2_tbclk>;
  846.                 clock-names = "tbclk";
  847.                 status = "disabled";
  848.             };
  849.         };
  850.  
  851.         mac: ethernet@4a100000 {
  852.             compatible = "ti,am335x-cpsw","ti,cpsw";
  853.             ti,hwmods = "cpgmac0";
  854.             clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
  855.             clock-names = "fck", "cpts";
  856.             cpdma_channels = <8>;
  857.             ale_entries = <1024>;
  858.             bd_ram_size = <0x2000>;
  859.             no_bd_ram = <0>;
  860.             mac_control = <0x20>;
  861.             slaves = <2>;
  862.             active_slave = <0>;
  863.             cpts_clock_mult = <0x80000000>;
  864.             cpts_clock_shift = <29>;
  865.             reg = <0x4a100000 0x800
  866.                    0x4a101200 0x100>;
  867.             #address-cells = <1>;
  868.             #size-cells = <1>;
  869.             interrupt-parent = <&intc>;
  870.             /*
  871.              * c0_rx_thresh_pend
  872.              * c0_rx_pend
  873.              * c0_tx_pend
  874.              * c0_misc_pend
  875.              */
  876.             interrupts = <40 41 42 43>;
  877.             ranges;
  878.             syscon = <&scm_conf>;
  879.             status = "disabled";
  880.  
  881.             davinci_mdio: mdio@4a101000 {
  882.                 compatible = "ti,cpsw-mdio";
  883.                 #address-cells = <1>;
  884.                 #size-cells = <0>;
  885.                 ti,hwmods = "davinci_mdio";
  886.                 bus_freq = <1000000>;
  887.                 reg = <0x4a101000 0x100>;
  888.                 status = "disabled";
  889.             };
  890.  
  891.             cpsw_emac0: slave@4a100200 {
  892.                 /* Filled in by U-Boot */
  893.                 mac-address = [ 00 00 00 00 00 00 ];
  894.             };
  895.  
  896.             cpsw_emac1: slave@4a100300 {
  897.                 /* Filled in by U-Boot */
  898.                 mac-address = [ 00 00 00 00 00 00 ];
  899.             };
  900.  
  901.             phy_sel: cpsw-phy-sel@44e10650 {
  902.                 compatible = "ti,am3352-cpsw-phy-sel";
  903.                 reg= <0x44e10650 0x4>;
  904.                 reg-names = "gmii-sel";
  905.             };
  906.         };
  907.  
  908.         ocmcram: ocmcram@40300000 {
  909.             compatible = "mmio-sram";
  910.             reg = <0x40300000 0x2000>; /* 8k */
  911.             map-exec;
  912.         };
  913.  
  914.         ocmcram_nocache: ocmcram_nocache@40302000 {
  915.             compatible = "mmio-sram";
  916.             reg = <0x40302000 0xe000>; /* 64k - 8k */
  917.         };
  918.  
  919.         pruss: pruss@4a300000 {
  920.             compatible = "ti,am3352-pruss";
  921.             ti,hwmods = "pruss";
  922.             reg = <0x4a300000 0x2000>,
  923.                   <0x4a302000 0x2000>,
  924.                   <0x4a310000 0x3000>,
  925.                   <0x4a326000 0x2000>,
  926.                   <0x4a32e000 0x31c>,
  927.                   <0x4a332000 0x58>;
  928.             reg-names = "dram0", "dram1", "shrdram2", "cfg",
  929.                     "iep", "mii_rt";
  930.             #address-cells = <1>;
  931.             #size-cells = <1>;
  932.             ranges;
  933.  
  934.             pruss_intc: intc@4a320000 {
  935.                 compatible = "ti,am3352-pruss-intc";
  936.                 reg = <0x4a320000 0x2000>;
  937.                 reg-names = "intc";
  938.                 interrupts = <20 21 22 23 24 25 26 27>;
  939.                 interrupt-names = "host2", "host3", "host4",
  940.                           "host5", "host6", "host7",
  941.                           "host8", "host9";
  942.                 interrupt-controller;
  943.                 #interrupt-cells = <1>;
  944.             };
  945.  
  946.             pru0: pru0@4a334000 {
  947.                 compatible = "ti,am3352-pru";
  948.                 reg = <0x4a334000 0x2000>,
  949.                       <0x4a322000 0x400>,
  950.                       <0x4a322400 0x100>;
  951.                 reg-names = "iram", "control", "debug";
  952.                 interrupt-parent = <&pruss_intc>;
  953.                 interrupts = <16>, <17>;
  954.                 interrupt-names = "vring", "kick";
  955.             };
  956.  
  957.             pru1: pru1@4a338000 {
  958.                 compatible = "ti,am3352-pru";
  959.                 reg = <0x4a338000 0x2000>,
  960.                       <0x4a324000 0x400>,
  961.                       <0x4a324400 0x100>;
  962.                 reg-names = "iram", "control", "debug";
  963.                 interrupt-parent = <&pruss_intc>;
  964.                 interrupts = <18>, <19>;
  965.                 interrupt-names = "vring", "kick";
  966.             };
  967.  
  968.             pruss_mdio: mdio@4a332400 {
  969.                 compatible = "ti,davinci_mdio";
  970.                 reg = <0x4a332400 0x90>;
  971.                 clocks = <&dpll_core_m4_ck>;
  972.                 clock-names = "fck";
  973.                 bus_freq = <1000000>;
  974.                 #address-cells = <1>;
  975.                 #size-cells = <0>;
  976.                 status = "disabled";
  977.             };
  978.         };
  979.  
  980.         elm: elm@48080000 {
  981.             compatible = "ti,am3352-elm";
  982.             reg = <0x48080000 0x2000>;
  983.             interrupts = <4>;
  984.             ti,hwmods = "elm";
  985.             status = "disabled";
  986.         };
  987.  
  988.         lcdc: lcdc@4830e000 {
  989.             compatible = "ti,am33xx-tilcdc";
  990.             reg = <0x4830e000 0x1000>;
  991.             interrupt-parent = <&intc>;
  992.             interrupts = <36>;
  993.             ti,hwmods = "lcdc";
  994.             status = "disabled";
  995.         };
  996.  
  997.         tscadc: tscadc@44e0d000 {
  998.             compatible = "ti,am3359-tscadc";
  999.             reg = <0x44e0d000 0x1000>;
  1000.             interrupt-parent = <&intc>;
  1001.             interrupts = <16>;
  1002.             ti,hwmods = "adc_tsc";
  1003.             status = "disabled";
  1004.  
  1005.             tsc {
  1006.                 compatible = "ti,am3359-tsc";
  1007.             };
  1008.             am335x_adc: adc {
  1009.                 #io-channel-cells = <1>;
  1010.                 compatible = "ti,am3359-adc";
  1011.             };
  1012.         };
  1013.  
  1014.         gpmc: gpmc@50000000 {
  1015.             compatible = "ti,am3352-gpmc";
  1016.             ti,hwmods = "gpmc";
  1017.             ti,no-idle-on-init;
  1018.             reg = <0x50000000 0x2000>;
  1019.             interrupts = <100>;
  1020.             dmas = <&edma 52 0>;
  1021.             dma-names = "rxtx";
  1022.             gpmc,num-cs = <7>;
  1023.             gpmc,num-waitpins = <2>;
  1024.             #address-cells = <2>;
  1025.             #size-cells = <1>;
  1026.             interrupt-controller;
  1027.             #interrupt-cells = <2>;
  1028.             gpio-controller;
  1029.             #gpio-cells = <2>;
  1030.             status = "disabled";
  1031.         };
  1032.  
  1033.         sham: sham@53100000 {
  1034.             compatible = "ti,omap4-sham";
  1035.             ti,hwmods = "sham";
  1036.             reg = <0x53100000 0x200>;
  1037.             interrupts = <109>;
  1038.             dmas = <&edma 36 0>;
  1039.             dma-names = "rx";
  1040.         };
  1041.  
  1042.         aes: aes@53500000 {
  1043.             compatible = "ti,omap4-aes";
  1044.             ti,hwmods = "aes";
  1045.             reg = <0x53500000 0xa0>;
  1046.             interrupts = <103>;
  1047.             dmas = <&edma 6 0>,
  1048.                    <&edma 5 0>;
  1049.             dma-names = "tx", "rx";
  1050.         };
  1051.  
  1052.         mcasp0: mcasp@48038000 {
  1053.             compatible = "ti,am33xx-mcasp-audio";
  1054.             ti,hwmods = "mcasp0";
  1055.             reg = <0x48038000 0x2000>,
  1056.                   <0x46000000 0x400000>;
  1057.             reg-names = "mpu", "dat";
  1058.             interrupts = <80>, <81>;
  1059.             interrupt-names = "tx", "rx";
  1060.             status = "disabled";
  1061.             dmas = <&edma 8 2>,
  1062.                 <&edma 9 2>;
  1063.             dma-names = "tx", "rx";
  1064.         };
  1065.  
  1066.         mcasp1: mcasp@4803C000 {
  1067.             compatible = "ti,am33xx-mcasp-audio";
  1068.             ti,hwmods = "mcasp1";
  1069.             reg = <0x4803C000 0x2000>,
  1070.                   <0x46400000 0x400000>;
  1071.             reg-names = "mpu", "dat";
  1072.             interrupts = <82>, <83>;
  1073.             interrupt-names = "tx", "rx";
  1074.             status = "disabled";
  1075.             dmas = <&edma 10 2>,
  1076.                 <&edma 11 2>;
  1077.             dma-names = "tx", "rx";
  1078.         };
  1079.  
  1080.         rng: rng@48310000 {
  1081.             compatible = "ti,omap4-rng";
  1082.             ti,hwmods = "rng";
  1083.             reg = <0x48310000 0x2000>;
  1084.             interrupts = <111>;
  1085.         };
  1086.  
  1087.         /*
  1088.          * The SGX is disabled by default because it is an optional
  1089.          * module and only some AM335x variants contain this module,
  1090.          * such as AM3358 and AM3357. The status should be overwritten
  1091.          * as "OK" at the corresponding board.dts.
  1092.          */
  1093.         sgx: sgx@56000000 {
  1094.             compatible = "ti,am3352-sgx530", "img,sgx530";
  1095.             ti,hwmods = "gfx";
  1096.             reg = <0x56000000 0x10000>;
  1097.             interrupts = <37>;
  1098.             clocks = <&gfx_fck_div_ck>;
  1099.             clock-names = "fclk";
  1100.             status = "disabled";
  1101.         };
  1102.     };
  1103. };
  1104.  
  1105. /include/ "am33xx-clocks.dtsi"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement