Skip to content

Commit 4e66cb7

Browse files
authored
Merge pull request #830 from sc-bin/main
add support for walnutpi-1b board
2 parents a21448d + 578fb1f commit 4e66cb7

File tree

4 files changed

+137
-71
lines changed

4 files changed

+137
-71
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
2+
#
3+
# SPDX-License-Identifier: MIT
4+
"""Board definitions from WalnutPi"""
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
2+
#
3+
# SPDX-License-Identifier: MIT
4+
"""Pin definitions for the Walnut Pi 1b ."""
5+
6+
from adafruit_blinka.microcontroller.allwinner.h616 import pin
7+
8+
PI8 = pin.PI8
9+
SDA1 = pin.PI8
10+
PI7 = pin.PI7
11+
SCL1 = pin.PI7
12+
PC8 = pin.PC8
13+
PC9 = pin.PC9
14+
PC11 = pin.PC11
15+
PI11 = pin.PI11
16+
PH6 = pin.PH6
17+
SCLK = pin.PH6
18+
PH7 = pin.PH7
19+
MOSI = pin.PH7
20+
PH8 = pin.PH8
21+
MISO = pin.PH8
22+
PI10 = pin.PI10
23+
SDA2 = pin.PI10
24+
PI0 = pin.PI0
25+
PI1 = pin.PI1
26+
PI2 = pin.PI2
27+
PI3 = pin.PI3
28+
PI4 = pin.PI4
29+
30+
PI5 = pin.PI5
31+
TX2 = pin.PI5
32+
PI6 = pin.PI6
33+
RX2 = pin.PI6
34+
PC10 = pin.PC10
35+
PI12 = pin.PI12
36+
PC14 = pin.PC14
37+
PC15 = pin.PC15
38+
PH5 = pin.PH5
39+
CS0 = pin.PH5
40+
PH9 = pin.PH9
41+
CS1 = pin.PH9
42+
PI9 = pin.PI9
43+
SCL2 = pin.PI9
44+
PI16 = pin.PI16
45+
PI15 = pin.PI15
46+
PI13 = pin.PI13
47+
TX4 = pin.PI13
48+
PI14 = pin.PI14
49+
RX4 = pin.PI14
50+
51+
KEY = pin.PC12
52+
LED = pin.PC13

src/adafruit_blinka/microcontroller/allwinner/h616/pin.py

Lines changed: 78 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -4,96 +4,103 @@
44
"""Allwinner H616 Pin Names"""
55
from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
66

7-
PC0 = Pin((1, 64))
7+
__chip_num = 1
8+
with open("/sys/class/gpio/gpiochip0/label", "r") as f:
9+
label = f.read().strip()
10+
if label == "300b000.pinctrl":
11+
__chip_num = 0
12+
13+
14+
PC0 = Pin((__chip_num, 64))
815
SPI0_SCLK = PC0
9-
PC1 = Pin((1, 65))
10-
PC2 = Pin((1, 66))
16+
PC1 = Pin((__chip_num, 65))
17+
PC2 = Pin((__chip_num, 66))
1118
SPI0_MOSI = PC2
12-
PC3 = Pin((1, 67))
19+
PC3 = Pin((__chip_num, 67))
1320
SPI0_CS0 = PC3
14-
PC4 = Pin((1, 68))
21+
PC4 = Pin((__chip_num, 68))
1522
SPI0_MISO = PC4
16-
PC5 = Pin((1, 69))
17-
PC6 = Pin((1, 70))
18-
PC7 = Pin((1, 71))
19-
PC8 = Pin((1, 72))
20-
PC9 = Pin((1, 73))
21-
PC10 = Pin((1, 74))
22-
PC11 = Pin((1, 75))
23-
PC12 = Pin((1, 76))
24-
PC13 = Pin((1, 77))
25-
PC14 = Pin((1, 78))
26-
PC15 = Pin((1, 79))
23+
PC5 = Pin((__chip_num, 69))
24+
PC6 = Pin((__chip_num, 70))
25+
PC7 = Pin((__chip_num, 71))
26+
PC8 = Pin((__chip_num, 72))
27+
PC9 = Pin((__chip_num, 73))
28+
PC10 = Pin((__chip_num, 74))
29+
PC11 = Pin((__chip_num, 75))
30+
PC12 = Pin((__chip_num, 76))
31+
PC13 = Pin((__chip_num, 77))
32+
PC14 = Pin((__chip_num, 78))
33+
PC15 = Pin((__chip_num, 79))
2734

28-
PF0 = Pin((1, 160))
29-
PF1 = Pin((1, 161))
30-
PF2 = Pin((1, 162))
31-
PF3 = Pin((1, 163))
32-
PF4 = Pin((1, 164))
33-
PF5 = Pin((1, 165))
34-
PF6 = Pin((1, 166))
35+
PF0 = Pin((__chip_num, 160))
36+
PF1 = Pin((__chip_num, 161))
37+
PF2 = Pin((__chip_num, 162))
38+
PF3 = Pin((__chip_num, 163))
39+
PF4 = Pin((__chip_num, 164))
40+
PF5 = Pin((__chip_num, 165))
41+
PF6 = Pin((__chip_num, 166))
3542

36-
PG0 = Pin((1, 192))
37-
PG1 = Pin((1, 193))
38-
PG2 = Pin((1, 194))
39-
PG3 = Pin((1, 195))
40-
PG4 = Pin((1, 196))
41-
PG5 = Pin((1, 197))
42-
PG6 = Pin((1, 198))
43-
PG7 = Pin((1, 199))
44-
PG8 = Pin((1, 200))
45-
PG9 = Pin((1, 201))
46-
PG10 = Pin((1, 202))
47-
PG11 = Pin((1, 203))
48-
PG12 = Pin((1, 204))
49-
PG13 = Pin((1, 205))
50-
PG14 = Pin((1, 206))
51-
PG15 = Pin((1, 207))
52-
PG16 = Pin((1, 208))
53-
PG17 = Pin((1, 209))
54-
PG18 = Pin((1, 210))
55-
PG19 = Pin((1, 211))
43+
PG0 = Pin((__chip_num, 192))
44+
PG1 = Pin((__chip_num, 193))
45+
PG2 = Pin((__chip_num, 194))
46+
PG3 = Pin((__chip_num, 195))
47+
PG4 = Pin((__chip_num, 196))
48+
PG5 = Pin((__chip_num, 197))
49+
PG6 = Pin((__chip_num, 198))
50+
PG7 = Pin((__chip_num, 199))
51+
PG8 = Pin((__chip_num, 200))
52+
PG9 = Pin((__chip_num, 201))
53+
PG10 = Pin((__chip_num, 202))
54+
PG11 = Pin((__chip_num, 203))
55+
PG12 = Pin((__chip_num, 204))
56+
PG13 = Pin((__chip_num, 205))
57+
PG14 = Pin((__chip_num, 206))
58+
PG15 = Pin((__chip_num, 207))
59+
PG16 = Pin((__chip_num, 208))
60+
PG17 = Pin((__chip_num, 209))
61+
PG18 = Pin((__chip_num, 210))
62+
PG19 = Pin((__chip_num, 211))
5663

57-
PH0 = Pin((1, 224))
58-
PH1 = Pin((1, 225))
59-
PH2 = Pin((1, 226))
64+
PH0 = Pin((__chip_num, 224))
65+
PH1 = Pin((__chip_num, 225))
66+
PH2 = Pin((__chip_num, 226))
6067
UART5_TX = PH2
61-
PH3 = Pin((1, 227))
68+
PH3 = Pin((__chip_num, 227))
6269
UART5_RX = PH3
63-
PH4 = Pin((1, 228))
70+
PH4 = Pin((__chip_num, 228))
6471
TWI3_SCL = PH4
65-
PH5 = Pin((1, 229))
72+
PH5 = Pin((__chip_num, 229))
6673
UART2_TX = PH5
6774
TWI3_SDA = PH5
6875
SPI1_CS0 = PH5
69-
PH6 = Pin((1, 230))
76+
PH6 = Pin((__chip_num, 230))
7077
UART2_RX = PH6
7178
SPI1_SCLK = PH6
72-
PH7 = Pin((1, 231))
79+
PH7 = Pin((__chip_num, 231))
7380
SPI1_MOSI = PH7
74-
PH8 = Pin((1, 232))
81+
PH8 = Pin((__chip_num, 232))
7582
SPI1_MISO = PH8
76-
PH9 = Pin((1, 233))
83+
PH9 = Pin((__chip_num, 233))
7784
SPI1_CS1 = PH9
78-
PH10 = Pin((1, 234))
85+
PH10 = Pin((__chip_num, 234))
7986

80-
PI0 = Pin((1, 256))
81-
PI1 = Pin((1, 257))
82-
PI2 = Pin((1, 258))
83-
PI3 = Pin((1, 259))
84-
PI4 = Pin((1, 260))
85-
PI5 = Pin((1, 261))
86-
PI6 = Pin((1, 262))
87-
PI7 = Pin((1, 263))
88-
PI8 = Pin((1, 264))
89-
PI9 = Pin((1, 265))
90-
PI10 = Pin((1, 266))
91-
PI11 = Pin((1, 267))
92-
PI12 = Pin((1, 268))
93-
PI13 = Pin((1, 269))
94-
PI14 = Pin((1, 270))
95-
PI15 = Pin((1, 271))
96-
PI16 = Pin((1, 272))
87+
PI0 = Pin((__chip_num, 256))
88+
PI1 = Pin((__chip_num, 257))
89+
PI2 = Pin((__chip_num, 258))
90+
PI3 = Pin((__chip_num, 259))
91+
PI4 = Pin((__chip_num, 260))
92+
PI5 = Pin((__chip_num, 261))
93+
PI6 = Pin((__chip_num, 262))
94+
PI7 = Pin((__chip_num, 263))
95+
PI8 = Pin((__chip_num, 264))
96+
PI9 = Pin((__chip_num, 265))
97+
PI10 = Pin((__chip_num, 266))
98+
PI11 = Pin((__chip_num, 267))
99+
PI12 = Pin((__chip_num, 268))
100+
PI13 = Pin((__chip_num, 269))
101+
PI14 = Pin((__chip_num, 270))
102+
PI15 = Pin((__chip_num, 271))
103+
PI16 = Pin((__chip_num, 272))
97104

98105
i2cPorts = ((3, TWI3_SCL, TWI3_SDA),)
99106
# ordered as spiId, sckId, mosiId, misoId

src/board.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,9 @@
390390
elif board_id == ap_board.MILKV_DUO:
391391
from adafruit_blinka.board.milkv_duo import *
392392

393+
elif board_id == ap_board.WALNUT_PI_1B:
394+
from adafruit_blinka.board.walnutpi.walnutpi1b import *
395+
393396
elif board_id == ap_board.OS_AGNOSTIC_BOARD:
394397
from adafruit_blinka.board.generic_agnostic_board import *
395398

0 commit comments

Comments
 (0)