Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:4
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:7
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC
Подключение touchscreen
Valeron70
Добавлено 25.07.2014 10:12
0
Сообщение: 1
Valeron70
0

Пункты: 1759
Регистрация: 30.01.2010
Пол: Мужчина
Из: Сергиев Посад
Подключил SK-TFT1024x768TP-Plug по LDVS
Теперь хочу touchscreen через SPI наладить

Я так понимаю (судя по схеме) SPI1 заведен на NAND и его для TS лучше не использовать. SPI2 свободен.
Только вот смущают строчки при загрузке

_regulator_get: spi3.0 supply vcc not found, using dummy regulator
ads7846 spi3.0: touchscreen, irq 362
input: ADS7846 Touchscreen as /devices/platform/imx6q-ecspi.3/spi_master/spi3/spi3.0/input/input0
_regulator_get: spi0.0 supply vcc not found, using dummy regulator
ads7846 spi0.0: touchscreen, irq 347
input: ADS7846 Touchscreen as /devices/platform/imx6q-ecspi.0/spi_master/spi0/spi0.0/input/input1


Что значит spi0 и spi3 ? Если предположить что spi0 это аппаратный spi1 то spi3 получается программный? а на какие ноги выведен?
Или все совсем не так?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 25.07.2014 11:25 Редактировалось 25.07.2014 11:49 Сообщение: 2
sasamy
4.71

Пункты: 83556
Регистрация: 14.08.2009
Цитата

Я так понимаю (судя по схеме) SPI1 заведен на NAND


смотрите схему внимательней

вот разъем с LVDS

title

вот откуда приходят эти цепи с процессора

title


вот кусок бордфайла rel_imx_3.0.35_4.1.0-sk/arch/arm/mach-mx6/board-mx6q_sabrelite.c

Цитата

/* ECSPI4 */
MX6DL_PAD_EIM_D21__ECSPI4_SCLK,
MX6DL_PAD_EIM_D22__ECSPI4_MISO,
MX6DL_PAD_EIM_D28__ECSPI4_MOSI,
/* LVDS0 TS CS */
MX6DL_PAD_EIM_D20__GPIO_3_20,


вот из лога видно что это input0

Цитата

ads7846 spi3.0: touchscreen, irq 362
input: ADS7846 Touchscreen as /devices/platform/imx6q-ecspi.3/spi_master/spi3/spi3.0/input/input0


есть одна неувязка - в бордфайле прописан в качестве PENIRQ пин котроый на этой ревизии не выведен, так что выбираете какой вам GPIO с этого разъема нравится и прописываете взамен

Цитата

#define MX6_SK_LVDS0_PENIRQ IMX_GPIO_NR(4, 10)
.....
.....
/* LVDS0 TS PENIRQ */
MX6DL_PAD_KEY_COL2__GPIO_4_10,


там же в бордфайле убираете #if 0 и оставляете только один spi чтобы не путаться

Цитата

static struct spi_board_info imx6_sabrelite_spi_devices[] __initdata = {
{
.modalias = "ads7846",
.max_speed_hz = 1000 * 1000,
.bus_num = 3,
.chip_select = 0,
.platform_data = &lvds0_ads_info,
.irq = gpio_to_irq(MX6_SK_LVDS0_PENIRQ),
},
};
Спуститься к концу Подняться к началу
Персональная информация
Valeron70
Добавлено 26.07.2014 05:53 Редактировалось 26.07.2014 06:04 Сообщение: 3
Valeron70
0

Пункты: 1759
Регистрация: 30.01.2010
Пол: Мужчина
Из: Сергиев Посад
а почему именно board-mx6q_sabrelite.c, при старте u-boot на мониторе весело светилось wanboard, я был уверен что с этой платы портировался BSP
Цитата
так что выбираете какой вам GPIO с этого разъема нравится и прописываете взамен

абсолютно любой пин подойдет? На AVR-ках я специально заводил на пин аппаратного прерывания.
Тут как бы не пересечься с работой других драйверов, обслуживающих шины типа I2C и т.д.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 26.07.2014 13:00 Редактировалось 26.07.2014 13:14 Сообщение: 4
sasamy
4.71

Пункты: 83556
Регистрация: 14.08.2009
Цитата

а почему именно board-mx6q_sabrelite.c


sabrelite это референсная платформа облегченного варианта без лишних наворотов и PMIC, ее и взяли в ядре за основу

Цитата

при старте u-boot на мониторе весело светилось wanboard


это всего лишь загрузчик

Цитата

абсолютно любой пин подойдет?


надо смотреть схему и бордфайл. Возьмем например GPIO3_19 на разъеме с lvds (первая картинка 15-й контакт X6) - на процессоре это EIM_D19 (вторая картинка), в бордфайле он используется как RESET для плага AEEB c mini PCIe

#define HOLA_AEEB_PCIE_RESET IMX_GPIO_NR(3, 19)

но у вас этот плаг уже не подключить раз вы на разъем LVDS навешиваете, так что смело можно его взять. Для начала убираем его с PCIE - для этого можно заменить предыдущий дефайн таким значением

#define HOLA_AEEB_PCIE_RESET ( -EINVAL)

потом меняем описание для PENIRQ, вместо gpio 4-10

#define MX6_SK_LVDS0_PENIRQ IMX_GPIO_NR(4, 10)

прописываем gpio 3-19

#define MX6_SK_LVDS0_PENIRQ IMX_GPIO_NR(3, 19)

переключение этого пина на gpio уже прописано в бордфайле
Цитата

/* Hola-AEEB mPCIe reset */
MX6DL_PAD_EIM_D19__GPIO_3_19,
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » Hola(Duo)-PC