xref: /rk3399_ARM-atf/drivers/brcm/spi/iproc_spi.c (revision 926cd70a0cc3a0cbf209a87765a8dc0b869798e3)
1*e3ee7b7dSSheetal Tigadoli /*
2*e3ee7b7dSSheetal Tigadoli  * Copyright (c) 2017 - 2020, Broadcom
3*e3ee7b7dSSheetal Tigadoli  *
4*e3ee7b7dSSheetal Tigadoli  * SPDX-License-Identifier: BSD-3-Clause
5*e3ee7b7dSSheetal Tigadoli  */
6*e3ee7b7dSSheetal Tigadoli 
7*e3ee7b7dSSheetal Tigadoli #include <spi.h>
8*e3ee7b7dSSheetal Tigadoli 
9*e3ee7b7dSSheetal Tigadoli #include "iproc_qspi.h"
10*e3ee7b7dSSheetal Tigadoli 
spi_init(void)11*e3ee7b7dSSheetal Tigadoli int spi_init(void)
12*e3ee7b7dSSheetal Tigadoli {
13*e3ee7b7dSSheetal Tigadoli 	return iproc_qspi_setup(IPROC_QSPI_BUS, IPROC_QSPI_CS,
14*e3ee7b7dSSheetal Tigadoli 				IPROC_QSPI_CLK_SPEED, IPROC_QSPI_MODE0);
15*e3ee7b7dSSheetal Tigadoli }
16*e3ee7b7dSSheetal Tigadoli 
spi_claim_bus(void)17*e3ee7b7dSSheetal Tigadoli int spi_claim_bus(void)
18*e3ee7b7dSSheetal Tigadoli {
19*e3ee7b7dSSheetal Tigadoli 	return iproc_qspi_claim_bus();
20*e3ee7b7dSSheetal Tigadoli }
21*e3ee7b7dSSheetal Tigadoli 
spi_release_bus(void)22*e3ee7b7dSSheetal Tigadoli void spi_release_bus(void)
23*e3ee7b7dSSheetal Tigadoli {
24*e3ee7b7dSSheetal Tigadoli 	iproc_qspi_release_bus();
25*e3ee7b7dSSheetal Tigadoli }
26*e3ee7b7dSSheetal Tigadoli 
spi_xfer(uint32_t bitlen,const void * dout,void * din,uint32_t flags)27*e3ee7b7dSSheetal Tigadoli int spi_xfer(uint32_t bitlen, const void *dout,
28*e3ee7b7dSSheetal Tigadoli 	     void *din, uint32_t flags)
29*e3ee7b7dSSheetal Tigadoli {
30*e3ee7b7dSSheetal Tigadoli 	return iproc_qspi_xfer(bitlen, dout, din, flags);
31*e3ee7b7dSSheetal Tigadoli }
32