Difference between revisions of "CHIP"

From The iPhone Wiki
Jump to: navigation, search
m
(Comment out BCD part; the values in this page are just the hex model numbers, not the BCD encoded CPID)
 
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
The '''CHIP''' tag is a 16-bit unsigned integer (<code>uint16_t</code>) that denotes the type of chip the firmware is to be installed to. It is used to prevent [supposedly] incompatible firmwares from being installed. A firmware is truly incompatible if it uses instructions only available on newer processors.
+
The '''CHIP''' tag is a 16-bit unsigned integer that denotes the type of chip the firmware is to be installed to. It is one of the few tags that is not read from the fuses, but is instead hardcoded in the bootchain. It is used to prevent incompatible firmwares from being installed; different processors may have their [[wikipedia:Memory-mapped I/O|MMIO]] registers in different locations.
   
 
== [[Application Processor|Processors]] ==
 
== [[Application Processor|Processors]] ==
  +
<!--The values are created by taking the four digits from the processor's model number, and encoding them in [[wikipedia:Binary-coded decimal|BCD]].-->
  +
  +
=== "Legacy" Processors ===
 
* [[S5L8900]]: 0x8900
 
* [[S5L8900]]: 0x8900
  +
* [[S5L8720]]: 0x8720
 
* [[S5L8920]]: 0x8920
 
* [[S5L8920]]: 0x8920
 
* [[S5L8922]]: 0x8922
 
* [[S5L8922]]: 0x8922
  +
* [[S5L8930]]: 0x8930
 
  +
=== Apple "A" Series ===
* [[S5L8940]]: 0x8940
 
* [[S5L8942]]: 0x8942
+
* [[S5L8930]] (A4): 0x8930
* [[S5L8945]]: 0x8945
+
* [[S5L8940]] (A5): 0x8940
* [[S5L8947]]: 0x8947
+
* [[S5L8942]] (A5 Rev A): 0x8942
* [[S5L8950]]: 0x8950
+
* [[S5L8945]] (A5X): 0x8945
* [[S5L8955]]: 0x8955
+
* [[S5L8947]] (A5 Rev B): 0x8947
* [[S5L8960]]/[[S5L8965]]: 0x8960
+
* [[S5L8950]] (A6): 0x8950
* [[T7000]]: 0x7000
+
* [[S5L8955]] (A6X): 0x8955
* [[T7001]]: 0x7001
+
* [[S5L8960]] (A7): 0x8960
  +
* [[S5L8965]] (A7): 0x8960 (the exception to the encoding rule above)
* [[S7002]]: 0x7002
 
  +
* [[S8000]] (A9 [[wikipedia:Samsung Electronics|Samsung]]): 0x8000
* [[S8003]]: 0x8003
 
* [[S8000]]: 0x8000
+
* [[T7000]] (A8): 0x7000
* [[S8001]]: 0x8001
+
* [[T7001]] (A8X): 0x7001
* [[T8010]]: 0x8010
+
* [[S8001]] (A9X): 0x8001
  +
* [[S8003]] (A9 [[wikipedia:TSMC|TSMC]]): 0x8003
  +
* [[T8010]] (A10 Fusion): 0x8010
  +
* [[T8011]] (A10X Fusion): 0x8011
  +
* [[T8015]] (A11 Bionic): 0x8015
  +
* [[T8020]] (A12 Bionic): 0x8020
  +
* [[T8027]] (A12X and A12Z Bionic): 0x8027
  +
* [[T8030]] (A13 Bionic): 0x8030
  +
* [[T8101]] (A14 Bionic): 0x8101
  +
* [[T8110]] (A15 Bionic): 0x8110
  +
* [[T8120]] (A16 Bionic): 0x8120
  +
  +
=== "S" and "T" Series ===
  +
* [[S7002]] (S1): 0x7002
  +
* [[T8002]] (S1P, S2, and T1): 0x8002
  +
* [[T8004]] (S3): 0x8004
  +
* [[T8006]] (S4 and S5): 0x8006
  +
* [[T8012]] (T2): 0x8012
  +
* [[T8301]] (S6): 0x8301
  +
  +
=== "H" Series ===
  +
* [[T2002]] (H1): 0x2002
  +
* [[T2016]] (H2): 0x2016
  +
  +
== [[Recovery Mode]] string ==
  +
If you connect a [[iDevice|device]] in [[Recovery Mode]] to your computer, there is a small section in the device's USB "serial number" that contains the CPID, among other information.
   
 
[[Category:Firmware Tags]]
 
[[Category:Firmware Tags]]

Latest revision as of 14:22, 23 September 2022

The CHIP tag is a 16-bit unsigned integer that denotes the type of chip the firmware is to be installed to. It is one of the few tags that is not read from the fuses, but is instead hardcoded in the bootchain. It is used to prevent incompatible firmwares from being installed; different processors may have their MMIO registers in different locations.

Processors

"Legacy" Processors

Apple "A" Series

"S" and "T" Series

"H" Series

Recovery Mode string

If you connect a device in Recovery Mode to your computer, there is a small section in the device's USB "serial number" that contains the CPID, among other information.