rk3288-veyron-sdmmc.dtsi 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /*
  2. * Google Veyron (and derivatives) fragment for sdmmc cards
  3. *
  4. * Copyright 2015 Google, Inc
  5. *
  6. * This file is dual-licensed: you can use it either under the terms
  7. * of the GPL or the X11 license, at your option. Note that this dual
  8. * licensing only applies to this file, and not this project as a
  9. * whole.
  10. *
  11. * a) This file is free software; you can redistribute it and/or
  12. * modify it under the terms of the GNU General Public License as
  13. * published by the Free Software Foundation; either version 2 of the
  14. * License, or (at your option) any later version.
  15. *
  16. * This file is distributed in the hope that it will be useful,
  17. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. * GNU General Public License for more details.
  20. *
  21. * Or, alternatively,
  22. *
  23. * b) Permission is hereby granted, free of charge, to any person
  24. * obtaining a copy of this software and associated documentation
  25. * files (the "Software"), to deal in the Software without
  26. * restriction, including without limitation the rights to use,
  27. * copy, modify, merge, publish, distribute, sublicense, and/or
  28. * sell copies of the Software, and to permit persons to whom the
  29. * Software is furnished to do so, subject to the following
  30. * conditions:
  31. *
  32. * The above copyright notice and this permission notice shall be
  33. * included in all copies or substantial portions of the Software.
  34. *
  35. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  36. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  37. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  38. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  39. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  40. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  41. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  42. * OTHER DEALINGS IN THE SOFTWARE.
  43. */
  44. &io_domains {
  45. sdcard-supply = <&vccio_sd>;
  46. };
  47. &pinctrl {
  48. sdmmc {
  49. /*
  50. * We run sdmmc at max speed; bump up drive strength.
  51. * We also have external pulls, so disable the internal ones.
  52. */
  53. sdmmc_bus4: sdmmc-bus4 {
  54. rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
  55. <6 17 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
  56. <6 18 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
  57. <6 19 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
  58. };
  59. sdmmc_clk: sdmmc-clk {
  60. rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
  61. };
  62. sdmmc_cmd: sdmmc-cmd {
  63. rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
  64. };
  65. /*
  66. * Builtin CD line is hooked to ground to prevent JTAG at boot
  67. * (and also to get the voltage rail correct).
  68. * Configure gpio6_C6 as GPIO so dw_mmc builtin CD doesn't
  69. * think there's a card inserted
  70. */
  71. sdmmc_cd_disabled: sdmmc-cd-disabled {
  72. rockchip,pins = <6 22 RK_FUNC_GPIO &pcfg_pull_none>;
  73. };
  74. /* This is where we actually hook up CD */
  75. sdmmc_cd_gpio: sdmmc-cd-gpio {
  76. rockchip,pins = <7 5 RK_FUNC_GPIO &pcfg_pull_none>;
  77. };
  78. };
  79. };
  80. &rk808 {
  81. vcc9-supply = <&vcc_5v>;
  82. regulators {
  83. vccio_sd: LDO_REG4 {
  84. regulator-name = "vccio_sd";
  85. regulator-min-microvolt = <1800000>;
  86. regulator-max-microvolt = <3300000>;
  87. regulator-state-mem {
  88. regulator-off-in-suspend;
  89. };
  90. };
  91. vcc33_sd: LDO_REG5 {
  92. regulator-name = "vcc33_sd";
  93. regulator-min-microvolt = <3300000>;
  94. regulator-max-microvolt = <3300000>;
  95. regulator-state-mem {
  96. regulator-off-in-suspend;
  97. };
  98. };
  99. };
  100. };
  101. &sdmmc {
  102. status = "okay";
  103. bus-width = <4>;
  104. cap-mmc-highspeed;
  105. cap-sd-highspeed;
  106. card-detect-delay = <200>;
  107. cd-gpios = <&gpio7 5 GPIO_ACTIVE_LOW>;
  108. rockchip,default-sample-phase = <90>;
  109. num-slots = <1>;
  110. sd-uhs-sdr12;
  111. sd-uhs-sdr25;
  112. sd-uhs-sdr50;
  113. sd-uhs-sdr104;
  114. vmmc-supply = <&vcc33_sd>;
  115. vqmmc-supply = <&vccio_sd>;
  116. };