From: Eddie James <eajames@linux.ibm.com>
To: linux-fsi@lists.ozlabs.org
Cc: linux-kernel@vger.kernel.org, alistair@popple.id.au,
joel@jms.id.au, jk@ozlabs.org, andrew@codeconstruct.com.au,
eajames@linux.ibm.com, ninad@linux.ibm.com
Subject: [PATCH 02/15] fsi: Move slave definitions to fsi-slave.h
Date: Tue, 17 Sep 2024 12:16:34 -0500 [thread overview]
Message-ID: <20240917171647.1403910-3-eajames@linux.ibm.com> (raw)
In-Reply-To: <20240917171647.1403910-1-eajames@linux.ibm.com>
Master drivers may need access to the slave definitions.
Signed-off-by: Eddie James <eajames@linux.ibm.com>
---
drivers/fsi/fsi-core.c | 35 -----------------
drivers/fsi/fsi-slave.h | 84 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 84 insertions(+), 35 deletions(-)
diff --git a/drivers/fsi/fsi-core.c b/drivers/fsi/fsi-core.c
index e2e1e9df6115..b50ed849f924 100644
--- a/drivers/fsi/fsi-core.c
+++ b/drivers/fsi/fsi-core.c
@@ -45,41 +45,6 @@
static const int engine_page_size = 0x400;
-#define FSI_SLAVE_BASE 0x800
-
-/*
- * FSI slave engine control register offsets
- */
-#define FSI_SMODE 0x0 /* R/W: Mode register */
-#define FSI_SISC 0x8 /* R/W: Interrupt condition */
-#define FSI_SSTAT 0x14 /* R : Slave status */
-#define FSI_SLBUS 0x30 /* W : LBUS Ownership */
-#define FSI_LLMODE 0x100 /* R/W: Link layer mode register */
-
-/*
- * SMODE fields
- */
-#define FSI_SMODE_WSC 0x80000000 /* Warm start done */
-#define FSI_SMODE_ECRC 0x20000000 /* Hw CRC check */
-#define FSI_SMODE_SID_SHIFT 24 /* ID shift */
-#define FSI_SMODE_SID_MASK 3 /* ID Mask */
-#define FSI_SMODE_ED_SHIFT 20 /* Echo delay shift */
-#define FSI_SMODE_ED_MASK 0xf /* Echo delay mask */
-#define FSI_SMODE_SD_SHIFT 16 /* Send delay shift */
-#define FSI_SMODE_SD_MASK 0xf /* Send delay mask */
-#define FSI_SMODE_LBCRR_SHIFT 8 /* Clk ratio shift */
-#define FSI_SMODE_LBCRR_MASK 0xf /* Clk ratio mask */
-
-/*
- * SLBUS fields
- */
-#define FSI_SLBUS_FORCE 0x80000000 /* Force LBUS ownership */
-
-/*
- * LLMODE fields
- */
-#define FSI_LLMODE_ASYNC 0x1
-
#define FSI_SLAVE_SIZE_23b 0x800000
static DEFINE_IDA(master_ida);
diff --git a/drivers/fsi/fsi-slave.h b/drivers/fsi/fsi-slave.h
index 1d63a585829d..dba65bd4e083 100644
--- a/drivers/fsi/fsi-slave.h
+++ b/drivers/fsi/fsi-slave.h
@@ -7,6 +7,90 @@
#include <linux/cdev.h>
#include <linux/device.h>
+#define FSI_SLAVE_BASE 0x800
+
+/*
+ * FSI slave engine control register offsets
+ */
+#define FSI_SMODE 0x0 /* R/W: Mode register */
+#define FSI_SISC 0x8 /* R : Interrupt condition */
+#define FSI_SCISC 0x8 /* C : Clear interrupt condition */
+#define FSI_SISM 0xc /* R/W: Interrupt mask */
+#define FSI_SISS 0x10 /* R : Interrupt status */
+#define FSI_SSISM 0x10 /* S : Set interrupt mask */
+#define FSI_SCISM 0x14 /* C : Clear interrupt mask */
+#define FSI_SSTAT 0x14 /* R : Slave status */
+#define FSI_SI1S 0x1c /* R : Slave interrupt 1 status */
+#define FSI_SSI1M 0x1c /* S : Set slave interrupt 1 mask */
+#define FSI_SCI1M 0x20 /* C : Clear slave interrupt 1 mask */
+#define FSI_SLBUS 0x30 /* W : LBUS Ownership */
+#define FSI_SRSIC0 0x68 /* C : Clear remote interrupt condition */
+#define FSI_SRSIC4 0x6c /* C : Clear remote interrupt condition */
+#define FSI_SRSIM0 0x70 /* R/W: Remote interrupt mask */
+#define FSI_SRSIM4 0x74 /* R/W: Remote interrupt mask */
+#define FSI_SRSIS0 0x78 /* R : Remote interrupt status */
+#define FSI_SRSIS4 0x7c /* R : Remote interrupt status */
+#define FSI_LLMODE 0x100 /* R/W: Link layer mode register */
+
+/*
+ * SMODE fields
+ */
+#define FSI_SMODE_WSC 0x80000000 /* Warm start done */
+#define FSI_SMODE_ECRC 0x20000000 /* Hw CRC check */
+#define FSI_SMODE_SID_SHIFT 24 /* ID shift */
+#define FSI_SMODE_SID_MASK 3 /* ID Mask */
+#define FSI_SMODE_ED_SHIFT 20 /* Echo delay shift */
+#define FSI_SMODE_ED_MASK 0xf /* Echo delay mask */
+#define FSI_SMODE_SD_SHIFT 16 /* Send delay shift */
+#define FSI_SMODE_SD_MASK 0xf /* Send delay mask */
+#define FSI_SMODE_LBCRR_SHIFT 8 /* Clk ratio shift */
+#define FSI_SMODE_LBCRR_MASK 0xf /* Clk ratio mask */
+
+/*
+ * SISS fields
+ */
+#define FSI_SISS_CRC_ERROR BIT(31)
+#define FSI_SISS_PROTO_ERROR BIT(30)
+#define FSI_SISS_LBUS_PARITY_ERROR BIT(29)
+#define FSI_SISS_LBUS_PROTO_ERROR BIT(28)
+#define FSI_SISS_ACCESS_ERROR BIT(27)
+#define FSI_SISS_LBUS_OWNERSHIP_ERROR BIT(26)
+#define FSI_SISS_LBUS_OWNERSHIP_CHANGE BIT(25)
+#define FSI_SISS_ASYNC_MODE_ERROR BIT(14)
+#define FSI_SISS_OPB_ACCESS_ERROR BIT(13)
+#define FSI_SISS_OPB_FENCED BIT(12)
+#define FSI_SISS_OPB_PARITY_ERROR BIT(11)
+#define FSI_SISS_OPB_PROTO_ERROR BIT(10)
+#define FSI_SISS_OPB_TIMEOUT BIT(9)
+#define FSI_SISS_OPB_ERROR_ACK BIT(8)
+#define FSI_SISS_MFSI_MASTER_ERROR BIT(3)
+#define FSI_SISS_MFSI_PORT_ERROR BIT(2)
+#define FSI_SISS_MFSI_HP BIT(1)
+#define FSI_SISS_MFSI_CR_PARITY_ERROR BIT(0)
+#define FSI_SISS_ALL 0xfe007f00
+
+/*
+ * SI1S fields
+ */
+#define FSI_SI1S_SLAVE_BIT 31
+#define FSI_SI1S_SHIFT_BIT 30
+#define FSI_SI1S_SCOM_BIT 29
+#define FSI_SI1S_SCRATCH_BIT 28
+#define FSI_SI1S_I2C_BIT 27
+#define FSI_SI1S_SPI_BIT 26
+#define FSI_SI1S_SBEFIFO_BIT 25
+#define FSI_SI1S_MBOX_BIT 24
+
+/*
+ * SLBUS fields
+ */
+#define FSI_SLBUS_FORCE 0x80000000 /* Force LBUS ownership */
+
+/*
+ * LLMODE fields
+ */
+#define FSI_LLMODE_ASYNC 0x1
+
struct fsi_master;
struct fsi_slave {
--
2.43.0
next prev parent reply other threads:[~2024-09-17 17:17 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-17 17:16 [PATCH 00/15] fsi: Fixes and improvements Eddie James
2024-09-17 17:16 ` [PATCH 01/15] fsi: hub: Set master index to link number plus one Eddie James
2024-09-17 17:16 ` Eddie James [this message]
2024-09-17 17:16 ` [PATCH 03/15] fsi: Fix slave addressing after break command Eddie James
2024-09-17 17:16 ` [PATCH 04/15] fsi: core: Use a defined value for default echo delay Eddie James
2024-09-17 17:16 ` [PATCH 05/15] fsi: core: Calculate local bus clock frequency Eddie James
2024-09-17 17:16 ` [PATCH 06/15] fsi: core: Improve master read/write/error traces Eddie James
2024-09-17 17:16 ` [PATCH 07/15] fsi: core: Add slave error trace Eddie James
2024-09-17 17:16 ` [PATCH 08/15] fsi: core: Reset errors instead of clearing interrupts Eddie James
2024-09-17 17:16 ` [PATCH 09/15] fsi: core: Add slave spinlock Eddie James
2024-09-17 17:16 ` [PATCH 10/15] fsi: core: Allow cfam device type aliases Eddie James
2024-09-17 17:16 ` [PATCH 11/15] fsi: scom: Update compatible string to match documentation Eddie James
2024-09-17 17:16 ` [PATCH 12/15] fsi: occ: Get device number from FSI minor number API Eddie James
2024-09-20 11:50 ` kernel test robot
2024-09-20 13:54 ` kernel test robot
2024-09-20 19:03 ` kernel test robot
2024-09-17 17:16 ` [PATCH 13/15] fsi: occ: Find next available child rather than node name match Eddie James
2024-09-17 17:16 ` [PATCH 14/15] fsi: sbefifo: Prevent async FFDC collection for Odyssey SBEFIFOs Eddie James
2024-09-17 17:16 ` [PATCH 15/15] fsi: i2cr: Reduce status checks for read operations Eddie James
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240917171647.1403910-3-eajames@linux.ibm.com \
--to=eajames@linux.ibm.com \
--cc=alistair@popple.id.au \
--cc=andrew@codeconstruct.com.au \
--cc=jk@ozlabs.org \
--cc=joel@jms.id.au \
--cc=linux-fsi@lists.ozlabs.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ninad@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®