Hi.
>> 2017-02-07 22:30 GMT+09:00 Felix Brack <[email protected]>: >> >>> + >>> +static int single_set_state_simple(struct udevice *dev, >>> + struct udevice *periph) >>> +{ >>> + const void *fdt = gd->fdt_blob; >>> + const struct single_fdt_pin_cfg *prop; >>> + int len; >>> + >>> + prop = fdt_getprop(fdt, periph->of_offset, "pinctrl-single,pins", >>> &len); >> >> >> This seems wrong to me. >> >> >> The "periph" is a peripheral device (like UART, eMMC, USB, etc.). >> > > In the case above 'dev' represents the pin controller node of the DT and > 'periph' represents the DT node holding the pin configuration > information for a specific peripheral like i2c0, not the peripheral > itself. I recommend you to read pinctrl-uclass.c once again. Did you track how "periph" was passed across the following function calls? device_probe() -> pinctrl_select_state() -> pinctrl_select_state_simple() -> ops->set_state_simple() -- Best Regards Masahiro Yamada _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

