[PATCH] arm: mecsbc: fixup /regulator-sd device tree node
Ahmad Fatoum
a.fatoum at pengutronix.de
Fri Apr 5 04:46:26 PDT 2024
Hello Sascha,
On 05.04.24 12:12, Sascha Hauer wrote:
> The MECSBC prototype board has a bug which makes the 1.8V SD mode
> unusable. Add a fixup which sets the regulator-min-microvolt property of
> the SD regulator to 3.3V to prevent the Kernel from going into 1.8V.
Isn't that what the MMC no-1-8-v device tree property is for?
Cheers,
Ahmad
>
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
> arch/arm/boards/protonic-mecsbc/board.c | 21 +++++++++++++++++++++
> 1 file changed, 21 insertions(+)
>
> diff --git a/arch/arm/boards/protonic-mecsbc/board.c b/arch/arm/boards/protonic-mecsbc/board.c
> index 3ba8fb8d1c..56f7ca393a 100644
> --- a/arch/arm/boards/protonic-mecsbc/board.c
> +++ b/arch/arm/boards/protonic-mecsbc/board.c
> @@ -90,6 +90,24 @@ static void mecsbc_process_adc(struct device *dev)
> pr_info("VIN = %d V\n", mecsbc_get_vin_mv() / 1000);
> }
>
> +static int mecsbc_sd_of_fixup(struct device_node *root, void *context)
> +{
> + struct device *dev = context;
> + struct device_node *np;
> +
> + dev_info(dev, "Fixing up /regulator-sd\n");
> +
> + np = of_find_node_by_path_from(root, "/regulator-sd");
> + if (!np) {
> + dev_err(dev, "Cannot find /regulator-sd node\n");
> + return 0;
> + }
> +
> + of_property_write_u32(np, "regulator-min-microvolt", 3300000);
> +
> + return 0;
> +}
> +
> static int mecsbc_of_fixup_hwrev(struct device *dev)
> {
> const char *compat;
> @@ -103,6 +121,9 @@ static int mecsbc_of_fixup_hwrev(struct device *dev)
>
> free(buf);
>
> + if (mecsbc_data.hw_id == 0 && mecsbc_data.hw_rev == 0)
> + of_register_fixup(mecsbc_sd_of_fixup, dev);
> +
> return 0;
> }
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list