auxdisplay: Introduce driver for ht16k33 LED controller
Subsystems (5)
Robin van der Gracht
maintainercover auxdisplay: Introduce driver for ht16k33 LED controller
This patch series adds a driver for the ht16k33 LED controller and a new vendor prefix for Holtek Semiconductor Inc.
Robin van der Gracht (2):
of: add vendor prefix for Holtek Semiconductor
auxdisplay: ht16k33: Driver for LED controller
.../devicetree/bindings/display/ht16k33.txt | 42 ++ .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/auxdisplay/Kconfig | 9 + drivers/auxdisplay/Makefile | 1 + drivers/auxdisplay/ht16k33.c | 563 +++++++++++++++++++++ 5 files changed, 616 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/ht16k33.txt create mode 100644 drivers/auxdisplay/ht16k33.c
Signature · 6 lines
2.5.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Robin van der Gracht
maintainerPATCH 1/2 of: add vendor prefix for Holtek Semiconductor
This patch introduces a vendor prefix for Holtek Semiconductor Inc.
--- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/vendor-prefixes.txt +1 -0
@@ -108,6 +108,7 @@ hitex Hitex Development Tools holt Holt Integrated Circuits, Inc. honeywell Honeywell hp Hewlett Packard +ht Holtek Semiconductor Inc. i2se I2SE GmbH ibm International Business Machines (IBM) idt Integrated Device Technologies, Inc.
Signature · 1 line
2.5.0
Rob Herring
maintainerRe: [PATCH 1/2] of: add vendor prefix for Holtek Semiconductor
Quoted 12 lines · Robin van der Gracht
This patch introduces a vendor prefix for Holtek Semiconductor Inc.
Signed-off-by Robin van der Gracht <[email protected]>--- Documentation/devicetree/bindings/vendor-prefixes.txt | 1 + 1 file changed, 1 insertion(+)Documentation/devicetree/bindings/vendor-prefixes.txt +0
-0
Documentation/devicetree/bindings/vendor-prefixes.txt hitex Hitex Development Tools · line 111
Quoted 4 lines
Documentation/devicetree/bindings/vendor-prefixes.txt +1
-0@@ -108,6 +108,7 @@ hitex Hitex Development Tools holt Holt Integrated Circuits, Inc. honeywell Honeywell hp Hewlett Packard +ht Holtek Semiconductor Inc.
I think holtek being a bit longer would be better here.
Quoted 10 lines
Documentation/devicetree/bindings/vendor-prefixes.txt +0
-0i2se I2SE GmbH ibm International Business Machines (IBM) idt Integrated Device Technologies, Inc.Signature · 6 lines
2.5.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Robin van der Gracht
maintainerRe: [PATCH 1/2] of: add vendor prefix for Holtek Semiconductor
Quoted 1 line · On Fri, 18 Mar 2016 16:32:59 -0500 Rob Herring…
I think holtek being a bit longer would be better here.
Thank you for your feedback. I'll adjust this.
Kind regards,
Signature · 6 lines
Robin van der Gracht Protonic Holland -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Robin van der Gracht
maintainerPATCH v4 2/2 auxdisplay: ht16k33: Driver for LED controller
In reply to Robin van der GrachtThis is a driver for the Holtek HT16K33 RAM mapping LED controller with keyscan.
---
Changes in v4:
- Removed trailing dot from patch title
- Removed unused defines
- Fixed brightness range (0 was presumed to be off but its 1/16 duty cycle)
- No longer checking 'reschedule' before setting it in ht16k33_keypad_scan()
- Use more efficient ffs() to find changed rows in ht16k33_keypad_scan()
- Use BIT macro in ht16k33_keypad_scan()
- Removed extra space in return line from ht16k33_bl_check_fb()
- Removed redundant 'Out of Memory' prints from ht16k33_probe()
- Changed bustype from BUS_HOST to BUS_I2C
.../devicetree/bindings/display/ht16k33.txt | 42 ++ drivers/auxdisplay/Kconfig | 9 + drivers/auxdisplay/Makefile | 1 + drivers/auxdisplay/ht16k33.c | 563 +++++++++++++++++++++ 4 files changed, 615 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/ht16k33.txt create mode 100644 drivers/auxdisplay/ht16k33.c
Documentation/devicetree/bindings/display/ht16k33.txt new file +42 -0
@@ -0,0 +1,42 @@ +Holtek ht16k33 RAM mapping 16*8 LED controller driver with keyscan +------------------------------------------------------------------------------- + +Required properties: +- compatible: "ht,ht16k33" +- reg: I2C slave address of the chip. +- interrupt-parent: A phandle pointing to the interrupt controller\ + serving the interrupt for this chip. +- interrupts: Interrupt specification for the key pressed interrupt. +- refresh-rate-hz: Display update interval in HZ. +- debounce-delay-ms: Debouncing interval time in microseconds. +- linux,keymap: The keymap for keys as described in the binding + document (devicetree/bindings/input/matrix-keymap.txt). + +Optional properties: +- linux,no-autorepeat: Disable keyrepeat. +- default-brightness-level: Initial brightness level [0-15] (default: 15). + +Example: + +&i2c1 { + ht16k33: ht16k33@70 { + compatible = "ht,ht16k33"; + reg = <0x70>; + refresh-rate-hz = <20>; + debounce-delay-ms = <50>; + interrupt-parent = <&gpio4>; + interrupts = <5 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>; + linux,keymap = < + MATRIX_KEY(2, 0, KEY_F6) + MATRIX_KEY(3, 0, KEY_F8) + MATRIX_KEY(4, 0, KEY_F0) + MATRIX_KEY(5, 0, KEY_F4) + MATRIX_KEY(6, 0, KEY_F2) + MATRIX_KEY(2, 1, KEY_F5) + MATRIX_KEY(3, 1, KEY_F7) + MATRIX_KEY(4, 1, KEY_F9) + MATRIX_KEY(5, 1, KEY_F3) + MATRIX_KEY(6, 1, KEY_F1) + >; + }; +};
drivers/auxdisplay/Kconfig +9 -0
@@ -119,4 +119,13 @@ config CFAG12864B_RATE If you compile this as a module, you can still override this value using the module parameters. +config HT16K33 + tristate "Holtek Ht16K33 LED controller with keyscan" + depends on FB && OF && I2C && INPUT + select INPUT_MATRIXKMAP + select FB_BACKLIGHT + help + Say yes here to add support for Holtek HT16K33, RAM mapping 16*8 + LED controller driver with keyscan. + endif # AUXDISPLAY
drivers/auxdisplay/Makefile +1 -0
@@ -4,3 +4,4 @@ obj-$(CONFIG_KS0108) += ks0108.o obj-$(CONFIG_CFAG12864B) += cfag12864b.o cfag12864bfb.o +obj-$(CONFIG_HT16K33) += ht16k33.o
drivers/auxdisplay/ht16k33.c new file +563 -0
563 lines not on this page · raw message
Signature · 1 line
2.5.0
Rob Herring
maintainerRe: [PATCH v4 2/2] auxdisplay: ht16k33: Driver for LED controller
Quoted 1 line · Robin van der Gracht
This is a driver for the Holtek HT16K33 RAM mapping LED controller with keyscan.
Wrap your lines to less than 80 chars.
Quoted 28 lines
Signed-off-by Robin van der Gracht <robin-/Q/[email protected]>---
Changes in v4:
- Removed trailing dot from patch title
- Removed unused defines
- Fixed brightness range (0 was presumed to be off but its 1/16 duty cycle)
- No longer checking 'reschedule' before setting it inht16k33_keypad_scan()
- Use more efficientffs()to find changed rows inht16k33_keypad_scan()
- Use BIT macro inht16k33_keypad_scan()
- Removed extra space in return line fromht16k33_bl_check_fb()
- Removed redundant 'Out of Memory' prints fromht16k33_probe()
- Changed bustype fromBUS_HOSTtoBUS_I2C.../devicetree/bindings/display/ht16k33.txt | 42 ++ drivers/auxdisplay/Kconfig | 9 + drivers/auxdisplay/Makefile | 1 + drivers/auxdisplay/ht16k33.c | 563 +++++++++++++++++++++ 4 files changed, 615 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/ht16k33.txt create mode 100644 drivers/auxdisplay/ht16k33.cDocumentation/devicetree/bindings/display/ht16k33.txt new file +0
-0
Documentation/devicetree/bindings/display/ht16k33.txt line 7
Quoted 7 lines
Documentation/devicetree/bindings/display/ht16k33.txt new file +7
-0@@ -0,0 +1,42 @@ +Holtek ht16k33 RAM mapping 16*8 LED controller driver with keyscan +------------------------------------------------------------------------------- + +Required properties: +- compatible: "ht,ht16k33" +- reg: I2C slave address of the chip. +- interrupt-parent: A phandle pointing to the interrupt controller\
Drop the \
Quoted 25 lines
Documentation/devicetree/bindings/display/ht16k33.txt new file +25
-0+ serving the interrupt for this chip. +- interrupts: Interrupt specification for the key pressed interrupt. +- refresh-rate-hz: Display update interval in HZ. +- debounce-delay-ms: Debouncing interval time in microseconds. +- linux,keymap: The keymap for keys as described in the binding + document (devicetree/bindings/input/matrix-keymap.txt). + +Optional properties: +- linux,no-autorepeat: Disable keyrepeat. +- default-brightness-level: Initial brightness level [0-15] (default: 15). + +Example: + +&i2c1 { + ht16k33: ht16k33@70 { + compatible = "ht,ht16k33"; + reg = <0x70>; + refresh-rate-hz = <20>; + debounce-delay-ms = <50>; + interrupt-parent = <&gpio4>; + interrupts = <5 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>; + linux,keymap = < + MATRIX_KEY(2, 0, KEY_F6) + MATRIX_KEY(3, 0, KEY_F8) + MATRIX_KEY(4, 0, KEY_F0)
Documentation/devicetree/bindings/display/ht16k33.txt line 42
Quoted 10 lines
Documentation/devicetree/bindings/display/ht16k33.txt new file +10
-0+ MATRIX_KEY(5, 0, KEY_F4) + MATRIX_KEY(6, 0, KEY_F2) + MATRIX_KEY(2, 1, KEY_F5) + MATRIX_KEY(3, 1, KEY_F7) + MATRIX_KEY(4, 1, KEY_F9) + MATRIX_KEY(5, 1, KEY_F3) + MATRIX_KEY(6, 1, KEY_F1) + >; + }; +};
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Robin van der Gracht
maintainerRe: [PATCH v4 2/2] auxdisplay: ht16k33: Driver for LED controller
Quoted 5 lines · On Fri, 18 Mar 2016 16:42:17 -0500 Rob Herring <[email protected]> wrote:
Quoted 2 lines · Robin van der Gracht
This is a driver for the Holtek HT16K33 RAM mapping LED controller with keyscan.
Wrap your lines to less than 80 chars.
I must have missed that one..
Quoted 27 lines
Quoted 27 lines
Signed-off-by Robin van der Gracht <[email protected]>---
Changes in v4:
- Removed trailing dot from patch title
- Removed unused defines
- Fixed brightness range (0 was presumed to be off but its 1/16
duty cycle)
- No longer checking 'reschedule' before setting it inht16k33_keypad_scan()
- Use more efficientffs()to find changed rows inht16k33_keypad_scan()
- Use BIT macro inht16k33_keypad_scan()
- Removed extra space in return line fromht16k33_bl_check_fb()
- Removed redundant 'Out of Memory' prints fromht16k33_probe()
- Changed bustype fromBUS_HOSTtoBUS_I2C.../devicetree/bindings/display/ht16k33.txt | 42 ++ drivers/auxdisplay/Kconfig | 9 + drivers/auxdisplay/Makefile | 1 + drivers/auxdisplay/ht16k33.c | 563 +++++++++++++++++++++ 4 files changed, 615 insertions(+) create mode 100644
Documentation/devicetree/bindings/display/ht16k33.txtcreate mode 100644drivers/auxdisplay/ht16k33.c
Quoted 16 lines
Quoted 13 lines
(quoted diff) +0
-0
b/Documentation/devicetree/bindings/display/ht16k33.txtnew file mode 100644 index 0000000..20ef996Documentation/devicetree/bindings/display/ht16k33.txt new file +7
-0@@ -0,0 +1,42 @@ +Holtek ht16k33 RAM mapping 16*8 LED controller driver with keyscan +------------------------------------------------------------------------------- + +Required properties: +- compatible: "ht,ht16k33" +- reg: I2C slave address of the chip. +- interrupt-parent: A phandle pointing to the interruptQuoted 1 line
controller\
Drop the \
Will do.
Quoted 30 lines
Quoted 30 lines
Documentation/devicetree/bindings/display/ht16k33.txt new file +2
-0+ serving the interrupt for this chip. +- interrupts: Interrupt specification for the keypressed interrupt. +- refresh-rate-hz: Display update
interval in HZ. +- debounce-delay-ms: Debouncing interval
time in microseconds. +- linux,keymap: The keymap for keys
as described in the bindingDocumentation/devicetree/bindings/display/ht16k33.txt new file +1
-0+ document(
devicetree/bindings/input/matrix-keymap.txt). +
+Optional properties:+- linux,no-autorepeat: Disable keyrepeat. +- default-brightness-level: Initial brightness level [0-15](default: 15). +
Documentation/devicetree/bindings/display/ht16k33.txt new file +10
-0+Example: + +&i2c1 { + ht16k33: ht16k33@70 { + compatible = "ht,ht16k33"; + reg = <0x70>; + refresh-rate-hz = <20>; + debounce-delay-ms = <50>; + interrupt-parent = <&gpio4>; + interrupts = <5 (IRQ_TYPE_LEVEL_HIGH |
IRQ_TYPE_EDGE_RISING)>;Documentation/devicetree/bindings/display/ht16k33.txt new file +6
-0+ linux,keymap = < + MATRIX_KEY(2, 0, KEY_F6) + MATRIX_KEY(3, 0, KEY_F8) + MATRIX_KEY(4, 0, KEY_F0) + MATRIX_KEY(5, 0, KEY_F4) + MATRIX_KEY(6, 0, KEY_F2)
Quoted 8 lines
Documentation/devicetree/bindings/display/ht16k33.txt line 42
Quoted 8 lines
Documentation/devicetree/bindings/display/ht16k33.txt new file +8
-0+ MATRIX_KEY(2, 1, KEY_F5) + MATRIX_KEY(3, 1, KEY_F7) + MATRIX_KEY(4, 1, KEY_F9) + MATRIX_KEY(5, 1, KEY_F3) + MATRIX_KEY(6, 1, KEY_F1) + >; + }; +};
Best regards,
Signature · 2 lines
Robin van der Gracht Protonic Holland