diff mbox series

[v3,3/3] aspeed: Add fby35-bmc slot GPIO's

Message ID 20220712023219.41065-4-peter@pjd.dev (mailing list archive)
State New, archived
Headers show
Series hw/gpio/aspeed: Don't let guests modify input pins | expand

Commit Message

Peter Delevoryas July 12, 2022, 2:32 a.m. UTC
Signed-off-by: Peter Delevoryas <peter@pjd.dev>
---
 hw/arm/aspeed.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

Comments

Cédric Le Goater July 12, 2022, 10:10 a.m. UTC | #1
On 7/12/22 04:32, Peter Delevoryas wrote:
> Signed-off-by: Peter Delevoryas <peter@pjd.dev>

Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.


> ---
>   hw/arm/aspeed.c | 14 +++++++++++++-
>   1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> index 6fe9b13548..0ce9a42c2b 100644
> --- a/hw/arm/aspeed.c
> +++ b/hw/arm/aspeed.c
> @@ -1343,11 +1343,23 @@ static void fby35_reset(MachineState *state)
>   
>       qemu_devices_reset();
>   
> -    /* Board ID */
> +    /* Board ID: 7 (Class-1, 4 slots) */
>       object_property_set_bool(OBJECT(gpio), "gpioV4", true, &error_fatal);
>       object_property_set_bool(OBJECT(gpio), "gpioV5", true, &error_fatal);
>       object_property_set_bool(OBJECT(gpio), "gpioV6", true, &error_fatal);
>       object_property_set_bool(OBJECT(gpio), "gpioV7", false, &error_fatal);
> +
> +    /* Slot presence pins, inverse polarity. (False means present) */
> +    object_property_set_bool(OBJECT(gpio), "gpioH4", false, &error_fatal);
> +    object_property_set_bool(OBJECT(gpio), "gpioH5", true, &error_fatal);
> +    object_property_set_bool(OBJECT(gpio), "gpioH6", true, &error_fatal);
> +    object_property_set_bool(OBJECT(gpio), "gpioH7", true, &error_fatal);
> +
> +    /* Slot 12v power pins, normal polarity. (True means powered-on) */
> +    object_property_set_bool(OBJECT(gpio), "gpioB2", true, &error_fatal);
> +    object_property_set_bool(OBJECT(gpio), "gpioB3", false, &error_fatal);
> +    object_property_set_bool(OBJECT(gpio), "gpioB4", false, &error_fatal);
> +    object_property_set_bool(OBJECT(gpio), "gpioB5", false, &error_fatal);
>   }
>   
>   static void aspeed_machine_fby35_class_init(ObjectClass *oc, void *data)
diff mbox series

Patch

diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index 6fe9b13548..0ce9a42c2b 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -1343,11 +1343,23 @@  static void fby35_reset(MachineState *state)
 
     qemu_devices_reset();
 
-    /* Board ID */
+    /* Board ID: 7 (Class-1, 4 slots) */
     object_property_set_bool(OBJECT(gpio), "gpioV4", true, &error_fatal);
     object_property_set_bool(OBJECT(gpio), "gpioV5", true, &error_fatal);
     object_property_set_bool(OBJECT(gpio), "gpioV6", true, &error_fatal);
     object_property_set_bool(OBJECT(gpio), "gpioV7", false, &error_fatal);
+
+    /* Slot presence pins, inverse polarity. (False means present) */
+    object_property_set_bool(OBJECT(gpio), "gpioH4", false, &error_fatal);
+    object_property_set_bool(OBJECT(gpio), "gpioH5", true, &error_fatal);
+    object_property_set_bool(OBJECT(gpio), "gpioH6", true, &error_fatal);
+    object_property_set_bool(OBJECT(gpio), "gpioH7", true, &error_fatal);
+
+    /* Slot 12v power pins, normal polarity. (True means powered-on) */
+    object_property_set_bool(OBJECT(gpio), "gpioB2", true, &error_fatal);
+    object_property_set_bool(OBJECT(gpio), "gpioB3", false, &error_fatal);
+    object_property_set_bool(OBJECT(gpio), "gpioB4", false, &error_fatal);
+    object_property_set_bool(OBJECT(gpio), "gpioB5", false, &error_fatal);
 }
 
 static void aspeed_machine_fby35_class_init(ObjectClass *oc, void *data)