>>>> + >>>> + res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy_wkup"); >>>> + phy->phy_wkup = ioremap(res->start, resource_size(res)); >>> devm_ioremap? >> The phy_wakeup register is common across two instances of phy, devm_ioremap_resource() will fail to map for twice for same register space. > I've already told you the register can't be shared between devices like this. > BTW, you haven't replied to my request concerning your /proc/iomem contents... I have missed that specific mail. The /proc/iomem does show this common register. As you suggest to create a third device for this shared register? I agree it can be done. Initially I thought this should be part of control module, but do we have control module frame work for every SoC(am335x)? Every SoC has many such shared register to handle control/status logic for Soc specific IP(s)? If we create separate device node for each such registers, this will end up in adding more files to kernel. We should create single control module node for each SoC, cm: control_module@44e10000 { compatible = "ti,dsps-usbphy"; reg = 0x44e10648 0x4 0x44e10XXX 0x4 ....> reg-names = "phy_wkup", "mmc_control", <xxxreg_ctrl>, <xxxreg_status>; id = <0>; }; Have common control module APIs to control these registers, can be used by other driver modules. -- Ravi B -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html