I'm working on a device tree for my product and I'm working off the am335x-evm.dts as a base. I've made it to MDIO, my pin mux definition shows that the MDIO lines should be set up as:
MUX_VAL(CONTROL_PADCONF_MDIO, (IEN | PU | MODE0 )) /* mdio_data */\
MUX_VAL(CONTROL_PADCONF_MDC, (IDIS | PU | MODE0 )) /* mdio_clk */\
So they're:
MDIO Data -
IEN - input
PU - pull up
MODE0 - Mux_mode0
MDIO Clk -
IDIS - output
PU - pull up
MODE0 - Mux_mode0
And that's what I was expecting when looking at the /arch/arm/boot/dts/am335x-evm.dts. However instead I found:
davinci_mdio_default: davinci_mdio_default { pinctrl-single,pins = < /* MDIO */ 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ >; };
So the question I have is about the slew rate option. The MDIO Data pin was set not only with the expected input/pull up/mode0, but also had a fast slewrate set.
1) I take it the Pin Mux Utility just doesn't take slew rate into consideration. Is this correct?
2) What made TI choose the fast slew rate for the MDIO Data pin in the device tree? Are there other pins that TI feels are important to have a fast slew rate?
3) Side question: The mdio has the prefix "davinci", why is this here? Is the block within the processor dubbed "davinci" for some reason?