Messages in this thread | | | From | shruthi.sanil@intel ... | Subject | [PATCH v10 0/2] Add the driver for Intel Keem Bay SoC timer block | Date | Tue, 22 Mar 2022 18:30:03 +0530 |
| |
From: Shruthi Sanil <shruthi.sanil@intel.com>
The timer block supports 1 64-bit free running counter and 8 32-bit general purpose timers.
Patch 1 holds the device tree binding documentation. Patch 2 holds the device driver.
This driver is tested on the Keem Bay evaluation module board.
Changes since v9: - Updated the error message with the macro FW_BUG wherever applicable.
Changes since v8: - The clockevent stucture has been declared as a global static variable, rather than allocating memory using kzalloc during probing. - Updated the print statement indicating the configuration missing as the FW Bug. - Updated the comments in the function keembay_timer_isr(). - Updated the dt-binding to remove 'oneOf' as there is only 1 entry. - Updated the dt-binding description clearly indicating that the descrption is about the undelying HW.
Changes since v7: - Added back the compatible string "intel,keembay-gpt-creg" as an enum to the mfd device node in the device tree bindings. - As the timer is used as a broadcast timer during CPU idle, only one timer is needed. Hence updated the driver accordingly incorporating the review comments.
Changes since v6: - Removed the unused compatible string from the mfd device node to fix the error thrown by the make dt-binding command.
Changes since v5: - Created a MFD device for the common configuration register in the device tree bindings. - Updated the timer driver with the MFD framework to access the common configuration register.
Changes since v4: - Updated the description in the device tree bindings. - Updated the unit address of all the timers and counter in the device tree binding.
Changes since v3: - Update in KConfig file to support COMPILE_TEST for Keem Bay timer. - Update in device tree bindings to remove status field. - Update in device tree bindings to remove 64-bit address space for the child nodes by using non-empty ranges.
Changes since v2: - Add multi timer support. - Update in the device tree binding to support multi timers. - Code optimization.
Changes since v1: - Add support for KEEMBAY_TIMER to get selected through Kconfig.platforms. - Add CLOCK_EVT_FEAT_DYNIRQ as part of clockevent feature. - Avoid overlapping reg regions across 2 device nodes. - Simplify 2 device nodes as 1 because both are from same IP block. - Adapt the driver code according to the new simplified devicetree.
Shruthi Sanil (2): dt-bindings: timer: Add bindings for Intel Keem Bay SoC Timer clocksource: Add Intel Keem Bay timer support
.../bindings/timer/intel,keembay-timer.yaml | 125 ++++++++++ MAINTAINERS | 6 + drivers/clocksource/Kconfig | 11 + drivers/clocksource/Makefile | 1 + drivers/clocksource/timer-keembay.c | 226 ++++++++++++++++++ 5 files changed, 369 insertions(+) create mode 100644 Documentation/devicetree/bindings/timer/intel,keembay-timer.yaml create mode 100644 drivers/clocksource/timer-keembay.c
base-commit: ffb217a13a2eaf6d5bd974fc83036a53ca69f1e2 -- 2.17.1
| |