On 17/02/14 13:44, Mark Rutland wrote:
On Mon, Feb 17, 2014 at 01:08:04PM +0000, Ben Dooks wrote:
Add new init-regs field for of_phy nodes and make sure these
get applied when the phy is configured.
This allows any phy node in an fdt to initialise registers
that may not be set as standard by the driver at initialisation
time, such as LED controls.
Why not have a driver for the particular PHY? If it's not standard we
don't need to pretend it is. If it has some extensions then the standard
compatible string can be a fallback entry in the compatible list.
I think allocating a compatible string and handling it in the kernel is
better than having arbitrary register poke values in the dt.
+ prop = of_find_property(of_node, "init-regs", &len);
+ if (prop) {
+ if (len % (sizeof(__be32) * 3)) {
+ dev_err(dev, "init-regs not multiple of 3 entries\n");
+ return -EINVAL;
+ }
+
+ ptr = of_prop_next_u32(prop, ptr, ®);
+ while (ptr != NULL) {
+ ptr = of_prop_next_u32(prop, ptr, ®);
oops, bad rebase fixup, this should have been deleted.
--
Ben Dooks http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
--
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