10a4cad9cSEnric Balletbo i Serra.. SPDX-License-Identifier: GPL-2.0 20a4cad9cSEnric Balletbo i Serra 30a4cad9cSEnric Balletbo i Serra===================== 40a4cad9cSEnric Balletbo i SerraChrome OS ACPI Device 50a4cad9cSEnric Balletbo i Serra===================== 60a4cad9cSEnric Balletbo i Serra 70a4cad9cSEnric Balletbo i SerraHardware functionality specific to Chrome OS is exposed through a Chrome OS ACPI device. 8*703e7713STzung-Bi ShihThe plug and play ID of a Chrome OS ACPI device is GGL0001 and the hardware ID is 9*703e7713STzung-Bi ShihGOOG0016. The following ACPI objects are supported: 100a4cad9cSEnric Balletbo i Serra 110a4cad9cSEnric Balletbo i Serra.. flat-table:: Supported ACPI Objects 120a4cad9cSEnric Balletbo i Serra :widths: 1 2 130a4cad9cSEnric Balletbo i Serra :header-rows: 1 140a4cad9cSEnric Balletbo i Serra 150a4cad9cSEnric Balletbo i Serra * - Object 160a4cad9cSEnric Balletbo i Serra - Description 170a4cad9cSEnric Balletbo i Serra 180a4cad9cSEnric Balletbo i Serra * - CHSW 190a4cad9cSEnric Balletbo i Serra - Chrome OS switch positions 200a4cad9cSEnric Balletbo i Serra 210a4cad9cSEnric Balletbo i Serra * - HWID 220a4cad9cSEnric Balletbo i Serra - Chrome OS hardware ID 230a4cad9cSEnric Balletbo i Serra 240a4cad9cSEnric Balletbo i Serra * - FWID 250a4cad9cSEnric Balletbo i Serra - Chrome OS firmware version 260a4cad9cSEnric Balletbo i Serra 270a4cad9cSEnric Balletbo i Serra * - FRID 280a4cad9cSEnric Balletbo i Serra - Chrome OS read-only firmware version 290a4cad9cSEnric Balletbo i Serra 300a4cad9cSEnric Balletbo i Serra * - BINF 310a4cad9cSEnric Balletbo i Serra - Chrome OS boot information 320a4cad9cSEnric Balletbo i Serra 330a4cad9cSEnric Balletbo i Serra * - GPIO 340a4cad9cSEnric Balletbo i Serra - Chrome OS GPIO assignments 350a4cad9cSEnric Balletbo i Serra 360a4cad9cSEnric Balletbo i Serra * - VBNV 370a4cad9cSEnric Balletbo i Serra - Chrome OS NVRAM locations 380a4cad9cSEnric Balletbo i Serra 390a4cad9cSEnric Balletbo i Serra * - VDTA 400a4cad9cSEnric Balletbo i Serra - Chrome OS verified boot data 410a4cad9cSEnric Balletbo i Serra 420a4cad9cSEnric Balletbo i Serra * - FMAP 430a4cad9cSEnric Balletbo i Serra - Chrome OS flashmap base address 440a4cad9cSEnric Balletbo i Serra 450a4cad9cSEnric Balletbo i Serra * - MLST 460a4cad9cSEnric Balletbo i Serra - Chrome OS method list 470a4cad9cSEnric Balletbo i Serra 480a4cad9cSEnric Balletbo i SerraCHSW (Chrome OS switch positions) 490a4cad9cSEnric Balletbo i Serra================================= 500a4cad9cSEnric Balletbo i SerraThis control method returns the switch positions for Chrome OS specific hardware switches. 510a4cad9cSEnric Balletbo i Serra 520a4cad9cSEnric Balletbo i SerraArguments: 530a4cad9cSEnric Balletbo i Serra---------- 540a4cad9cSEnric Balletbo i SerraNone 550a4cad9cSEnric Balletbo i Serra 560a4cad9cSEnric Balletbo i SerraResult code: 570a4cad9cSEnric Balletbo i Serra------------ 580a4cad9cSEnric Balletbo i SerraAn integer containing the switch positions as bitfields: 590a4cad9cSEnric Balletbo i Serra 600a4cad9cSEnric Balletbo i Serra.. flat-table:: 610a4cad9cSEnric Balletbo i Serra :widths: 1 2 620a4cad9cSEnric Balletbo i Serra 630a4cad9cSEnric Balletbo i Serra * - 0x00000002 640a4cad9cSEnric Balletbo i Serra - Recovery button was pressed when x86 firmware booted. 650a4cad9cSEnric Balletbo i Serra 660a4cad9cSEnric Balletbo i Serra * - 0x00000004 670a4cad9cSEnric Balletbo i Serra - Recovery button was pressed when EC firmware booted. (required if EC EEPROM is 680a4cad9cSEnric Balletbo i Serra rewritable; otherwise optional) 690a4cad9cSEnric Balletbo i Serra 700a4cad9cSEnric Balletbo i Serra * - 0x00000020 710a4cad9cSEnric Balletbo i Serra - Developer switch was enabled when x86 firmware booted. 720a4cad9cSEnric Balletbo i Serra 730a4cad9cSEnric Balletbo i Serra * - 0x00000200 740a4cad9cSEnric Balletbo i Serra - Firmware write protection was disabled when x86 firmware booted. (required if 750a4cad9cSEnric Balletbo i Serra firmware write protection is controlled through x86 BIOS; otherwise optional) 760a4cad9cSEnric Balletbo i Serra 770a4cad9cSEnric Balletbo i SerraAll other bits are reserved and should be set to 0. 780a4cad9cSEnric Balletbo i Serra 790a4cad9cSEnric Balletbo i SerraHWID (Chrome OS hardware ID) 800a4cad9cSEnric Balletbo i Serra============================ 810a4cad9cSEnric Balletbo i SerraThis control method returns the hardware ID for the Chromebook. 820a4cad9cSEnric Balletbo i Serra 830a4cad9cSEnric Balletbo i SerraArguments: 840a4cad9cSEnric Balletbo i Serra---------- 850a4cad9cSEnric Balletbo i SerraNone 860a4cad9cSEnric Balletbo i Serra 870a4cad9cSEnric Balletbo i SerraResult code: 880a4cad9cSEnric Balletbo i Serra------------ 890a4cad9cSEnric Balletbo i SerraA null-terminated ASCII string containing the hardware ID from the Model-Specific Data area of 900a4cad9cSEnric Balletbo i SerraEEPROM. 910a4cad9cSEnric Balletbo i Serra 920a4cad9cSEnric Balletbo i SerraNote that the hardware ID can be up to 256 characters long, including the terminating null. 930a4cad9cSEnric Balletbo i Serra 940a4cad9cSEnric Balletbo i SerraFWID (Chrome OS firmware version) 950a4cad9cSEnric Balletbo i Serra================================= 960a4cad9cSEnric Balletbo i SerraThis control method returns the firmware version for the rewritable portion of the main 970a4cad9cSEnric Balletbo i Serraprocessor firmware. 980a4cad9cSEnric Balletbo i Serra 990a4cad9cSEnric Balletbo i SerraArguments: 1000a4cad9cSEnric Balletbo i Serra---------- 1010a4cad9cSEnric Balletbo i SerraNone 1020a4cad9cSEnric Balletbo i Serra 1030a4cad9cSEnric Balletbo i SerraResult code: 1040a4cad9cSEnric Balletbo i Serra------------ 1050a4cad9cSEnric Balletbo i SerraA null-terminated ASCII string containing the complete firmware version for the rewritable 1060a4cad9cSEnric Balletbo i Serraportion of the main processor firmware. 1070a4cad9cSEnric Balletbo i Serra 1080a4cad9cSEnric Balletbo i SerraFRID (Chrome OS read-only firmware version) 1090a4cad9cSEnric Balletbo i Serra=========================================== 1100a4cad9cSEnric Balletbo i SerraThis control method returns the firmware version for the read-only portion of the main 1110a4cad9cSEnric Balletbo i Serraprocessor firmware. 1120a4cad9cSEnric Balletbo i Serra 1130a4cad9cSEnric Balletbo i SerraArguments: 1140a4cad9cSEnric Balletbo i Serra---------- 1150a4cad9cSEnric Balletbo i SerraNone 1160a4cad9cSEnric Balletbo i Serra 1170a4cad9cSEnric Balletbo i SerraResult code: 1180a4cad9cSEnric Balletbo i Serra------------ 1190a4cad9cSEnric Balletbo i SerraA null-terminated ASCII string containing the complete firmware version for the read-only 1200a4cad9cSEnric Balletbo i Serra(bootstrap + recovery ) portion of the main processor firmware. 1210a4cad9cSEnric Balletbo i Serra 1220a4cad9cSEnric Balletbo i SerraBINF (Chrome OS boot information) 1230a4cad9cSEnric Balletbo i Serra================================= 1240a4cad9cSEnric Balletbo i SerraThis control method returns information about the current boot. 1250a4cad9cSEnric Balletbo i Serra 1260a4cad9cSEnric Balletbo i SerraArguments: 1270a4cad9cSEnric Balletbo i Serra---------- 1280a4cad9cSEnric Balletbo i SerraNone 1290a4cad9cSEnric Balletbo i Serra 1300a4cad9cSEnric Balletbo i SerraResult code: 1310a4cad9cSEnric Balletbo i Serra------------ 1320a4cad9cSEnric Balletbo i Serra 1330a4cad9cSEnric Balletbo i Serra.. code-block:: 1340a4cad9cSEnric Balletbo i Serra 1350a4cad9cSEnric Balletbo i Serra Package { 1360a4cad9cSEnric Balletbo i Serra Reserved1 1370a4cad9cSEnric Balletbo i Serra Reserved2 1380a4cad9cSEnric Balletbo i Serra Active EC Firmware 1390a4cad9cSEnric Balletbo i Serra Active Main Firmware Type 1400a4cad9cSEnric Balletbo i Serra Reserved5 1410a4cad9cSEnric Balletbo i Serra } 1420a4cad9cSEnric Balletbo i Serra 1430a4cad9cSEnric Balletbo i Serra.. flat-table:: 1440a4cad9cSEnric Balletbo i Serra :widths: 1 1 2 1450a4cad9cSEnric Balletbo i Serra :header-rows: 1 1460a4cad9cSEnric Balletbo i Serra 1470a4cad9cSEnric Balletbo i Serra * - Field 1480a4cad9cSEnric Balletbo i Serra - Format 1490a4cad9cSEnric Balletbo i Serra - Description 1500a4cad9cSEnric Balletbo i Serra 1510a4cad9cSEnric Balletbo i Serra * - Reserved1 1520a4cad9cSEnric Balletbo i Serra - DWORD 1530a4cad9cSEnric Balletbo i Serra - Set to 256 (0x100). This indicates this field is no longer used. 1540a4cad9cSEnric Balletbo i Serra 1550a4cad9cSEnric Balletbo i Serra * - Reserved2 1560a4cad9cSEnric Balletbo i Serra - DWORD 1570a4cad9cSEnric Balletbo i Serra - Set to 256 (0x100). This indicates this field is no longer used. 1580a4cad9cSEnric Balletbo i Serra 1590a4cad9cSEnric Balletbo i Serra * - Active EC firmware 1600a4cad9cSEnric Balletbo i Serra - DWORD 1610a4cad9cSEnric Balletbo i Serra - The EC firmware which was used during boot. 1620a4cad9cSEnric Balletbo i Serra 1630a4cad9cSEnric Balletbo i Serra - 0 - Read-only (recovery) firmware 1640a4cad9cSEnric Balletbo i Serra - 1 - Rewritable firmware. 1650a4cad9cSEnric Balletbo i Serra 1660a4cad9cSEnric Balletbo i Serra Set to 0 if EC firmware is always read-only. 1670a4cad9cSEnric Balletbo i Serra 1680a4cad9cSEnric Balletbo i Serra * - Active Main Firmware Type 1690a4cad9cSEnric Balletbo i Serra - DWORD 1700a4cad9cSEnric Balletbo i Serra - The main firmware type which was used during boot. 1710a4cad9cSEnric Balletbo i Serra 1720a4cad9cSEnric Balletbo i Serra - 0 - Recovery 1730a4cad9cSEnric Balletbo i Serra - 1 - Normal 1740a4cad9cSEnric Balletbo i Serra - 2 - Developer 1750a4cad9cSEnric Balletbo i Serra - 3 - netboot (factory installation only) 1760a4cad9cSEnric Balletbo i Serra 1770a4cad9cSEnric Balletbo i Serra Other values are reserved. 1780a4cad9cSEnric Balletbo i Serra 1790a4cad9cSEnric Balletbo i Serra * - Reserved5 1800a4cad9cSEnric Balletbo i Serra - DWORD 1810a4cad9cSEnric Balletbo i Serra - Set to 256 (0x100). This indicates this field is no longer used. 1820a4cad9cSEnric Balletbo i Serra 1830a4cad9cSEnric Balletbo i SerraGPIO (Chrome OS GPIO assignments) 1840a4cad9cSEnric Balletbo i Serra================================= 1850a4cad9cSEnric Balletbo i SerraThis control method returns information about Chrome OS specific GPIO assignments for 1860a4cad9cSEnric Balletbo i SerraChrome OS hardware, so the kernel can directly control that hardware. 1870a4cad9cSEnric Balletbo i Serra 1880a4cad9cSEnric Balletbo i SerraArguments: 1890a4cad9cSEnric Balletbo i Serra---------- 1900a4cad9cSEnric Balletbo i SerraNone 1910a4cad9cSEnric Balletbo i Serra 1920a4cad9cSEnric Balletbo i SerraResult code: 1930a4cad9cSEnric Balletbo i Serra------------ 1940a4cad9cSEnric Balletbo i Serra.. code-block:: 1950a4cad9cSEnric Balletbo i Serra 1960a4cad9cSEnric Balletbo i Serra Package { 1970a4cad9cSEnric Balletbo i Serra Package { 1980a4cad9cSEnric Balletbo i Serra // First GPIO assignment 1990a4cad9cSEnric Balletbo i Serra Signal Type //DWORD 2000a4cad9cSEnric Balletbo i Serra Attributes //DWORD 2010a4cad9cSEnric Balletbo i Serra Controller Offset //DWORD 2020a4cad9cSEnric Balletbo i Serra Controller Name //ASCIIZ 2030a4cad9cSEnric Balletbo i Serra }, 2040a4cad9cSEnric Balletbo i Serra ... 2050a4cad9cSEnric Balletbo i Serra Package { 2060a4cad9cSEnric Balletbo i Serra // Last GPIO assignment 2070a4cad9cSEnric Balletbo i Serra Signal Type //DWORD 2080a4cad9cSEnric Balletbo i Serra Attributes //DWORD 2090a4cad9cSEnric Balletbo i Serra Controller Offset //DWORD 2100a4cad9cSEnric Balletbo i Serra Controller Name //ASCIIZ 2110a4cad9cSEnric Balletbo i Serra } 2120a4cad9cSEnric Balletbo i Serra } 2130a4cad9cSEnric Balletbo i Serra 2140a4cad9cSEnric Balletbo i SerraWhere ASCIIZ means a null-terminated ASCII string. 2150a4cad9cSEnric Balletbo i Serra 2160a4cad9cSEnric Balletbo i Serra.. flat-table:: 2170a4cad9cSEnric Balletbo i Serra :widths: 1 1 2 2180a4cad9cSEnric Balletbo i Serra :header-rows: 1 2190a4cad9cSEnric Balletbo i Serra 2200a4cad9cSEnric Balletbo i Serra * - Field 2210a4cad9cSEnric Balletbo i Serra - Format 2220a4cad9cSEnric Balletbo i Serra - Description 2230a4cad9cSEnric Balletbo i Serra 2240a4cad9cSEnric Balletbo i Serra * - Signal Type 2250a4cad9cSEnric Balletbo i Serra - DWORD 2260a4cad9cSEnric Balletbo i Serra - Type of GPIO signal 2270a4cad9cSEnric Balletbo i Serra 2280a4cad9cSEnric Balletbo i Serra - 0x00000001 - Recovery button 2290a4cad9cSEnric Balletbo i Serra - 0x00000002 - Developer mode switch 2300a4cad9cSEnric Balletbo i Serra - 0x00000003 - Firmware write protection switch 2310a4cad9cSEnric Balletbo i Serra - 0x00000100 - Debug header GPIO 0 2320a4cad9cSEnric Balletbo i Serra - ... 2330a4cad9cSEnric Balletbo i Serra - 0x000001FF - Debug header GPIO 255 2340a4cad9cSEnric Balletbo i Serra 2350a4cad9cSEnric Balletbo i Serra Other values are reserved. 2360a4cad9cSEnric Balletbo i Serra 2370a4cad9cSEnric Balletbo i Serra * - Attributes 2380a4cad9cSEnric Balletbo i Serra - DWORD 2390a4cad9cSEnric Balletbo i Serra - Signal attributes as bitfields: 2400a4cad9cSEnric Balletbo i Serra 2410a4cad9cSEnric Balletbo i Serra - 0x00000001 - Signal is active-high (for button, a GPIO value 2420a4cad9cSEnric Balletbo i Serra of 1 means the button is pressed; for switches, a GPIO value 2430a4cad9cSEnric Balletbo i Serra of 1 means the switch is enabled). If this bit is 0, the signal 2440a4cad9cSEnric Balletbo i Serra is active low. Set to 0 for debug header GPIOs. 2450a4cad9cSEnric Balletbo i Serra 2460a4cad9cSEnric Balletbo i Serra * - Controller Offset 2470a4cad9cSEnric Balletbo i Serra - DWORD 2480a4cad9cSEnric Balletbo i Serra - GPIO number on the specified controller. 2490a4cad9cSEnric Balletbo i Serra 2500a4cad9cSEnric Balletbo i Serra * - Controller Name 2510a4cad9cSEnric Balletbo i Serra - ASCIIZ 2520a4cad9cSEnric Balletbo i Serra - Name of the controller for the GPIO. 2530a4cad9cSEnric Balletbo i Serra Currently supported names: 2540a4cad9cSEnric Balletbo i Serra "NM10" - Intel NM10 chip 2550a4cad9cSEnric Balletbo i Serra 2560a4cad9cSEnric Balletbo i SerraVBNV (Chrome OS NVRAM locations) 2570a4cad9cSEnric Balletbo i Serra================================ 2580a4cad9cSEnric Balletbo i SerraThis control method returns information about the NVRAM (CMOS) locations used to 2590a4cad9cSEnric Balletbo i Serracommunicate with the BIOS. 2600a4cad9cSEnric Balletbo i Serra 2610a4cad9cSEnric Balletbo i SerraArguments: 2620a4cad9cSEnric Balletbo i Serra---------- 2630a4cad9cSEnric Balletbo i SerraNone 2640a4cad9cSEnric Balletbo i Serra 2650a4cad9cSEnric Balletbo i SerraResult code: 2660a4cad9cSEnric Balletbo i Serra------------ 2670a4cad9cSEnric Balletbo i Serra.. code-block:: 2680a4cad9cSEnric Balletbo i Serra 2690a4cad9cSEnric Balletbo i Serra Package { 2700a4cad9cSEnric Balletbo i Serra NV Storage Block Offset //DWORD 2710a4cad9cSEnric Balletbo i Serra NV Storage Block Size //DWORD 2720a4cad9cSEnric Balletbo i Serra } 2730a4cad9cSEnric Balletbo i Serra 2740a4cad9cSEnric Balletbo i Serra.. flat-table:: 2750a4cad9cSEnric Balletbo i Serra :widths: 1 1 2 2760a4cad9cSEnric Balletbo i Serra :header-rows: 1 2770a4cad9cSEnric Balletbo i Serra 2780a4cad9cSEnric Balletbo i Serra * - Field 2790a4cad9cSEnric Balletbo i Serra - Format 2800a4cad9cSEnric Balletbo i Serra - Description 2810a4cad9cSEnric Balletbo i Serra 2820a4cad9cSEnric Balletbo i Serra * - NV Storage Block Offset 2830a4cad9cSEnric Balletbo i Serra - DWORD 2840a4cad9cSEnric Balletbo i Serra - Offset in CMOS bank 0 of the verified boot non-volatile storage block, counting from 2850a4cad9cSEnric Balletbo i Serra the first writable CMOS byte (that is, offset=0 is the byte following the 14 bytes of 2860a4cad9cSEnric Balletbo i Serra clock data). 2870a4cad9cSEnric Balletbo i Serra 2880a4cad9cSEnric Balletbo i Serra * - NV Storage Block Size 2890a4cad9cSEnric Balletbo i Serra - DWORD 2900a4cad9cSEnric Balletbo i Serra - Size in bytes of the verified boot non-volatile storage block. 2910a4cad9cSEnric Balletbo i Serra 2920a4cad9cSEnric Balletbo i SerraFMAP (Chrome OS flashmap address) 2930a4cad9cSEnric Balletbo i Serra================================= 2940a4cad9cSEnric Balletbo i SerraThis control method returns the physical memory address of the start of the main processor 2950a4cad9cSEnric Balletbo i Serrafirmware flashmap. 2960a4cad9cSEnric Balletbo i Serra 2970a4cad9cSEnric Balletbo i SerraArguments: 2980a4cad9cSEnric Balletbo i Serra---------- 2990a4cad9cSEnric Balletbo i SerraNone 3000a4cad9cSEnric Balletbo i Serra 3010a4cad9cSEnric Balletbo i SerraNoneResult code: 3020a4cad9cSEnric Balletbo i Serra---------------- 3030a4cad9cSEnric Balletbo i SerraA DWORD containing the physical memory address of the start of the main processor firmware 3040a4cad9cSEnric Balletbo i Serraflashmap. 3050a4cad9cSEnric Balletbo i Serra 3060a4cad9cSEnric Balletbo i SerraVDTA (Chrome OS verified boot data) 3070a4cad9cSEnric Balletbo i Serra=================================== 3080a4cad9cSEnric Balletbo i SerraThis control method returns the verified boot data block shared between the firmware 3090a4cad9cSEnric Balletbo i Serraverification step and the kernel verification step. 3100a4cad9cSEnric Balletbo i Serra 3110a4cad9cSEnric Balletbo i SerraArguments: 3120a4cad9cSEnric Balletbo i Serra---------- 3130a4cad9cSEnric Balletbo i SerraNone 3140a4cad9cSEnric Balletbo i Serra 3150a4cad9cSEnric Balletbo i SerraResult code: 3160a4cad9cSEnric Balletbo i Serra------------ 3170a4cad9cSEnric Balletbo i SerraA buffer containing the verified boot data block. 3180a4cad9cSEnric Balletbo i Serra 3190a4cad9cSEnric Balletbo i SerraMECK (Management Engine Checksum) 3200a4cad9cSEnric Balletbo i Serra================================= 3210a4cad9cSEnric Balletbo i SerraThis control method returns the SHA-1 or SHA-256 hash that is read out of the Management 3220a4cad9cSEnric Balletbo i SerraEngine extended registers during boot. The hash is exported via ACPI so the OS can verify that 3230a4cad9cSEnric Balletbo i Serrathe ME firmware has not changed. If Management Engine is not present, or if the firmware was 3240a4cad9cSEnric Balletbo i Serraunable to read the extended registers, this buffer can be zero. 3250a4cad9cSEnric Balletbo i Serra 3260a4cad9cSEnric Balletbo i SerraArguments: 3270a4cad9cSEnric Balletbo i Serra---------- 3280a4cad9cSEnric Balletbo i SerraNone 3290a4cad9cSEnric Balletbo i Serra 3300a4cad9cSEnric Balletbo i SerraResult code: 3310a4cad9cSEnric Balletbo i Serra------------ 3320a4cad9cSEnric Balletbo i SerraA buffer containing the ME hash. 3330a4cad9cSEnric Balletbo i Serra 3340a4cad9cSEnric Balletbo i SerraMLST (Chrome OS method list) 3350a4cad9cSEnric Balletbo i Serra============================ 3360a4cad9cSEnric Balletbo i SerraThis control method returns a list of the other control methods supported by the Chrome OS 3370a4cad9cSEnric Balletbo i Serrahardware device. 3380a4cad9cSEnric Balletbo i Serra 3390a4cad9cSEnric Balletbo i SerraArguments: 3400a4cad9cSEnric Balletbo i Serra---------- 3410a4cad9cSEnric Balletbo i SerraNone 3420a4cad9cSEnric Balletbo i Serra 3430a4cad9cSEnric Balletbo i SerraResult code: 3440a4cad9cSEnric Balletbo i Serra------------ 3450a4cad9cSEnric Balletbo i SerraA package containing a list of null-terminated ASCII strings, one for each control method 3460a4cad9cSEnric Balletbo i Serrasupported by the Chrome OS hardware device, not including the MLST method itself. 3470a4cad9cSEnric Balletbo i SerraFor this version of the specification, the result is: 3480a4cad9cSEnric Balletbo i Serra 3490a4cad9cSEnric Balletbo i Serra.. code-block:: 3500a4cad9cSEnric Balletbo i Serra 3510a4cad9cSEnric Balletbo i Serra Package { 3520a4cad9cSEnric Balletbo i Serra "CHSW", 3530a4cad9cSEnric Balletbo i Serra "FWID", 3540a4cad9cSEnric Balletbo i Serra "HWID", 3550a4cad9cSEnric Balletbo i Serra "FRID", 3560a4cad9cSEnric Balletbo i Serra "BINF", 3570a4cad9cSEnric Balletbo i Serra "GPIO", 3580a4cad9cSEnric Balletbo i Serra "VBNV", 3590a4cad9cSEnric Balletbo i Serra "FMAP", 3600a4cad9cSEnric Balletbo i Serra "VDTA", 3610a4cad9cSEnric Balletbo i Serra "MECK" 3620a4cad9cSEnric Balletbo i Serra } 363