GPIO 맡ννκΈ° π
μ€λμ gpio 맡νμ μν΄ λλ°μ΄μ€ νΈλ¦¬λ₯Ό μ΄μ©νμμ§λ§ μ μμ μΌλ‘ μ€μ λμ§ μλ λ¬Έμ κ° μμλ€. SoCμμ GPIO Enable μ λν κ²μ΄ λ¬Έμ μΌ κ²μ΄λΌ μμλμ§λ§, GPIO 맡ννλ λ°©λ²μΌλ‘ λλ°μ΄μ€ νΈλ¦¬λ₯Ό μ΄μ©νλ κ² μΈμ μ΄λ€ λμμ΄ μλμ§ μμλ³΄κ³ μ μ 리νκ³ μ νλ€.
GPIO λ°μ΄ν°λ₯Ό 맡ννμ¬ μ¬μ©ν μ μλ λ°©λ²μ μλμ κ°μ΄ μΈ κ°μ§ λ°©λ²μ΄ μλ€.
- λλ°μ΄μ€ νΈλ¦¬ μ΄μ© (μ΅κ·Ό νΈλ λ)
- Legacy Board & Machine Specific Codeμμ νλ«νΌ λ°μ΄ν°λ‘ μ μ
- (μΆμ²μ λ°λ₯΄λ©΄) GPIO 맡νμ νλ«νΌ λ°μ΄ν°μ λ±λ‘νμ¬ μ¬μ©νλ κ²½μ°λ λ§μ§ μκ³ λ¨μνκ² ν λ²νΈλ‘ μ¬μ©νλ κ²½μ°κ° λλΆλΆμ΄μλ€κ³ νλ€.
- ACPI νμ¨μ΄ ν μ΄λΈμ μ μ
λλ°μ΄μ€ νΈλ¦¬λ₯Ό μ¬μ©νλ GPIO 맀ν π
λλ°μ΄μ€ λ Έλ λ΄λΆμ “gpio-controller” μμ±μ΄ μμΌλ©΄ GPIO Controller λ Έλλ₯Ό μλ―Ένλ€.
cell κ°μ π
#gpio-cells = <2>
μμ±μ μ
λ°μ΄ν° 2κ°λ₯Ό μ¬μ©νλ€λ κ²μ μλ―Ένλ€. μλ μμμμλ gpio1, gpio2μ λν΄ κ°κ° λ€μκ³Ό κ°μ΄ ν΄μ κ°λ₯νλ€.
- gpio1 controllerλ cell 2κ°λ₯Ό μ¬μ©νμ¬ λλ°μ΄μ€ λλΌμ΄λ²κ° μΈμ 2κ°λ₯Ό λ°μ μ²λ¦¬νλ€.
- gpio2 controllerλ cell 1κ°λ₯Ό μ¬μ©νμ¬ λλ°μ΄μ€ λλΌμ΄λ²κ° μΈμ 1κ°λ₯Ό λ°μ μ²λ¦¬νλ€.
- μ§μ λμ§ μλ κ²½μ° 2 cell λ°©μμ μ¬μ©νλ€.
Pin control subsystemκ³Όμ μ°λ π
pin control subsystem
κ³Όμ μ°λμ gpio controller λ
Έλμμ “gpio-ranges” μμ±μ μ¬μ©νλ€.
“gpio-ranges” μμ±μ΄ κ°λ¦¬ν€λ phandleμ μ°κ³λ pin controller λ
Έλλ₯Ό κ°λ¦¬μΌμΌ νλ€. κ·Έλ¦¬κ³ 1~3κ°μ μΈμλ₯Ό μ¬μ©ν μ μμΌλ©°, λ°°μ΄ μ¬μ©μ μ§μνλ€.
|
|
ACPI νμ¨μ΄λ₯Ό μ¬μ©νλ GPIO 맀ν π
λλ°μ΄μ€ νΈλ¦¬λ₯Ό μ¬μ©νλ λ°©λ²κ³Ό μ μ¬νκ² ACPI λμ€ν¬λ¦½μ μ μ¬μ©νλ λ°©λ²μ΄ μλ€. ACPI 5.1μμ μκ°λ [[[_DSD (Device Specific Data)|https://www.kernel.org/doc/Documentation/acpi/gpio-properties.txt]]λ₯Ό μ°Έκ³ νλ€.
|
|
Platform λ°μ΄ν°μ GPIO 맡ν (deprecated) π
μΌλΆ μμ€ν μμ μλμ 맀ν¬λ‘ ν¨μ, APIλ₯Ό μ¬μ©νμ¬ νλ«νΌ λ°μ΄ν°μ μ μ₯ν ν, μ΄λ₯Ό lookup νμ¬ μ¬μ©νλλ° μ§κΈμ μ¬μ©νμ§ μλ λ°©λ²μ΄λ€.
μλμ κ°μ΄ GPIO Lookup Tableμ μ μν νμ μλμ κ°μ΄ μ¬μ©ν μ μλ€.
|
|