Ник:
Пароль:

Контакты

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

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
Использование драйвера тензомоста в linux.
sergzaytsev
Добавлено 03.10.2016 10:36
0
Сообщение: 1
sergzaytsev
0

Пункты: 3694
Регистрация: 19.07.2016
Доброго времени суток, уважаемые коллеги.
Изделие SK-iMX6S-SODIMM, совместное использование с SK-iMX6-MB-SODIMM. Интегрировал драйвер тензомоста AD7730, пересобрал ядро, получил устройство "ad7730-1.0". Просмотрел исходный текст драйвера и увидел, что в нем отсутствуют команды IOCTL для настройки параметров SPI (режим работы, скорость, количество бит и т.д.), как это сделано в драйвере spidev (этот драйвер работает).
Разработчик драйвера пишет следующее:
"...device tree support was substituted to the platform-data way of doing things." -
Поддержка от DTS была заменена на поддержку от данных платформы.
Уважаемые коллеги, подскажите как в этом случае создать этот файл данных вычислительной платформы, чтобы настроить SPI
Искренне благодарен.
Ссылка на релиз разработчика:
https://sourceforge.net/p/armadeus/mailman/message/31852958/
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 04.10.2016 20:03 Редактировалось 04.10.2016 20:08 Сообщение: 2
sasamy
4.71

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

в нем отсутствуют команды IOCTL для настройки параметров SPI (режим работы, скорость, количество бит и т.д.),


все это настраивается в DT

http://lxr.free-electrons.com/source/Documentation/devicetree/bindings/spi/spi-bus.txt?v=3.10#L44

Цитата

Поддержка от DTS была заменена на поддержку от данных платформы.


посмотрите исходник - там используется DT
Спуститься к концу Подняться к началу
Персональная информация
sergzaytsev
Добавлено 06.10.2016 00:23 Сообщение: 3
sergzaytsev
0

Пункты: 3694
Регистрация: 19.07.2016
sasamy добрый вечер, спасибо за подсказку, я сделал такое описание для AD7730:

&ecspi2 {
fsl,spi-num-chipselects = <1>;
cs-gpios = <&gpio2 26 0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi2_sodimm>;
status = "okay";

spidev: spidev@0 {
compatible = "ad7730";
/* interrupt-parent = <&gpio1>;
interrupts = <11 0x2>;
pendown-gpio = <&gpio1 11 0>;*/
ready-pin-gpio = <&gpio1 11 0>;
sensorpwr-pin-gpio = <&gpio1 13 0>;
standby-pin-gpio = <&gpio1 15 0>;
reg = <0>;
spi-cpha = <1>;
spi-cpol = <0>;
spi-max-frequency = <1000000>;
};
};

Написал примитивный тест, в котором циклически вызываю функцию сброса АЦП, посмотрел осциллографом полярность сигнала SCLK . Полярность соответствует режиму 3, когда spi-cpha и spi-cpol равны 1 ВНЕ ЗАВИСИМОСТИ от значения spi-cpol.
А мне нужен режим 1, когда spi-cpha = 1 и spi-cpol = 0.
Может я в описании на ecspi2 где то накосячил?
Спуститься к концу Подняться к началу
Персональная информация
sergzaytsev
Добавлено 06.10.2016 00:26 Сообщение: 4
sergzaytsev
0

Пункты: 3694
Регистрация: 19.07.2016
Т.е. я пытаюсь установить режим 1, а получается режим 3.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 06.10.2016 12:12 Редактировалось 06.10.2016 12:15 Сообщение: 5
sasamy
4.71

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

Полярность соответствует режиму 3, когда spi-cpha и spi-cpol равны 1 ВНЕ ЗАВИСИМОСТИ от значения spi-cpol.


Прочитайте внимательно документацию

Цитата

Empty property indicating device requires inverse clock polarity (CPOL) mode


не надо там никаких парметров - если вы написали

spi-cpol;

полярность клока будет инвертирована - именно это вы и наблюдаете, если не надо инвертировать - не надо вообще эту строку писать с spi-cpol а оставить

spi-cpha;

без всяких параметров, потому что там аналогично

Цитата

spi-cpha - (optional) Empty property indicating device requires shifted clock phase (CPHA) mode
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux