summary refs log tree commit diff stats
path: root/include/hw/gpio/pca9552_regs.h
diff options
context:
space:
mode:
authorCédric Le Goater <clg@redhat.com>2024-03-25 14:48:32 +0100
committerThomas Huth <thuth@redhat.com>2024-03-25 15:05:38 +0100
commit6328d8ffa6cb9d750e4bfcfd73ac25d3a39ceb63 (patch)
tree07639dcded649a542df4da9750eb4514f65591ce /include/hw/gpio/pca9552_regs.h
parent1967e9e06709c2b3de8b071d94da3856ba5b1ce6 (diff)
downloadfocaccia-qemu-6328d8ffa6cb9d750e4bfcfd73ac25d3a39ceb63.tar.gz
focaccia-qemu-6328d8ffa6cb9d750e4bfcfd73ac25d3a39ceb63.zip
misc/pca955*: Move models under hw/gpio
The PCA9552 and PCA9554 devices are both I2C GPIO controllers and the
PCA9552 also can drive LEDs. Do all the necessary adjustments to move
the models under hw/gpio.

Cc: Glenn Miles <milesg@linux.vnet.ibm.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20240325134833.1484265-1-clg@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'include/hw/gpio/pca9552_regs.h')
-rw-r--r--include/hw/gpio/pca9552_regs.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/hw/gpio/pca9552_regs.h b/include/hw/gpio/pca9552_regs.h
new file mode 100644
index 0000000000..d8051cfbd6
--- /dev/null
+++ b/include/hw/gpio/pca9552_regs.h
@@ -0,0 +1,32 @@
+/*
+ * PCA9552 I2C LED blinker registers
+ *
+ * Copyright (c) 2017-2018, IBM Corporation.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or
+ * later. See the COPYING file in the top-level directory.
+ */
+#ifndef PCA9552_REGS_H
+#define PCA9552_REGS_H
+
+/*
+ * Bits [0:3] are used to address a specific register.
+ */
+#define PCA9552_INPUT0   0 /* read only input register 0 */
+#define PCA9552_INPUT1   1 /* read only input register 1  */
+#define PCA9552_PSC0     2 /* read/write frequency prescaler 0 */
+#define PCA9552_PWM0     3 /* read/write PWM register 0 */
+#define PCA9552_PSC1     4 /* read/write frequency prescaler 1 */
+#define PCA9552_PWM1     5 /* read/write PWM register 1 */
+#define PCA9552_LS0      6 /* read/write LED0 to LED3 selector */
+#define PCA9552_LS1      7 /* read/write LED4 to LED7 selector */
+#define PCA9552_LS2      8 /* read/write LED8 to LED11 selector */
+#define PCA9552_LS3      9 /* read/write LED12 to LED15 selector */
+
+/*
+ * Bit [4] is used to activate the Auto-Increment option of the
+ * register address
+ */
+#define PCA9552_AUTOINC  (1 << 4)
+
+#endif