OrangepiZero I2C periferie kernel 4.8.0

Po kompilaci vlastního kernelu, trochu starší verze 4.8.0 jsem si chtěl vyzkoušet komunikaci po I2C sběrnici. Mainline kernel (4.8.0) bohužel nemá přímou podporu pro procesor Allwinner H2, je tedy nutná řada manuálních zásahů. Tento procesor je kompatibilní s ‚vylepšeným‘ procesorem Allwinner H3, který navíc poskytuje řadu multimediálních periferií. Celková podpora je tedy založena především na klonu již existujících prvků procesoru H3.

Procesor je popsán pomocí DTS souboru, který jádru říká především to, jaké adresy mají jednotlivé periferie. Společný konfigurační soubor pro oba typy procesorů se nachází v cestě arch/arm/boot/dts/sun8i-h3.dtsi

Zde jsou přidané sekce jak pro I2C piny, tak i pro další UART rozhraní.

Během ladění jsem narazil na nefungující periferii I2C, která se projevovala následujícími výpisy do konzole.

Řešením bylo definování allwinner,drive a allwinner,pull.

Mohlo by se vám líbit...

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *