Hello Mark, 2015-02-10 23:27 GMT+08:00 Mark Rutland <mark.rutland@xxxxxxx>: [...] >> > >> >> >> >> + pm_ctrl: pm_ctrl { >> >> >> >> + compatible = "hisilicon,pmctrl", "syscon"; >> >> >> >> + #address-cells = <1>; >> >> >> >> + #size-cells = <1>; >> >> >> >> + reg = <0x0 0xf7032000 0x0 0x1000>; >> >> >> >> + ranges = <0 0x0 0xf7032000 0x1000>; >> >> >> >> + >> >> >> >> + clock_power: clock3@0 { >> >> >> >> + compatible = "hisilicon,hi6220-clock-power"; >> >> >> >> + reg = <0 0x1000>; >> >> >> >> + #clock-cells = <1>; >> >> >> >> + }; >> >> >> >> + }; >> >> >> > >> >> >> > I really doesn't see the point in having a sub-device that covers the >> >> >> > entirely of the register space of the containing node, and that being >> >> >> > the case I am extremely concerned that the containers are marked as >> >> >> > syscon compatible. >> >> >> The SoC clocks are designed and placed under different system controllers, >> >> >> so I define corresponding nodes under different controllers for clock operation. >> >> > >> >> > What I'm concerned wit hhere is that the pm_ctrl node and the clock3@0 >> >> > sub-node have the _exact_ same register space. >> >> > >> >> > Given this should mean that the clock3@0 node owns that register space, >> >> > having the container node export this as syscon does not make sense. And >> >> > the split between pm_ctrl and clock3@) doesn't seem to make sense given >> >> > they cover the same space. >> >> I understand your worry and will find the max offset of those clocks >> >> under this controller. >> >> >> >> > >> >> > As I asked before, why is pm_ctrl marked as a syscon, and what's the >> >> > point of the separate sub-node? >> >> There is no big difference between pm_ctrl and other controller, they >> >> are all designed as >> >> the base address to control some functions of other modules (certainly >> >> include some clock gates). >> > >> > Are they just different instances of the same IP block, or are there >> > fundamental differences between them? >> You can understand it as a different instance of the same IP block, >> there is no fundamental >> differences between them. > > Ok. If that's the case each should have the same compatible string. Although they have same function, they control different domain, I should use different compatible string to distinguish different domains. Thanks, Bintian > > Thanks, > Mark. -- Best Regards, Bintian =========================== Don't be nervous, just be happy! -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html