toweroff 0 October 20, 2021 Posted October 20, 2021 · Report post Добрый день Есть на плате USB2422, пин сброса которого подключен к пину SoC (AM3352), I2C на I2C1 В дереве так: &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; status = "okay"; clock-frequency = <100000>; [email protected] { compatible = "microchip,usb2422"; reg = <0x2c>; reset-gpios = <&gpio2 24 GPIO_ACTIVE_LOW>; }; }; Нужно как-то этот пин ещё описывать (GPIO2.24)? У меня там постоянно ноль и, соответственно, хаб не определяется ни по I2C, но по USB Quote Share this post Link to post Share on other sites More sharing options...
aaarrr 26 October 20, 2021 Posted October 20, 2021 · Report post 35 minutes ago, toweroff said: Нужно как-то этот пин ещё описывать (GPIO2.24)? Зависит от реализации, возможно, нужно pinctrl добавить. А что система думает по поводу этого пина? mount -t debugfs - /sys/kernel/debug cat /sys/kernel/debug/gpio Quote Share this post Link to post Share on other sites More sharing options...
toweroff 0 October 22, 2021 Posted October 22, 2021 · Report post В общем, что-то я совсем ничего не понимаю... Вот мои изыскания: &am33xx_pinmux { pinctrl-names = "default"; user_leds_s0: user_leds_s0 { pinctrl-single,pins = < AM33XX_IOPAD(0x994, PIN_OUTPUT | MUX_MODE7) /* (B13) mcasp0_fsx.gpio3[15] */ AM33XX_IOPAD(0x9a4, PIN_OUTPUT | MUX_MODE7) /* (C13) mcasp0_fsr.gpio3[19] */ >; }; i2c1_pins: i2c1_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x910, PIN_INPUT | MUX_MODE3) /* (J15) gmii1_rxer.I2C1_SCL */ AM33XX_IOPAD(0x90c, PIN_INPUT | MUX_MODE3) /* (H17) gmii1_crs.I2C1_SDA */ >; }; usbhub_pins: usbhub_pins { pinctrl-single,pins = < AM33XX_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE7) /* (V5) PIN_LCD_PCLK - USB Hub reset */ >; }; }; &usb { status = "okay"; }; &usb_ctrl_mod { status = "okay"; }; &usb1_phy { status = "okay"; }; &usb1 { status = "okay"; dr_mode = "host"; }; &i2c1 { pinctrl-names = "default"; pinctrl-0 = <&i2c1_pins>; status = "okay"; clock-frequency = <100000>; [email protected] { pinctrl-names = "default"; pinctrl-0 = <&usbhub_pins>; compatible = "microchip,usb2422"; reg = <0x2c>; reset-gpios = <&gpio2 24 GPIO_ACTIVE_LOW>; status = "okay"; }; }; вот что показывает дебаг: gpiochip2: GPIOs 64-95, parent: platform/481ac000.gpio, gpio-64-95: gpio-64 (GPMC_CSN3 ) gpio-65 (GPMC_CLK ) gpio-66 (GPMC_ADVN_ALE ) gpio-67 (GPMC_OEN_REN ) gpio-68 (GPMC_WEN ) gpio-69 (GPMC_BE0N_CLE ) gpio-70 (LCD_DATA0 ) gpio-71 (LCD_DATA1 ) gpio-72 (LCD_DATA2 ) gpio-73 (LCD_DATA3 ) gpio-74 (LCD_DATA4 ) gpio-75 (LCD_DATA5 ) gpio-76 (LCD_DATA6 ) gpio-77 (LCD_DATA7 ) gpio-78 (LCD_DATA8 ) gpio-79 (LCD_DATA9 ) gpio-80 (LCD_DATA10 ) gpio-81 (LCD_DATA11 ) gpio-82 (GMII1_RXD3 ) gpio-83 (GMII1_RXD2 ) gpio-84 (GMII1_RXD1 ) gpio-85 (GMII1_RXD0 ) gpio-86 (LCD_VSYNC ) gpio-87 (LCD_HSYNC ) gpio-88 (LCD_PCLK ) gpio-89 (LCD_AC_BIAS_EN ) gpio-90 (MMC0_DAT3 ) gpio-91 (MMC0_DAT2 ) gpio-92 (MMC0_DAT1 ) gpio-93 (MMC0_DAT0 ) gpio-94 (MMC0_CLK ) gpio-95 (MMC0_CMD ) к примеру, для uSD пин контроля карты описан вот так: &mmc1 { status = "okay"; bus-width = <0x4>; pinctrl-names = "default"; pinctrl-0 = <&mmc1_pins>; cd-gpios = <&gpio3 18 GPIO_ACTIVE_LOW>; }; и вполне себе отображается: gpiochip3: GPIOs 96-127, parent: platform/481ae000.gpio, gpio-96-127: gpio-96 (GMII1_COL ) gpio-97 (GMII1_CRS ) gpio-98 (GMII1_RXER ) gpio-99 (GMII1_TXEN ) gpio-100 (GMII1_RXDV ) gpio-101 (I2C0_SDA ) gpio-102 (I2C0_SCL ) gpio-103 (EMU0 ) gpio-104 (EMU1 ) gpio-105 (GMII1_TXCLK ) gpio-106 (GMII1_RXCLK ) gpio-107 (NC ) gpio-108 (NC ) gpio-109 (USB1_DRVVBUS ) gpio-110 (MCASP0_ACLKX ) gpio-111 (MCASP0_FSX |UM40v2:green:heartbe) out lo gpio-112 (MCASP0_AXR0 ) gpio-113 (MCASP0_AHCLKR ) gpio-114 (MCASP0_ACLKR |cd ) in lo IRQ ACTIVE LOW gpio-115 (MCASP0_FSR |UM40v2:green:mmc0 ) out lo gpio-116 (MCASP0_AXR1 ) gpio-117 (MCASP0_AHCLKX ) gpio-118 (NC ) gpio-119 (NC ) gpio-120 (NC ) gpio-121 (NC ) gpio-122 (NC ) gpio-123 (NC ) gpio-124 (NC ) gpio-125 (NC ) gpio-126 (NC ) gpio-127 (NC ) Дальше интереснее... Если я пин сброса экспортирую, записываю туда 0, 1 - все нормально, вижу 2мВ и 3.31в При этом хаб на шине USB не вижу... На I2C тоже не вижу Quote Share this post Link to post Share on other sites More sharing options...
aaarrr 26 October 22, 2021 Posted October 22, 2021 · Report post 25 minutes ago, toweroff said: При этом хаб на шине USB не вижу... На I2C тоже не вижу Тогда дело где-то в железе. Quote Share this post Link to post Share on other sites More sharing options...
toweroff 0 October 22, 2021 Posted October 22, 2021 · Report post 12 минут назад, aaarrr сказал: Тогда дело где-то в железе. Если перемычками отключить от шины I2C, настроить на standalone, прекрасно его вижу через lsusb пока вопрос в том, что даже сброс не поднимается вверх, а остаётся в нуле; не дёргает драйвер пином, хоть тресни Quote Share this post Link to post Share on other sites More sharing options...
BaN 0 October 22, 2021 Posted October 22, 2021 (edited) · Report post 7 minutes ago, toweroff said: Если перемычками отключить от шины I2C, настроить на standalone, прекрасно его вижу через lsusb пока вопрос в том, что даже сброс не поднимается вверх, а остаётся в нуле; не дёргает драйвер пином, хоть тресни Сейчас уже не помню точно, так что может быть ошибочная информация. Но, вроде бы, когда я пытался также на BBB назначить пин на свою функцию, то возникал конфликт из-за того, что пин уже был назначен для другой функции. Например, пин настраивался на HDMI, а когда доходило дело до моего назначения этого пина в device tree, то возникал конфликт и пин оставался назначен как HDMI. Edited October 22, 2021 by BaN Quote Share this post Link to post Share on other sites More sharing options...
aaarrr 26 October 22, 2021 Posted October 22, 2021 · Report post Посмотрите, были ли сообщения от драйвера при загрузке: dmesg | grep usb251xb Quote Share this post Link to post Share on other sites More sharing options...
toweroff 0 October 22, 2021 Posted October 22, 2021 · Report post 2 минуты назад, BaN сказал: Сейчас уже не помню точно, так что может быть ошибочная информация. Но, вроде бы, когда я пытался также на BBB назначить пин на свою функцию, то возникал конфликт из-за того, что пин уже был назначен для другой функции. Например, пин настраивался на HDMI, а когда доходило дело до моего назначения этого пина в device tree, то возникал конфликт и пин оставался назначен как HDMI. так я вычистил уже всё. В моём dtsi только то, что мне нужно 9 минут назад, aaarrr сказал: Посмотрите, были ли сообщения от драйвера при загрузке: dmesg | grep usb251xb нет( руками драйвер грузится, но воз и ныне там. Пробовал поднять сброс в "1", загрузить драйвер -- то же самое да, чтобы не было недопонимания... на той же шине I2C висит EEPROM, она нормально светится на 0x50 Как-то так это выглядит: [email protected]:~$ sudo echo 88 > /sys/class/gpio/export [email protected]:~$ sudo rmmod usb251xb [email protected]:~$ sudo echo "out" > /sys/class/gpio/gpio88/direction [email protected]:~$ sudo echo "1" > /sys/class/gpio/gpio88/value [email protected]:~$ sudo modprobe usb251xb [email protected]:~$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub [email protected]:~$ sudo i2cdetect -y -r 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- [email protected]:~$ может, систему вообще голую накатить? я какую-то от чёрного биглебона взял, жирную Quote Share this post Link to post Share on other sites More sharing options...
BaN 0 October 22, 2021 Posted October 22, 2021 · Report post 17 minutes ago, toweroff said: так я вычистил уже всё. В моём dtsi только то, что мне нужно Вы отключили HDMI в capemgr? Quote Share this post Link to post Share on other sites More sharing options...
aaarrr 26 October 22, 2021 Posted October 22, 2021 · Report post 37 minutes ago, toweroff said: Как-то так это выглядит Не должно быть так. Может, банально SDA/SCL перепутаны? Quote Share this post Link to post Share on other sites More sharing options...
toweroff 0 October 22, 2021 Posted October 22, 2021 · Report post 1 минуту назад, aaarrr сказал: Не должно быть так. Может, банально SDA/SCL перепутаны? в смысле? 24C32 видит же Quote Share this post Link to post Share on other sites More sharing options...
aaarrr 26 October 22, 2021 Posted October 22, 2021 · Report post Ну, 24c32 подключена правильно, а на USB2422 пины попутаны, например. Quote Share this post Link to post Share on other sites More sharing options...
toweroff 0 October 22, 2021 Posted October 22, 2021 · Report post 8 минут назад, aaarrr сказал: Ну, 24c32 подключена правильно, а на USB2422 пины попутаны, например. Quote Share this post Link to post Share on other sites More sharing options...
BaN 0 October 22, 2021 Posted October 22, 2021 · Report post 1 hour ago, toweroff said: gpio-88 (LCD_PCLK ) Отключите HDMI в capemgr. GPIO2.24 у вас назначен на функцию HDMI. Quote Share this post Link to post Share on other sites More sharing options...
toweroff 0 October 22, 2021 Posted October 22, 2021 · Report post 3 минуты назад, BaN сказал: Отключите HDMI в capemgr. GPIO2.24 у вас назначен на функцию HDMI. да нет у меня hdmi в дереве давно, вычистил от биглевых всё Quote Share this post Link to post Share on other sites More sharing options...