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 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 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 22*e3ee7b7dSSheetal Tigadoli void spi_release_bus(void) 23*e3ee7b7dSSheetal Tigadoli { 24*e3ee7b7dSSheetal Tigadoli iproc_qspi_release_bus(); 25*e3ee7b7dSSheetal Tigadoli } 26*e3ee7b7dSSheetal Tigadoli 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