mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-25 04:23:46 +00:00
683a91cdbd
The soc info without initialization value should be put into data section. The driver could be used before relocation, with it in BSS section could cause issue, since BSS section is not initializated and it might overwrite other areas that used by others, such as dtb. Signed-off-by: Peng Fan <peng.fan@nxp.com>
44 lines
1 KiB
C
44 lines
1 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
|
|
/*
|
|
* Copyright (C) 2016 Peng Fan <van.freenix@gmail.com>
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <dm.h>
|
|
#include <dm/pinctrl.h>
|
|
|
|
#include "pinctrl-imx.h"
|
|
|
|
static struct imx_pinctrl_soc_info imx5_pinctrl_soc_info __attribute__((section(".data")));
|
|
|
|
static int imx5_pinctrl_probe(struct udevice *dev)
|
|
{
|
|
struct imx_pinctrl_soc_info *info =
|
|
(struct imx_pinctrl_soc_info *)dev_get_driver_data(dev);
|
|
|
|
return imx_pinctrl_probe(dev, info);
|
|
}
|
|
|
|
static const struct udevice_id imx5_pinctrl_match[] = {
|
|
{
|
|
.compatible = "fsl,imx53-iomuxc",
|
|
.data = (ulong)&imx5_pinctrl_soc_info
|
|
},
|
|
{
|
|
.compatible = "fsl,imx53-iomuxc-gpr",
|
|
.data = (ulong)&imx5_pinctrl_soc_info
|
|
},
|
|
{ /* sentinel */ }
|
|
};
|
|
|
|
U_BOOT_DRIVER(imx5_pinctrl) = {
|
|
.name = "imx5-pinctrl",
|
|
.id = UCLASS_PINCTRL,
|
|
.of_match = of_match_ptr(imx5_pinctrl_match),
|
|
.probe = imx5_pinctrl_probe,
|
|
.remove = imx_pinctrl_remove,
|
|
.priv_auto_alloc_size = sizeof(struct imx_pinctrl_priv),
|
|
.ops = &imx_pinctrl_ops,
|
|
.flags = DM_FLAG_PRE_RELOC,
|
|
};
|