Skip to content

Commit fad13b5

Browse files
committed
soc: microchip: mpfs: add auto-update subdev to system controller
The PolarFire SoC's system controller offers the ability to re-program the FPGA from a user application via two, related, mechanisms. In-Application Programming (IAP) is not ideal for use in Linux, as it will immediately take down the system when requested. Auto Update is preferred, as it will only take affect at device power up*, allowing the OS (and potential applications in AMP) to be shut down gracefully. * Auto Update occurs at device initialisation, which can also be triggered by device reset - possible with the v2023.02 version of the Hart Software Services (HSS) and reference design. Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
1 parent a8f0058 commit fad13b5

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

drivers/soc/microchip/mpfs-sys-controller.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,11 @@ static struct platform_device subdevs[] = {
118118
{
119119
.name = "mpfs-generic-service",
120120
.id = -1,
121-
}
121+
},
122+
{
123+
.name = "mpfs-auto-update",
124+
.id = -1,
125+
},
122126
};
123127

124128
static int mpfs_sys_controller_probe(struct platform_device *pdev)
@@ -160,14 +164,15 @@ static int mpfs_sys_controller_probe(struct platform_device *pdev)
160164

161165
platform_set_drvdata(pdev, sys_controller);
162166

163-
dev_info(&pdev->dev, "Registered MPFS system controller\n");
164167

165168
for (i = 0; i < ARRAY_SIZE(subdevs); i++) {
166169
subdevs[i].dev.parent = dev;
167170
if (platform_device_register(&subdevs[i]))
168171
dev_warn(dev, "Error registering sub device %s\n", subdevs[i].name);
169172
}
170173

174+
dev_info(&pdev->dev, "Registered MPFS system controller\n");
175+
171176
return 0;
172177
}
173178

0 commit comments

Comments
 (0)