Jump to content
    

On 10/26/2023 at 10:02 AM, ericN said:

compatible = "fsl,imx6q-usb", "fsl,imx27-usb";

так это imx6, посмотрите тут схема есть с хабом usb2514 (DD9)

http://starterkit.ru/html/doc/SK-iMX6Q_V1B.pdf

http://starterkit.ru/html/index.php?name=shop&op=view&id=88

было это лет 10 назад - насколько я помню в конфиг Linux и DT про хаб вообще ничего не дописывали и не добавляли, всё просто работало

Edited by sasamy

Share this post


Link to post
Share on other sites

В 26.10.2023 в 12:43, sasamy сказал:

так это imx6, посмотрите тут схема есть с хабом usb2514 (DD9)

У меня есть другой кит с imx6q и тоже с хабом USB2514. Но на моём ките управление питанием на внешних усб портах нет. Там напрямую пин Vcc в разъеме USB подтянут к шине VCC5V. В ките на starterkit питание на внешние усб подаются через ключ и управляются с GPIO процессора. В обоих китах USB2514 и в этом хабе в принципе есть PRTPWR*, но в обоих китах управление питанием с хаба не используется.

На моей плате, управление питания осуществляется именно с хаба. Можно конечно переделать плату и управлять питанием с GPIO, но хотелось бы понять, что не так с PRTPWR? Или тут как раз придется писать специфичный драйвер для хаба, который сделает инит хаба по i2c?

Share this post


Link to post
Share on other sites

On 10/26/2023 at 11:37 AM, ericN said:

На моей плате, управление питания осуществляется именно с хаба. Можно конечно переделать плату и управлять питанием с GPIO, но хотелось бы понять, что не так с PRTPWR? Или тут как раз придется писать специфичный драйвер для хаба, который сделает инит хаба по i2c?

драйвер для конфигурирования хаба через i2c в ядре есть

https://elixir.bootlin.com/linux/latest/source/drivers/usb/misc/usb251xb.c#L728

может ли он управлять питанием каждого порта и что он вообще может не знаю - не занимался этим

Share this post


Link to post
Share on other sites

В 26.10.2023 в 12:43, sasamy сказал:

было это лет 10 назад

а почему в starterkit не стали использовать PRTPWR, а использовали GPIO процессора?

Share this post


Link to post
Share on other sites

On 10/26/2023 at 12:59 PM, ericN said:

а почему в starterkit не стали использовать PRTPWR, а использовали GPIO процессора?

это я не знаю, могу предположить чтобы не оказаться в ситуции как у вас - как работать с gpio было ясно заранее

Share this post


Link to post
Share on other sites

Ещё вопрос по оклотеме.... вот на хаб на 24-ую ногу затянут ресет с cpu. Цепь USB_RST подсоеденина к пину NANDF_D7 (или GPIO2_IO7).

На этом пине всегда 3,3В. Я в дереве девайсов убрал этот пин отовсюду. делаю команды по мануалу для imx6q

echo 39 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio39/direction

echo 1 > /sys/class/gpio/gpio39/value

На пине +3,3В. Делаю

echo 0 > /sys/class/gpio/gpio39/value - на пине остается +3.3В. Почему?

Есть также пин GPIO1_IO19 - SD1_DAT2, который подключен на светодиод. Такими же командами записываю в пин "1" или "0", св.диод горит и гаснет. Всё работает. А с GPIO2_IO7 нет. Так же есть пин на управление ресетом модема GPIO3_IO15. Тоже самое - при ручном управлении на пине всегда +0,25В.

 

Почему некоторые пины управляются через /sys/class/gpio, а некоторые нет?

Share this post


Link to post
Share on other sites

On 10/31/2023 at 6:36 AM, ericN said:

Почему некоторые пины управляются через /sys/class/gpio, а некоторые нет?

может они подключены к другим контроллерам а не к gpioc ? вообще если ядро не слишком старое лучше переходить c sysfs на char device + libgpiod

 

https://microhobby.com.br/blog/2020/02/02/new-linux-kernel-5-5-new-interfaces-in-gpiolib/

 

https://devdotnet.org/post/rabota-s-gpio-v-linux-chast-6-biblioteka-libgpiod/

 

тем боле в последних ядрах интерфейс gpio sysfs уже удалили

Edited by sasamy

Share this post


Link to post
Share on other sites

В 31.10.2023 в 14:07, sasamy сказал:

может они подключены к другим контроллерам а не к gpioc ?

физически они ни куда не подключены. в dts тоже не описаны. смотрю что в итоге
 

Цитата

 

# mount -t debugfs none /sys/kernel/debug/
# cd /sys/kernel/debug/pinctrl/20e0000.pinctrl/


# cat pinconf-pins
pin 19 (MX6Q_PAD_SD2_DAT1): N/A //этот пин физически на led

pin 79 (MX6Q_PAD_EIM_DA10): N/A
pin 84 (MX6Q_PAD_EIM_DA15): N/A

 

# cat pinmux-pins
pin 19 (MX6Q_PAD_SD2_DAT1): (MUX UNCLAIMED) (GPIO UNCLAIMED)

pin 79 (MX6Q_PAD_EIM_DA10): (MUX UNCLAIMED) (GPIO UNCLAIMED)

pin 84 (MX6Q_PAD_EIM_DA15): (MUX UNCLAIMED) (GPIO UNCLAIMED)

 

 

пин 19 управляется, а другие нет.

 

 

 

 

Share this post


Link to post
Share on other sites

On 10/31/2023 at 2:35 PM, ericN said:

физически они ни куда не подключены. в dts тоже не описаны

вот эти два участвуют в конфиге загрузчика BOOTROM - посмотрите схему, там скорей всего есть подтяжки к земле или +3.3В

On 10/31/2023 at 2:35 PM, ericN said:

pin 79 (MX6Q_PAD_EIM_DA10): N/A
pin 84 (MX6Q_PAD_EIM_DA15): N/A

и насколько помню - Linux от NXP не сбрасывет состояние пинов после убута  - я например всегда явно конфигурировал нужные GPIO через DT в ядре потому что в общем случае они могут быть скомутированы не на GPIO

Edited by sasamy

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...