Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
iMX6D-SODIMM. Debian. Внешние часы DS3231SN [Решено]
qqqqq2
Добавлено 10.05.2017 16:21 Редактировалось 28.05.2017 15:36
0
Сообщение: 1
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
SK-iMX6D-SODIMM
Debian 7.11, загрузка с флешки
Ядро - 3.14.14

Прошу помочь настроить систему на работу с часами DS3231SN, подключенными через i2C2.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.05.2017 18:41 Редактировалось 10.05.2017 18:41 Сообщение: 2
sasamy
4.70

Пункты: 76926
Регистрация: 14.08.2009
Судя по исходникам нужно включить драйвер ds1307

http://elixir.free-electrons.com/linux/v3.14.14/source/drivers/rtc/rtc-ds1307.c#L36

Device Drivers --->
[*] Real Time Clock --->
<*> Dallas/Maxim DS1307/37/38/39/40, ST M41T00, EPSON RX-8025

в зависимости каким устройством станут эти часы изменить rtc0 на это устройство

(rtc0) RTC used to set the system time

или проще отключить встроенные RTC

< > Freescale MXC Real Time Clock
< > Freescale MXC Real Time Clock

Прописать в DT по примеру на нужный интерфейс I2C

rtc@68 {
compatible = "dallas,ds1307";
reg = <0x68>;
};

http://elixir.free-electrons.com/linux/v3.14.14/source/arch/arm/boot/dts/am335x-nano.dts#L208
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 11.05.2017 10:03 Сообщение: 3
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
sasamy, спасибо за советы

Судя по всему настройка проста и похожие рекомендации уже есть на форуме, но не нашел ни одного из предлагаемых к использованию пунктов в menuconfig.

Пользуюсь виртуалкой iMX6_Libuntu_build_machine
и buildroot-2015.08-sk

Прописка в DT.
Правильно ли я понимаю, что надо править файл
../buildroot-2015.08-sk/output/build/linux-custom/arch/arm/boot/dts/imx6dl-sodimm.dts ?
и добавить в него следующие строки
Код
&i2c2 {
status = "okay";
pinctrl-names = "default";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&i2c2_pins>;

rtc@68 {
compatible = "dallas,ds1307";
reg = <0x68>;
};
};
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.05.2017 12:31 Сообщение: 4
sasamy
4.70

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

не нашел ни одного из предлагаемых к использованию пунктов в menuconfig.


в buildroot

make linux-menuconfig

Цитата

Правильно ли я понимаю, что надо править файл
../buildroot-2015.08-sk/output/build/linux-custom/arch/arm/boot/dts/imx6dl-sodimm.dts ?


нет, в файле

/buildroot-2015.08-sk/output/build/linux-custom/arch/arm/boot/dts/imx6qdl-sodimm.dtsi

есть описание для i2c2 - нужно просто дописать по примеру

rtc@68 {
compatible = "dallas,ds1307";
reg = <0x68>;
};
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 11.05.2017 13:24 Редактировалось 11.05.2017 13:25 Сообщение: 5
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Цитата

make linux-menuconfig

Ах вот оно как делается!
Жизнь разделилась на "до" и "после" )))
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 11.05.2017 13:38 Сообщение: 6
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Потом kernel_rebuild.sh или make ?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.05.2017 14:05 Сообщение: 7
sasamy
4.70

Пункты: 76926
Регистрация: 14.08.2009
После make linux-menuconfig - без разницы - оба варианта подходят
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 11.05.2017 15:35 Редактировалось 11.05.2017 15:47 Сообщение: 8
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
Что-то не так
Код
root@armets:~# dmesg | grep i2c
i2c i2c-1: IMX I2C adapter registered

root@armets:~# ls /dev/rtc* -l
crw------- 1 root root 254, 0 May 11 14:01 /dev/rtc0

root@armets:~# i2cdetect -y 1
Error: Could not open file `/dev/i2c-1' or `/dev/i2c/1': No such file or directory

root@armets:~# i2cdetect -y 2
Error: Could not open file `/dev/i2c-2' or `/dev/i2c/2': No such file or directory


Загрузка
Код
...
i2c i2c-1: IMX I2C adapter registered
...
rtc-ds1307: probe of 1-0068 failed with error -5
snvs_rtc 20cc034.snvs-rtc-lp: rtc core: registered 20cc034.snvs-rtc-lp as rtc0
...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 11.05.2017 17:20 Сообщение: 9
sasamy
4.70

Пункты: 76926
Регистрация: 14.08.2009
Попробуйте так

rtc@68 {
compatible = "dallas,ds3231";
reg = <0x68>;
};
Спуститься к концу Подняться к началу
Персональная информация
qqqqq2
Добавлено 12.05.2017 10:26 Редактировалось 27.05.2017 21:06 Сообщение: 10
qqqqq2
0

Пункты: 5507
Регистрация: 29.04.2016
Из: Санкт-Петербург
ничего не изменилось

&i2c2 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2_sodimm>;
status = "okay";

codec: tlv320aic23@1a {
compatible = "ti,tlv320aic23";
reg = <0x1a>;
clocks = <&clks 200>;
clock-frequency = <12000000>;
};

adv7180: adv7180@21 {
compatible = "adv,adv7180";
reg = <0x21>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_csi_sodimm>;
clocks = <&clks 201>;
clock-names = "csi_mclk";
DOVDD-supply = <&reg_3p3v>;
AVDD-supply = <&reg_3p3v>;
DVDD-supply = <&reg_3p3v>;
PVDD-supply = <&reg_3p3v>;
csi_id = <0>;
mclk = <24000000>;
mclk_source = <0>;
cvbs = <1>;
cam_std = <0>; /* 0 - PAL(default), 1 - NTSC J , 2 - NTSC M */
};

ddc: imx6_hdmi_i2c@50 {
compatible = "fsl,imx6-hdmi-i2c";
reg = <0x50>;
};

rtc@68 {
compatible = "dallas,ds3231";
reg = <0x68>;
};
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux