Add Pi Zero W details (on top of v1.3.1.post1)

This commit is contained in:
Andrew Scheller
2017-03-03 12:19:33 +00:00
parent dc0c119cbb
commit 8c7bd5f51f

View File

@@ -285,6 +285,7 @@ PI_REVISIONS = {
0x900093: ('Zero', '1.3', '2016Q2', 'BCM2835', 'Sony', 512, 'MicroSD', 1, 0, False, False, 1, 0, {'P1': PLUS_P1}, ), 0x900093: ('Zero', '1.3', '2016Q2', 'BCM2835', 'Sony', 512, 'MicroSD', 1, 0, False, False, 1, 0, {'P1': PLUS_P1}, ),
0xa020a0: ('CM3', '1.0', '2017Q1', 'BCM2837', 'Sony', 1024, 'eMMC / off-board', 1, 0, False, False, 2, 2, {'SODIMM': CM3_SODIMM},), 0xa020a0: ('CM3', '1.0', '2017Q1', 'BCM2837', 'Sony', 1024, 'eMMC / off-board', 1, 0, False, False, 2, 2, {'SODIMM': CM3_SODIMM},),
0xa32082: ('3B', '1.2', '2016Q4', 'BCM2837', 'Sony Japan', 1024, 'MicroSD', 4, 1, True, True, 1, 1, {'P1': PLUS_P1}, ), 0xa32082: ('3B', '1.2', '2016Q4', 'BCM2837', 'Sony Japan', 1024, 'MicroSD', 4, 1, True, True, 1, 1, {'P1': PLUS_P1}, ),
0x9000c1: ('Zero W', '1.1', '2017Q1', 'BCM2835', 'Sony', 512, 'MicroSD', 1, 0, True, True, 1, 0, {'P1': PLUS_P1}, ),
} }
@@ -519,7 +520,7 @@ def _parse_pi_revision(revision):
# MMM - Memory size (0=256, 1=512, 2=1024) # MMM - Memory size (0=256, 1=512, 2=1024)
# CCCC - Manufacturer (0=Sony, 1=Egoman, 2=Embest, 3=Sony Japan) # CCCC - Manufacturer (0=Sony, 1=Egoman, 2=Embest, 3=Sony Japan)
# PPPP - Processor (0=2835, 1=2836, 2=2837) # PPPP - Processor (0=2835, 1=2836, 2=2837)
# TTTTTTTT - Type (0=A, 1=B, 2=A+, 3=B+, 4=2B, 5=Alpha (??), 6=CM, 8=3B, 9=Zero, 10=CM3) # TTTTTTTT - Type (0=A, 1=B, 2=A+, 3=B+, 4=2B, 5=Alpha (??), 6=CM, 8=3B, 9=Zero, 10=CM3, 12=Zero W)
# RRRR - Revision (0, 1, or 2) # RRRR - Revision (0, 1, or 2)
if not (revision & 0x800000): if not (revision & 0x800000):
raise PinUnknownPi('cannot parse "%x"; this is not a new-style revision' % revision) raise PinUnknownPi('cannot parse "%x"; this is not a new-style revision' % revision)
@@ -534,6 +535,7 @@ def _parse_pi_revision(revision):
8: '3B', 8: '3B',
9: 'Zero', 9: 'Zero',
10: 'CM3', 10: 'CM3',
12: 'Zero W,
}[(revision & 0xff0) >> 4] }[(revision & 0xff0) >> 4]
if model in ('A', 'B'): if model in ('A', 'B'):
pcb_revision = { pcb_revision = {
@@ -569,6 +571,7 @@ def _parse_pi_revision(revision):
'3B': '2016Q1' if manufacturer == 'Sony' or manufacturer == 'Embest' else '2016Q4', '3B': '2016Q1' if manufacturer == 'Sony' or manufacturer == 'Embest' else '2016Q4',
'Zero': '2015Q4' if pcb_revision == '1.0' else '2016Q2', 'Zero': '2015Q4' if pcb_revision == '1.0' else '2016Q2',
'CM3': '2017Q1', 'CM3': '2017Q1',
'Zero W': '2017Q1',
}[model] }[model]
storage = { storage = {
'A': 'SD', 'A': 'SD',
@@ -580,6 +583,7 @@ def _parse_pi_revision(revision):
'A': 1, 'A': 1,
'A+': 1, 'A+': 1,
'Zero': 1, 'Zero': 1,
'Zero W': 1,
'B': 2, 'B': 2,
'CM': 0, 'CM': 0,
'CM3': 1, 'CM3': 1,
@@ -588,22 +592,27 @@ def _parse_pi_revision(revision):
'A': 0, 'A': 0,
'A+': 0, 'A+': 0,
'Zero': 0, 'Zero': 0,
'Zero W': 0,
'CM': 0, 'CM': 0,
'CM3': 0, 'CM3': 0,
}.get(model, 1) }.get(model, 1)
wifi = { wifi = {
'3B': True, '3B': True,
'Zero W': True,
}.get(model, False) }.get(model, False)
bluetooth = { bluetooth = {
'3B': True, '3B': True,
'Zero W': True,
}.get(model, False) }.get(model, False)
csi = { csi = {
'Zero': 0 if pcb_revision == '1.0' else 1, 'Zero': 0 if pcb_revision == '1.0' else 1,
'Zero W': 1,
'CM': 2, 'CM': 2,
'CM3': 2, 'CM3': 2,
}.get(model, 1) }.get(model, 1)
dsi = { dsi = {
'Zero': 0, 'Zero': 0,
'Zero W': 0,
}.get(model, csi) }.get(model, csi)
headers = { headers = {
'A': {'P1': REV2_P1, 'P5': REV2_P5}, 'A': {'P1': REV2_P1, 'P5': REV2_P5},