From nobody Sun Nov 16 16:31:54 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) client-ip=209.85.221.68; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f68.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1601198391; cv=none; d=zohomail.com; s=zohoarc; b=WdC7SzJp9UP9Ll386atnPIk7NagEt4BFQ5H8kj507rA7ERNb8Ifo0lS7DfY3M2vCuttHGkerCfqmUK9qzaQw/P4oUVA8DNQy++r49XfoZEmNk4bVq8S+lJDERF7G2Pl2MqwVhE+lMQRb/WTaHm//I0Oa9VEOrxIsVIEIxt/Pomc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601198391; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:MIME-Version:Message-ID:Sender:Subject:To; bh=JE1wGB6BI1wMEr1wtSL+m6ZTyfG8SwGE9LYk/u5ju/4=; b=IJ2wrL3jyvx4VI16ewgfwGs6+OaPsAbBaeo9+hONhm6FzOEvkn1lgNL0I1CTAeHUFDbmz6yLoVzkp5apKzKIRsnNZgFh7avPtpx34VE5JGxPCE8vuUOR0AWG9lSJGlTVhEGqsPZ4ave09p/TJuQJhhbiGvHR8ScMnNpK+c9LcLI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by mx.zohomail.com with SMTPS id 1601198391026555.3034091482745; Sun, 27 Sep 2020 02:19:51 -0700 (PDT) Received: by mail-wr1-f68.google.com with SMTP id t10so8449537wrv.1 for ; Sun, 27 Sep 2020 02:19:50 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (74.red-83-53-161.dynamicip.rima-tde.net. [83.53.161.74]) by smtp.gmail.com with ESMTPSA id 11sm4822708wmi.14.2020.09.27.02.19.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Sep 2020 02:19:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=JE1wGB6BI1wMEr1wtSL+m6ZTyfG8SwGE9LYk/u5ju/4=; b=KdoSOraJqoVhJi7JRCk0athxkLUAxHY6dhCOKx9xjnGlhmQqw50uJ24kmHcNfj3znu QVhpnnI2a/ZCxxdvHOc5XLMycGJy/j8icXZFnuEJ4bOLJc/0AFVQBQBhYVMDfzVFroLE gp9em/zvgSSWQKyUMuVuKlm0bBf0aBvXWnCO0hnJwMkGC0ydIqL4yVyljuWr9fxIolgg uOu0qyJZ4UthbIj9jDASeJQjDIxmKOEfQC1SrIImyyseZwn42jvXm5e2iTq6P7RU7Ast nmhmrkca2wt7eGXrhwI2zWHlzeP8/R8nL9uJeBoVHz+9OOPrhGnr9Sw4+LS3zHmRrA7I zTCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=JE1wGB6BI1wMEr1wtSL+m6ZTyfG8SwGE9LYk/u5ju/4=; b=bQXKv68wN3hwLNg9eBsygbM7gG+gX+QShxKAP73D5eNvkdh9PfeGkdc9sg7/wZc+T5 kvzlk482LobVH2D0kddTweDJOwWygG71orMu9ggOPEE/pW1dslUMBaeYO+2pkFMmP+RT n9ym+PCCHLdG/NbbUV4C4Q4T2KDJhANqnpWFtuFY8OOEODdJLPNenHEDwgPOIcF9/52G IC51qo2rZm4e9GZnx7m0TUMbciq+7WSw6ukNZ4K+owbXa+8GtU9jNqVIkNUcrSTre7YS bMg6F0CalpBj+e1AYY+DqO7701ZnFvOlx37xiSpwvkbuUioLtKdQMzhw7gulXfBfb3hm gZiA== X-Gm-Message-State: AOAM530efGcLxItYZx62riwSylP2EC9XX6CZaNt/qlfWi4qWDuGMC1j0 gDBUM7vF9c45Ei49lBD/G5vNf3qcZC4= X-Google-Smtp-Source: ABdhPJywlDhKwsCabSdmvi0rpl5XFSlTxdTo3oJeqzm3uXdLoEaKoJe6YrTTGZ1MQEi8p1XZ1oHabg== X-Received: by 2002:adf:f986:: with SMTP id f6mr12573144wrr.270.1601198389134; Sun, 27 Sep 2020 02:19:49 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" , =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , qemu-arm@nongnu.org, Alistair Francis , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH] ssi: Display chip select polarity in monitor 'info qtree' Date: Sun, 27 Sep 2020 11:19:46 +0200 Message-Id: <20200927091946.65491-1-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) It is sometime useful to verify a device chip select polarity on a SPI bus. Since we have this information available, display it in the 'info qtree' monitor output: $ qemu-system-arm -M lm3s6965evb -monitor stdio -S (qemu) info qtree [...] dev: pl022, id "" gpio-out "sysbus-irq" 1 mmio 0000000040008000/0000000000001000 bus: ssi type SSI dev: ssd0323, id "" gpio-in "" 1 gpio-in "ssi-gpio-cs" 1 chip select polarity: high <--- dev: ssi-sd, id "" gpio-in "ssi-gpio-cs" 1 chip select polarity: low <--- bus: sd-bus type sd-bus dev: sd-card, id "" spec_version =3D 2 (0x2) drive =3D "sd0" spi =3D true Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Alistair Francis Reviewed-by: C=C3=A9dric Le Goater Tested-by: C=C3=A9dric Le Goater --- hw/ssi/ssi.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/hw/ssi/ssi.c b/hw/ssi/ssi.c index 4278d0e4440..4c9f8d66d23 100644 --- a/hw/ssi/ssi.c +++ b/hw/ssi/ssi.c @@ -17,6 +17,7 @@ #include "migration/vmstate.h" #include "qemu/module.h" #include "qapi/error.h" +#include "monitor/monitor.h" #include "qom/object.h" =20 struct SSIBus { @@ -26,10 +27,31 @@ struct SSIBus { #define TYPE_SSI_BUS "SSI" OBJECT_DECLARE_SIMPLE_TYPE(SSIBus, SSI_BUS) =20 +static void ssi_print_dev(Monitor *mon, DeviceState *dev, int indent) +{ + static const char *const polarity_s[] =3D { + [SSI_CS_NONE] =3D "unknown", + [SSI_CS_LOW] =3D "low", + [SSI_CS_HIGH] =3D "high" + }; + SSISlaveClass *ssc =3D SSI_SLAVE_GET_CLASS(dev); + + monitor_printf(mon, "%*schip select polarity: %s\n", + indent, "", polarity_s[ssc->cs_polarity]); +} + +static void ssi_bus_class_init(ObjectClass *klass, void *data) +{ + BusClass *k =3D BUS_CLASS(klass); + + k->print_dev =3D ssi_print_dev; +} + static const TypeInfo ssi_bus_info =3D { .name =3D TYPE_SSI_BUS, .parent =3D TYPE_BUS, .instance_size =3D sizeof(SSIBus), + .class_init =3D ssi_bus_class_init, }; =20 static void ssi_cs_default(void *opaque, int n, int level) --=20 2.26.2