Una delle recenti serie di patch di AMD fornisce il supporto del driver I3C HCI per il blocco IP MIPI I3C presente nei loro processori. MIPI I3C è il successore dell’I2C, un’interfaccia a due fili a bassa potenza utilizzata per collegare il processore a diversi dispositivi periferici. Le specifiche I3C e I3C HCI (Host Controller Interface) mantengono la compatibilità con i dispositivi I2C precedenti. I3C ha una gamma di applicazioni che vanno dai dispositivi embedded/IoT fino alle piattaforme server e altri dispositivi. Il supporto per I3C si trova sui processori AMD a partire dalla generazione Zen 4.
Il supporto Linux per I3C è fornito dal driver “mipi-i3c-hci” per l’interfaccia del controller host. Dopo tutto è progettato per essere riutilizzato su piattaforme hardware ed adattabile. Il driver MIPI I3C HCI è stato integrato nel 2020, ma ora per supportare il blocco IP AMD I3C sono necessarie alcune modifiche. Il driver MIPI I3C HCI fino a questo punto si è rivolto alle piattaforme che utilizzano i collegamenti DeviceTree mentre con le nuove patch di AMD estende il supporto per funzionare su sistemi x86 abilitati ACPI.
AMD Linux: introdotto supporto iniziale del driver per abilitare blocco IP I3C
Oltre a consentire la corrispondenza ACPI tramite l’ID del dispositivo ACPI MIPI0100, sono state garantite anche alcune modifiche al driver. Ciò per risolvere i difetti nell’IP AMD I3C. Come riportao sulla patch: “Il SoC AMD include un blocco IP I3C come parte del Fusion Controller Hub (FCH). Questa serie introduce il supporto iniziale del driver per abilitare il blocco IP I3C sugli ultimi processori AMD. Attualmente, il codice è strettamente legato ai collegamenti dt. Questo set iniziale mira a disaccoppiare alcuni di questi collegamenti aggiungendo l’ID MIPI, consentendo al driver corrente di supportare i sistemi x86 abilitati ACPI. È stato scoperto che il controller AMD I3C presenta diversi problemi hardware. Questi includono la modalità DMA non funzionale (impostazione predefinita in modalità PIO), i problemi con i parametri di temporizzazione Open-Drain (OD) e Push-Pull (PP) e i valori di soglia del buffer di risposta al comando“.
Per coloro che sono interessati a I3C, questa serie di patch risolve il supporto HCI AMD I3C. Inoltre, è attualmente in fase di revisione sulla mailing list del kernel Linux.