]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/adafruit_blinka/microcontroller/rockchip/rk3568/pin.py
77ec09a85bc4fd07d25f452e0cd28d37c70cab7e
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / rockchip / rk3568 / pin.py
1 # SPDX-FileCopyrightText: 2023 mmontol
2 #
3 # SPDX-License-Identifier: MIT
4
5 """A Pin class for use with Rockchip RK3568."""
6
7 from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
8
9 # GPIO0
10 GPIO0_B0 = Pin((0, 8))
11 GPIO0_C2 = Pin((0, 18))
12
13 # GPIO1
14 GPIO1_A0 = Pin((1, 0))
15 GPIO1_A1 = Pin((1, 1))
16 GPIO1_B0 = Pin((1, 8))
17 GPIO1_B1 = Pin((1, 9))
18 GPIO1_B2 = Pin((1, 10))
19
20 # GPIO2
21 GPIO2_D7 = Pin((2, 31))
22
23 # GPIO3
24 GPIO3_A0 = Pin((3, 0))
25 GPIO3_A5 = Pin((3, 5))
26 GPIO3_A6 = Pin((3, 6))
27 GPIO3_A7 = Pin((3, 7))
28 GPIO3_B1 = Pin((3, 9))
29 GPIO3_B2 = Pin((3, 10))
30 GPIO3_B3 = Pin((3, 11))
31 GPIO3_B4 = Pin((3, 12))
32 GPIO3_B5 = Pin((3, 13))
33 GPIO3_B6 = Pin((3, 14))
34 GPIO3_B7 = Pin((3, 15))
35 GPIO3_C0 = Pin((3, 16))
36 GPIO3_C4 = Pin((3, 20))
37 GPIO3_C5 = Pin((3, 21))
38
39 # GPIO4
40 GPIO4_C2 = Pin((4, 18))
41 GPIO4_C3 = Pin((4, 19))
42 GPIO4_C4 = Pin((4, 20))
43 GPIO4_C5 = Pin((4, 21))
44 GPIO4_C6 = Pin((4, 22))
45 GPIO4_D2 = Pin((4, 26))
46
47 # I2C
48 I2C3_SCL_M0 = GPIO1_A1
49 I2C3_SDA_M0 = GPIO1_A0
50 I2C5_SCL_M0 = GPIO3_B3
51 I2C5_SDA_M0 = GPIO3_B4
52
53 # SPI
54 SPI3_CS0_M1 = GPIO4_C6
55 SPI3_CLK_M1 = GPIO4_C2
56 SPI3_MISO_M1 = GPIO4_C5
57 SPI3_MOSI_M1 = GPIO4_C3
58
59 # UART
60 UART3_TX_M1 = GPIO3_B7
61 UART3_RX_M1 = GPIO3_C0
62
63 # PWM
64 PWM8_M0 = GPIO3_B1
65 PWM9_M0 = GPIO3_B2
66 PWM10_M0 = GPIO3_B5
67 PWM14_M0 = GPIO3_C4
68
69 # ordered as i2cId, SCL, SDA
70 i2cPorts = (
71     (3, I2C3_SCL_M0, I2C3_SDA_M0),
72     (5, I2C5_SCL_M0, I2C5_SDA_M0),
73 )
74
75 # ordered as spiId, sckId, mosiId, misoId
76 spiPorts = (
77     (3, SPI3_CLK_M1, SPI3_MOSI_M1, SPI3_MISO_M1),
78 )
79
80 # SysFS pwm outputs, pwm channel and pin in first tuple
81 pwmOuts = (
82     ((1, 0), PWM8_M0),
83     ((1, 0), PWM9_M0),
84     ((1, 0), PWM10_M0),
85     ((1, 0), PWM14_M0),
86 )
87
88 # SysFS analog inputs, Ordered as analog analogInId, device, and channel
89