leds-bcm6358.txt 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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. - default-state : see
  25. Documentation/devicetree/bindings/leds/leds-gpio.txt
  26. - linux,default-trigger : see
  27. Documentation/devicetree/bindings/leds/common.txt
  28. Examples:
  29. Scenario 1 : BCM6358
  30. leds0: led-controller@fffe00d0 {
  31. compatible = "brcm,bcm6358-leds";
  32. #address-cells = <1>;
  33. #size-cells = <0>;
  34. reg = <0xfffe00d0 0x8>;
  35. alarm_white {
  36. reg = <0>;
  37. active-low;
  38. label = "white:alarm";
  39. };
  40. tv_white {
  41. reg = <2>;
  42. active-low;
  43. label = "white:tv";
  44. };
  45. tel_white {
  46. reg = <3>;
  47. active-low;
  48. label = "white:tel";
  49. };
  50. adsl_white {
  51. reg = <4>;
  52. active-low;
  53. label = "white:adsl";
  54. };
  55. };
  56. Scenario 2 : BCM6368
  57. leds0: led-controller@100000d0 {
  58. compatible = "brcm,bcm6358-leds";
  59. #address-cells = <1>;
  60. #size-cells = <0>;
  61. reg = <0x100000d0 0x8>;
  62. brcm,pol-low;
  63. brcm,clk-div = <4>;
  64. power_red {
  65. reg = <0>;
  66. active-low;
  67. label = "red:power";
  68. };
  69. power_green {
  70. reg = <1>;
  71. active-low;
  72. label = "green:power";
  73. default-state = "on";
  74. };
  75. power_blue {
  76. reg = <2>;
  77. label = "blue:power";
  78. };
  79. broadband_red {
  80. reg = <3>;
  81. active-low;
  82. label = "red:broadband";
  83. };
  84. broadband_green {
  85. reg = <4>;
  86. label = "green:broadband";
  87. };
  88. broadband_blue {
  89. reg = <5>;
  90. active-low;
  91. label = "blue:broadband";
  92. };
  93. wireless_red {
  94. reg = <6>;
  95. active-low;
  96. label = "red:wireless";
  97. };
  98. wireless_green {
  99. reg = <7>;
  100. active-low;
  101. label = "green:wireless";
  102. };
  103. wireless_blue {
  104. reg = <8>;
  105. label = "blue:wireless";
  106. };
  107. phone_red {
  108. reg = <9>;
  109. active-low;
  110. label = "red:phone";
  111. };
  112. phone_green {
  113. reg = <10>;
  114. active-low;
  115. label = "green:phone";
  116. };
  117. phone_blue {
  118. reg = <11>;
  119. label = "blue:phone";
  120. };
  121. upgrading_red {
  122. reg = <12>;
  123. active-low;
  124. label = "red:upgrading";
  125. };
  126. upgrading_green {
  127. reg = <13>;
  128. active-low;
  129. label = "green:upgrading";
  130. };
  131. upgrading_blue {
  132. reg = <14>;
  133. label = "blue:upgrading";
  134. };
  135. };