RE: [PATCH v1 1/2] arm: a driver for on-chip ETM and ETB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Russell King - ARM Linux
> Sent: Sunday, October 11, 2009 5:30 PM

> > > +       clk = clk_get(&pdev->dev, "emu_core_alwon_ck");
> > > +       clk_enable(clk);
> > > +
> > > +       clk = clk_get(&pdev->dev, "emu_per_alwon_ck");
> > > +       clk_enable(clk);
> > > +
> > > +       clk = clk_get(&pdev->dev, "emu_mpu_alwon_ck");
> > > +       clk_enable(clk);
> > > +
> > > +       clk = clk_get(&pdev->dev, "emu_src_ck");
> > > +       clk_enable(clk);
> >
> > Are these clocks really generic? It looks a lot like OMAP-specific
> > stuff. Is it possible to hide these behind a single clock inside the
> > platform? like "etbclock" or so that increase refcount of the others
> > by 1?

More than ETM/ETB could be using those omap generated clocks.  Any one of the above can also source the trace clocks.

>From the above clocks, 3 are real clock sources (core, per, mpu) and 'emu_src' is a virtual clock which can be set to be feed from the above (or an always on sys_clk not listed). The emu_src_clk is close to what you were commenting on for etbclock.

> ATCLK - ATB interface clock
> CLK - main clock
> PCLKDBG - Debug APB clock or PCLK - APB clock
>
> I'm not sure why OMAP seems to have four clocks when the ETM has only
> three clocks itself.

The ALTCLK & PCLKDBG will be derived from one of the above clocks (emu_per, emu_mpu, emu_core, emu_sys) based on routing.  Which one is used is selected by CM_CLKSEL1_EMU.CLKSEL_ATCLK.  The main CLK comes from MPU DPLL tree.

A big chuck of ETM/ETB is generic coresight.  There is SOC specific emulation logic which surrounds it.

Regards,
Richard W.

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux