meson-sm1-khadas-vim3l.dts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2019 BayLibre, SAS
  4. * Author: Neil Armstrong <[email protected]>
  5. */
  6. /dts-v1/;
  7. #include "meson-sm1.dtsi"
  8. #include "meson-khadas-vim3.dtsi"
  9. #include <dt-bindings/sound/meson-g12a-tohdmitx.h>
  10. / {
  11. compatible = "khadas,vim3l", "amlogic,sm1";
  12. model = "Khadas VIM3L";
  13. vddcpu: regulator-vddcpu {
  14. /*
  15. * Silergy SY8030DEC Regulator.
  16. */
  17. compatible = "pwm-regulator";
  18. regulator-name = "VDDCPU";
  19. regulator-min-microvolt = <690000>;
  20. regulator-max-microvolt = <1050000>;
  21. pwm-supply = <&vsys_3v3>;
  22. pwms = <&pwm_AO_cd 1 1250 0>;
  23. pwm-dutycycle-range = <100 0>;
  24. regulator-boot-on;
  25. regulator-always-on;
  26. };
  27. sound {
  28. model = "G12B-KHADAS-VIM3L";
  29. audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0",
  30. "TDMOUT_A IN 1", "FRDDR_B OUT 0",
  31. "TDMOUT_A IN 2", "FRDDR_C OUT 0",
  32. "TDM_A Playback", "TDMOUT_A OUT",
  33. "TDMIN_A IN 0", "TDM_A Capture",
  34. "TDMIN_A IN 13", "TDM_A Loopback",
  35. "TODDR_A IN 0", "TDMIN_A OUT",
  36. "TODDR_B IN 0", "TDMIN_A OUT",
  37. "TODDR_C IN 0", "TDMIN_A OUT";
  38. };
  39. };
  40. &cpu0 {
  41. cpu-supply = <&vddcpu>;
  42. operating-points-v2 = <&cpu_opp_table>;
  43. clocks = <&clkc CLKID_CPU_CLK>;
  44. clock-latency = <50000>;
  45. };
  46. &cpu1 {
  47. cpu-supply = <&vddcpu>;
  48. operating-points-v2 = <&cpu_opp_table>;
  49. clocks = <&clkc CLKID_CPU1_CLK>;
  50. clock-latency = <50000>;
  51. };
  52. &cpu2 {
  53. cpu-supply = <&vddcpu>;
  54. operating-points-v2 = <&cpu_opp_table>;
  55. clocks = <&clkc CLKID_CPU2_CLK>;
  56. clock-latency = <50000>;
  57. };
  58. &cpu3 {
  59. cpu-supply = <&vddcpu>;
  60. operating-points-v2 = <&cpu_opp_table>;
  61. clocks = <&clkc CLKID_CPU3_CLK>;
  62. clock-latency = <50000>;
  63. };
  64. &pwm_AO_cd {
  65. pinctrl-0 = <&pwm_ao_d_e_pins>;
  66. pinctrl-names = "default";
  67. clocks = <&xtal>;
  68. clock-names = "clkin1";
  69. status = "okay";
  70. };
  71. /*
  72. * The VIM3 on-board MCU can mux the PCIe/USB3.0 shared differential
  73. * lines using a FUSB340TMX USB 3.1 SuperSpeed Data Switch between
  74. * an USB3.0 Type A connector and a M.2 Key M slot.
  75. * The PHY driving these differential lines is shared between
  76. * the USB3.0 controller and the PCIe Controller, thus only
  77. * a single controller can use it.
  78. * If the MCU is configured to mux the PCIe/USB3.0 differential lines
  79. * to the M.2 Key M slot, uncomment the following block to disable
  80. * USB3.0 from the USB Complex and enable the PCIe controller.
  81. * The End User is not expected to uncomment the following except for
  82. * testing purposes, but instead rely on the firmware/bootloader to
  83. * update these nodes accordingly if PCIe mode is selected by the MCU.
  84. */
  85. /*
  86. &pcie {
  87. status = "okay";
  88. };
  89. &usb {
  90. phys = <&usb2_phy0>, <&usb2_phy1>;
  91. phy-names = "usb2-phy0", "usb2-phy1";
  92. };
  93. */
  94. &sd_emmc_a {
  95. sd-uhs-sdr50;
  96. };