Подключил 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 получается программный? а на какие ноги выведен?
Или все совсем не так?
вот кусок бордфайла rel_imx_3.0.35_4.1.0-sk/arch/arm/mach-mx6/board-mx6q_sabrelite.c
вот из лога видно что это input0
есть одна неувязка - в бордфайле прописан в качестве PENIRQ пин котроый на этой ревизии не выведен, так что выбираете какой вам GPIO с этого разъема нравится и прописываете взамен
там же в бордфайле убираете #if 0 и оставляете только один spi чтобы не путаться
а почему именно board-mx6q_sabrelite.c, при старте u-boot на мониторе весело светилось wanboard, я был уверен что с этой платы портировался BSP
абсолютно любой пин подойдет? На AVR-ках я специально заводил на пин аппаратного прерывания.
Тут как бы не пересечься с работой других драйверов, обслуживающих шины типа I2C и т.д.
sabrelite это референсная платформа облегченного варианта без лишних наворотов и PMIC, ее и взяли в ядре за основу
это всего лишь загрузчик
надо смотреть схему и бордфайл. Возьмем например 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 уже прописано в бордфайле