From: Raju Rangoju <Raju.Rangoju@amd.com>
To: <broonie@kernel.org>, <linux-spi@vger.kernel.org>
Cc: <linux-kernel@vger.kernel.org>, <sanju.mehta@amd.com>,
<krishnamoorthi.m@amd.com>, <akshata.mukundshetty@amd.com>,
<Raju.Rangoju@amd.com>
Subject: [PATCH 6/9] spi: spi_amd: Add support for HID2 SPI controller
Date: Wed, 18 Sep 2024 16:20:34 +0530 [thread overview]
Message-ID: <20240918105037.406003-7-Raju.Rangoju@amd.com> (raw)
In-Reply-To: <20240918105037.406003-1-Raju.Rangoju@amd.com>
AMD SoC has HID2 SPI controller in addition to the existing SPI0
controller(AMDI0062). Add HID2 SPI controller's ACPI ID AMDI0063 with its
version ID to the list of supported devices. And, use the version ID to
differentiate the register offsets.
Co-developed-by: Akshata MukundShetty <akshata.mukundshetty@amd.com>
Signed-off-by: Akshata MukundShetty <akshata.mukundshetty@amd.com>
Signed-off-by: Raju Rangoju <Raju.Rangoju@amd.com>
---
drivers/spi/spi-amd.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/spi/spi-amd.c b/drivers/spi/spi-amd.c
index c265e37cebc4..ccad969f501f 100644
--- a/drivers/spi/spi-amd.c
+++ b/drivers/spi/spi-amd.c
@@ -55,10 +55,12 @@
* enum amd_spi_versions - SPI controller versions
* @AMD_SPI_V1: AMDI0061 hardware version
* @AMD_SPI_V2: AMDI0062 hardware version
+ * @AMD_HID2_SPI: AMDI0063 hardware version
*/
enum amd_spi_versions {
AMD_SPI_V1 = 1,
AMD_SPI_V2,
+ AMD_HID2_SPI,
};
enum amd_spi_speed {
@@ -167,6 +169,7 @@ static int amd_spi_set_opcode(struct amd_spi *amd_spi, u8 cmd_opcode)
AMD_SPI_OPCODE_MASK);
return 0;
case AMD_SPI_V2:
+ case AMD_HID2_SPI:
amd_spi_writereg8(amd_spi, AMD_SPI_OPCODE_REG, cmd_opcode);
return 0;
default:
@@ -194,6 +197,7 @@ static int amd_spi_busy_wait(struct amd_spi *amd_spi)
reg = AMD_SPI_CTRL0_REG;
break;
case AMD_SPI_V2:
+ case AMD_HID2_SPI:
reg = AMD_SPI_STATUS_REG;
break;
default:
@@ -219,6 +223,7 @@ static int amd_spi_execute_opcode(struct amd_spi *amd_spi)
AMD_SPI_EXEC_CMD);
return 0;
case AMD_SPI_V2:
+ case AMD_HID2_SPI:
/* Trigger the command execution */
amd_spi_setclear_reg8(amd_spi, AMD_SPI_CMD_TRIGGER_REG,
AMD_SPI_TRIGGER_CMD, AMD_SPI_TRIGGER_CMD);
@@ -360,6 +365,7 @@ static inline int amd_spi_fifo_xfer(struct amd_spi *amd_spi,
case AMD_SPI_V1:
break;
case AMD_SPI_V2:
+ case AMD_HID2_SPI:
amd_spi_clear_chip(amd_spi, spi_get_chipselect(message->spi, 0));
break;
default:
@@ -541,7 +547,7 @@ static int amd_spi_probe(struct platform_device *pdev)
amd_spi->version = (uintptr_t) device_get_match_data(dev);
/* Initialize the spi_controller fields */
- host->bus_num = 0;
+ host->bus_num = (amd_spi->version == AMD_HID2_SPI) ? 2 : 0;
host->num_chipselect = 4;
host->mode_bits = SPI_TX_DUAL | SPI_TX_QUAD | SPI_RX_DUAL | SPI_RX_QUAD;
host->flags = SPI_CONTROLLER_HALF_DUPLEX;
@@ -565,6 +571,7 @@ static int amd_spi_probe(struct platform_device *pdev)
static const struct acpi_device_id spi_acpi_match[] = {
{ "AMDI0061", AMD_SPI_V1 },
{ "AMDI0062", AMD_SPI_V2 },
+ { "AMDI0063", AMD_HID2_SPI },
{},
};
MODULE_DEVICE_TABLE(acpi, spi_acpi_match);
--
2.34.1
next prev parent reply other threads:[~2024-09-18 10:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-18 10:50 [PATCH 0/9] spi: spi_amd: Performance Optimization Patch Series Raju Rangoju
2024-09-18 10:50 ` [PATCH 1/9] spi: spi_amd: Sort headers alphabetically Raju Rangoju
2024-09-18 10:50 ` [PATCH 2/9] spi: spi_amd: Enable dual and quad I/O modes Raju Rangoju
2024-09-19 8:43 ` Mark Brown
2024-09-24 15:23 ` Rangoju, Raju
2024-09-18 10:50 ` [PATCH 3/9] spi: spi_amd: Replace ioread/iowrite calls Raju Rangoju
2024-09-18 10:50 ` [PATCH 4/9] spi: spi_amd: Updates to set tx/rx count functions Raju Rangoju
2024-09-18 10:50 ` [PATCH 5/9] spi: spi_amd: Optimize IO operations Raju Rangoju
2024-09-18 10:50 ` Raju Rangoju [this message]
2024-09-18 10:50 ` [PATCH 7/9] spi: spi_amd: Enhance SPI-MEM support functions Raju Rangoju
2024-09-19 8:51 ` Mark Brown
2024-09-24 15:25 ` Rangoju, Raju
2024-09-18 10:50 ` [PATCH 8/9] spi: spi_amd: Set controller address mode Raju Rangoju
2024-09-18 10:50 ` [PATCH 9/9] spi: spi_amd: Add HIDDMA basic read support Raju Rangoju
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=20240918105037.406003-7-Raju.Rangoju@amd.com \
--to=raju.rangoju@amd.com \
--cc=akshata.mukundshetty@amd.com \
--cc=broonie@kernel.org \
--cc=krishnamoorthi.m@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=sanju.mehta@amd.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