Hi BenoƮt,
On Tue, 22 Mar 2011, Cousson, Benoit wrote:
> On the other hand not every clock belong to a clockdomain, that's why we
> have clock without clockdomain on OMAP. A clockdomain is a just group of
> IPs that share the same interface clock.
PRCM clockdomains also include functional clocks. See for example the
OMAP4 Public TRM Rev. O Section 3.1.1.1.3 "Clock Domain" ('The clockdomain
of CM_B is composed of two clocks: a functional clock (FCLK2) and an
interface clock (ICLK1)', and also later, 'The PRCM module lets software
check the status of the clock domain functional clocks').
Both the TRM and the OMAP4 functional specification clearly link PRCM
clockdomain idle management to the state of the clockdomain's functional
clocks. See for example OMAP4 Public TRM Rev. O Table 3-11 "Clock Domain
Clock States" ('INACTIVE: ... Every optional functional clock in the clock
domain is gated.')
Beyond the PRCM, the Linux-OMAP clockdomain code is not only concerned
with PRCM-controllable clockdomains. It is intended to be a generically
useful way to connect clocks to the powerdomain and voltagedomain that the
clock exists in, even if there are no explicit PRCM registers associated
with the clockdomain. These "powerdomains" and "voltagedomains" also may
not be directly PRCM controllable.
Every clock that is in the Linux-OMAP clock tree should have a clockdomain
associated with it.
- Paul