embox

Форк
0
/
imx6_ecspi1.c 
44 строки · 1023.0 Байт
1
/**
2
 * @file
3
 * @brief i.MX6 Enhanced Configurable SPI driver
4
 * @author Denis Deryugin <deryugin.denis@gmail.com>
5
 * @version 0.1
6
 * @date 12.06.2017
7
 */
8

9
#include <embox/unit.h>
10
#include <util/log.h>
11
#include <framework/mod/options.h>
12
#include <drivers/common/memory.h>
13
#include <drivers/spi.h>
14
#include <drivers/clk/ccm_imx6.h>
15
#include <drivers/iomuxc.h>
16

17
#include "imx6_ecspi.h"
18

19
EMBOX_UNIT_INIT(imx6_ecspi1_init);
20

21
#define BASE_ADDR OPTION_GET(NUMBER, base_addr)
22

23
static struct imx6_ecspi imx6_ecspi1 = {
24
	.base_addr = BASE_ADDR,
25
	.cs_count  = 4,
26
	.cs_array  = { {1, 30}, {2, 19}, {2, 24}, {2, 25} }
27
};
28

29
static void imx_ecspi1_pins_init(void) {
30
	/* TODO Make init like for escpi2.
31
	 * Currenly it is inited by uboot. */
32
}
33

34
static int imx6_ecspi1_init(void) {
35
	log_debug("");
36
	clk_enable("ecspi1");
37
	imx_ecspi1_pins_init();
38
	return imx6_ecspi_init(&imx6_ecspi1);
39
}
40

41
#define SPI_DEV_NAME      ixm6_ecspi1
42

43
PERIPH_MEMORY_DEFINE(imx6_ecspi1, BASE_ADDR, 0x44);
44
SPI_DEV_DEF(SPI_DEV_NAME, &imx6_ecspi_ops, &imx6_ecspi1, 0);
45

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.