@@ -839,7 +839,7 @@ def from_revision(cls, revision):
839839 # uuuuuuuu - Unused
840840 # F - New flag (1=valid new-style revision, 0=old-style)
841841 # MMM - Memory size (0=256, 1=512, 2=1024)
842- # CCCC - Manufacturer (0=Sony, 1=Egoman, 2=Embest)
842+ # CCCC - Manufacturer (0=Sony, 1=Egoman, 2=Embest, 3=Sony Japan )
843843 # PPPP - Processor (0=2835, 1=2836, 2=2837)
844844 # TTTTTTTT - Type (0=A, 1=B, 2=A+, 3=B+, 4=2B, 5=Alpha (??), 6=CM, 8=3B, 9=Zero, 10=CM3)
845845 # RRRR - Revision (0, 1, 2, etc.)
@@ -863,17 +863,6 @@ def from_revision(cls, revision):
863863 }[revision & 0x0f ]
864864 else :
865865 pcb_revision = '1.%d' % (revision & 0x0f )
866- released = {
867- 'A' : '2013Q1' ,
868- 'B' : '2012Q1' if pcb_revision == '1.0' else '2012Q4' ,
869- 'A+' : '2014Q4' ,
870- 'B+' : '2014Q3' ,
871- '2B' : '2015Q1' if pcb_revision == '1.0' or pcb_revision == '1.1' else '2016Q3' ,
872- 'CM' : '2014Q2' ,
873- '3B' : '2016Q1' ,
874- 'Zero' : '2015Q4' if pcb_revision == '1.2' else '2016Q2' ,
875- 'CM3' : '2017Q1' ,
876- }[model ]
877866 soc = {
878867 0 : 'BCM2835' ,
879868 1 : 'BCM2836' ,
@@ -883,12 +872,24 @@ def from_revision(cls, revision):
883872 0 : 'Sony' ,
884873 1 : 'Egoman' ,
885874 2 : 'Embest' ,
875+ 3 : 'Sony Japan' ,
886876 }[(revision & 0xf0000 ) >> 16 ]
887877 memory = {
888878 0 : 256 ,
889879 1 : 512 ,
890880 2 : 1024 ,
891881 }[(revision & 0x700000 ) >> 20 ]
882+ released = {
883+ 'A' : '2013Q1' ,
884+ 'B' : '2012Q1' if pcb_revision == '1.0' else '2012Q4' ,
885+ 'A+' : '2014Q4' ,
886+ 'B+' : '2014Q3' ,
887+ '2B' : '2015Q1' if pcb_revision == '1.0' or pcb_revision == '1.1' else '2016Q3' ,
888+ 'CM' : '2014Q2' ,
889+ '3B' : '2016Q1' if manufacturer == 'Sony' or manufacturer == 'Embest' else '2017Q4' ,
890+ 'Zero' : '2015Q4' if pcb_revision == '1.2' else '2016Q2' ,
891+ 'CM3' : '2017Q1' ,
892+ }[model ]
892893 storage = {
893894 'A' : 'SD' ,
894895 'B' : 'SD' ,
0 commit comments