am335x-boneblack.dts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. /*
  2. * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. */
  8. /dts-v1/;
  9. #include "am33xx.dtsi"
  10. #include "am335x-bone-common.dtsi"
  11. #include <dt-bindings/display/tda998x.h>
  12. / {
  13. model = "TI AM335x BeagleBone Black";
  14. compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
  15. };
  16. &ldo3_reg {
  17. regulator-min-microvolt = <1800000>;
  18. regulator-max-microvolt = <1800000>;
  19. regulator-always-on;
  20. };
  21. &mmc1 {
  22. vmmc-supply = <&vmmcsd_fixed>;
  23. };
  24. &mmc2 {
  25. vmmc-supply = <&vmmcsd_fixed>;
  26. pinctrl-names = "default";
  27. pinctrl-0 = <&emmc_pins>;
  28. bus-width = <8>;
  29. status = "okay";
  30. };
  31. &am33xx_pinmux {
  32. nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins {
  33. pinctrl-single,pins = <
  34. AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr0 */
  35. AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
  36. AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
  37. AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
  38. AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
  39. AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
  40. AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
  41. AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
  42. AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
  43. AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
  44. AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
  45. AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
  46. AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
  47. AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
  48. AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
  49. AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
  50. AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */
  51. AM33XX_IOPAD(0x8e0, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_vsync.lcd_vsync */
  52. AM33XX_IOPAD(0x8e4, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_hsync.lcd_hsync */
  53. AM33XX_IOPAD(0x8e8, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_pclk.lcd_pclk */
  54. AM33XX_IOPAD(0x8ec, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
  55. >;
  56. };
  57. nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins {
  58. pinctrl-single,pins = <
  59. AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr0 */
  60. >;
  61. };
  62. mcasp0_pins: mcasp0_pins {
  63. pinctrl-single,pins = <
  64. AM33XX_IOPAD(0x9ac, PIN_INPUT_PULLUP | MUX_MODE0) /* mcasp0_ahcklx.mcasp0_ahclkx */
  65. AM33XX_IOPAD(0x99c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mcasp0_ahclkr.mcasp0_axr2*/
  66. AM33XX_IOPAD(0x994, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mcasp0_fsx.mcasp0_fsx */
  67. AM33XX_IOPAD(0x990, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_aclkx.mcasp0_aclkx */
  68. AM33XX_IOPAD(0x86c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.GPIO1_27 */
  69. >;
  70. };
  71. };
  72. &lcdc {
  73. status = "okay";
  74. port {
  75. lcdc_0: endpoint@0 {
  76. remote-endpoint = <&hdmi_0>;
  77. };
  78. };
  79. };
  80. &i2c0 {
  81. tda19988: tda19988 {
  82. compatible = "nxp,tda998x";
  83. reg = <0x70>;
  84. pinctrl-names = "default", "off";
  85. pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
  86. pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
  87. #sound-dai-cells = <0>;
  88. audio-ports = < TDA998x_I2S 0x03>;
  89. ports {
  90. port@0 {
  91. hdmi_0: endpoint@0 {
  92. remote-endpoint = <&lcdc_0>;
  93. };
  94. };
  95. };
  96. };
  97. };
  98. &rtc {
  99. system-power-controller;
  100. };
  101. &mcasp0 {
  102. #sound-dai-cells = <0>;
  103. pinctrl-names = "default";
  104. pinctrl-0 = <&mcasp0_pins>;
  105. status = "okay";
  106. op-mode = <0>; /* MCASP_IIS_MODE */
  107. tdm-slots = <2>;
  108. serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
  109. 0 0 1 0
  110. >;
  111. tx-num-evt = <32>;
  112. rx-num-evt = <32>;
  113. };
  114. / {
  115. clk_mcasp0_fixed: clk_mcasp0_fixed {
  116. #clock-cells = <0>;
  117. compatible = "fixed-clock";
  118. clock-frequency = <24576000>;
  119. };
  120. clk_mcasp0: clk_mcasp0 {
  121. #clock-cells = <0>;
  122. compatible = "gpio-gate-clock";
  123. clocks = <&clk_mcasp0_fixed>;
  124. enable-gpios = <&gpio1 27 0>; /* BeagleBone Black Clk enable on GPIO1_27 */
  125. };
  126. sound {
  127. compatible = "simple-audio-card";
  128. simple-audio-card,name = "TI BeagleBone Black";
  129. simple-audio-card,format = "i2s";
  130. simple-audio-card,bitclock-master = <&dailink0_master>;
  131. simple-audio-card,frame-master = <&dailink0_master>;
  132. dailink0_master: simple-audio-card,cpu {
  133. sound-dai = <&mcasp0>;
  134. clocks = <&clk_mcasp0>;
  135. };
  136. simple-audio-card,codec {
  137. sound-dai = <&tda19988>;
  138. };
  139. };
  140. };