Hi Alexander,
thanks for debugging. I'm not yet sure what is going wrong, so
I have some more questions below.
This causes the following errors on existing boards (imx8mq-tqma8mq-
mba8mx.dtb):
root@tqma8-common:~# uname -r
6.2.0-rc2-next-20230105
> OF: /soc@0: could not get #nvmem-cell-cells for /soc@0/bus@30000000/
efuse@30350000/soc-uid@4
> OF: /soc@0/bus@30800000/ethernet@30be0000: could not get #nvmem-cell-cells
for /soc@0/bus@30000000/efuse@30350000/mac-address@90
These are caused because '#nvmem-cell-cells = <0>;' is not explicitly
set in
DT.
> TI DP83867 30be0000.ethernet-1:0e: error -EINVAL: failed to get nvmem cell
io_impedance_ctrl
> TI DP83867: probe of 30be0000.ethernet-1:0e failed with error -22
These are caused because of_nvmem_cell_get() now returns -EINVAL
instead of -
ENODEV if the requested nvmem cell is not available.
What do you mean with not available? Not yet available because of probe
order?
Should we just assume #nvmem-cell-cells = <0> by default? I guess it's
a safe assumption.
Actually, that's what patch 2/21 is for.
Alexander, did you verify that the EINVAL is returned by
of_parse_phandle_with_optional_args()?
-michael