1/* 2 * Copyright (C) 2009 3 * Albin Tonnerre, Free Electrons <albin.tonnerre@free-electrons.com> 4 * 5 * See file CREDITS for list of people who contributed to this 6 * project. 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License as 10 * published by the Free Software Foundation; either version 2 of 11 * the License, or (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21 * MA 02111-1307 USA 22 */ 23 24#include <common.h> 25#include <asm/arch/hardware.h> 26#include <asm/arch/at91_spi.h> 27#include <asm/arch/gpio.h> 28#include <spi.h> 29 30#define SBC_A9260_CS0_PIN AT91_PIN_PA3 31#define SBC_A9260_CS1_PIN AT91_PIN_PC11 32 33int spi_cs_is_valid(unsigned int bus, unsigned int cs) 34{ 35 return bus == 0 && (cs == 1 || cs == 0); 36} 37 38void spi_cs_activate(struct spi_slave *slave) 39{ 40 if(slave->cs == 0) 41 at91_set_gpio_value(SBC_A9260_CS0_PIN, 0); 42 else if(slave->cs == 1) 43 at91_set_gpio_value(SBC_A9260_CS1_PIN, 0); 44} 45 46void spi_cs_deactivate(struct spi_slave *slave) 47{ 48 if(slave->cs == 0) 49 at91_set_gpio_value(SBC_A9260_CS0_PIN, 1); 50 else if(slave->cs == 1) 51 at91_set_gpio_value(SBC_A9260_CS1_PIN, 1); 52} 53 54void spi_init_f(void) 55{ 56 /* everything done in board_init */ 57} 58