drivers/spi: Move M25Pxx commands to spi_winbond.h
Move Winbond M25PXX command values to spi_winbond.h file. The command values will be used for programming SPI contoller of Intel Braswell, using this include file. Update winbond.c file with coreboot header. BUG=N/A TEST=Facebook FBG-1701 with flashrom Change-Id: I9c17c4ed7004209bd3c619d47a7474b0b7e17495 Signed-off-by: Frans Hendriks <fhendriks@eltan.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/31710 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
parent
1385b7dd10
commit
31eac4d869
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* This file is part of the coreboot project.
|
||||||
|
*
|
||||||
|
* Copyright 2008, Network Appliance Inc.
|
||||||
|
* Author: Jason McMullan <mcmullan <at> netapp.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; version 2 of the License.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Winbond specific function */
|
||||||
|
/* M25Pxx-specific commands */
|
||||||
|
#define CMD_W25_WREN 0x06 /* Write Enable */
|
||||||
|
#define CMD_W25_WRDI 0x04 /* Write Disable */
|
||||||
|
#define CMD_W25_RDSR 0x05 /* Read Status Register */
|
||||||
|
#define CMD_W25_WRSR 0x01 /* Write Status Register */
|
||||||
|
#define CMD_W25_RDSR2 0x35 /* Read Status2 Register */
|
||||||
|
#define CMD_W25_WRSR2 0x31 /* Write Status2 Register */
|
||||||
|
#define CMD_W25_READ 0x03 /* Read Data Bytes */
|
||||||
|
#define CMD_W25_FAST_READ 0x0b /* Read Data Bytes at Higher Speed */
|
||||||
|
#define CMD_W25_PP 0x02 /* Page Program */
|
||||||
|
#define CMD_W25_SE 0x20 /* Sector (4K) Erase */
|
||||||
|
#define CMD_W25_RDID 0x9f /* Read ID */
|
||||||
|
#define CMD_W25_BE 0xd8 /* Block (64K) Erase */
|
||||||
|
#define CMD_W25_CE 0xc7 /* Chip Erase */
|
||||||
|
#define CMD_W25_DP 0xb9 /* Deep Power-down */
|
||||||
|
#define CMD_W25_RES 0xab /* Release from DP and Read Signature */
|
||||||
|
#define CMD_VOLATILE_SREG_WREN 0x50 /* Write Enable for Volatile SREG */
|
||||||
|
|
||||||
|
/* tw: Maximum time to write a flash cell in milliseconds */
|
||||||
|
#define WINBOND_FLASH_TIMEOUT 30
|
|
@ -1,7 +1,16 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2008, Network Appliance Inc.
|
* Copyright 2008, Network Appliance Inc.
|
||||||
* Author: Jason McMullan <mcmullan <at> netapp.com>
|
* Jason McMullan <mcmullan@netapp.com>
|
||||||
* Licensed under the GPL-2 or later.
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of
|
||||||
|
* the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
|
@ -14,26 +23,7 @@
|
||||||
#include <lib.h>
|
#include <lib.h>
|
||||||
|
|
||||||
#include "spi_flash_internal.h"
|
#include "spi_flash_internal.h"
|
||||||
|
#include "spi_winbond.h"
|
||||||
/* M25Pxx-specific commands */
|
|
||||||
#define CMD_W25_WREN 0x06 /* Write Enable */
|
|
||||||
#define CMD_W25_WRDI 0x04 /* Write Disable */
|
|
||||||
#define CMD_W25_RDSR 0x05 /* Read Status Register */
|
|
||||||
#define CMD_W25_WRSR 0x01 /* Write Status Register */
|
|
||||||
#define CMD_W25_RDSR2 0x35 /* Read Status2 Register */
|
|
||||||
#define CMD_W25_WRSR2 0x31 /* Write Status2 Register */
|
|
||||||
#define CMD_W25_READ 0x03 /* Read Data Bytes */
|
|
||||||
#define CMD_W25_FAST_READ 0x0b /* Read Data Bytes at Higher Speed */
|
|
||||||
#define CMD_W25_PP 0x02 /* Page Program */
|
|
||||||
#define CMD_W25_SE 0x20 /* Sector (4K) Erase */
|
|
||||||
#define CMD_W25_BE 0xd8 /* Block (64K) Erase */
|
|
||||||
#define CMD_W25_CE 0xc7 /* Chip Erase */
|
|
||||||
#define CMD_W25_DP 0xb9 /* Deep Power-down */
|
|
||||||
#define CMD_W25_RES 0xab /* Release from DP, and Read Signature */
|
|
||||||
#define CMD_VOLATILE_SREG_WREN 0x50 /* Write Enable for Volatile SREG */
|
|
||||||
|
|
||||||
/* tw: Maximum time to write a flash cell in milliseconds */
|
|
||||||
#define WINBOND_FLASH_TIMEOUT 30
|
|
||||||
|
|
||||||
struct winbond_spi_flash_params {
|
struct winbond_spi_flash_params {
|
||||||
uint16_t id;
|
uint16_t id;
|
||||||
|
|
Loading…
Reference in New Issue