leds-bcm6358.txt 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. LEDs connected to Broadcom BCM6358 controller
  2. This controller is present on BCM6358 and BCM6368.
  3. In these SoCs there are Serial LEDs (LEDs connected to a 74x164 controller),
  4. which can either be controlled by software (exporting the 74x164 as spi-gpio.
  5. See Documentation/devicetree/bindings/gpio/gpio-74x164.txt), or
  6. by hardware using this driver.
  7. Required properties:
  8. - compatible : should be "brcm,bcm6358-leds".
  9. - #address-cells : must be 1.
  10. - #size-cells : must be 0.
  11. - reg : BCM6358 LED controller address and size.
  12. Optional properties:
  13. - brcm,clk-div : SCK signal divider. Possible values are 1, 2, 4 and 8.
  14. Default : 1
  15. - brcm,clk-dat-low : Boolean, makes clock and data signals active low.
  16. Default : false
  17. Each LED is represented as a sub-node of the brcm,bcm6358-leds device.
  18. LED sub-node required properties:
  19. - reg : LED pin number (only LEDs 0 to 31 are valid).
  20. LED sub-node optional properties:
  21. - label : see Documentation/devicetree/bindings/leds/common.txt
  22. - active-low : Boolean, makes LED active low.
  23. Default : false
  24. Examples:
  25. Scenario 1 : BCM6358
  26. leds0: led-controller@fffe00d0 {
  27. compatible = "brcm,bcm6358-leds";
  28. #address-cells = <1>;
  29. #size-cells = <0>;
  30. reg = <0xfffe00d0 0x8>;
  31. alarm_white {
  32. reg = <0>;
  33. active-low;
  34. label = "white:alarm";
  35. };
  36. tv_white {
  37. reg = <2>;
  38. active-low;
  39. label = "white:tv";
  40. };
  41. tel_white {
  42. reg = <3>;
  43. active-low;
  44. label = "white:tel";
  45. };
  46. adsl_white {
  47. reg = <4>;
  48. active-low;
  49. label = "white:adsl";
  50. };
  51. };
  52. Scenario 2 : BCM6368
  53. leds0: led-controller@100000d0 {
  54. compatible = "brcm,bcm6358-leds";
  55. #address-cells = <1>;
  56. #size-cells = <0>;
  57. reg = <0x100000d0 0x8>;
  58. brcm,pol-low;
  59. brcm,clk-div = <4>;
  60. power_red {
  61. reg = <0>;
  62. active-low;
  63. label = "red:power";
  64. };
  65. power_green {
  66. reg = <1>;
  67. active-low;
  68. label = "green:power";
  69. default-state = "on";
  70. };
  71. power_blue {
  72. reg = <2>;
  73. label = "blue:power";
  74. };
  75. broadband_red {
  76. reg = <3>;
  77. active-low;
  78. label = "red:broadband";
  79. };
  80. broadband_green {
  81. reg = <4>;
  82. label = "green:broadband";
  83. };
  84. broadband_blue {
  85. reg = <5>;
  86. active-low;
  87. label = "blue:broadband";
  88. };
  89. wireless_red {
  90. reg = <6>;
  91. active-low;
  92. label = "red:wireless";
  93. };
  94. wireless_green {
  95. reg = <7>;
  96. active-low;
  97. label = "green:wireless";
  98. };
  99. wireless_blue {
  100. reg = <8>;
  101. label = "blue:wireless";
  102. };
  103. phone_red {
  104. reg = <9>;
  105. active-low;
  106. label = "red:phone";
  107. };
  108. phone_green {
  109. reg = <10>;
  110. active-low;
  111. label = "green:phone";
  112. };
  113. phone_blue {
  114. reg = <11>;
  115. label = "blue:phone";
  116. };
  117. upgrading_red {
  118. reg = <12>;
  119. active-low;
  120. label = "red:upgrading";
  121. };
  122. upgrading_green {
  123. reg = <13>;
  124. active-low;
  125. label = "green:upgrading";
  126. };
  127. upgrading_blue {
  128. reg = <14>;
  129. label = "blue:upgrading";
  130. };
  131. };