Merge tag 'drivers-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / include / linux / qcom-geni-se.h
index 7c811ee..f567278 100644 (file)
@@ -8,11 +8,24 @@
 
 #include <linux/interconnect.h>
 
-/* Transfer mode supported by GENI Serial Engines */
+/**
+ * enum geni_se_xfer_mode: Transfer modes supported by Serial Engines
+ *
+ * @GENI_SE_INVALID: Invalid mode
+ * @GENI_SE_FIFO: FIFO mode. Data is transferred with SE FIFO
+ * by programmed IO method
+ * @GENI_SE_DMA: Serial Engine DMA mode. Data is transferred
+ * with SE by DMAengine internal to SE
+ * @GENI_GPI_DMA: GPI DMA mode. Data is transferred using a DMAengine
+ * configured by a firmware residing on a GSI engine. This DMA name is
+ * interchangeably used as GSI or GPI which seem to imply the same DMAengine
+ */
+
 enum geni_se_xfer_mode {
        GENI_SE_INVALID,
        GENI_SE_FIFO,
        GENI_SE_DMA,
+       GENI_GPI_DMA,
 };
 
 /* Protocols supported by GENI Serial Engines */
@@ -63,6 +76,7 @@ struct geni_se {
 #define SE_GENI_STATUS                 0x40
 #define GENI_SER_M_CLK_CFG             0x48
 #define GENI_SER_S_CLK_CFG             0x4c
+#define GENI_IF_DISABLE_RO             0x64
 #define GENI_FW_REVISION_RO            0x68
 #define SE_GENI_CLK_SEL                        0x7c
 #define SE_GENI_DMA_MODE_EN            0x258
@@ -105,6 +119,9 @@ struct geni_se {
 #define CLK_DIV_MSK                    GENMASK(15, 4)
 #define CLK_DIV_SHFT                   4
 
+/* GENI_IF_DISABLE_RO fields */
+#define FIFO_IF_DISABLE                        (BIT(0))
+
 /* GENI_FW_REVISION_RO fields */
 #define FW_REV_PROTOCOL_MSK            GENMASK(15, 8)
 #define FW_REV_PROTOCOL_SHFT           8