serval_common.dtsi 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2020 Microsemi Corporation
  4. */
  5. #include "serval.dtsi"
  6. / {
  7. aliases {
  8. serial0 = &uart0;
  9. i2c104 = &i2c104;
  10. i2c105 = &i2c105;
  11. i2c106 = &i2c106;
  12. i2c107 = &i2c107;
  13. i2c108 = &i2c108;
  14. i2c109 = &i2c109;
  15. };
  16. chosen {
  17. stdout-path = "serial0:115200n8";
  18. };
  19. i2c0_imux: i2c0-imux {
  20. compatible = "i2c-mux-pinctrl";
  21. #address-cells = <1>;
  22. #size-cells = <0>;
  23. i2c-parent = <&i2c0>;
  24. pinctrl-names =
  25. "i2c104", "i2c105", "i2c106", "i2c107",
  26. "i2c108", "i2c109", "idle";
  27. pinctrl-0 = <&i2cmux_0>;
  28. pinctrl-1 = <&i2cmux_1>;
  29. pinctrl-2 = <&i2cmux_2>;
  30. pinctrl-3 = <&i2cmux_3>;
  31. pinctrl-4 = <&i2cmux_4>;
  32. pinctrl-5 = <&i2cmux_5>;
  33. pinctrl-6 = <&i2cmux_pins_i>;
  34. i2c104: i2c_sfp0@0 {
  35. reg = <0>;
  36. #address-cells = <1>;
  37. #size-cells = <0>;
  38. };
  39. i2c105: i2c_sfp1@1 {
  40. reg = <1>;
  41. #address-cells = <1>;
  42. #size-cells = <0>;
  43. };
  44. i2c106: i2c_sfp2@2 {
  45. reg = <2>;
  46. #address-cells = <1>;
  47. #size-cells = <0>;
  48. };
  49. i2c107: i2c_sfp3@3 {
  50. reg = <3>;
  51. #address-cells = <1>;
  52. #size-cells = <0>;
  53. };
  54. i2c108: i2c_sfp4@4 {
  55. reg = <4>;
  56. #address-cells = <1>;
  57. #size-cells = <0>;
  58. };
  59. i2c109: i2c_sfp5@5 {
  60. reg = <5>;
  61. #address-cells = <1>;
  62. #size-cells = <0>;
  63. };
  64. };
  65. };
  66. &uart0 {
  67. status = "okay";
  68. };
  69. &uart2 {
  70. status = "okay";
  71. };
  72. &gpio {
  73. i2c_pins: i2c-pins {
  74. pins = "GPIO_7"; /* No "default" scl for i2c0 */
  75. function = "twi";
  76. };
  77. i2cmux_pins_i: i2cmux-pins {
  78. pins = "GPIO_11", "GPIO_12", "GPIO_18", "GPIO_19",
  79. "GPIO_20", "GPIO_21";
  80. function = "twi_scl_m";
  81. output-low;
  82. };
  83. i2cmux_0: i2cmux-0-pins {
  84. pins = "GPIO_11";
  85. function = "twi_scl_m";
  86. output-high;
  87. };
  88. i2cmux_1: i2cmux-1-pins {
  89. pins = "GPIO_12";
  90. function = "twi_scl_m";
  91. output-high;
  92. };
  93. i2cmux_2: i2cmux-2-pins {
  94. pins = "GPIO_18";
  95. function = "twi_scl_m";
  96. output-high;
  97. };
  98. i2cmux_3: i2cmux-3-pins {
  99. pins = "GPIO_19";
  100. function = "twi_scl_m";
  101. output-high;
  102. };
  103. i2cmux_4: i2cmux-4-pins {
  104. pins = "GPIO_20";
  105. function = "twi_scl_m";
  106. output-high;
  107. };
  108. i2cmux_5: i2cmux-5-pins {
  109. pins = "GPIO_21";
  110. function = "twi_scl_m";
  111. output-high;
  112. };
  113. };
  114. &i2c0 {
  115. status = "okay";
  116. i2c-sda-hold-time-ns = <300>;
  117. };