diff mbox series

[28/38] ra6w: add sdio.h

Message ID 20250417135236.52410-29-oleksandr.savchenko.dn@bp.renesas.com
State New
Headers show
Series wireless: ra6w driver for Renesas IEEE 802.11ax devices | expand

Commit Message

Alexander Savchenko April 17, 2025, 1:52 p.m. UTC
Part of the split. Please, take a look at the cover letter for more details

Reviewed-by: Viktor Barna <viktor.barna.rj@bp.renesas.com>
Reviewed-by: Gal Gur <gal.gur.jx@renesas.com>
Signed-off-by: Alexander Savchenko <oleksandr.savchenko.dn@bp.renesas.com>
---
 drivers/net/wireless/renesas/ra6w/sdio.h | 38 ++++++++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 drivers/net/wireless/renesas/ra6w/sdio.h
diff mbox series

Patch

diff --git a/drivers/net/wireless/renesas/ra6w/sdio.h b/drivers/net/wireless/renesas/ra6w/sdio.h
new file mode 100644
index 000000000000..6b7d0c7d7bbc
--- /dev/null
+++ b/drivers/net/wireless/renesas/ra6w/sdio.h
@@ -0,0 +1,38 @@ 
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Copyright (C) [2022-2025] Renesas Electronics Corporation and/or its affiliates.
+ */
+
+#ifndef RA6W_SDIO_H
+#define RA6W_SDIO_H
+
+#include <linux/mmc/sdio_func.h>
+
+#define RA6W_SDIO_VENDOR_ID_RENESAS		0x5245
+#define RA6W_SDIO_DEVICE_ID_RA6W		0x4154
+#define RA6W_SDIO_MAX_BLOCK_CNT			5
+#define RA6W_SDIO_BLOCK_SIZE			512
+#define RA6W_SDIO_HOST_GP_REG			0x24
+#define RA6W_SDIO_CHIP_GP_REG			0x28
+#define RA6W_SDIO_CODE_SUCCESS			0x00022000
+#define RA6W_SDIO_CODE_CRC_CHECKING		0xf0f0f0f0
+#define RA6W_SDIO_CODE_BOOT_NG			0x20000002
+#define RA6W_SDIO_ADDR_RESET			0xdeadffff
+#define RA6W_SDIO_ADDR_READ			0x0001
+#define RA6W_SDIO_ADDR_WRITE			0x0002
+#define RA6W_SDIO_ADDR_STATUS			0x0010
+
+#define RA6W_SDIO_FW_NAME			"fmacfw_sdio.bin"
+
+#define RA6W_SDIO_GET_CNT(len, blk_size)	(((u32)(len)) / (blk_size))
+#define RA6W_SDIO_GET_REMAIN(len, blk_size)	(((u32)(len)) % (blk_size))
+
+#define RA6W_SDIO_ACK_CNT_MAX			10
+#define RA6W_SDIO_WAIT_SYNC_CNT_MAX		20
+#define RA6W_SDIO_CRC_CHECK_RETRY_MAX		20
+#define RA6W_SDIO_CRC_CHECK_SLEEP_MIN_US	10000
+#define RA6W_SDIO_CRC_CHECK_SLEEP_MAX_US	11000
+
+void ra6w_sdio_reprobe(struct sdio_func *func);
+
+#endif /* RA6W_SDIO_H */