Hello,
This patch set adds DT bindings to the Renesas CMT, MTU2 and TMU timers.
Patches 02/19 to 13/19, 16/19 and 17/19 have already been posted in the
previous version of this series. Patches 14/19, 15/19, 18/19 and 19/19 are
new.
The first 11 patches should go through the timers tree while the last 8
patches should go through the Renesas SoC tree. Patches 12/19 to 15/19 have
no build time or run time dependency on the drivers changes. Patches 16/19 to
19/19 may have a run time dependency on the drivers changes depending on the
kernel configuration. Patches 16/19 and 17/19, for instance, require the
driver changes only when architected timer support isn't enabled in the
kernel.
Changes since v3:
- Fixed TMU interrupt numbers
- Fixed NULL platform device ID dereference in TMU driver
- Removed interrupt-parent property from documentation
- Add missing of_match_ptr() and __maybe_unused() annotations
Changes since v2:
- Rebased on top of Simon's latest devel branch
Changes since v1:
- Dropped the channel subnodes from the CMT DT bindings and just use a
channels mask, as we don't need to specify per-channel properties.
(I'm slightly uncertain about this change though, as I can't easily predict
whether per-channel properties would be needed later for new hardware. It
won't be difficult to reintroduce channel subnodes then, so I'd rather not
clutter the DT bindings with channel subnodes now. Please feel free to
disagree.)
Cc: devicetree at vger.kernel.org
Laurent Pinchart (19):
clocksource: sh_tmu: Fix channel IRQ retrieval in legacy case
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device
spinlock
clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device
spinlock
clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device
spinlock
clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
ARM: shmobile: r8a7790: Add CMT devices to DT
ARM: shmobile: r8a7791: Add CMT devices to DT
ARM: shmobile: r8a7779: Add TMU devices to DT
ARM: shmobile: r7s72100: Add MTU2 device to DT
ARM: shmobile: lager-reference: Enable CMT0 in device tree
ARM: shmobile: koelsch-reference: Enable CMT0 in device tree
ARM: shmobile: marzen-reference: Enable TMU0 in device tree
ARM: shmobile: genmai-reference: Enable MTU2 in device tree
.../devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
.../devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
arch/arm/boot/dts/r7s72100-genmai.dts | 4 +
arch/arm/boot/dts/r7s72100.dtsi | 10 +
arch/arm/boot/dts/r8a7779-marzen.dts | 4 +
arch/arm/boot/dts/r8a7779.dtsi | 42 ++++
arch/arm/boot/dts/r8a7790-lager.dts | 4 +
arch/arm/boot/dts/r8a7790.dtsi | 32 +++
arch/arm/boot/dts/r8a7791-koelsch.dts | 4 +
arch/arm/boot/dts/r8a7791.dtsi | 32 +++
arch/arm/mach-shmobile/board-genmai-reference.c | 16 --
arch/arm/mach-shmobile/board-genmai.c | 14 +-
arch/arm/mach-shmobile/board-koelsch-reference.c | 2 -
arch/arm/mach-shmobile/board-lager-reference.c | 2 -
arch/arm/mach-shmobile/board-marzen-reference.c | 10 -
arch/arm/mach-shmobile/include/mach/r7s72100.h | 1 -
arch/arm/mach-shmobile/include/mach/r8a7779.h | 1 -
arch/arm/mach-shmobile/include/mach/r8a7790.h | 1 -
arch/arm/mach-shmobile/include/mach/r8a7791.h | 1 -
arch/arm/mach-shmobile/setup-r7s72100.c | 21 --
arch/arm/mach-shmobile/setup-r8a7779.c | 17 +-
arch/arm/mach-shmobile/setup-r8a7790.c | 7 +-
arch/arm/mach-shmobile/setup-r8a7791.c | 7 +-
drivers/clocksource/sh_cmt.c | 233 ++++++++-------------
drivers/clocksource/sh_mtu2.c | 146 ++++---------
drivers/clocksource/sh_tmu.c | 129 +++++-------
include/linux/sh_timer.h | 5 -
28 files changed, 462 insertions(+), 408 deletions(-)
create mode 100644 Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,tmu.txt
--
Regards,
Laurent Pinchart
In the legacy platform data case each TMU platform device handles a
single channel with a single IRQ for the platform device. Retrieve the
IRQ using the logical channel number instead of the hardware channel
number.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Simon Horman <redacted>
---
drivers/clocksource/sh_tmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -498,7 +498,7 @@ static int sh_tmu_channel_setup(struct sh_tmu_channel *ch, unsigned int index,ch->base=tmu->mapbase+8+ch->index*12;}-ch->irq=platform_get_irq(tmu->pdev,ch->index);+ch->irq=platform_get_irq(tmu->pdev,index);if(ch->irq<0){dev_err(&tmu->pdev->dev,"ch%u: failed to get irq\n",ch->index);
Now that all platforms have switched to the new-style platform data,
drop support for the legacy version.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Simon Horman <redacted>
---
drivers/clocksource/sh_cmt.c | 172 ++++++++++---------------------------------
1 file changed, 40 insertions(+), 132 deletions(-)
@@ -792,7 +790,7 @@ static int sh_cmt_register_clockevent(struct sh_cmt_channel *ch,intirq;intret;-irq=platform_get_irq(ch->cmt->pdev,ch->cmt->legacy?0:ch->index);+irq=platform_get_irq(ch->cmt->pdev,ch->index);if(irq<0){dev_err(&ch->cmt->pdev->dev,"ch%u: failed to get irq\n",ch->index);
@@ -863,33 +861,26 @@ static int sh_cmt_setup_channel(struct sh_cmt_channel *ch, unsigned int index,*Computetheaddressofthechannelcontrolregisterblock.Forthe*timerswithaper-channelstart/stopregister,computeitsaddress*aswell.-*-*Forlegacyconfigurationtheaddresshasbeenmappedexplicitly.*/-if(cmt->legacy){-ch->ioctrl=cmt->mapbase_ch;-}else{-switch(cmt->info->model){-caseSH_CMT_16BIT:-ch->ioctrl=cmt->mapbase+2+ch->hwidx*6;-break;-caseSH_CMT_32BIT:-caseSH_CMT_48BIT:-ch->ioctrl=cmt->mapbase+0x10+ch->hwidx*0x10;-break;-caseSH_CMT_32BIT_FAST:-/*-*The32-bit"fast"timerhasasinglechannelathwidx-*5butislocatedatoffset0x40insteadof0x60for-*somereason.-*/-ch->ioctrl=cmt->mapbase+0x40;-break;-caseSH_CMT_48BIT_GEN2:-ch->iostart=cmt->mapbase+ch->hwidx*0x100;-ch->ioctrl=ch->iostart+0x10;-break;-}+switch(cmt->info->model){+caseSH_CMT_16BIT:+ch->ioctrl=cmt->mapbase+2+ch->hwidx*6;+break;+caseSH_CMT_32BIT:+caseSH_CMT_48BIT:+ch->ioctrl=cmt->mapbase+0x10+ch->hwidx*0x10;+break;+caseSH_CMT_32BIT_FAST:+/*+*The32-bit"fast"timerhasasinglechannelathwidx5but+*islocatedatoffset0x40insteadof0x60forsomereason.+*/+ch->ioctrl=cmt->mapbase+0x40;+break;+caseSH_CMT_48BIT_GEN2:+ch->iostart=cmt->mapbase+ch->hwidx*0x100;+ch->ioctrl=ch->iostart+0x10;+break;}if(cmt->info->width==(sizeof(ch->max_match_value)*8))
@@ -900,12 +891,7 @@ static int sh_cmt_setup_channel(struct sh_cmt_channel *ch, unsigned int index,ch->match_value=ch->max_match_value;raw_spin_lock_init(&ch->lock);-if(cmt->legacy){-ch->timer_bit=ch->hwidx;-}else{-ch->timer_bit=cmt->info->model==SH_CMT_48BIT_GEN2-?0:ch->hwidx;-}+ch->timer_bit=cmt->info->model==SH_CMT_48BIT_GEN2?0:ch->hwidx;ret=sh_cmt_register(ch,dev_name(&cmt->pdev->dev),clockevent,clocksource);
@@ -938,60 +924,12 @@ static int sh_cmt_map_memory(struct sh_cmt_device *cmt)return0;}-staticintsh_cmt_map_memory_legacy(structsh_cmt_device*cmt)-{-structsh_timer_config*cfg=cmt->pdev->dev.platform_data;-structresource*res,*res2;--/* map memory, let mapbase_ch point to our channel */-res=platform_get_resource(cmt->pdev,IORESOURCE_MEM,0);-if(!res){-dev_err(&cmt->pdev->dev,"failed to get I/O memory\n");-return-ENXIO;-}--cmt->mapbase_ch=ioremap_nocache(res->start,resource_size(res));-if(cmt->mapbase_ch==NULL){-dev_err(&cmt->pdev->dev,"failed to remap I/O memory\n");-return-ENXIO;-}--/* optional resource for the shared timer start/stop register */-res2=platform_get_resource(cmt->pdev,IORESOURCE_MEM,1);--/* map second resource for CMSTR */-cmt->mapbase=ioremap_nocache(res2?res2->start:-res->start-cfg->channel_offset,-res2?resource_size(res2):2);-if(cmt->mapbase==NULL){-dev_err(&cmt->pdev->dev,"failed to remap I/O second memory\n");-iounmap(cmt->mapbase_ch);-return-ENXIO;-}--/* identify the model based on the resources */-if(resource_size(res)==6)-cmt->info=&sh_cmt_info[SH_CMT_16BIT];-elseif(res2&&(resource_size(res2)==4))-cmt->info=&sh_cmt_info[SH_CMT_48BIT_GEN2];-else-cmt->info=&sh_cmt_info[SH_CMT_32BIT];--return0;-}--staticvoidsh_cmt_unmap_memory(structsh_cmt_device*cmt)-{-iounmap(cmt->mapbase);-if(cmt->mapbase_ch)-iounmap(cmt->mapbase_ch);-}-staticintsh_cmt_setup(structsh_cmt_device*cmt,structplatform_device*pdev){structsh_timer_config*cfg=pdev->dev.platform_data;conststructplatform_device_id*id=pdev->id_entry;-unsignedinthw_channels;+unsignedintmask;+unsignedinti;intret;memset(cmt,0,sizeof(*cmt));
@@ -1003,10 +941,9 @@ static int sh_cmt_setup(struct sh_cmt_device *cmt, struct platform_device *pdev)}cmt->info=(conststructsh_cmt_info*)id->driver_data;-cmt->legacy=cmt->info?false:true;/* Get hold of clock. */-cmt->clk=clk_get(&cmt->pdev->dev,cmt->legacy?"cmt_fck":"fck");+cmt->clk=clk_get(&cmt->pdev->dev,"fck");if(IS_ERR(cmt->clk)){dev_err(&cmt->pdev->dev,"cannot get clock\n");returnPTR_ERR(cmt->clk);
@@ -1016,27 +953,13 @@ static int sh_cmt_setup(struct sh_cmt_device *cmt, struct platform_device *pdev)if(ret<0)gotoerr_clk_put;-/*-*Mapthememoryresource(s).Weneedtosupportboththelegacy-*platformdeviceconfiguration(withonedeviceperchannel)andthe-*newversion(withmultiplechannelsperdevice).-*/-if(cmt->legacy)-ret=sh_cmt_map_memory_legacy(cmt);-else-ret=sh_cmt_map_memory(cmt);-+/* Map the memory resource(s). */+ret=sh_cmt_map_memory(cmt);if(ret<0)gotoerr_clk_unprepare;/* Allocate and setup the channels. */-if(cmt->legacy){-cmt->num_channels=1;-hw_channels=0;-}else{-cmt->num_channels=hweight8(cfg->channels_mask);-hw_channels=cfg->channels_mask;-}+cmt->num_channels=hweight8(cfg->channels_mask);cmt->channels=kzalloc(cmt->num_channels*sizeof(*cmt->channels),GFP_KERNEL);
The global spinlock is used to protect the shared start/stop register.
Now that all CMT channels are handled by a single device instance, use a
per-device spinlock.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Simon Horman <redacted>
---
drivers/clocksource/sh_cmt.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
Now that all platforms have switched to the new-style platform data,
drop support for the legacy version.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Simon Horman <redacted>
---
drivers/clocksource/sh_tmu.c | 82 ++++++++------------------------------------
1 file changed, 15 insertions(+), 67 deletions(-)
@@ -476,27 +471,12 @@ static int sh_tmu_channel_setup(struct sh_tmu_channel *ch, unsigned int index,return0;ch->tmu=tmu;+ch->index=index;-if(tmu->model==SH_TMU_LEGACY){-structsh_timer_config*cfg=tmu->pdev->dev.platform_data;--/*-*TheSH3variant(SH770x,SH7705,SH7710andSH7720)maps-*channelregistersblocksatbase+2+12*index,whileall-*othervariantsmapthematbase+4+12*index.Wecan-*computetheindexbyjustdividingby12,the2bytesor4-*bytesoffsetbeinghiddenbytheintegerdivision.-*/-ch->index=cfg->channel_offset/12;-ch->base=tmu->mapbase+cfg->channel_offset;-}else{-ch->index=index;--if(tmu->model==SH_TMU_SH3)-ch->base=tmu->mapbase+4+ch->index*12;-else-ch->base=tmu->mapbase+8+ch->index*12;-}+if(tmu->model==SH_TMU_SH3)+ch->base=tmu->mapbase+4+ch->index*12;+else+ch->base=tmu->mapbase+8+ch->index*12;ch->irq=platform_get_irq(tmu->pdev,index);if(ch->irq<0){
@@ -526,28 +506,9 @@ static int sh_tmu_map_memory(struct sh_tmu_device *tmu)if(tmu->mapbase==NULL)return-ENXIO;-/*-*Inlegacyplatformdeviceconfiguration(withonedeviceperchannel)-*theresourcepointstothechannelbaseaddress.-*/-if(tmu->model==SH_TMU_LEGACY){-structsh_timer_config*cfg=tmu->pdev->dev.platform_data;-tmu->mapbase-=cfg->channel_offset;-}-return0;}-staticvoidsh_tmu_unmap_memory(structsh_tmu_device*tmu)-{-if(tmu->model==SH_TMU_LEGACY){-structsh_timer_config*cfg=tmu->pdev->dev.platform_data;-tmu->mapbase+=cfg->channel_offset;-}--iounmap(tmu->mapbase);-}-staticintsh_tmu_setup(structsh_tmu_device*tmu,structplatform_device*pdev){structsh_timer_config*cfg=pdev->dev.platform_data;
@@ -564,8 +525,7 @@ static int sh_tmu_setup(struct sh_tmu_device *tmu, struct platform_device *pdev)tmu->model=id->driver_data;/* Get hold of clock. */-tmu->clk=clk_get(&tmu->pdev->dev,-tmu->model==SH_TMU_LEGACY?"tmu_fck":"fck");+tmu->clk=clk_get(&tmu->pdev->dev,"fck");if(IS_ERR(tmu->clk)){dev_err(&tmu->pdev->dev,"cannot get clock\n");returnPTR_ERR(tmu->clk);
@@ -583,10 +543,7 @@ static int sh_tmu_setup(struct sh_tmu_device *tmu, struct platform_device *pdev)}/* Allocate and setup the channels. */-if(tmu->model==SH_TMU_LEGACY)-tmu->num_channels=1;-else-tmu->num_channels=hweight8(cfg->channels_mask);+tmu->num_channels=hweight8(cfg->channels_mask);tmu->channels=kzalloc(sizeof(*tmu->channels)*tmu->num_channels,GFP_KERNEL);
The global spinlock is used to protect the shared start/stop register.
Now that all TMU channels are handled by a single device instance, use a
per-device spinlock.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Simon Horman <redacted>
---
drivers/clocksource/sh_tmu.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
@@ -524,6 +524,8 @@ static int sh_tmu_setup(struct sh_tmu_device *tmu, struct platform_device *pdev)tmu->pdev=pdev;tmu->model=id->driver_data;+raw_spin_lock_init(&tmu->lock);+/* Get hold of clock. */tmu->clk=clk_get(&tmu->pdev->dev,"fck");if(IS_ERR(tmu->clk)){
Now that all platforms have switched to the new-style platform data,
drop support for the legacy version.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Wolfram Sang <redacted>
---
drivers/clocksource/sh_mtu2.c | 130 ++++++++++--------------------------------
1 file changed, 31 insertions(+), 99 deletions(-)
@@ -344,24 +333,12 @@ static void sh_mtu2_register_clockevent(struct sh_mtu2_channel *ch,dev_info(&ch->mtu->pdev->dev,"ch%u: used for clock events\n",ch->index);clockevents_register_device(ced);--ret=request_irq(ch->irq,sh_mtu2_interrupt,-IRQF_TIMER|IRQF_IRQPOLL|IRQF_NOBALANCING,-dev_name(&ch->mtu->pdev->dev),ch);-if(ret){-dev_err(&ch->mtu->pdev->dev,"ch%u: failed to request irq %d\n",-ch->index,ch->irq);-return;-}}-staticintsh_mtu2_register(structsh_mtu2_channel*ch,constchar*name,-boolclockevent)+staticintsh_mtu2_register(structsh_mtu2_channel*ch,constchar*name){-if(clockevent){-ch->mtu->has_clockevent=true;-sh_mtu2_register_clockevent(ch,name);-}+ch->mtu->has_clockevent=true;+sh_mtu2_register_clockevent(ch,name);return0;}
@@ -372,40 +349,32 @@ static int sh_mtu2_setup_channel(struct sh_mtu2_channel *ch, unsigned int index,staticconstunsignedintchannel_offsets[]={0x300,0x380,0x000,};-boolclockevent;+charname[6];+intirq;+intret;ch->mtu=mtu;-if(mtu->legacy){-structsh_timer_config*cfg=mtu->pdev->dev.platform_data;--clockevent=cfg->clockevent_rating!=0;--ch->irq=platform_get_irq(mtu->pdev,0);-ch->base=mtu->mapbase-cfg->channel_offset;-ch->index=cfg->timer_bit;-}else{-charname[6];--clockevent=true;--sprintf(name,"tgi%ua",index);-ch->irq=platform_get_irq_byname(mtu->pdev,name);-ch->base=mtu->mapbase+channel_offsets[index];-ch->index=index;-}--if(ch->irq<0){+sprintf(name,"tgi%ua",index);+irq=platform_get_irq_byname(mtu->pdev,name);+if(irq<0){/* Skip channels with no declared interrupt. */-if(!mtu->legacy)-return0;+return0;+}-dev_err(&mtu->pdev->dev,"ch%u: failed to get irq\n",-ch->index);-returnch->irq;+ret=request_irq(irq,sh_mtu2_interrupt,+IRQF_TIMER|IRQF_IRQPOLL|IRQF_NOBALANCING,+dev_name(&ch->mtu->pdev->dev),ch);+if(ret){+dev_err(&ch->mtu->pdev->dev,"ch%u: failed to request irq %d\n",+index,irq);+returnret;}-returnsh_mtu2_register(ch,dev_name(&mtu->pdev->dev),clockevent);+ch->base=mtu->mapbase+channel_offsets[index];+ch->index=index;++returnsh_mtu2_register(ch,dev_name(&mtu->pdev->dev));}staticintsh_mtu2_map_memory(structsh_mtu2_device*mtu)
@@ -422,46 +391,19 @@ static int sh_mtu2_map_memory(struct sh_mtu2_device *mtu)if(mtu->mapbase==NULL)return-ENXIO;-/*-*Inlegacyplatformdeviceconfiguration(withonedeviceperchannel)-*theresourcepointstothechannelbaseaddress.-*/-if(mtu->legacy){-structsh_timer_config*cfg=mtu->pdev->dev.platform_data;-mtu->mapbase+=cfg->channel_offset;-}-return0;}-staticvoidsh_mtu2_unmap_memory(structsh_mtu2_device*mtu)-{-if(mtu->legacy){-structsh_timer_config*cfg=mtu->pdev->dev.platform_data;-mtu->mapbase-=cfg->channel_offset;-}--iounmap(mtu->mapbase);-}-staticintsh_mtu2_setup(structsh_mtu2_device*mtu,structplatform_device*pdev){-structsh_timer_config*cfg=pdev->dev.platform_data;-conststructplatform_device_id*id=pdev->id_entry;unsignedinti;intret;mtu->pdev=pdev;-mtu->legacy=id->driver_data;--if(mtu->legacy&&!cfg){-dev_err(&mtu->pdev->dev,"missing platform data\n");-return-ENXIO;-}/* Get hold of clock. */-mtu->clk=clk_get(&mtu->pdev->dev,mtu->legacy?"mtu2_fck":"fck");+mtu->clk=clk_get(&mtu->pdev->dev,"fck");if(IS_ERR(mtu->clk)){dev_err(&mtu->pdev->dev,"cannot get clock\n");returnPTR_ERR(mtu->clk);
@@ -479,10 +421,7 @@ static int sh_mtu2_setup(struct sh_mtu2_device *mtu,}/* Allocate and setup the channels. */-if(mtu->legacy)-mtu->num_channels=1;-else-mtu->num_channels=3;+mtu->num_channels=3;mtu->channels=kzalloc(sizeof(*mtu->channels)*mtu->num_channels,GFP_KERNEL);
@@ -491,16 +430,10 @@ static int sh_mtu2_setup(struct sh_mtu2_device *mtu,gotoerr_unmap;}-if(mtu->legacy){-ret=sh_mtu2_setup_channel(&mtu->channels[0],0,mtu);+for(i=0;i<mtu->num_channels;++i){+ret=sh_mtu2_setup_channel(&mtu->channels[i],i,mtu);if(ret<0)gotoerr_unmap;-}else{-for(i=0;i<mtu->num_channels;++i){-ret=sh_mtu2_setup_channel(&mtu->channels[i],i,mtu);-if(ret<0)-gotoerr_unmap;-}}platform_set_drvdata(pdev,mtu);
@@ -509,7 +442,7 @@ static int sh_mtu2_setup(struct sh_mtu2_device *mtu,err_unmap:kfree(mtu->channels);-sh_mtu2_unmap_memory(mtu);+iounmap(mtu->mapbase);err_clk_unprepare:clk_unprepare(mtu->clk);err_clk_put:
@@ -562,7 +495,6 @@ static int sh_mtu2_remove(struct platform_device *pdev)}staticconststructplatform_device_idsh_mtu2_id_table[]={-{"sh_mtu2",1},{"sh-mtu2",0},{},};
The global spinlock is used to protect the shared start/stop register.
Now that all MTU2 channels are handled by a single device instance, use
a per-device spinlock.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Wolfram Sang <redacted>
---
drivers/clocksource/sh_mtu2.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
@@ -402,6 +402,8 @@ static int sh_mtu2_setup(struct sh_mtu2_device *mtu,mtu->pdev=pdev;+raw_spin_lock_init(&mtu->lock);+/* Get hold of clock. */mtu->clk=clk_get(&mtu->pdev->dev,"fck");if(IS_ERR(mtu->clk)){
@@ -0,0 +1,47 @@+* Renesas R-Car Compare Match Timer (CMT)++The CMT is a multi-channel 16/32/48-bit timer/counter with configurable clock+inputs and programmable compare match.++Channels share hardware resources but their counter and compare match value+are independent. A particular CMT instance can implement only a subset of the+channels supported by the CMT model. Channel indices represent the hardware+position of the channel in the CMT and don't match the channel numbers in the+datasheets.++Required Properties:++ - compatible: must contain one of the following.+ - "renesas,cmt-32" for the 32-bit CMT+ (CMT0 on sh7372, sh73a0 and r8a7740)+ - "renesas,cmt-32-fast" for the 32-bit CMT with fast clock support+ (CMT[234] on sh7372, sh73a0 and r8a7740)+ - "renasas,cmt-48" for the 48-bit CMT+ (CMT1 on sh7372, sh73a0 and r8a7740)+ - "renesas,cmt-48-gen2" for the second generation 48-bit CMT+ (CMT[01] on r8a73a4, r8a7790 and r8a7791)++ - reg: base address and length of the registers block for the timer module.+ - interrupts: interrupt-specifier for the timer, one per channel.+ - clocks: a list of phandle + clock-specifier pairs, one for each entry+ in clock-names.+ - clock-names: must contain "fck" for the functional clock.++ - renesas,channels-mask: bitmask of the available channels.+++Example: R8A7790 (R-Car H2) CMT0 node++ CMT0 on R8A7790 implements hardware channels 5 and 6 only and names+ them channels 0 and 1 in the documentation.++ cmt0: timer at ffca0000 {+ compatible = "renesas,cmt-48-gen2";+ reg = <0 0xffca0000 0 0x1004>;+ interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,+ <0 142 IRQ_TYPE_LEVEL_HIGH>;+ clocks = <&mstp1_clks R8A7790_CLK_CMT0>;+ clock-names = "fck";++ renesas,channels-mask = <0x60>;+ };
@@ -924,10 +926,35 @@ static int sh_cmt_map_memory(struct sh_cmt_device *cmt)return0;}+staticconststructplatform_device_idsh_cmt_id_table[]={+{"sh-cmt-16",(kernel_ulong_t)&sh_cmt_info[SH_CMT_16BIT]},+{"sh-cmt-32",(kernel_ulong_t)&sh_cmt_info[SH_CMT_32BIT]},+{"sh-cmt-32-fast",(kernel_ulong_t)&sh_cmt_info[SH_CMT_32BIT_FAST]},+{"sh-cmt-48",(kernel_ulong_t)&sh_cmt_info[SH_CMT_48BIT]},+{"sh-cmt-48-gen2",(kernel_ulong_t)&sh_cmt_info[SH_CMT_48BIT_GEN2]},+{}+};+MODULE_DEVICE_TABLE(platform,sh_cmt_id_table);++staticconststructof_device_idsh_cmt_of_table[]__maybe_unused={+{.compatible="renesas,cmt-32",.data=&sh_cmt_info[SH_CMT_32BIT]},+{.compatible="renesas,cmt-32-fast",.data=&sh_cmt_info[SH_CMT_32BIT_FAST]},+{.compatible="renasas,cmt-48",.data=&sh_cmt_info[SH_CMT_48BIT]},+{.compatible="renesas,cmt-48-gen2",.data=&sh_cmt_info[SH_CMT_48BIT_GEN2]},+{}+};+MODULE_DEVICE_TABLE(of,sh_cmt_of_table);++staticintsh_cmt_parse_dt(structsh_cmt_device*cmt)+{+structdevice_node*np=cmt->pdev->dev.of_node;++returnof_property_read_u32(np,"renesas,channels-mask",+&cmt->hw_channels);+}+staticintsh_cmt_setup(structsh_cmt_device*cmt,structplatform_device*pdev){-structsh_timer_config*cfg=pdev->dev.platform_data;-conststructplatform_device_id*id=pdev->id_entry;unsignedintmask;unsignedinti;intret;
@@ -936,13 +963,26 @@ static int sh_cmt_setup(struct sh_cmt_device *cmt, struct platform_device *pdev)cmt->pdev=pdev;raw_spin_lock_init(&cmt->lock);-if(!cfg){+if(IS_ENABLED(CONFIG_OF)&&pdev->dev.of_node){+conststructof_device_id*id;++id=of_match_node(sh_cmt_of_table,pdev->dev.of_node);+cmt->info=id->data;++ret=sh_cmt_parse_dt(cmt);+if(ret<0)+returnret;+}elseif(pdev->dev.platform_data){+structsh_timer_config*cfg=pdev->dev.platform_data;+conststructplatform_device_id*id=pdev->id_entry;++cmt->info=(conststructsh_cmt_info*)id->driver_data;+cmt->hw_channels=cfg->channels_mask;+}else{dev_err(&cmt->pdev->dev,"missing platform data\n");return-ENXIO;}-cmt->info=(conststructsh_cmt_info*)id->driver_data;-/* Get hold of clock. */cmt->clk=clk_get(&cmt->pdev->dev,"fck");if(IS_ERR(cmt->clk)){
@@ -960,8 +1000,7 @@ static int sh_cmt_setup(struct sh_cmt_device *cmt, struct platform_device *pdev)gotoerr_clk_unprepare;/* Allocate and setup the channels. */-cmt->num_channels=hweight8(cfg->channels_mask);-+cmt->num_channels=hweight8(cmt->hw_channels);cmt->channels=kzalloc(cmt->num_channels*sizeof(*cmt->channels),GFP_KERNEL);if(cmt->channels==NULL){
@@ -0,0 +1,39 @@+* Renesas R-Car Timer Unit (TMU)++The TMU is a 32-bit timer/counter with configurable clock inputs and+programmable compare match.++Channels share hardware resources but their counter and compare match value+are independent. The TMU hardware supports up to three channels.++Required Properties:++ - compatible: must contain "renesas,tmu"++ - reg: base address and length of the registers block for the timer module.++ - interrupts: interrupt-specifier for the timer, one per channel.++ - clocks: a list of phandle + clock-specifier pairs, one for each entry+ in clock-names.+ - clock-names: must contain "fck" for the functional clock.++Optional Properties:++ - #renesas,channels: number of channels implemented by the timer, must be 2+ or 3 (if not specified the value defaults to 3).+++Example: R8A7779 (R-Car H1) TMU0 node++ tmu0: timer at ffd80000 {+ compatible = "renesas,tmu";+ reg = <0xffd80000 0x30>;+ interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>,+ <0 33 IRQ_TYPE_LEVEL_HIGH>,+ <0 34 IRQ_TYPE_LEVEL_HIGH>;+ clocks = <&mstp0_clks R8A7779_CLK_TMU0>;+ clock-names = "fck";++ #renesas,channels = <3>;+ };
@@ -509,23 +510,48 @@ static int sh_tmu_map_memory(struct sh_tmu_device *tmu)return0;}+staticintsh_tmu_parse_dt(structsh_tmu_device*tmu)+{+structdevice_node*np=tmu->pdev->dev.of_node;++tmu->model=SH_TMU;+tmu->num_channels=3;++of_property_read_u32(np,"#renesas,channels",&tmu->num_channels);++if(tmu->num_channels!=2&&tmu->num_channels!=3){+dev_err(&tmu->pdev->dev,"invalid number of channels %u\n",+tmu->num_channels);+return-EINVAL;+}++return0;+}+staticintsh_tmu_setup(structsh_tmu_device*tmu,structplatform_device*pdev){-structsh_timer_config*cfg=pdev->dev.platform_data;-conststructplatform_device_id*id=pdev->id_entry;unsignedinti;intret;-if(!cfg){-dev_err(&tmu->pdev->dev,"missing platform data\n");-return-ENXIO;-}-tmu->pdev=pdev;-tmu->model=id->driver_data;raw_spin_lock_init(&tmu->lock);+if(IS_ENABLED(CONFIG_OF)&&pdev->dev.of_node){+ret=sh_tmu_parse_dt(tmu);+if(ret<0)+returnret;+}elseif(pdev->dev.platform_data){+conststructplatform_device_id*id=pdev->id_entry;+structsh_timer_config*cfg=pdev->dev.platform_data;++tmu->model=id->driver_data;+tmu->num_channels=hweight8(cfg->channels_mask);+}else{+dev_err(&tmu->pdev->dev,"missing platform data\n");+return-ENXIO;+}+/* Get hold of clock. */tmu->clk=clk_get(&tmu->pdev->dev,"fck");if(IS_ERR(tmu->clk)){
@@ -545,8 +571,6 @@ static int sh_tmu_setup(struct sh_tmu_device *tmu, struct platform_device *pdev)}/* Allocate and setup the channels. */-tmu->num_channels=hweight8(cfg->channels_mask);-tmu->channels=kzalloc(sizeof(*tmu->channels)*tmu->num_channels,GFP_KERNEL);if(tmu->channels==NULL){
@@ -0,0 +1,39 @@+* Renesas R-Car Multi-Function Timer Pulse Unit 2 (MTU2)++The MTU2 is a multi-purpose, multi-channel timer/counter with configurable+clock inputs and programmable compare match.++Channels share hardware resources but their counter and compare match value+are independent. The MTU2 hardware supports five channels indexed from 0 to 4.++Required Properties:++ - compatible: must contain "renesas,mtu2"++ - reg: base address and length of the registers block for the timer module.++ - interrupts: interrupt specifiers for the timer, one for each entry in+ interrupt-names.+ - interrupt-names: must contain one entry named "tgi?a" for each enabled+ channel, where "?" is the channel index expressed as one digit from "0" to+ "4".++ - clocks: a list of phandle + clock-specifier pairs, one for each entry+ in clock-names.+ - clock-names: must contain "fck" for the functional clock.+++Example: R7S72100 (RZ/A1H) MTU2 node++ mtu2: timer at fcff0000 {+ compatible = "renesas,mtu2";+ reg = <0xfcff0000 0x400>;+ interrupts = <0 139 IRQ_TYPE_LEVEL_HIGH>,+ <0 146 IRQ_TYPE_LEVEL_HIGH>,+ <0 150 IRQ_TYPE_LEVEL_HIGH>,+ <0 154 IRQ_TYPE_LEVEL_HIGH>,+ <0 159 IRQ_TYPE_LEVEL_HIGH>;+ interrupt-names = "tgi0a", "tgi1a", "tgi2a", "tgi3a", "tgi4a";+ clocks = <&mstp3_clks R7S72100_CLK_MTU2>;+ clock-names = "fck";+ };
Add the CMT0 and CMT1 counters to the r8a7790 device tree and make them
disabled by default.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Simon Horman <redacted>
---
arch/arm/boot/dts/r8a7790.dtsi | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
Add the CMT0 and CMT1 counters to the r8a7791 device tree and make them
disabled by default.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Simon Horman <redacted>
---
arch/arm/boot/dts/r8a7791.dtsi | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
Add the TMU0, TMU1 and TMU2 counters to the r8a7779 device tree and make
them disabled by default.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
arch/arm/boot/dts/r8a7779.dtsi | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
Add the MTU2 counter to the r7s72100 device tree and make it disabled by
default.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
arch/arm/boot/dts/r7s72100.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)
No more device needs to be added from platform code when booting the
reference platform, remove the now empty r8a7790_add_dt_devices()
function completely.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Simon Horman <redacted>
---
arch/arm/boot/dts/r8a7790-lager.dts | 4 ++++
arch/arm/mach-shmobile/board-lager-reference.c | 2 --
arch/arm/mach-shmobile/include/mach/r8a7790.h | 1 -
arch/arm/mach-shmobile/setup-r8a7790.c | 7 +------
4 files changed, 5 insertions(+), 9 deletions(-)
No more device needs to be added from platform code when booting the
reference platform, remove the now empty r8a7791_add_dt_devices()
function completely.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Tested-by: Simon Horman <redacted>
---
arch/arm/boot/dts/r8a7791-koelsch.dts | 4 ++++
arch/arm/mach-shmobile/board-koelsch-reference.c | 2 --
arch/arm/mach-shmobile/include/mach/r8a7791.h | 1 -
arch/arm/mach-shmobile/setup-r8a7791.c | 7 +------
4 files changed, 5 insertions(+), 9 deletions(-)
No more device needs to be added from platform code when booting the
reference platform, remove the now empty
r8a7779_add_standard_devices_dt() function completely.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
arch/arm/boot/dts/r8a7779-marzen.dts | 4 ++++
arch/arm/mach-shmobile/board-marzen-reference.c | 10 ----------
arch/arm/mach-shmobile/include/mach/r8a7779.h | 1 -
arch/arm/mach-shmobile/setup-r8a7779.c | 17 +++++------------
4 files changed, 9 insertions(+), 23 deletions(-)
@@ -676,8 +676,8 @@ void __init r8a7779_add_standard_devices(void)void__initr8a7779_add_early_devices(void){-early_platform_add_devices(r8a7779_devices_dt,-ARRAY_SIZE(r8a7779_devices_dt));+early_platform_add_devices(r8a7779_early_devices,+ARRAY_SIZE(r8a7779_early_devices));/* Early serial console setup is not included here due to*memorymapcollisions.TheSCIFserialportsinr8a7779
No more device needs to be added from platform code when booting the
reference platform, move MTU2 registration from setup-r7s72100.c to
board-genmai.c and remove the now empty r7s72100_add_dt_devices()
function.
As the genmai_add_standard_devices() function is now identical to the
default init_machine implementation, remove it as well.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
arch/arm/boot/dts/r7s72100-genmai.dts | 4 ++++
arch/arm/mach-shmobile/board-genmai-reference.c | 16 ----------------
arch/arm/mach-shmobile/board-genmai.c | 14 +++++++++++++-
arch/arm/mach-shmobile/include/mach/r7s72100.h | 1 -
arch/arm/mach-shmobile/setup-r7s72100.c | 21 ---------------------
5 files changed, 17 insertions(+), 39 deletions(-)
From: Simon Horman <horms@verge.net.au> Date: 2014-06-17 01:11:54
Hi Laurent,
This version looks good to me.
On Mon, Jun 16, 2014 at 05:07:22PM +0200, Laurent Pinchart wrote:
Document DT bindings and parse them in the TMU driver.
Cc: devicetree at vger.kernel.org
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
@@ -0,0 +1,39 @@+* Renesas R-Car Timer Unit (TMU)++The TMU is a 32-bit timer/counter with configurable clock inputs and+programmable compare match.++Channels share hardware resources but their counter and compare match value+are independent. The TMU hardware supports up to three channels.++Required Properties:++ - compatible: must contain "renesas,tmu"++ - reg: base address and length of the registers block for the timer module.++ - interrupts: interrupt-specifier for the timer, one per channel.++ - clocks: a list of phandle + clock-specifier pairs, one for each entry+ in clock-names.+ - clock-names: must contain "fck" for the functional clock.++Optional Properties:++ - #renesas,channels: number of channels implemented by the timer, must be 2+ or 3 (if not specified the value defaults to 3).+++Example: R8A7779 (R-Car H1) TMU0 node++ tmu0: timer at ffd80000 {+ compatible = "renesas,tmu";+ reg = <0xffd80000 0x30>;+ interrupts = <0 32 IRQ_TYPE_LEVEL_HIGH>,+ <0 33 IRQ_TYPE_LEVEL_HIGH>,+ <0 34 IRQ_TYPE_LEVEL_HIGH>;+ clocks = <&mstp0_clks R8A7779_CLK_TMU0>;+ clock-names = "fck";++ #renesas,channels = <3>;+ };
@@ -509,23 +510,48 @@ static int sh_tmu_map_memory(struct sh_tmu_device *tmu)return0;}+staticintsh_tmu_parse_dt(structsh_tmu_device*tmu)+{+structdevice_node*np=tmu->pdev->dev.of_node;++tmu->model=SH_TMU;+tmu->num_channels=3;++of_property_read_u32(np,"#renesas,channels",&tmu->num_channels);++if(tmu->num_channels!=2&&tmu->num_channels!=3){+dev_err(&tmu->pdev->dev,"invalid number of channels %u\n",+tmu->num_channels);+return-EINVAL;+}++return0;+}+staticintsh_tmu_setup(structsh_tmu_device*tmu,structplatform_device*pdev){-structsh_timer_config*cfg=pdev->dev.platform_data;-conststructplatform_device_id*id=pdev->id_entry;unsignedinti;intret;-if(!cfg){-dev_err(&tmu->pdev->dev,"missing platform data\n");-return-ENXIO;-}-tmu->pdev=pdev;-tmu->model=id->driver_data;raw_spin_lock_init(&tmu->lock);+if(IS_ENABLED(CONFIG_OF)&&pdev->dev.of_node){+ret=sh_tmu_parse_dt(tmu);+if(ret<0)+returnret;+}elseif(pdev->dev.platform_data){+conststructplatform_device_id*id=pdev->id_entry;+structsh_timer_config*cfg=pdev->dev.platform_data;++tmu->model=id->driver_data;+tmu->num_channels=hweight8(cfg->channels_mask);+}else{+dev_err(&tmu->pdev->dev,"missing platform data\n");+return-ENXIO;+}+/* Get hold of clock. */tmu->clk=clk_get(&tmu->pdev->dev,"fck");if(IS_ERR(tmu->clk)){
@@ -545,8 +571,6 @@ static int sh_tmu_setup(struct sh_tmu_device *tmu, struct platform_device *pdev)}/* Allocate and setup the channels. */-tmu->num_channels=hweight8(cfg->channels_mask);-tmu->channels=kzalloc(sizeof(*tmu->channels)*tmu->num_channels,GFP_KERNEL);if(tmu->channels==NULL){
--
1.8.5.5
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Thanks Laurent,
this version seems good to me.
On Mon, Jun 16, 2014 at 05:07:26PM +0200, Laurent Pinchart wrote:
Add the TMU0, TMU1 and TMU2 counters to the r8a7779 device tree and make
them disabled by default.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
--
1.8.5.5
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Thanks Laurent,
On Mon, Jun 16, 2014 at 05:07:30PM +0200, Laurent Pinchart wrote:
No more device needs to be added from platform code when booting the
reference platform, remove the now empty
r8a7779_add_standard_devices_dt() function completely.
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
@@ -676,8 +676,8 @@ void __init r8a7779_add_standard_devices(void)void__initr8a7779_add_early_devices(void){-early_platform_add_devices(r8a7779_devices_dt,-ARRAY_SIZE(r8a7779_devices_dt));+early_platform_add_devices(r8a7779_early_devices,+ARRAY_SIZE(r8a7779_early_devices));/* Early serial console setup is not included here due to*memorymapcollisions.TheSCIFserialportsinr8a7779
--
1.8.5.5
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Daniel,
Could you please merge pull the following changes for v3.17 ? They have
previously been posted as "[PATCH v4] Renesas CMT, MTU2 and TMU timers DT
support". The only change compared to that version is a rebase on top of
v3.16-rc3.
As last time I have board and SoC changes that depend on the driver changes
and that will need to go through Simon's tree. Could you thus please provide a
stable branch based on one of the v3.16-rc tags ?
The following changes since commit 4c834452aad01531db949414f94f817a86348d59:
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to 64a653a02e47e3cfdab45d0b52c4522a09bed590:
clocksource: sh_mtu2: Add DT support (2014-07-02 16:01:53 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device spinlock
clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device spinlock
clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device spinlock
clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 ++++++---------
drivers/clocksource/sh_mtu2.c | 146 +++++----------
drivers/clocksource/sh_tmu.c | 127 ++++++-------
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644 Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,tmu.txt
--
Regards,
Laurent Pinchart
@@ -0,0 +1,47 @@+* Renesas R-Car Compare Match Timer (CMT)++The CMT is a multi-channel 16/32/48-bit timer/counter with configurable
clock
+inputs and programmable compare match.
+
+Channels share hardware resources but their counter and compare match value
+are independent. A particular CMT instance can implement only a subset of
the
+channels supported by the CMT model. Channel indices represent the hardware
+position of the channel in the CMT and don't match the channel numbers in
the
+datasheets.
+
+Required Properties:
+
+ - compatible: must contain one of the following.
+ - "renesas,cmt-32" for the 32-bit CMT
+ (CMT0 on sh7372, sh73a0 and r8a7740)
+ - "renesas,cmt-32-fast" for the 32-bit CMT with fast clock support
+ (CMT[234] on sh7372, sh73a0 and r8a7740)
+ - "renasas,cmt-48" for the 48-bit CMT
Simon has spotted a nasty typo here and below in the OF match table. I'll fix
that and resubmit the pull request.
quoted hunk
+ (CMT1 on sh7372, sh73a0 and r8a7740)
+ - "renesas,cmt-48-gen2" for the second generation 48-bit CMT
+ (CMT[01] on r8a73a4, r8a7790 and r8a7791)
+
+ - reg: base address and length of the registers block for the timer
module.
+ - interrupts: interrupt-specifier for the timer, one per channel.
+ - clocks: a list of phandle + clock-specifier pairs, one for each entry
+ in clock-names.
+ - clock-names: must contain "fck" for the functional clock.
+
+ - renesas,channels-mask: bitmask of the available channels.
+
+
+Example: R8A7790 (R-Car H2) CMT0 node
+
+ CMT0 on R8A7790 implements hardware channels 5 and 6 only and names
+ them channels 0 and 1 in the documentation.
+
+ cmt0: timer at ffca0000 {
+ compatible = "renesas,cmt-48-gen2";
+ reg = <0 0xffca0000 0 0x1004>;
+ interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
+ <0 142 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
+ clock-names = "fck";
+
+ renesas,channels-mask = <0x60>;
+ };
@@ -973,7 +1012,7 @@ static int sh_cmt_setup(struct sh_cmt_device *cmt,
struct platform_device *pdev) * Use the first channel as a clock event
device and the second channel * as a clock source. If only one channel is
available use it for both. */
- for (i = 0, mask = cfg->channels_mask; i < cmt->num_channels; ++i) {
+ for (i = 0, mask = cmt->hw_channels; i < cmt->num_channels; ++i) {
unsigned int hwidx = ffs(mask) - 1;
bool clocksource = i == 1 || cmt->num_channels == 1;
bool clockevent = i == 0;
@@ -1044,21 +1083,12 @@ static int sh_cmt_remove(struct platform_device
Hi Daniel,
Could you please pull the following changes and drop the first version of this
pull request ? I've fixed one last typo noticed by Simon in patch 09/19.
As last time I have board and SoC changes that depend on the driver changes
and that will need to go through Simon's tree. Could you thus please provide
a stable branch based on one of the v3.16-rc tags ?
The following changes since commit 4c834452aad01531db949414f94f817a86348d59:
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to cca8d0596c4c7acb371ea1bc5eee9b404b30516a:
clocksource: sh_mtu2: Add DT support (2014-07-04 15:50:29 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device spinlock
clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device spinlock
clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device spinlock
clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 ++++++---------
drivers/clocksource/sh_mtu2.c | 146 +++++----------
drivers/clocksource/sh_tmu.c | 127 ++++++-------
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644 Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,tmu.txt
--
Regards,
Laurent Pinchart
Hi Daniel,
On Friday 04 July 2014 15:53:32 Laurent Pinchart wrote:
Hi Daniel,
Could you please pull the following changes and drop the first version of
this pull request ? I've fixed one last typo noticed by Simon in patch
09/19.
As last time I have board and SoC changes that depend on the driver changes
and that will need to go through Simon's tree. Could you thus please provide
a stable branch based on one of the v3.16-rc tags ?
Given that I'd like to get the arch/ part of the change set in v3.17, could I
ask you to fast track this pull request if possible ?
The following changes since commit 4c834452aad01531db949414f94f817a86348d59:
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to cca8d0596c4c7acb371ea1bc5eee9b404b30516a:
clocksource: sh_mtu2: Add DT support (2014-07-04 15:50:29 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device
spinlock clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device
spinlock clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device
spinlock clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 ++++++-------
drivers/clocksource/sh_mtu2.c | 146 +++++--------
drivers/clocksource/sh_tmu.c | 127 ++++++-------
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644 Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,tmu.txt
[Cc Olof Johansson, ARM SoC Team]
On Wed, Jul 09, 2014 at 11:59:16AM +0200, Laurent Pinchart wrote:
Hi Daniel,
On Friday 04 July 2014 15:53:32 Laurent Pinchart wrote:
quoted
Hi Daniel,
Could you please pull the following changes and drop the first version of
this pull request ? I've fixed one last typo noticed by Simon in patch
09/19.
As last time I have board and SoC changes that depend on the driver changes
and that will need to go through Simon's tree. Could you thus please provide
a stable branch based on one of the v3.16-rc tags ?
Given that I'd like to get the arch/ part of the change set in v3.17, could I
ask you to fast track this pull request if possible ?
Hi Laurent, Hi Daniel,
I am wondering what the status of this pull request is. It would be nice
to get the arch/ changes into v3.17 but we are getting closer to v3.16-rc6
and I need to have things queued up before then.
I have also CCed Olof and the ARM SoC team (via arm at kernel.org) as
if Daniel does provide a stable branch that includes this pull request and
I use it as the basis for a branch with the arch changes then the
ARM SoC people would like to know about it before I send a pull request
for the arch/ changes.
quoted
The following changes since commit 4c834452aad01531db949414f94f817a86348d59:
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to cca8d0596c4c7acb371ea1bc5eee9b404b30516a:
clocksource: sh_mtu2: Add DT support (2014-07-04 15:50:29 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device
spinlock clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device
spinlock clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device
spinlock clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 ++++++-------
drivers/clocksource/sh_mtu2.c | 146 +++++--------
drivers/clocksource/sh_tmu.c | 127 ++++++-------
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644 Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644 Documentation/devicetree/bindings/timer/renesas,tmu.txt
--
Regards,
Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Simon and Daniel,
On Sunday 13 July 2014 11:55:01 Simon Horman wrote:
[Cc Olof Johansson, ARM SoC Team]
On Wed, Jul 09, 2014 at 11:59:16AM +0200, Laurent Pinchart wrote:
quoted
On Friday 04 July 2014 15:53:32 Laurent Pinchart wrote:
quoted
Hi Daniel,
Could you please pull the following changes and drop the first version
of this pull request ? I've fixed one last typo noticed by Simon in
patch 09/19.
As last time I have board and SoC changes that depend on the driver
changes and that will need to go through Simon's tree. Could you thus
please provide a stable branch based on one of the v3.16-rc tags ?
Given that I'd like to get the arch/ part of the change set in v3.17,
could I ask you to fast track this pull request if possible ?
Hi Laurent, Hi Daniel,
I am wondering what the status of this pull request is. It would be nice
to get the arch/ changes into v3.17 but we are getting closer to v3.16-rc6
and I need to have things queued up before then.
I have also CCed Olof and the ARM SoC team (via arm at kernel.org) as
if Daniel does provide a stable branch that includes this pull request and
I use it as the basis for a branch with the arch changes then the
ARM SoC people would like to know about it before I send a pull request
for the arch/ changes.
From my point of view everything is ready for v3.17. Daniel, if you haven't
been abducted by aliens, could you please process the pull request ? If you
have, let us know what we can do to help negotiate your release.
quoted
quoted
The following changes since commit
4c834452aad01531db949414f94f817a86348d59:
quoted
quoted
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to cca8d0596c4c7acb371ea1bc5eee9b404b30516a:
clocksource: sh_mtu2: Add DT support (2014-07-04 15:50:29 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device
spinlock
clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device
spinlock
clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device
spinlock
clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 +++++----
drivers/clocksource/sh_mtu2.c | 146 ++++-----
drivers/clocksource/sh_tmu.c | 127 +++++----
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644
Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,tmu.txt
From: Daniel Lezcano <hidden> Date: 2014-07-13 14:42:09
On 07/13/2014 03:00 PM, Laurent Pinchart wrote:
Hi Simon and Daniel,
On Sunday 13 July 2014 11:55:01 Simon Horman wrote:
quoted
[Cc Olof Johansson, ARM SoC Team]
On Wed, Jul 09, 2014 at 11:59:16AM +0200, Laurent Pinchart wrote:
quoted
On Friday 04 July 2014 15:53:32 Laurent Pinchart wrote:
quoted
Hi Daniel,
Could you please pull the following changes and drop the first version
of this pull request ? I've fixed one last typo noticed by Simon in
patch 09/19.
As last time I have board and SoC changes that depend on the driver
changes and that will need to go through Simon's tree. Could you thus
please provide a stable branch based on one of the v3.16-rc tags ?
Given that I'd like to get the arch/ part of the change set in v3.17,
could I ask you to fast track this pull request if possible ?
Hi Laurent, Hi Daniel,
I am wondering what the status of this pull request is. It would be nice
to get the arch/ changes into v3.17 but we are getting closer to v3.16-rc6
and I need to have things queued up before then.
I have also CCed Olof and the ARM SoC team (via arm at kernel.org) as
if Daniel does provide a stable branch that includes this pull request and
I use it as the basis for a branch with the arch changes then the
ARM SoC people would like to know about it before I send a pull request
for the arch/ changes.
From my point of view everything is ready for v3.17. Daniel, if you haven't
been abducted by aliens, could you please process the pull request ? If you
have, let us know what we can do to help negotiate your release.
Hi Laurent,
sorry for no giving some news. I am in vacation for these two weeks.
I will take care of the PR this evening or tomorrow evening and keep you
in touch rapidly.
-- Daniel
quoted
quoted
quoted
The following changes since commit
4c834452aad01531db949414f94f817a86348d59:
quoted
quoted
quoted
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to cca8d0596c4c7acb371ea1bc5eee9b404b30516a:
clocksource: sh_mtu2: Add DT support (2014-07-04 15:50:29 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device
spinlock
clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device
spinlock
clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device
spinlock
clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 +++++----
drivers/clocksource/sh_mtu2.c | 146 ++++-----
drivers/clocksource/sh_tmu.c | 127 +++++----
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644
Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,tmu.txt
On Sun, Jul 13, 2014 at 04:42:09PM +0200, Daniel Lezcano wrote:
On 07/13/2014 03:00 PM, Laurent Pinchart wrote:
quoted
Hi Simon and Daniel,
On Sunday 13 July 2014 11:55:01 Simon Horman wrote:
quoted
[Cc Olof Johansson, ARM SoC Team]
On Wed, Jul 09, 2014 at 11:59:16AM +0200, Laurent Pinchart wrote:
quoted
On Friday 04 July 2014 15:53:32 Laurent Pinchart wrote:
quoted
Hi Daniel,
Could you please pull the following changes and drop the first version
of this pull request ? I've fixed one last typo noticed by Simon in
patch 09/19.
As last time I have board and SoC changes that depend on the driver
changes and that will need to go through Simon's tree. Could you thus
please provide a stable branch based on one of the v3.16-rc tags ?
Given that I'd like to get the arch/ part of the change set in v3.17,
could I ask you to fast track this pull request if possible ?
Hi Laurent, Hi Daniel,
I am wondering what the status of this pull request is. It would be nice
to get the arch/ changes into v3.17 but we are getting closer to v3.16-rc6
and I need to have things queued up before then.
I have also CCed Olof and the ARM SoC team (via arm at kernel.org) as
if Daniel does provide a stable branch that includes this pull request and
I use it as the basis for a branch with the arch changes then the
ARM SoC people would like to know about it before I send a pull request
for the arch/ changes.
From my point of view everything is ready for v3.17. Daniel, if you haven't
been abducted by aliens, could you please process the pull request ? If you
have, let us know what we can do to help negotiate your release.
Hi Laurent,
sorry for no giving some news. I am in vacation for these two weeks.
I will take care of the PR this evening or tomorrow evening and keep you in
touch rapidly.
Hi Daniel,
thanks in advance. If you could create a stable branch for me to
use as a base for the arch/ patches that would be great.
-- Daniel
quoted
quoted
quoted
quoted
The following changes since commit
4c834452aad01531db949414f94f817a86348d59:
quoted
quoted
quoted
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to cca8d0596c4c7acb371ea1bc5eee9b404b30516a:
clocksource: sh_mtu2: Add DT support (2014-07-04 15:50:29 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device
spinlock
clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device
spinlock
clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device
spinlock
clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 +++++----
drivers/clocksource/sh_mtu2.c | 146 ++++-----
drivers/clocksource/sh_tmu.c | 127 +++++----
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644
Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,tmu.txt
Hi Daniel,
On Sunday 13 July 2014 16:42:09 Daniel Lezcano wrote:
On 07/13/2014 03:00 PM, Laurent Pinchart wrote:
quoted
On Sunday 13 July 2014 11:55:01 Simon Horman wrote:
quoted
[Cc Olof Johansson, ARM SoC Team]
On Wed, Jul 09, 2014 at 11:59:16AM +0200, Laurent Pinchart wrote:
quoted
On Friday 04 July 2014 15:53:32 Laurent Pinchart wrote:
quoted
Hi Daniel,
Could you please pull the following changes and drop the first version
of this pull request ? I've fixed one last typo noticed by Simon in
patch 09/19.
As last time I have board and SoC changes that depend on the driver
changes and that will need to go through Simon's tree. Could you thus
please provide a stable branch based on one of the v3.16-rc tags ?
Given that I'd like to get the arch/ part of the change set in v3.17,
could I ask you to fast track this pull request if possible ?
Hi Laurent, Hi Daniel,
I am wondering what the status of this pull request is. It would be nice
to get the arch/ changes into v3.17 but we are getting closer to
v3.16-rc6 and I need to have things queued up before then.
I have also CCed Olof and the ARM SoC team (via arm at kernel.org) as
if Daniel does provide a stable branch that includes this pull request
and I use it as the basis for a branch with the arch changes then the
ARM SoC people would like to know about it before I send a pull request
for the arch/ changes.
From my point of view everything is ready for v3.17. Daniel, if you
haven't been abducted by aliens, could you please process the pull request
? If you have, let us know what we can do to help negotiate your release.
Hi Laurent,
sorry for no giving some news. I am in vacation for these two weeks.
I will take care of the PR this evening or tomorrow evening and keep you
in touch rapidly.
Thank you, and sorry for disturbing you during your holidays. Next time if you
setup an automatic e-mail reply I'll be more patient and won't worry about
aliens :-)
quoted
quoted
quoted
quoted
The following changes since commit
4c834452aad01531db949414f94f817a86348d59:
quoted
quoted
quoted
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to
cca8d0596c4c7acb371ea1bc5eee9b404b30516a:
quoted
quoted
quoted
quoted
clocksource: sh_mtu2: Add DT support (2014-07-04 15:50:29 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device
spinlock
clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device
spinlock
clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device
spinlock
clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 ++++---
drivers/clocksource/sh_mtu2.c | 146 +++----
drivers/clocksource/sh_tmu.c | 127 ++++---
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644
Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,tmu.txt
From: Daniel Lezcano <hidden> Date: 2014-07-14 10:20:42
On 07/14/2014 11:06 AM, Laurent Pinchart wrote:
Hi Daniel,
On Sunday 13 July 2014 16:42:09 Daniel Lezcano wrote:
quoted
On 07/13/2014 03:00 PM, Laurent Pinchart wrote:
quoted
On Sunday 13 July 2014 11:55:01 Simon Horman wrote:
quoted
[Cc Olof Johansson, ARM SoC Team]
On Wed, Jul 09, 2014 at 11:59:16AM +0200, Laurent Pinchart wrote:
quoted
On Friday 04 July 2014 15:53:32 Laurent Pinchart wrote:
quoted
Hi Daniel,
Could you please pull the following changes and drop the first version
of this pull request ? I've fixed one last typo noticed by Simon in
patch 09/19.
As last time I have board and SoC changes that depend on the driver
changes and that will need to go through Simon's tree. Could you thus
please provide a stable branch based on one of the v3.16-rc tags ?
Given that I'd like to get the arch/ part of the change set in v3.17,
could I ask you to fast track this pull request if possible ?
Hi Laurent, Hi Daniel,
I am wondering what the status of this pull request is. It would be nice
to get the arch/ changes into v3.17 but we are getting closer to
v3.16-rc6 and I need to have things queued up before then.
I have also CCed Olof and the ARM SoC team (via arm at kernel.org) as
if Daniel does provide a stable branch that includes this pull request
and I use it as the basis for a branch with the arch changes then the
ARM SoC people would like to know about it before I send a pull request
for the arch/ changes.
From my point of view everything is ready for v3.17. Daniel, if you
haven't been abducted by aliens, could you please process the pull request
? If you have, let us know what we can do to help negotiate your release.
Hi Laurent,
sorry for no giving some news. I am in vacation for these two weeks.
I will take care of the PR this evening or tomorrow evening and keep you
in touch rapidly.
Thank you, and sorry for disturbing you during your holidays. Next time if you
setup an automatic e-mail reply I'll be more patient and won't worry about
aliens :-)
:)
right, I should have. I didn't think about it.
Thanks
-- Daniel
quoted
quoted
quoted
quoted
quoted
The following changes since commit
4c834452aad01531db949414f94f817a86348d59:
quoted
quoted
quoted
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to
cca8d0596c4c7acb371ea1bc5eee9b404b30516a:
quoted
quoted
quoted
quoted
quoted
clocksource: sh_mtu2: Add DT support (2014-07-04 15:50:29 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device
spinlock
clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device
spinlock
clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device
spinlock
clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 ++++---
drivers/clocksource/sh_mtu2.c | 146 +++----
drivers/clocksource/sh_tmu.c | 127 ++++---
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644
Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,tmu.txt
From: Daniel Lezcano <hidden> Date: 2014-07-14 21:54:01
On 07/13/2014 10:39 PM, Simon Horman wrote:
On Sun, Jul 13, 2014 at 04:42:09PM +0200, Daniel Lezcano wrote:
quoted
On 07/13/2014 03:00 PM, Laurent Pinchart wrote:
quoted
Hi Simon and Daniel,
On Sunday 13 July 2014 11:55:01 Simon Horman wrote:
quoted
[Cc Olof Johansson, ARM SoC Team]
On Wed, Jul 09, 2014 at 11:59:16AM +0200, Laurent Pinchart wrote:
quoted
On Friday 04 July 2014 15:53:32 Laurent Pinchart wrote:
quoted
Hi Daniel,
Could you please pull the following changes and drop the first version
of this pull request ? I've fixed one last typo noticed by Simon in
patch 09/19.
As last time I have board and SoC changes that depend on the driver
changes and that will need to go through Simon's tree. Could you thus
please provide a stable branch based on one of the v3.16-rc tags ?
Given that I'd like to get the arch/ part of the change set in v3.17,
could I ask you to fast track this pull request if possible ?
Hi Laurent, Hi Daniel,
I am wondering what the status of this pull request is. It would be nice
to get the arch/ changes into v3.17 but we are getting closer to v3.16-rc6
and I need to have things queued up before then.
I have also CCed Olof and the ARM SoC team (via arm at kernel.org) as
if Daniel does provide a stable branch that includes this pull request and
I use it as the basis for a branch with the arch changes then the
ARM SoC people would like to know about it before I send a pull request
for the arch/ changes.
From my point of view everything is ready for v3.17. Daniel, if you haven't
been abducted by aliens, could you please process the pull request ? If you
have, let us know what we can do to help negotiate your release.
Hi Laurent,
sorry for no giving some news. I am in vacation for these two weeks.
I will take care of the PR this evening or tomorrow evening and keep you in
touch rapidly.
Hi Daniel,
thanks in advance. If you could create a stable branch for me to
use as a base for the arch/ patches that would be great.
Hi Simon and Laurent,
I pulled in the following branch:
git://git.linaro.org/people/daniel.lezcano/linux.git
clockevents/renesas-timers-dt
I will keep this branch untouched and it will be merge in the 3.17 branch.
Thanks
-- Daniel
quoted
-- Daniel
quoted
quoted
quoted
quoted
The following changes since commit
4c834452aad01531db949414f94f817a86348d59:
quoted
quoted
quoted
Linux 3.16-rc3 (2014-06-29 14:11:36 -0700)
are available in the git repository at:
git://linuxtv.org/pinchartl/fbdev.git timers/upstream/drivers
for you to fetch changes up to cca8d0596c4c7acb371ea1bc5eee9b404b30516a:
clocksource: sh_mtu2: Add DT support (2014-07-04 15:50:29 +0200)
----------------------------------------------------------------
Laurent Pinchart (10):
clocksource: sh_cmt: Drop support for legacy platform data
clocksource: sh_cmt: Replace global spinlock with a per-device
spinlock
clocksource: sh_tmu: Drop support for legacy platform data
clocksource: sh_tmu: Replace global spinlock with a per-device
spinlock
clocksource: sh_mtu2: Drop support for legacy platform data
clocksource: sh_mtu2: Replace global spinlock with a per-device
spinlock
clocksource: shmobile: Remove unused sh_timer_config members
clocksource: sh_cmt: Add DT support
clocksource: sh_tmu: Add DT support
clocksource: sh_mtu2: Add DT support
Documentation/devicetree/bindings/timer/renesas,cmt.txt | 47 +++++
.../devicetree/bindings/timer/renesas,mtu2.txt | 39 ++++
Documentation/devicetree/bindings/timer/renesas,tmu.txt | 39 ++++
drivers/clocksource/sh_cmt.c | 233 +++++----
drivers/clocksource/sh_mtu2.c | 146 ++++-----
drivers/clocksource/sh_tmu.c | 127 +++++----
include/linux/sh_timer.h | 5 -
7 files changed, 309 insertions(+), 327 deletions(-)
create mode 100644
Documentation/devicetree/bindings/timer/renesas,cmt.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,mtu2.txt
create mode 100644
Documentation/devicetree/bindings/timer/renesas,tmu.txt
On Mon, Jul 14, 2014 at 11:54:01PM +0200, Daniel Lezcano wrote:
On 07/13/2014 10:39 PM, Simon Horman wrote:
quoted
On Sun, Jul 13, 2014 at 04:42:09PM +0200, Daniel Lezcano wrote:
quoted
On 07/13/2014 03:00 PM, Laurent Pinchart wrote:
quoted
Hi Simon and Daniel,
On Sunday 13 July 2014 11:55:01 Simon Horman wrote:
quoted
[Cc Olof Johansson, ARM SoC Team]
On Wed, Jul 09, 2014 at 11:59:16AM +0200, Laurent Pinchart wrote:
quoted
On Friday 04 July 2014 15:53:32 Laurent Pinchart wrote:
quoted
Hi Daniel,
Could you please pull the following changes and drop the first version
of this pull request ? I've fixed one last typo noticed by Simon in
patch 09/19.
As last time I have board and SoC changes that depend on the driver
changes and that will need to go through Simon's tree. Could you thus
please provide a stable branch based on one of the v3.16-rc tags ?
Given that I'd like to get the arch/ part of the change set in v3.17,
could I ask you to fast track this pull request if possible ?
Hi Laurent, Hi Daniel,
I am wondering what the status of this pull request is. It would be nice
to get the arch/ changes into v3.17 but we are getting closer to v3.16-rc6
and I need to have things queued up before then.
I have also CCed Olof and the ARM SoC team (via arm at kernel.org) as
if Daniel does provide a stable branch that includes this pull request and
I use it as the basis for a branch with the arch changes then the
ARM SoC people would like to know about it before I send a pull request
for the arch/ changes.
From my point of view everything is ready for v3.17. Daniel, if you haven't
been abducted by aliens, could you please process the pull request ? If you
have, let us know what we can do to help negotiate your release.
Hi Laurent,
sorry for no giving some news. I am in vacation for these two weeks.
I will take care of the PR this evening or tomorrow evening and keep you in
touch rapidly.
Hi Daniel,
thanks in advance. If you could create a stable branch for me to
use as a base for the arch/ patches that would be great.
Hi Simon and Laurent,
I pulled in the following branch:
git://git.linaro.org/people/daniel.lezcano/linux.git
clockevents/renesas-timers-dt
I will keep this branch untouched and it will be merge in the 3.17 branch.