рдШрд░реЗрд▓реВ рд╕реНрд╡рдЪрд╛рд▓рди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ , рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЙрдкрд▓рдмреНрдз рд╡реАрдХреЗ-рдЬреА 4 рдЧреИрд╕ рдкреНрд░рд╡рд╛рд╣ рдореАрдЯрд░ рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ: рдПрдХ рдЪреБрдВрдмрдХ рдХреЛ рдЬреВрдирд┐рдпрд░ рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд╣рд░ рд╕реНрдерд╛рдкрд┐рдд рд░реАрдб рд╕реНрд╡рд┐рдЪ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдпрд╛рдиреА, рдЗрд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ) рдЧреИрд╕ рдХрдВрдкрдиреА)ред рдпрд╣ рдХрд╛рдЙрдВрдЯрд░ рдкрд░ рд╣реА рдкрд╛рд╕рдкреЛрд░реНрдЯ рдореЗрдВ рднреА рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдЪ рд╣реИ, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк "IN-Z 61 рд▓реЛ рдлреНрд░рд┐рдХреНрд╡реЗрдВрд╕реА рдкрд▓реНрд╕ рдЬреЗрдирд░реЗрдЯрд░" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдПрдХ рдИрдЦ рд╕реНрд╡рд┐рдЪ рд╣реИ рдЬреЛ рдПрдХ рдкрд╛рдЧрд▓ рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП рдореАрдЯрд░ рдкрд░ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдИрдПрди-рдЬреЗрдб 61 рдХреЗ рдмрдЬрд╛рдп, рдбрд┐рдЬрд┐рдЯрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рд╣реЙрд▓ рд╕реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ (рдпрд╛рдиреА рдПрдХ рдПрдХреАрдХреГрдд рд╢рдорд┐рдд рдЯреНрд░рд┐рдЧрд░ рдХреЗ рд╕рд╛рде)редрдЙрдкрд▓рдмреНрдз рд╕реЗ рд╣реЙрд▓ рд╕реЗрдВрд╕рд░ рдкреНрд░рдХрд╛рд░ SS441A рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред SS44xA рдкрд░ рдбреЗрдЯрд╛рд╢реАрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ , рдЗрд╕рдХреА рдЪреБрдВрдмрдХреАрдп рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рддреАрд╕рд░реЗ рдЕрдВрдХ рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИ, рдЬреЛ рдЧреИрд╕ рдореАрдЯрд░ рдкрд░ рд╕реЗрдВрд╕рд░ рдХреЗ рднреМрддрд┐рдХ рд╕реНрдерд╛рди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИредрдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рд▓рд┐рдирдХреНрд╕-рд╡реЗрдирд┐рд▓рд╛ рдХрд░реНрдиреЗрд▓ 4.2+) рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдХрд▓-рдмреЛрд░реНрдб рдмрдирд╛рдирд╛ рдкреАрдЖрдИ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред SS44xA рдХрд╛ рднреМрддрд┐рдХ рдХрдиреЗрдХреНрд╢рди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ: рд╣рдордЖрдЙрдЯрдкреБрдЯ (-) рдХреЛ рдПрдХ рдЖрдо рддрд╛рд░ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ;рдЖрдЙрдЯрдкреБрдЯ (+) + 5 рд╡реА рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ (рдФрд░ рдирд╣реАрдВ + рей.рей рд╡реА);рдкрд┐рди (D) GPIO рдкреЛрд░реНрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ рдФрд░ 4.7 kor рд░реЗрд╕рд┐рд╕реНрдЯрд░ рд╕реЗ + 3.3V рддрдХ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИредрд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдХрд░реНрдиреЗрд▓ рдЗрди-рдЯреНрд░реА рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рдирд╣реАрдВ рдкрд╛ рд╕рдХрд╛ рддреЛ рдореЗрд░рд╛ рдЖрд╢реНрдЪрд░реНрдп рдХреНрдпрд╛ рдерд╛ рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП GPIO рдкреЛрд░реНрдЯ рдкрд░ рджрд╛рд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЧрд┐рди рд╕рдХрддреЗ рдереЗ! рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХрд╛ рдУрдПрд╕ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдХрдо-рдЖрд╡реГрддреНрддрд┐ рд╡рд╛рд▓реЗ рджрд╛рд▓реЛрдВ рдХреА рдЧрд┐рдирддреА рдХрд░ рд░рд╣рд╛ рд╣реИ ... рдХреНрдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░рд╛ рдХрд╛рдо рд╣реИ?рдирд╡реАрдирддрдо рдХрд░реНрдиреЗрд▓ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдзреНрдпрд╛рди рд╕реЗ рджреЗрдЦрдиреЗ рдкрд░, рджреЛ рдордзреНрдпрд╡рд░реНрддреА рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬреЗ рдЧрдП:- рдПрдХ рдорд╛рдирдХ рдпреВрдЖрдИрдУ рдЪрд╛рд▓рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрджрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдХрд░рдг рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореВрд▓реНрдп рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд░реАрдб рдСрдкрд░реЗрд╢рди рдХреЛ рддрдм рддрдХ рдирд┐рд▓рдВрдмрд┐рдд рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд GPIO рдкрд░ рд╕рд┐рдЧреНрдирд▓ рд╕реНрддрд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреЗ рдХрд╛рд░рдг рдХреЛрдИ рд╡реНрдпрд╡рдзрд╛рди рдЙрддреНрдкрдиреНрди рди рд╣реЛ;
- gpio_keys. GPIO ┬л┬╗ (button) ┬л┬╗ (switch), , .
рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдореЙрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдкрд▓реНрд╕ рдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рджрд╛рд▓реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд▓реЗрдЦрд╛рдВрдХрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬреЛрдЦрд┐рдореЛрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдЬреЛ рд╕реАрдзреЗ рдХрд░реНрдиреЗрд▓ рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛редрддреЛ, рдорд┐рд▓рддреЗ рд╣реИрдВ: рдПрдХ рдордирдорд╛рдирд╛ GPIO рд▓рд╛рдЗрди рдкрд░ рджрд╛рд▓реЛрдВ рдХреА рдЧрд┐рдирддреА рдХреЗ рд▓рд┐рдП рдПрдХ рдбреНрд░рд╛рдЗрд╡рд░ , рдбрд┐рд╡рд╛рдЗрд╕ рдЯреНрд░реА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдпредрдкреВрд░реНрд╡ рд╢рд░реНрдд- рдкреНрд░рдпреБрдХреНрдд рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг 4.x рдпрд╛ рдмрд╛рдж рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг
- рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд░реНрдиреЗрд▓ рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ (рдЖрдорддреМрд░ рдкрд░ / usr рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВ / рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдкрд░ / linux рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВ)
- -
- Device Tree
- Device Tree ( dtc)
рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрд░реНрдореЗрдирд┐рдпрд╛рдИ рд╕реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ , рдФрд░ рдЙрдирдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЖрдк рдХрд░реНрдиреЗрд▓ рд╕реНрд░реЛрдд рднреА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рддреИрдпрд╛рд░ рдХреА рдЧрдИ рдереАред рд▓реЗрдХрд┐рди, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд▓рдХреНрд╖реНрдп рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПредрдореИрдВ рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░рддрд╛ (рдФрд░ рдХреНрдпрд╛? рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ), рдЗрд╕рд▓рд┐рдП рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрд╛рдЙрдВрдЯрд░ рд╣реИрдВред gpio-pul.ko рдореЙрдбреНрдпреВрд▓ рдПрдХ рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдЗрдХрдЯреНрдареЗ рд╣реБрдП рд╣реИрдВред рдореИрдВ рдХреЗрд▓реЗ рдкреАрдЖрдИ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдиреЗрдХреНрдЯрд░ рд╡рд┐рд╡рд░рдг рдкреНрд▓реЗрдЯрдЦреЛрд▓реЗрдВрдкрд░ рд╕рд╡рд╛рд░ред рд╣рдо CON3 рдХрдиреЗрдХреНрдЯрд░ (GPIO рд╣реЗрдбрд░реНрд╕) рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рд╣рдо рдХрд┐рд╕реА рднреА рд╕рдВрдкрд░реНрдХ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ CON3 рдХрдиреЗрдХреНрдЯрд░ рдкрд░ рдкрд┐рди 12 рдкрд╕рдВрдж рдЖрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рд╕реЙрдХреЗрдЯ рдкреЛрд░реНрдЯ PH2 рдЖрдЙрдЯрдкреБрдЯ рд╣реИ)ред рд╣рдо рдСрд▓рд╡рд┐рдирд░ рдП 20 рдбреЗрдЯрд╢реАрдЯ (рдЬреАрдкреАрдЖрдИрдУ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдлрдВрдХреНрд╢рди рдЯреЗрдмрд▓) рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ - рдЪрдпрдирд┐рдд рдкреЛрд░реНрдЯ рдХреЛ рдЗрдВрдЯрд░рдкреНрдЯ рдХреА рдкреАрдврд╝реА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдорд▓реНрдЯреА 6 рдХреЙрд▓рдо рдореЗрдВ рдИрдИрдПрдирдЯреА 2 рд╣реИ)ред рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ GPIO рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд┐рди рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЪрдпрдирд┐рдд рдкреЛрд░реНрдЯ (PH2) рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИред рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реА рдкрд░ рд╕реАрдзреЗ рдЗрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдерд╛:# grep '(PH2)' /sys/kernel/debug/pinctrl/1c20800.pinctrl/pinmux-pinspin 226 (PH2): (MUX UNCLAIMED) (GPIO UNCLAIMED)рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕ рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (MUX рдФрд░ GPIO UNCLAIMED)редрдЕрдм рдЖрдк рдбрд┐рд╡рд╛рдЗрд╕ рдЯреНрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдЖрд░реНрдХ / рдЖрд░реНрдо / рдмреВрдЯ / рдбреАрдПрд╕рдЯреА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рд╣реИрдВ, рдХреЗрд▓реЗ рдХреЗ рд▓рд┐рдП рдкреАрдЖрдИ рдлрд╝рд╛рдЗрд▓ рдХреЛ sun7i-a20-bananapi.dts рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрджрд▓рд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ:/ {
model = "Banana Pi BPI-M1";
compatible = "sinovoip,bpi-m1", "allwinner,sun7i-a20";
...
counters {
compatible = "gpio-pulse-counter";
gas-meter@0 {
label = "Gas meter";
pinctrl-names = "default";
pinctrl-0 = <&ext_counter_bananapi>;
gpios = <&pio 7 2 GPIO_ACTIVE_LOW>;
interrupt-parent = <&pio>;
interrupt-names = "counter-edge-falling";
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
};
};
&pio {
...
ext_counter_bananapi: counter_pins@0 {
allwinner,pins = "PH2";
allwinner,function = "gpio_in";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
};
};
рдиреЛрдб рдореЗрдВ gpios рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ:- рдкрд╣рд▓реЗ pio рд▓реЗрдмрд▓ рдХрд╛ рд▓рд┐рдВрдХ рдЖрддрд╛ рд╣реИ;
- рдЕрдЧрд▓рд╛ рдмреИрдВрдХ рдирдВрдмрд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд GPIO рдкреЛрд░реНрдЯ рд╣реИред рдСрд▓рд╡рд┐рдирд░ A20 рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдмреИрдВрдХ рдореЗрдВ 32 рдкреЛрд░реНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмреИрдВрдХ рдирдВрдмрд░ рдХреЛ GPIO рдкрд┐рди рдХреЛ 32 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- рдЗрд╕рдХреЗ рдмрд╛рдж рдмреИрдВрдХ рдХреЗ рдЕрдВрджрд░ рдкрд┐рди рдирдВрдмрд░ рд╣реИред рдЪреВрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмреИрдВрдХ рдореЗрдВ 32 рдкрд┐рди рд╣реИрдВ, рдлрд┐рд░ рдЗрд╕ рдорд╛рди рдХреА рдЧрдгрдирд╛ GPIO рдкрд┐рди рдХреЛ 32 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╢реЗрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ;
- рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐ рд╕рд┐рдЧреНрдирд▓ рд╕реНрддрд░ рд╕рдХреНрд░рд┐рдп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ
рдиреЛрдб рдореЗрдВ рдЗрдВрдЯрд░рдкреНрдЯрд░реНрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдЧрдгрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИ:- рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ GPIO рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдмрд╛рдзрд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ (EINT2 рдХреЗ рд▓рд┐рдП рдпрд╣ 2 рд╣реЛрдЧрд╛)
- рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ IRQ_TYPE_EDGE_FALLING рд╣реИ, рдЬреЛ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЙрдЪреНрдЪ рд╕реЗ рдХрдо рд╣реЛрдиреЗ рдкрд░ рдПрдХ рдмрд╛рдзрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЦреБрд▓рд╛ рдХрд▓реЗрдХреНрдЯрд░ рд╕реЗрдВрд╕рд░ рд╣реИ рдФрд░ + VCC рдкрд░ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рд╣реИ)
рд╣рдо рд╕рдВрд╢реЛрдзрд┐рдд рдбрд┐рд╡рд╛рдЗрд╕ рдЯреНрд░реА рдлрд╝рд╛рдЗрд▓ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:dtc -I dts -O dtb sun7i-a20-bananapi.dts > sun7i-a20-bananapi.dtb
рдкрд░рд┐рдгрд╛рдореА sun7i-a20-bananapi.dtb рдХреЗ рд╕рд╛рде, рд╣рдо /boot/dtb/sun7i-a20-bananapi.dtb рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣рдордХрд░реНрдиреЗрд▓ рдореЙрдбреНрдпреВрд▓ рдХрд╛рдЙрдВрдЯрд░реНрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдХрд░реНрдиреЗрд▓ / рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рд▓реЛрдб рдХрд░реЗрдВред рднрд░реА рд╣реБрдИ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдкрд░, рд╣рдо рдХрдорд╛рдВрдб рджреЗрддреЗ рд╣реИрдВdepmod -a
рдФрд░ рдлрд┐рд░ рд╕реЗ рд░рд┐рдмреВрдЯ рдХрд░реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо dmesg рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:
...
[ 4.745570] counters: Class driver loaded.
[ 4.749235] gpio_pulse: Device
...
рдорд╣рд╛рди, рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИрдВред рд╣рдо рдкрд╣рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:
0
1
3
(рд╣рдордиреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕рдВрдХреЗрдд рдХреА рдирдХрд▓ рдХреА)редрдЕрдм рд╣рдо рд╣реЙрд▓ рд╕реЗрдВрд╕рд░ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдЪреБрдВрдмрдХ рд▓рд╛рдХрд░ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реЗрдлреНрд░рд┐рдЬрд░реЗрдЯрд░ рдкрд░ рдПрдХ рдЪреБрдВрдмрдХреАрдп рд╕реНрдЯрд┐рдХрд░ рд╕реЗ) рдЗрд╕рдХреА рд╕рдВрдЪрд╛рд▓рди рдХреНрд╖рдорддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВредрдЕрдВрддрднрд╛рд╖рдг
рдЕрдВрдд рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рддрд╕реНрд╡реАрд░реЗрдВ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдерд╛ред рддреЛ:рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реЗрдВрд╕рд░ред рдЗрд╕рдХрд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣рд┐рд╕реНрд╕рд╛ рдмреЗрд╡реЗрд▓реНрд╕ рдХреЗ рдмрд┐рдирд╛ рд╕рд╛рдЗрдб рд╣реИ (рдпрд╛рдиреА, рд╣рдо рдЗрд╕реЗ рдХрдо рд╕реЗ рдХрдо рдбрд┐рд╕реНрдЪрд╛рд░реНрдЬ рдХреЗ рддрд╣рдд рдореАрдЯрд░ рддрдХ рджрдмрд╛рддреЗ рд╣реИрдВ)
рдлрд┐рд░ рд╣рдо рд╕реЗрдВрд╕рд░ рдХреЛ рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХрд▓ рдЯреЗрдк рд╕реЗ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВред
рд╢рдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдЧреИрд╕ рдХреЗ рдореАрдЯрд░ рдореЗрдВ рдлреЛрдо рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЛ рд░рд┐рд╕реЗрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдЯрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗрдВрд╕рд░ рдХреЛ рдареАрдХ рдХрд░рддреЗ рд╣реИрдВред
рдлрд┐рд░ рд╣рдо рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдФрд░ рдмрд┐рдЬрд▓реА рдХреЗ рдЯреЗрдк рдХреЗ рд╕рд╛рде рддрд╛рд░ рдХреЛ
рдареАрдХ рдХрд░рддреЗ рд╣реИрдВ ред рдФрд░ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╣реБрдЖ рд╣реИред
рдлрд╛рд╕реНрдЯрдирд░реЛрдВ рдкрд░ рдирд┐рд░реНрдгрдп рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдкреИрд░реЛрдВ рдХреЛ рдХрд┐рдХ рди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдШрд░ рдЕрднреА рднреА рдорд░рдореНрдордд рдФрд░ рдЬреБрдбрд╝рдирд╛рд░ рдХреЗ рджреМрд░ рд╕реЗ рдЧреБрдЬрд░ рд░рд╣рд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИред