remoteproc: pru: Add enum for PRU Core Identifiers.
authorMD Danish Anwar <danishanwar@ti.com>
Fri, 6 Jan 2023 12:10:42 +0000 (17:40 +0530)
committerMathieu Poirier <mathieu.poirier@linaro.org>
Fri, 6 Jan 2023 16:14:08 +0000 (09:14 -0700)
Introducing enum pruss_pru_id for PRU Core Identifiers.
PRUSS_PRU0 indicates PRU Core 0.
PRUSS_PRU1 indicates PRU Core 1.
PRUSS_NUM_PRUS indicates the total number of PRU Cores.

Signed-off-by: MD Danish Anwar <danishanwar@ti.com>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Link: https://lore.kernel.org/r/20230106121046.886863-3-danishanwar@ti.com
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
drivers/remoteproc/pru_rproc.c
include/linux/remoteproc/pruss.h [new file with mode: 0644]

index 128bf99..f8b196a 100644 (file)
@@ -16,6 +16,7 @@
 #include <linux/module.h>
 #include <linux/of_device.h>
 #include <linux/of_irq.h>
+#include <linux/remoteproc/pruss.h>
 #include <linux/pruss_driver.h>
 #include <linux/remoteproc.h>
 
@@ -438,7 +439,7 @@ static void *pru_d_da_to_va(struct pru_rproc *pru, u32 da, size_t len)
        dram0 = pruss->mem_regions[PRUSS_MEM_DRAM0];
        dram1 = pruss->mem_regions[PRUSS_MEM_DRAM1];
        /* PRU1 has its local RAM addresses reversed */
-       if (pru->id == 1)
+       if (pru->id == PRUSS_PRU1)
                swap(dram0, dram1);
        shrd_ram = pruss->mem_regions[PRUSS_MEM_SHRD_RAM2];
 
@@ -747,14 +748,14 @@ static int pru_rproc_set_id(struct pru_rproc *pru)
        case RTU0_IRAM_ADDR_MASK:
                fallthrough;
        case PRU0_IRAM_ADDR_MASK:
-               pru->id = 0;
+               pru->id = PRUSS_PRU0;
                break;
        case TX_PRU1_IRAM_ADDR_MASK:
                fallthrough;
        case RTU1_IRAM_ADDR_MASK:
                fallthrough;
        case PRU1_IRAM_ADDR_MASK:
-               pru->id = 1;
+               pru->id = PRUSS_PRU1;
                break;
        default:
                ret = -EINVAL;
diff --git a/include/linux/remoteproc/pruss.h b/include/linux/remoteproc/pruss.h
new file mode 100644 (file)
index 0000000..fbadfcf
--- /dev/null
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * PRU-ICSS Subsystem user interfaces
+ *
+ * Copyright (C) 2015-2022 Texas Instruments Incorporated - http://www.ti.com
+ *     Suman Anna <s-anna@ti.com>
+ */
+
+#ifndef __LINUX_PRUSS_H
+#define __LINUX_PRUSS_H
+
+#include <linux/device.h>
+#include <linux/types.h>
+
+#define PRU_RPROC_DRVNAME "pru-rproc"
+
+/**
+ * enum pruss_pru_id - PRU core identifiers
+ * @PRUSS_PRU0: PRU Core 0.
+ * @PRUSS_PRU1: PRU Core 1.
+ * @PRUSS_NUM_PRUS: Total number of PRU Cores available.
+ *
+ */
+
+enum pruss_pru_id {
+       PRUSS_PRU0 = 0,
+       PRUSS_PRU1,
+       PRUSS_NUM_PRUS,
+};
+
+#endif /* __LINUX_PRUSS_H */