1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) ST-Ericsson SA 2011
5 * Author: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
8 #ifndef CW1200_PLAT_H_INCLUDED
9 #define CW1200_PLAT_H_INCLUDED
11 struct cw1200_platform_data_spi
{
12 u8 spi_bits_per_word
; /* REQUIRED */
13 u16 ref_clk
; /* REQUIRED (in KHz) */
15 /* All others are optional */
17 int (*power_ctrl
)(const struct cw1200_platform_data_spi
*pdata
,
18 bool enable
); /* Control 3v3 / 1v8 supply */
19 int (*clk_ctrl
)(const struct cw1200_platform_data_spi
*pdata
,
20 bool enable
); /* Control CLK32K */
21 const u8
*macaddr
; /* if NULL, use cw1200_mac_template module parameter */
22 const char *sdd_file
; /* if NULL, will use default for detected hw type */
25 struct cw1200_platform_data_sdio
{
26 u16 ref_clk
; /* REQUIRED (in KHz) */
28 /* All others are optional */
30 bool no_nptb
; /* SDIO hardware does not support non-power-of-2-blocksizes */
31 int irq
; /* IRQ line or 0 to use SDIO IRQ */
32 int (*power_ctrl
)(const struct cw1200_platform_data_sdio
*pdata
,
33 bool enable
); /* Control 3v3 / 1v8 supply */
34 int (*clk_ctrl
)(const struct cw1200_platform_data_sdio
*pdata
,
35 bool enable
); /* Control CLK32K */
36 const u8
*macaddr
; /* if NULL, use cw1200_mac_template module parameter */
37 const char *sdd_file
; /* if NULL, will use default for detected hw type */
41 /* An example of SPI support in your board setup file:
43 static struct cw1200_platform_data_spi cw1200_platform_data = {
45 .spi_bits_per_word = 16,
46 .reset = GPIO_RF_RESET,
47 .powerup = GPIO_RF_POWERUP,
48 .macaddr = wifi_mac_addr,
49 .sdd_file = "sdd_sagrad_1091_1098.bin",
51 static struct spi_board_info myboard_spi_devices[] __initdata = {
53 .modalias = "cw1200_wlan_spi",
54 .max_speed_hz = 52000000,
57 .platform_data = &cw1200_platform_data,
64 /* An example of SDIO support in your board setup file:
66 static struct cw1200_platform_data_sdio my_cw1200_platform_data = {
69 .sdd_file = "sdd_myplatform.bin",
71 cw1200_sdio_set_platform_data(&my_cw1200_platform_data);
75 void __init
cw1200_sdio_set_platform_data(struct cw1200_platform_data_sdio
*pdata
);
77 #endif /* CW1200_PLAT_H_INCLUDED */