diff --git a/gpiozero/pins/data.py b/gpiozero/pins/data.py index 2eaa85c..8310d42 100644 --- a/gpiozero/pins/data.py +++ b/gpiozero/pins/data.py @@ -284,6 +284,7 @@ PI_REVISIONS = { 0xa22082: ('3B', '1.2', '2016Q1', 'BCM2837', 'Embest', 1024, 'MicroSD', 4, 1, True, True, 1, 1, {'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},), + 0xa32082: ('3B', '1.2', '2016Q4', 'BCM2837', 'Sony Japan', 1024, 'MicroSD', 4, 1, True, True, 1, 1, {'P1': PLUS_P1}, ), } @@ -516,7 +517,7 @@ def _parse_pi_revision(revision): # uuuuuuuu - Unused # F - New flag (1=valid new-style revision, 0=old-style) # MMM - Memory size (0=256, 1=512, 2=1024) - # CCCC - Manufacturer (0=Sony, 1=Egoman, 2=Embest) + # CCCC - Manufacturer (0=Sony, 1=Egoman, 2=Embest, 3=Sony Japan) # 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) # RRRR - Revision (0, 1, or 2) @@ -542,17 +543,6 @@ def _parse_pi_revision(revision): }[revision & 0x0f] else: pcb_revision = '1.%d' % (revision & 0x0f) - released = { - 'A': '2013Q1', - 'B': '2012Q1' if pcb_revision == '1.0' else '2012Q4', - 'A+': '2014Q4', - 'B+': '2014Q3', - '2B': '2015Q1', - 'CM': '2014Q2', - '3B': '2016Q1', - 'Zero': '2015Q4' if pcb_revision == '1.0' else '2016Q2', - 'CM3': '2017Q1', - }[model] soc = { 0: 'BCM2835', 1: 'BCM2836', @@ -562,12 +552,24 @@ def _parse_pi_revision(revision): 0: 'Sony', 1: 'Egoman', 2: 'Embest', + 3: 'Sony Japan', }[(revision & 0xf0000) >> 16] memory = { 0: 256, 1: 512, 2: 1024, }[(revision & 0x700000) >> 20] + released = { + 'A': '2013Q1', + 'B': '2012Q1' if pcb_revision == '1.0' else '2012Q4', + 'A+': '2014Q4', + 'B+': '2014Q3', + '2B': '2015Q1', + 'CM': '2014Q2', + '3B': '2016Q1' if manufacturer == 'Sony' or manufacturer == 'Embest' else '2016Q4', + 'Zero': '2015Q4' if pcb_revision == '1.0' else '2016Q2', + 'CM3': '2017Q1', + }[model] storage = { 'A': 'SD', 'B': 'SD',