This brings over the few know-how items and little things I found about the BCMBCA LEDs in my previous duplicate driver. This was tested on the BCM6846-based Genexis XG6846B. The main addition is the ability to define the number shifting bits in the serial shift register which is necessary if the previous boot stages have not set up the hardware properly before. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> --- Changes in v4: - Rebase on v6.12-rc1 - Add define for BCM63138_GLB_CTRL_SERIAL_LED_CLK_POL - Rename the BCM63138_POWER_LUT to BCM63138_POWER_LUT_BASE0 - Link to v3: https://lore.kernel.org/r/20241004-bcm63138-leds-v3-0-ba99a8e464b9@xxxxxxxxxx Changes in v3: - Mention in the DT binding that hardware defaults will be used if the property is missing. - Link to v2: https://lore.kernel.org/r/20240928-bcm63138-leds-v2-0-f6aa4d4d6ef2@xxxxxxxxxx Changes in v2: - Drop the u32 $ref in the schema, -bits is a standard suffix. - Fix algorithm for shift register configuration. - Fix spelling errors and numbering errors. - Link to v1: https://lore.kernel.org/r/20240920-bcm63138-leds-v1-0-c150871324a0@xxxxxxxxxx --- Linus Walleij (4): dt-bindings: leds: bcm63138: Add shift register bits leds: bcm63138: Use scopes and guards leds: bcm63138: Handle shift register config leds: bcm63138: Add some register defines .../devicetree/bindings/leds/leds-bcm63138.yaml | 11 ++++++++ drivers/leds/blink/leds-bcm63138.c | 29 +++++++++++++--------- 2 files changed, 28 insertions(+), 12 deletions(-) --- base-commit: 840f68b874cfa5990e151f8716d33bf08098dda7 change-id: 20240920-bcm63138-leds-1bc5f41c47cd Best regards, -- Linus Walleij <linus.walleij@xxxxxxxxxx>