SK-iMX6ULL-NANO-2E + 1wire
modems
Пункты: 198
Регистрация: 06.07.2021
Добрый день, пытаюсь завести 1-wire и DS18B20
лата - SK-iMX6ULL-NANO-2E-MB v2A
Модуль - SK-iMX6ULL-NANO-2E
пересобрал ядро с:
Dallas 1-wire
Slaves/Thermo sensors
Masters/GPIO master
dmesg | grep -E 'w1|wire'
Driver for 1-wire Dallas network protocol.
В DTS:
onewire {
compatible = "w1-gpio";
pinctrl-names = "default";
pinctrl-0 = <&w1_gpio_pins>;
status = "okay";
gpios = <&gpio1 3 0>;
linux,open-drain;
};
w1_gpio_pins: w1gpio {
fsl,pins = <
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x4001a8b1
>;
};
пин забрал у i2c
// &i2c1 {
// clock-frequency = <100000>;
// pinctrl-names = "default";
// pinctrl-0 = <&pinctrl_i2c1>;
// status = "okay";
// pcf8563@51 {
// compatible = "nxp,pcf8563";
// reg = <0x51>;
// };
// };
// pinctrl_i2c1: i2c1grp {
// fsl,pins = <
// MX6UL_PAD_GPIO1_IO02__I2C1_SCL 0x4001b8b0
// MX6UL_PAD_GPIO1_IO03__I2C1_SDA 0x4001b8b0
// >;
// };
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_1>;
imx6ul-sk {
pinctrl_hog_1: hoggrp-1 {
fsl,pins = <
/* ETH2_RES */
MX6UL_PAD_CSI_DATA03__GPIO4_IO24 0x80000000
/* GPIO_4 */
MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x80000000
/* SD CD */
MX6UL_PAD_UART2_CTS_B__GPIO1_IO22 0x80000000
MX6UL_PAD_LCD_DATA10__GPIO3_IO15 0x80000000
MX6UL_PAD_LCD_DATA11__GPIO3_IO16 0x80000000
/* GPIO_0/ADC */
/* MX6UL_PAD_GPIO1_IO00__GPIO1_IO00 0x80000000 */
/* GPIO_1/ADC */
/* MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0x80000000 */
/* GPIO_2/I2C1_SCL */
MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0x80000000
/* GPIO_3/I2C1_SDA */
/* MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x80000000 */
>;
};
резистор на 5Ком между Vdd(5В) и data. Data подключил к GPIO_3/I2C1_SDA 18пин на геребенке X2
В системе появился /sys/bus/w1/devices/w1_bus_master1 ,но 28-00000... нет.
У меня нет осцилографа и я не могу посмотреть, что там на ноге происходит. Рядом лежит другая плата от китайцев на imx6ull там этот конфиг сразу взлетел, (датчик я не спалил и он рабочий). Тоже самое пробовал и на SK-iMX6ULL-MOD + SK-iMX6ULL-MB, там свободных gpio пинов поболее, но тоже не запускается 1-wire.
Что-то я упускаю и расчитываю на подсказку.
modems
Пункты: 198
Регистрация: 06.07.2021
Забыл написать ногу data датчика подключаю на 18 пин гребенки X2
sasamy
Пункты: 81638
Регистрация: 14.08.2009
Цитата
В DTS:
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x4001a8b1
это настйроки пинов для i2c, попробуйте
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x80000000
sasamy
Пункты: 81638
Регистрация: 14.08.2009
Цитата Цитата
В DTS:
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x4001a8b1
это настйроки пинов для i2c, попробуйте
MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x80000000
еще посмотрите по схеме - так как это штатный пин для i2c возможно есть внешняя подтяжка которая всё портит
Jury093
Пункты: 54259
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата В системе появился /sys/bus/w1/devices/w1_bus_master1 ,но 28-00000... нет.
а попробуйте команду
Код echo 28-00000ba2f70e > /sys/bus/w1/devices/w1\ bus\ master/w1_master_add
но со своим номером (посмотрите в живой системе)
ЗЫ1 и я бы переключил питание термометра с 5в на 3в3
ЗЫ2 пропишите этот пин, как светодиод и любым способом проверьте, что это именно том пин, который нужен
На любой вопрос есть любой ответ.