Обзор поддержки драйверов GPIO
Начиная с Windows 8, расширение платформы GPIO (GpioClx) упрощает создание драйвера для устройства контроллера GPIO. Кроме того, GpioClx обеспечивает поддержку драйверов для периферийных устройств, которые подключаются к контактам GPIO. GpioClx, которое является системным расширением для платформы драйвера в режиме ядра (KMDF), выполняет задачи обработки, общие для членов класса устройств GPIO.
В этом обзоре рассматриваются следующие темы:
- Обзор поддержки драйверов GPIO
- Драйверы контроллера GPIO
- Драйверы для периферийных устройств, использующих контакты GPIO
Драйверы контроллера GPIO
Поставщики оборудования предоставляют драйверы для управления контроллерами GPIO. Драйвер контроллера GPIO — это драйвер KMDF, который управляет всеми аппаратными операциями для контроллера GPIO. Драйвер контроллера GPIO взаимодействует с GpioClx для обработки запросов ввода-вывода для групп контактов GPIO, настроенных в качестве входных и выходных данных. Кроме того, этот драйвер взаимодействует с GpioClx для обработки запросов прерываний от контактов GPIO, настроенных как входные данные прерывания.
Устройство контроллера GPIO имеет некоторое количество контактов GPIO. Эти контакты могут быть физически подключены к периферийным устройствам. Контакты GPIO можно настроить как входные данные, выходные данные или входные данные прерывания запроса. Как правило, пин-код GPIO выделяется для периферийного устройства и не используется двумя или более устройствами. Подключения между контактами GPIO и периферийными устройствами фиксируются и не могут быть изменены пользователем (например, путем удаления периферийного устройства и замены его другим устройством). Таким образом, назначение контактов GPIO периферийным устройствам можно описать в встроенном ПО платформы.
На следующей схеме показаны драйвер контроллера GPIO и GpioClx.

Драйвер контроллера GPIO и GpioClx взаимодействуют друг с другом через интерфейс драйвера устройства (DDI) GpioClx. Драйвер контроллера GPIO вызывает методы поддержки драйверов , реализованные GpioClx. GpioClx вызывает функции обратного вызова событий , реализованные драйвером контроллера GPIO.
Драйвер контроллера GPIO напрямую обращается к аппаратным регистрам устройства контроллера GPIO.
GpioClx обрабатывает запросы ввода-вывода от драйверов для периферийных устройств, которые физически подключаются к контактам GPIO. GpioClx преобразует эти запросы ввода-вывода в простые аппаратные операции, которые выполняются путем вызова функций обратного вызова событий, реализованных драйвером контроллера GPIO. Например, чтобы считывать данные из набора контактов GPIO или записывать их в набор, GpioClx вызывает функции обратного вызова событий, такие как CLIENT_ReadGpioPins и CLIENT_WriteGpioPins. GpioClx управляет очередями ввода-вывода для контроллера GPIO и тем самым освобождает драйвер контроллера GPIO от этой задачи.
Кроме того, GpioClx обрабатывает основные прерывания с устройства контроллера GPIO и сопоставляет эти прерывания со вторичными прерываниями, которые обрабатываются драйверами периферийных устройств. Основные прерывания — это прерывания, создаваемые аппаратными устройствами. Дополнительные прерывания создаются операционной системой в ответ на некоторые основные прерывания. Первичные и вторичные прерывания определяются глобальными системными прерываниями (GSIS). Встроенное ПО ACPI для аппаратной платформы назначает GSIS основным прерываниям, а во время выполнения операционная система назначает GSIS вторичным прерываниям.
Например, встроенное ПО назначает GSI аппаратному прерыванию из контроллера GPIO, а операционная система назначает GSI контакту GPIO, настроенной в качестве входных данных прерывания.
GpioClx реализует ISR, который обрабатывает созданные оборудованием основные прерывания с устройства контроллера GPIO. Когда периферийное устройство подтверждает прерывание контакта GPIO, а прерывания на этом контакте включены и отключены, контроллер GPIO прерывает работу процессора. В ответ обработчик ловушки ядра планирует запуск ISR GpioClx. Чтобы определить контакт GPIO, вызвавшего прерывание, isR GpioClx вызывает функцию обратного вызова события CLIENT_QueryActiveInterrupts , которая реализуется драйвером контроллера GPIO. Затем ISR GpioClx ищет GSI, назначенный этому контакту, и передает этот GSI на уровень аппаратной абстракции (HAL). HAL создает дополнительное прерывание путем вызова ISR, зарегистрированного для этого GSI. Этот ISR принадлежит драйверу для периферийного устройства, которое первоначально подтвердило прерывание.
Дополнительные сведения о первичных и вторичных прерываниях см. в разделе Прерывания GPIO.
Драйверы для периферийных устройств, использующих контакты GPIO
При запуске диспетчер Plug and Play (PnP) перечисляет как устройства PnP, так и устройства, отличные от PnP. Для устройств, отличных от PnP, которые имеют фиксированные подключения к контактам GPIO, диспетчер PnP запрашивает встроенное ПО платформы, чтобы определить, какие контакты GPIO назначаются в качестве управляемых системой аппаратных ресурсов для этих устройств.
Драйвер KMDF для периферийного устройства получает назначенные ему аппаратные ресурсы во время обратного вызова EvtDevicePrepareHardware . Эти ресурсы могут включать контакты GPIO, настроенные в качестве выходных данных, входных данных или входных данных запроса прерывания.
Ресурс ввода-вывода GPIO — это новый тип ресурса Windows в Windows 8. Этот ресурс состоит из одного или нескольких контактов GPIO, которые можно использовать в качестве входных или выходных данных. Если драйвер периферийного устройства открывает ресурс ввода-вывода GPIO для операций чтения, драйвер использует все контакты в ресурсе в качестве входных данных. Если драйвер открывает ресурс ввода-вывода GPIO для операций записи, драйвер использует все контакты в ресурсе в качестве выходных данных. Примеры кода, показывающие, как драйвер периферийного устройства открывает логическое подключение к набору контактов ввода-вывода GPIO, см. в следующих разделах:
Пин-код GPIO, настроенный в качестве входных данных прерывания, назначается драйверу в качестве обычного ресурса прерывания Windows. Абстракция ресурса прерывания скрывает тот факт, что прерывание может быть реализовано контактом GPIO, а не, например, программируемым контроллером прерываний. Таким образом, драйвер может обрабатывать ресурс прерываний на основе GPIO так же, как и любой другой ресурс прерывания.
Чтобы получить доступ к контактам GPIO в ресурсе ввода-вывода GPIO, драйвер периферийного устройства должен открыть логическое подключение к контактам. Драйвер KMDF вызывает метод WdfIoTargetOpen , чтобы открыть подключение. Через это подключение драйвер может отправлять запросы ввода-вывода к контактам GPIO. Драйвер отправляет IOCTL_GPIO_READ_PINS запросы на чтение данных из этих контактов (если они являются входными) или IOCTL_GPIO_WRITE_PINS запросы на запись данных в них (если это выходные контакты).
Чтобы получать прерывания от контакта GPIO в ресурсе прерывания, драйвер периферийного устройства должен зарегистрировать свою подпрограмму обслуживания прерываний (ISR) для получения прерываний из ресурса прерывания, реализованного этим контактом. Драйвер KMDF вызывает метод WdfInterruptCreate для подключения ISR к прерыванию.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
AMD GPIO Driver — что это за драйвер? (AMD GPIO Controller)

Драйвер интерфейса ввода/вывода (чипсет).
Простыми словами — нужен для корректной работы чипсета (набор логики) на материнской плате.
Без драйвера скорее всего тоже все будет работать, но функции будут только базовые, дополнительные — работать не будут. Всякие технологии, заложенные в чипсет, в том числе которые теоретически могут ускорить работу Windows — будут работать только после установки этого драйвера. Например регулировка частоты в Windows (в настройках Электропитания), автоматическое ее снижение в простое — не будет работать без этого драйвера. Также могут не работать порты USB 3.0/3.1 (точнее работать будут, но как версия 2.0) или некоторые технологии ускорения передачи данных по USB.
Также вы можете встретить драйвер с названием AMD GPIO Driver Promontory — это просто версия для чипсетов серии 300, 400 и X570.
Сам драйвер входит в состав пакета AMD Chipset Drivers. Поэтому можно сделать вывод, что он точно нужен для чипсета. Также в пакет входят и другие — AMD PCI driver, PSP driver, AMD SMbus, Promonotory GPIO Driver. И еще — после установки пакета можно перейти в эту папку (в нее распаковываются дрова):
И установить оттуда схему электропитания Ryzen balanced PowerPlan, которая тоже оптимизирует работу ПК.
После корректной установки драйверов у вас в диспетчере появится устройство AMD GPIO Controller:

Надеюсь информация оказалась полезной. Удачи и добра, до новых встреч друзья!
Что такое AMD IO Driver?
Решил обновить драйвер для видео, на новых дровах Catalyst 11.5 появился этот драйвер, для чего он?
Лучший ответ
Читай тему тут
Остальные ответы
таково нет
Обсуждали тут уже, юзай driverplus.ru
Источник: driverplus.ru
Если не ошибаюсь -это драйвер чипсета AMD.
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
[SOLVED] Which AMD Chipset Drivers to install? Confused.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.very_452001
Distinguished
Mar 8, 2014 333 2 18,785
I get this on screen:
— AMD GPIO Driver
— AMD GPIO Driver (for Promontory), what on earth does the word Promontory mean?
— AMD SMBus Driver
I have a ASUS Prime B450M-A Micro ATX Motherboard, AMD Socket AM4 and a M.2 NVMe SSD Hard Drive and a AMD Ryzen 3 3200G Processor.
I don’t like clutter on my PC so which drivers are essential to install to get my PC hardware above to run as it should be? Will installing of them will get me to notice a performance improvement?
drea.drechsler
Ok which I choose out of?:
.I’m not sure exactly what you are doing but.
Just download the whole package and run the setup, selecting everything. It will detect what you have and install only if it’s needed, and further it will install with whatever options (switches) are needed based on what you have. If you happen to be taking the self-extracting archive apart to install each component individually you’re just making a whole lot of grief for yourself, and most likely an unstable system too.
In truth, not even every one of them are actual drivers as they aren’t actually needed but Microsoft says one has to be installed for every hardware device. So some are what’s called a ‘nul driver’; does nothing but satisfies the.
hotaru.hino
Glorious
Sep 1, 2020 9,215 3,298 46,090
If your system is performing fine as-is, then you may not need those drivers.
And generally speaking, installing the specific device driver may not give you more performance. It may unlock more features, but that’s about it.
digitalgriffin
Splendid
Jan 29, 2008 3,385 1,316 23,390
I get this on screen:
— AMD GPIO Driver
— AMD GPIO Driver (for Promontory), what on earth does the word Promontory mean?
— AMD SMBus Driver
I have a ASUS Prime B450M-A Micro ATX Motherboard, AMD Socket AM4 and a M.2 NVMe SSD Hard Drive and a AMD Ryzen 3 3200G Processor.
I don’t like clutter on my PC so which drivers are essential to install to get my PC hardware above to run as it should be? Will installing of them will get me to notice a performance improvement?
Prominatory is just the name for the chipset group.
They will expose you to stability improvements and sometimes performance increases. They are matched to the BIOS AGESA version changes. So if you ever update your Motherboard BIOS (And as an enthusiast, I recommend you do after checking the last valid package for your CPU), the updated drivers will often take advantage of those updated changes. This can include updates to AMD’s auto overclocking. For example, after 3000 series came out, a number of people had problems reaching maximum boost clock. AMD did a AGESA update for the BIOS. There was also a fix for USB stability issues on a number of motherboards just recently. (Driver package)
It’s always best to install the full set. You will never notice them as they are system level drivers and not apps. They will give you a full feature set along with all the fixes.