Guest User

mikroBUS Cape 3 CS for SPI1

a guest
Nov 15th, 2015
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. /dts-v1/;
  2. /plugin/;
  3.  
  4. / {
  5. compatible = "ti,beaglebone", "ti,beaglebone-black";
  6.  
  7. /* identification */
  8. part-number = "BB-420MA-01";
  9. version = "00A0";
  10.  
  11. /* state the resources this cape uses */
  12. exclusive-use =
  13. /* the pin header uses */
  14. "P9.17", /* spi0_cs0 */
  15. "P9.18", /* spi0_d1 */
  16. "P9.21", /* spi0_d0 */
  17. "P9.22", /* spi0_sclk */
  18. "P9.28", /* spi1_cs0 */
  19. "P9.29", /* spi1_d0 */
  20. "P9.30", /* spi1_d1 */
  21. "P9.31", /* spi1_sclk */
  22. "P9.42", /* spi1_cs1 */
  23. "P8.10", /* spi1_cs2 */
  24. /* the hardware ip uses */
  25. "spi0",
  26. "spi1";
  27.  
  28. fragment@0 {
  29. target = <&am33xx_pinmux>;
  30.  
  31. __overlay__ {
  32.  
  33. /* avoid stupid warning */
  34. #address-cells = <1>;
  35. #size-cells = <1>;
  36.  
  37. bb_spi0_pins: pinmux_bb_spi0_pins {
  38. pinctrl-single,pins = <
  39. 0x150 0x30 /* spi0_sclk.spi0_sclk, INPUT_PULLUP | MODE0 */
  40. 0x154 0x30 /* spi0_d0.spi0_d0, INPUT_PULLUP | MODE0 */
  41. 0x158 0x10 /* spi0_d1.spi0_d1, OUTPUT_PULLUP | MODE0 */
  42. 0x15c 0x10 /* spi0_cs0.spi0_cs0, OUTPUT_PULLUP | MODE0 */
  43. >;
  44. };
  45.  
  46. bb_spi1_pins: pinmux_bb_spi1_pins {
  47. pinctrl-single,pins = <
  48. 0x190 0x33 /* mcasp0_aclkx.spi1_sclk, INPUT_PULLUP | MODE3 */
  49. 0x194 0x33 /* mcasp0_fsx.spi1_d0, INPUT_PULLUP | MODE3 */
  50. 0x198 0x13 /* mcasp0_axr0.spi1_d1, OUTPUT_PULLUP | MODE3 */
  51. 0x19c 0x13 /* mcasp0_ahclkr.spi1_cs0, OUTPUT_PULLUP | MODE3 */
  52. 0x164 0x12 /* eCAP0_in_PWM0_out.spi1_cs1 OUTPUT_PULLUP | MODE2 */
  53. 0x098 0x17 /* gpio2_4.spi1_cs2 OUTPUT_PULLUP | MODE7 */
  54. >;
  55. };
  56.  
  57. };
  58. };
  59.  
  60. /* https://www.kernel.org/doc/Documentation/devicetree/bindings/spi/spi-bus.txt */
  61.  
  62. fragment@1 {
  63. target = <&spi0>; /* spi0 is numbered correctly */
  64. __overlay__ {
  65. status = "okay";
  66. pinctrl-names = "default";
  67. pinctrl-0 = <&bb_spi0_pins>;
  68.  
  69. #address-cells = <1>;
  70. #size-cells = <0>;
  71.  
  72. spi0_0{
  73. #address-cells = <1>;
  74. #size-cells = <0>;
  75. compatible = "spidev";
  76. reg = <0>;
  77. spi-max-frequency = <16000000>;
  78. spi-cpol;
  79. spi-cpha;
  80. };
  81. };
  82. };
  83.  
  84. fragment@2 {
  85. target = <&spi1>; /* spi1 is numbered correctly */
  86. __overlay__ {
  87. status = "okay";
  88. pinctrl-names = "default";
  89. pinctrl-0 = <&bb_spi1_pins>;
  90.  
  91. #address-cells = <1>;
  92. #size-cells = <0>;
  93.  
  94. /*num-cs = <3>;*/ /* this makes no difference */
  95.  
  96. cs-gpios = <0>, <1>, <&gpio3 4 0>;
  97. /* This method gives me /ocp/spi@481a0000: could not get #gpio-cells for /ocp/interrupt-controller@48200000 */
  98.  
  99. spi1@0 {
  100. #address-cells = <1>;
  101. #size-cells = <0>;
  102. compatible = "spidev";
  103. reg = <0>;
  104. spi-max-frequency = <16000000>;
  105. spi-cpol;
  106. spi-cpha;
  107. };
  108.  
  109. spi1@1 {
  110. #address-cells = <1>;
  111. #size-cells = <0>;
  112. compatible = "spidev";
  113. reg = <1>;
  114. spi-max-frequency = <16000000>;
  115. spi-cpol;
  116. spi-cpha;
  117. };
  118.  
  119. /* cs2 >= max 2 is constantly thrown here */
  120. spi1@2 {
  121. #address-cells = <1>;
  122. #size-cells = <0>;
  123.  
  124. compatible = "spidev";
  125. reg = <2>;
  126. spi-max-frequency = <16000000>;
  127. spi-cpol;
  128. spi-cpha;
  129. };
  130. };
  131. };
  132. };
Advertisement
Add Comment
Please, Sign In to add comment