Commit 760d969f authored by Teemu Paasikivi's avatar Teemu Paasikivi Committed by John W. Linville

wl1271: Removed wl1271_spi.h and made some functions static

Removed wl1271_spi.h header as there's no more need to access functions
declared there outside of wl1271_spi.c. Also made those SPI access
functions static.
Signed-off-by: default avatarTeemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>
Reviewed-by: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: default avatarJuuso Oikarinen <juuso.oikarinen@nokia.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b42f91ba
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
#include "wl1271.h" #include "wl1271.h"
#include "wl12xx_80211.h" #include "wl12xx_80211.h"
#include "wl1271_reg.h" #include "wl1271_reg.h"
#include "wl1271_spi.h"
#include "wl1271_ps.h" #include "wl1271_ps.h"
int wl1271_acx_wake_up_conditions(struct wl1271 *wl) int wl1271_acx_wake_up_conditions(struct wl1271 *wl)
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#include "wl1271_acx.h" #include "wl1271_acx.h"
#include "wl1271_reg.h" #include "wl1271_reg.h"
#include "wl1271_boot.h" #include "wl1271_boot.h"
#include "wl1271_spi.h"
#include "wl1271_io.h" #include "wl1271_io.h"
#include "wl1271_event.h" #include "wl1271_event.h"
......
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
#include "wl1271.h" #include "wl1271.h"
#include "wl1271_reg.h" #include "wl1271_reg.h"
#include "wl1271_spi.h"
#include "wl1271_io.h" #include "wl1271_io.h"
#include "wl1271_acx.h" #include "wl1271_acx.h"
#include "wl12xx_80211.h" #include "wl12xx_80211.h"
......
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
#include "wl1271.h" #include "wl1271.h"
#include "wl1271_reg.h" #include "wl1271_reg.h"
#include "wl1271_spi.h"
#include "wl1271_io.h" #include "wl1271_io.h"
#include "wl1271_event.h" #include "wl1271_event.h"
#include "wl1271_ps.h" #include "wl1271_ps.h"
......
...@@ -28,9 +28,21 @@ ...@@ -28,9 +28,21 @@
#include "wl1271.h" #include "wl1271.h"
#include "wl12xx_80211.h" #include "wl12xx_80211.h"
#include "wl1271_spi.h"
#include "wl1271_io.h" #include "wl1271_io.h"
#define OCP_CMD_LOOP 32
#define OCP_CMD_WRITE 0x1
#define OCP_CMD_READ 0x2
#define OCP_READY_MASK BIT(18)
#define OCP_STATUS_MASK (BIT(16) | BIT(17))
#define OCP_STATUS_NO_RESP 0x00000
#define OCP_STATUS_OK 0x10000
#define OCP_STATUS_REQ_FAILED 0x20000
#define OCP_STATUS_RESP_ERROR 0x30000
void wl1271_disable_interrupts(struct wl1271 *wl) void wl1271_disable_interrupts(struct wl1271 *wl)
{ {
wl->if_ops->disable_irq(wl); wl->if_ops->disable_irq(wl);
......
...@@ -25,6 +25,23 @@ ...@@ -25,6 +25,23 @@
#ifndef __WL1271_IO_H__ #ifndef __WL1271_IO_H__
#define __WL1271_IO_H__ #define __WL1271_IO_H__
#include "wl1271_reg.h"
#define HW_ACCESS_MEMORY_MAX_RANGE 0x1FFC0
#define HW_PARTITION_REGISTERS_ADDR 0x1FFC0
#define HW_PART0_SIZE_ADDR (HW_PARTITION_REGISTERS_ADDR)
#define HW_PART0_START_ADDR (HW_PARTITION_REGISTERS_ADDR + 4)
#define HW_PART1_SIZE_ADDR (HW_PARTITION_REGISTERS_ADDR + 8)
#define HW_PART1_START_ADDR (HW_PARTITION_REGISTERS_ADDR + 12)
#define HW_PART2_SIZE_ADDR (HW_PARTITION_REGISTERS_ADDR + 16)
#define HW_PART2_START_ADDR (HW_PARTITION_REGISTERS_ADDR + 20)
#define HW_PART3_START_ADDR (HW_PARTITION_REGISTERS_ADDR + 24)
#define HW_ACCESS_REGISTER_SIZE 4
#define HW_ACCESS_PRAM_MAX_RANGE 0x3c000
struct wl1271; struct wl1271;
void wl1271_disable_interrupts(struct wl1271 *wl); void wl1271_disable_interrupts(struct wl1271 *wl);
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include "wl1271.h" #include "wl1271.h"
#include "wl12xx_80211.h" #include "wl12xx_80211.h"
#include "wl1271_reg.h" #include "wl1271_reg.h"
#include "wl1271_spi.h"
#include "wl1271_io.h" #include "wl1271_io.h"
#include "wl1271_event.h" #include "wl1271_event.h"
#include "wl1271_tx.h" #include "wl1271_tx.h"
......
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
#include "wl1271_reg.h" #include "wl1271_reg.h"
#include "wl1271_ps.h" #include "wl1271_ps.h"
#include "wl1271_spi.h"
#include "wl1271_io.h" #include "wl1271_io.h"
#define WL1271_WAKEUP_TIMEOUT 500 #define WL1271_WAKEUP_TIMEOUT 500
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
#include "wl1271_acx.h" #include "wl1271_acx.h"
#include "wl1271_reg.h" #include "wl1271_reg.h"
#include "wl1271_rx.h" #include "wl1271_rx.h"
#include "wl1271_spi.h"
#include "wl1271_io.h" #include "wl1271_io.h"
static u8 wl1271_rx_get_mem_block(struct wl1271_fw_status *status, static u8 wl1271_rx_get_mem_block(struct wl1271_fw_status *status,
......
...@@ -30,9 +30,39 @@ ...@@ -30,9 +30,39 @@
#include "wl1271.h" #include "wl1271.h"
#include "wl12xx_80211.h" #include "wl12xx_80211.h"
#include "wl1271_spi.h"
#include "wl1271_io.h" #include "wl1271_io.h"
#include "wl1271_reg.h"
#define WSPI_CMD_READ 0x40000000
#define WSPI_CMD_WRITE 0x00000000
#define WSPI_CMD_FIXED 0x20000000
#define WSPI_CMD_BYTE_LENGTH 0x1FFE0000
#define WSPI_CMD_BYTE_LENGTH_OFFSET 17
#define WSPI_CMD_BYTE_ADDR 0x0001FFFF
#define WSPI_INIT_CMD_CRC_LEN 5
#define WSPI_INIT_CMD_START 0x00
#define WSPI_INIT_CMD_TX 0x40
/* the extra bypass bit is sampled by the TNET as '1' */
#define WSPI_INIT_CMD_BYPASS_BIT 0x80
#define WSPI_INIT_CMD_FIXEDBUSY_LEN 0x07
#define WSPI_INIT_CMD_EN_FIXEDBUSY 0x80
#define WSPI_INIT_CMD_DIS_FIXEDBUSY 0x00
#define WSPI_INIT_CMD_IOD 0x40
#define WSPI_INIT_CMD_IP 0x20
#define WSPI_INIT_CMD_CS 0x10
#define WSPI_INIT_CMD_WS 0x08
#define WSPI_INIT_CMD_WSPI 0x01
#define WSPI_INIT_CMD_END 0x01
#define WSPI_INIT_CMD_LEN 8
#define HW_ACCESS_WSPI_FIXED_BUSY_LEN \
((WL1271_BUSY_WORD_LEN - 4) / sizeof(u32))
#define HW_ACCESS_WSPI_INIT_CMD_MASK 0
static inline struct spi_device *wl_to_spi(struct wl1271 *wl) static inline struct spi_device *wl_to_spi(struct wl1271 *wl)
{ {
return wl->if_priv; return wl->if_priv;
...@@ -43,17 +73,17 @@ static struct device *wl1271_spi_wl_to_dev(struct wl1271 *wl) ...@@ -43,17 +73,17 @@ static struct device *wl1271_spi_wl_to_dev(struct wl1271 *wl)
return &(wl_to_spi(wl)->dev); return &(wl_to_spi(wl)->dev);
} }
void wl1271_spi_disable_interrupts(struct wl1271 *wl) static void wl1271_spi_disable_interrupts(struct wl1271 *wl)
{ {
disable_irq(wl->irq); disable_irq(wl->irq);
} }
void wl1271_spi_enable_interrupts(struct wl1271 *wl) static void wl1271_spi_enable_interrupts(struct wl1271 *wl)
{ {
enable_irq(wl->irq); enable_irq(wl->irq);
} }
void wl1271_spi_reset(struct wl1271 *wl) static void wl1271_spi_reset(struct wl1271 *wl)
{ {
u8 *cmd; u8 *cmd;
struct spi_transfer t; struct spi_transfer t;
...@@ -79,7 +109,7 @@ void wl1271_spi_reset(struct wl1271 *wl) ...@@ -79,7 +109,7 @@ void wl1271_spi_reset(struct wl1271 *wl)
wl1271_dump(DEBUG_SPI, "spi reset -> ", cmd, WSPI_INIT_CMD_LEN); wl1271_dump(DEBUG_SPI, "spi reset -> ", cmd, WSPI_INIT_CMD_LEN);
} }
void wl1271_spi_init(struct wl1271 *wl) static void wl1271_spi_init(struct wl1271 *wl)
{ {
u8 crc[WSPI_INIT_CMD_CRC_LEN], *cmd; u8 crc[WSPI_INIT_CMD_CRC_LEN], *cmd;
struct spi_transfer t; struct spi_transfer t;
...@@ -199,7 +229,7 @@ static void wl1271_spi_read_busy(struct wl1271 *wl, void *buf, size_t len) ...@@ -199,7 +229,7 @@ static void wl1271_spi_read_busy(struct wl1271 *wl, void *buf, size_t len)
} }
#endif #endif
void wl1271_spi_raw_read(struct wl1271 *wl, int addr, void *buf, static void wl1271_spi_raw_read(struct wl1271 *wl, int addr, void *buf,
size_t len, bool fixed) size_t len, bool fixed)
{ {
struct spi_transfer t[3]; struct spi_transfer t[3];
...@@ -244,7 +274,7 @@ void wl1271_spi_raw_read(struct wl1271 *wl, int addr, void *buf, ...@@ -244,7 +274,7 @@ void wl1271_spi_raw_read(struct wl1271 *wl, int addr, void *buf,
wl1271_dump(DEBUG_SPI, "spi_read buf <- ", buf, len); wl1271_dump(DEBUG_SPI, "spi_read buf <- ", buf, len);
} }
void wl1271_spi_raw_write(struct wl1271 *wl, int addr, void *buf, static void wl1271_spi_raw_write(struct wl1271 *wl, int addr, void *buf,
size_t len, bool fixed) size_t len, bool fixed)
{ {
struct spi_transfer t[2]; struct spi_transfer t[2];
......
/*
* This file is part of wl1271
*
* Copyright (C) 1998-2009 Texas Instruments. All rights reserved.
* Copyright (C) 2008-2009 Nokia Corporation
*
* Contact: Luciano Coelho <luciano.coelho@nokia.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*
*/
#ifndef __WL1271_SPI_H__
#define __WL1271_SPI_H__
#include "wl1271_reg.h"
#define HW_ACCESS_MEMORY_MAX_RANGE 0x1FFC0
#define HW_PARTITION_REGISTERS_ADDR 0x1ffc0
#define HW_PART0_SIZE_ADDR (HW_PARTITION_REGISTERS_ADDR)
#define HW_PART0_START_ADDR (HW_PARTITION_REGISTERS_ADDR + 4)
#define HW_PART1_SIZE_ADDR (HW_PARTITION_REGISTERS_ADDR + 8)
#define HW_PART1_START_ADDR (HW_PARTITION_REGISTERS_ADDR + 12)
#define HW_PART2_SIZE_ADDR (HW_PARTITION_REGISTERS_ADDR + 16)
#define HW_PART2_START_ADDR (HW_PARTITION_REGISTERS_ADDR + 20)
#define HW_PART3_START_ADDR (HW_PARTITION_REGISTERS_ADDR + 24)
#define HW_ACCESS_REGISTER_SIZE 4
#define HW_ACCESS_PRAM_MAX_RANGE 0x3c000
#define WSPI_CMD_READ 0x40000000
#define WSPI_CMD_WRITE 0x00000000
#define WSPI_CMD_FIXED 0x20000000
#define WSPI_CMD_BYTE_LENGTH 0x1FFE0000
#define WSPI_CMD_BYTE_LENGTH_OFFSET 17
#define WSPI_CMD_BYTE_ADDR 0x0001FFFF
#define WSPI_INIT_CMD_CRC_LEN 5
#define WSPI_INIT_CMD_START 0x00
#define WSPI_INIT_CMD_TX 0x40
/* the extra bypass bit is sampled by the TNET as '1' */
#define WSPI_INIT_CMD_BYPASS_BIT 0x80
#define WSPI_INIT_CMD_FIXEDBUSY_LEN 0x07
#define WSPI_INIT_CMD_EN_FIXEDBUSY 0x80
#define WSPI_INIT_CMD_DIS_FIXEDBUSY 0x00
#define WSPI_INIT_CMD_IOD 0x40
#define WSPI_INIT_CMD_IP 0x20
#define WSPI_INIT_CMD_CS 0x10
#define WSPI_INIT_CMD_WS 0x08
#define WSPI_INIT_CMD_WSPI 0x01
#define WSPI_INIT_CMD_END 0x01
#define WSPI_INIT_CMD_LEN 8
#define HW_ACCESS_WSPI_FIXED_BUSY_LEN \
((WL1271_BUSY_WORD_LEN - 4) / sizeof(u32))
#define HW_ACCESS_WSPI_INIT_CMD_MASK 0
#define OCP_CMD_LOOP 32
#define OCP_CMD_WRITE 0x1
#define OCP_CMD_READ 0x2
#define OCP_READY_MASK BIT(18)
#define OCP_STATUS_MASK (BIT(16) | BIT(17))
#define OCP_STATUS_NO_RESP 0x00000
#define OCP_STATUS_OK 0x10000
#define OCP_STATUS_REQ_FAILED 0x20000
#define OCP_STATUS_RESP_ERROR 0x30000
void wl1271_spi_disable_interrupts(struct wl1271 *wl);
void wl1271_spi_enable_interrupts(struct wl1271 *wl);
/* Raw target IO, address is not translated */
void wl1271_spi_raw_write(struct wl1271 *wl, int addr, void *buf,
size_t len, bool fixed);
void wl1271_spi_raw_read(struct wl1271 *wl, int addr, void *buf,
size_t len, bool fixed);
/* INIT and RESET words */
void wl1271_spi_reset(struct wl1271 *wl);
void wl1271_spi_init(struct wl1271 *wl);
#endif /* __WL1271_SPI_H__ */
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
#include <net/genetlink.h> #include <net/genetlink.h>
#include "wl1271.h" #include "wl1271.h"
#include "wl1271_spi.h"
#include "wl1271_acx.h" #include "wl1271_acx.h"
#define WL1271_TM_MAX_DATA_LENGTH 1024 #define WL1271_TM_MAX_DATA_LENGTH 1024
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
#include <linux/module.h> #include <linux/module.h>
#include "wl1271.h" #include "wl1271.h"
#include "wl1271_spi.h"
#include "wl1271_io.h" #include "wl1271_io.h"
#include "wl1271_reg.h" #include "wl1271_reg.h"
#include "wl1271_ps.h" #include "wl1271_ps.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment