I have a node with the following
mmc0: mmc@11230000 {
compatible = "mediatek,mt8186-mmc", "mediatek,mt8183-mmc";
pinctrl-names = "default", "state_uhs", "state_eint";
pinctrl-0 = <&mmc0_default>;
pinctrl-1 = <&mmc0_state_uhs>;
pinctrl-2 = <&mmc0_state_eint>;
...
};
&pio {
mmc0_default: mmc0-0 {
...
pins_cmd_dat {
pinmux = <...>;
bias-pull-up = <MTK_PUPD_SET_R1R0_01>;
input-enable;
drive-strength = <MTK_DRIVE_4mA>;
};
...
};
};
When probing the device I get
[ 0.227736] mtk-msdc 11230000.mmc: no init pinctrl state
[ 0.227882] mtk-msdc 11230000.mmc: no sleep pinctrl state
[ 0.227904] mtk-msdc 11230000.mmc: no idle pinctrl state
[ 0.228444] mtk-msdc 11230000.mmc: Linked as a consumer to regulator.31
[ 0.228763] mtk-msdc 11230000.mmc: Linked as a consumer to regulator.14
[ 0.228822] mtk-msdc 11230000.mmc: Failed getting OCR mask: -22
My assumption is that in my code above,pinctrl-names = "default"
is the state, and pinctrl-0 = <&mmc0_default>;
points to the pincontrol that handles the state.
It seems it can be set from a driver in c code from here but can it be set as a property in the device tree?
Is there a way to set in the device tree?
pinctrl
subsystem? – Seamus Dec 24 '23 at 04:46