Rename AE3XX timer to ATCPIT100
v3 cover Rename AE3XX timer to ATCPIT100
From: Rick Chen <[email protected]>
Changelog v3
- Patch 1/4: No change.
- Patch 2/4: No change.
- Patch 3/4: New.
- Patch 4/4: No change.
Patch 3/4 1. Use dev_get_platdata to get dev private platdata.
Rick Chen (4):
ae3xx: timer: Rename AE3XX to ATCPIT100
cosmetic: atcpit100_timer: Rename function name as atcpit100
cosmetic: atcpit100_timer: Use device api to get platdata
dt-bindings: timer: Add andestech atcpit100 timer
configs/adp-ae3xx_defconfig | 2 +- doc/device-tree-bindings/timer/atcpit100_timer.txt | 31 ++++++ drivers/timer/Kconfig | 7 +- drivers/timer/Makefile | 2 +- drivers/timer/ae3xx_timer.c | 117 --------------------- drivers/timer/atcpit100_timer.c | 117 +++++++++++++++++++++ 6 files changed, 154 insertions(+), 122 deletions(-) create mode 100644 doc/device-tree-bindings/timer/atcpit100_timer.txt delete mode 100644 drivers/timer/ae3xx_timer.c create mode 100644 drivers/timer/atcpit100_timer.c
Signature · 1 line
2.7.4
PATCH v3 1/4 ae3xx: timer: Rename AE3XX to ATCPIT100
From: Rick Chen <[email protected]>
ATCPIT100 is Andestech timer IP which is embeded
in AE3XX and AE250 boards. So rename AE3XX to
ATCPIT100 will be more make sence.
--- configs/adp-ae3xx_defconfig | 2 +- drivers/timer/Kconfig | 7 +-- drivers/timer/Makefile | 2 +- drivers/timer/ae3xx_timer.c | 117 ---------------------------------------- drivers/timer/atcpit100_timer.c | 117 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 123 insertions(+), 122 deletions(-) delete mode 100644 drivers/timer/ae3xx_timer.c create mode 100644 drivers/timer/atcpit100_timer.c
configs/adp-ae3xx_defconfig +1 -1
@@ -35,4 +35,4 @@ CONFIG_SYS_NS16550=y CONFIG_DM_SPI=y CONFIG_NDS_AE3XX_SPI=y CONFIG_TIMER=y -CONFIG_AE3XX_TIMER=y +CONFIG_ATCPIT100_TIMER=y
drivers/timer/Kconfig +4 -3
@@ -105,11 +105,12 @@ config AG101P_TIMER help Select this to enable a timer for AG01P devices. -config AE3XX_TIMER - bool "AE3XX timer support" +config ATCPIT100_TIMER + bool "ATCPIT100 timer support" depends on TIMER && NDS32 help - Select this to enable a timer for AE3XX devices. + Select this to enable a ATCPIT100 timer which will be embeded + in AE3XX, AE250 boards. config ROCKCHIP_TIMER bool "Rockchip timer support"
drivers/timer/Makefile +1 -1
@@ -13,6 +13,6 @@ obj-$(CONFIG_AST_TIMER) += ast_timer.o obj-$(CONFIG_STI_TIMER) += sti-timer.o obj-$(CONFIG_ARC_TIMER) += arc_timer.o obj-$(CONFIG_AG101P_TIMER) += ag101p_timer.o -obj-$(CONFIG_AE3XX_TIMER) += ae3xx_timer.o +obj-$(CONFIG_ATCPIT100_TIMER) += atcpit100_timer.o obj-$(CONFIG_ROCKCHIP_TIMER) += rockchip_timer.o obj-$(CONFIG_ATMEL_PIT_TIMER) += atmel_pit_timer.o
drivers/timer/ae3xx_timer.c deleted +0 -117
117 lines not on this page · raw message
drivers/timer/atcpit100_timer.c new file +117 -0
117 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH v3 2/4 cosmetic: atcpit100_timer: Rename function name as atcpit100
In reply to AndesFrom: Rick Chen <[email protected]>
Integrate function and struct name as atcpit100 will be more reasonable.
--- drivers/timer/atcpit100_timer.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-)
drivers/timer/atcpit100_timer.c +17 -17
@@ -67,51 +67,51 @@ struct atctmr_timer_regs {u32 int_mask;/* 0x38 */ }; -struct atftmr_timer_platdata { +struct atcpit_timer_platdata {u32 *regs; }; -static int atftmr_timer_get_count (struct udevice *dev,u64 *count) +static int atcpit_timer_get_count (struct udevice *dev,u64 *count) { -struct atftmr_timer_platdata *plat = dev->platdata; +struct atcpit_timer_platdata *plat = dev->platdata;u32 val; val = ~(REG32_TMR (CH_CNT (1 ))+0xffffffff ); *count =timer_conv_64 (val);return 0 ; } -static int atctmr_timer_probe (struct udevice *dev) +static int atcpit_timer_probe (struct udevice *dev) { -struct atftmr_timer_platdata *plat = dev->platdata; +struct atcpit_timer_platdata *plat = dev->platdata;REG32_TMR (CH_REL (1 )) =0xffffffff ;REG32_TMR (CH_CTL (1 )) =APB_CLK |TMR_32 ;REG32_TMR (CH_EN ) |=CH_TMR_EN (1 ,0 );return 0 ; } -static int atctme_timer_ofdata_to_platdata (struct udevice *dev) +static int atcpit_timer_ofdata_to_platdata (struct udevice *dev) { -struct atftmr_timer_platdata *plat =dev_get_platdata (dev); +struct atcpit_timer_platdata *plat =dev_get_platdata (dev); plat->regs =map_physmem (devfdt_get_addr (dev) ,0x100 ,MAP_NOCACHE );return 0 ; } -static const struct timer_ops ag101p_timer_ops = { - .get_count = atftmr_timer_get_count, +static const struct timer_ops atcpit_timer_ops = { + .get_count = atcpit_timer_get_count, }; -static const struct udevice_id ag101p_timer_ids[] = { +static const struct udevice_id atcpit_timer_ids[] = { { .compatible ="andestech,atcpit100" }, {} }; -U_BOOT_DRIVER (altera_timer) = { - .name ="ae3xx_timer" , +U_BOOT_DRIVER (atcpit100_timer) = { + .name ="atcpit100_timer" , .id =UCLASS_TIMER , - .of_match = ag101p_timer_ids, - .ofdata_to_platdata = atctme_timer_ofdata_to_platdata, - .platdata_auto_alloc_size =sizeof (struct atftmr_timer_platdata ), - .probe = atctmr_timer_probe, - .ops = &ag101p_timer_ops, + .of_match = atcpit_timer_ids, + .ofdata_to_platdata = atcpit_timer_ofdata_to_platdata, + .platdata_auto_alloc_size =sizeof (struct atcpit_timer_platdata ), + .probe = atcpit_timer_probe, + .ops = &atcpit_timer_ops, .flags =DM_FLAG_PRE_RELOC , };
Signature · 1 line
2.7.4
PATCH v3 3/4 cosmetic: atcpit100_timer: Use device api to get platdata
In reply to AndesFrom: Rick Chen <[email protected]>
Use dev_get_platdata to get private platdata.
--- drivers/timer/atcpit100_timer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/timer/atcpit100_timer.c +2 -2
@@ -73,7 +73,7 @@ struct atcpit_timer_platdata {static int atcpit_timer_get_count (struct udevice *dev,u64 *count) { -struct atcpit_timer_platdata *plat = dev->platdata; +struct atcpit_timer_platdata *plat =dev_get_platdata (dev);u32 val; val = ~(REG32_TMR (CH_CNT (1 ))+0xffffffff ); *count =timer_conv_64 (val);
@@ -82,7 +82,7 @@ static int atcpit_timer_get_count(struct udevice *dev, u64 *count)static int atcpit_timer_probe (struct udevice *dev) { -struct atcpit_timer_platdata *plat = dev->platdata; +struct atcpit_timer_platdata *plat =dev_get_platdata (dev);REG32_TMR (CH_REL (1 )) =0xffffffff ;REG32_TMR (CH_CTL (1 )) =APB_CLK |TMR_32 ;REG32_TMR (CH_EN ) |=CH_TMR_EN (1 ,0 );
Signature · 1 line
2.7.4
PATCH v3 4/4 dt-bindings: timer: Add andestech atcpit100 timer
In reply to AndesFrom: Rick Chen <[email protected]>
Add a document to describe Andestech atcpit100 timer and binding information.
--- doc/device-tree-bindings/timer/atcpit100_timer.txt | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 doc/device-tree-bindings/timer/atcpit100_timer.txt
doc/device-tree-bindings/timer/atcpit100_timer.txt new file +31 -0
@@ -0,0 +1,31 @@ +Andestech ATCPIT100 timer +------------------------------------------------------------------ +ATCPIT100 is a generic IP block from Andes Technology, embedded in +Andestech AE3XX, AE250 platforms and other designs. + +This timer is a set of compact multi-function timers, which can be +used as pulse width modulators (PWM) as well as simple timers. + +It supports up to 4 PIT channels. Each PIT channel is a +multi-function timer and provide the following usage scenarios: +One 32-bit timer +Two 16-bit timers +Four 8-bit timers +One 16-bit PWM +One 16-bit timer and one 8-bit PWM +Two 8-bit timer and one 8-bit PWM + +Required properties: +- compatible : Should be "andestech,atcpit100" +- reg : Address and length of the register set +- interrupts : Reference to the timer interrupt +- clock-frequency : The rate in HZ in input of the Andestech ATCPIT100 timer + +Examples: + +timer0: timer at f0400000 { + compatible = "andestech,atcpit100"; + reg = <0xf0400000 0x1000>; + interrupts = <2 4>; + clock-frequency = <30000000>; +}:
Signature · 1 line
2.7.4