Commit graph

58,250 commits

Author SHA1 Message Date
Mario Scheithauer
7749088de7 mb/siemens/mc_ehl5: Provide static function for disabling SDR modes
As the functionality is required for other devices, it makes sense to
provide a function for this.

Change-Id: If1f070eebd365de93d4bce13d5201045d3306b17
Signed-off-by: Mario Scheithauer <mario.scheithauer@siemens.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85324
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
2024-11-29 08:51:49 +00:00
Mario Scheithauer
2d9a82cf8a mb/siemens/mc_ehl5: Rename SDIO converge layer register defines
As the registers for SD-Card and eMMC are identical, the names of the
register defines should also be kept more general. Therefore change the
defines from 'SD_' to 'MMC_'.

Change-Id: I2e0839a00f1b097f92f4f7774d973196d2d0e9a3
Signed-off-by: Mario Scheithauer <mario.scheithauer@siemens.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85313
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Reviewed-by: Uwe Poeche <uwe.poeche@siemens.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-29 08:51:44 +00:00
Jarried Lin
758174c61b soc/mediatek/mt8196: Reserve 70 MB memory for OP-TEE
Reserve 70MB memory space for running the OP-TEE image.

BUG=b:317009620
TEST=build pass

Change-Id: I6f75870bdd76e89866508d351b04a0921f30fe4d
Signed-off-by: Jarried Lin <jarried.lin@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85249
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-29 07:08:50 +00:00
Tongtong Pan
605c76bd9c mb/google/fatcat: Modify the kconfig file in felino variant
kconfig incorrectly builds fatcat instead of feilino.
Modify the kconfig file to successfully compile felino.

BUG=b:379797598
TEST=1. util/abuild/abuild -p none -t google/fatcat -x -a
        make sure the build includes GOOGLE_FELINO
     2. Run part_id_gen tool without any errors

Change-Id: Icd76fa97b9879d8f90ae9ee13998b6667f10b39c
Signed-off-by: Tongtong Pan <pantongtong@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85315
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Weimin Wu <wuweimin@huaqin.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Pranava Y N <pranavayn@google.com>
2024-11-29 04:07:57 +00:00
Tongtong Pan
ee485d82fd mb/google/fatcat/var/felino: Modify the overridetree file
Modify overridetree based on the schematics revision 20241120.

BUG=b:379797598
TEST=abuild -v -a -x -c max -p none -t google/fatcat -b felino

Change-Id: I40362b5c823144b6ab0acb878e58b4f5a295bbdd
Signed-off-by: Tongtong Pan <pantongtong@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85321
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-29 04:07:46 +00:00
Subrata Banik
4724cd4a5f mb/google/fatcat/var/fatcat: Remove TcssAuxOri override
The TCSS configuration now relying on the PD<->PMC communication
for the fatcat board.

This removes the need to override the `TcssAuxOri` UPD setting.

TEST=Booted fatcat successfully. Verified USB-C device detection and
      functionality on both TCSS#0 and TCSS#1 ports.

Change-Id: I37d5c6fe68ad529b4da46aad460e5c1bf92179a8
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85356
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Pranava Y N <pranavayn@google.com>
2024-11-29 02:49:14 +00:00
Jon Murphy
4f2c280e1d mb/google/zork: Update FP enable
Add/update FP enable/disable based on SKU ID. This is meant
to resolve a UMA issue with devices that had the FPMCU populated on
non-fp devices.  Since the FPMCU is present, and the firmware enables
the power GPIO's based on variant, not SKU, the devices were reporting
data on fingerprint errantly.  Specify the SKUs which should not have a
FP sensor and default to true to maintain the legacy behavior for
undefined devices and limit risk.  Variants which do not have FP SKUs
will be unaffected.

BUG=b:354769653
TEST=Flash to zork, test FP.
Disable test SKU, flash on zork, test FP.

To test, run `ectool --name=cros_fp version` in the shell
When enabled, the fpmcu fw version should be displayed.
When disabled, an error should be displayed because the fpmcu
is inaccessible.

Change-Id: Ic6dc71013a1c0d5ee5263109eed87a1b31800232
Signed-off-by: Jon Murphy <jpmurphy@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85294
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-28 18:35:19 +00:00
Maximilian Brune
0b617c9300 arch/riscv: Refactor SMP code
Currently only a fixed number of harts/cores can be detected.

This patch adds a Kconfig option which allows to detect the number of
harts at runtime if a SOC or mainboard has a scheme to do so.
As part of that patch SMP logic has been mostly moved to smp_resume,
since it is easier to debug issues at the time smp_resume is called
than it is at smp_pause, since the serial is usually not present at the
time of the first smp_pause call.

Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com>
Change-Id: Icc53185991fed4dbed032a52e51ff71d085ad587
Reviewed-on: https://review.coreboot.org/c/coreboot/+/81082
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Alicja Michalska <ahplka19@gmail.com>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
2024-11-28 13:59:34 +00:00
Maximilian Brune
6c063250b5 arch/riscv: Allow adding OpenSBI as external blob
The reasoning is that even though vendors currently tend to open source
their OpenSBI implementation, they often do so in their own repository.
So instead of adding all possible source repositories as submodules, we
shall allow specifying a path to an already compiled OpenSBI ELF file.
This is similar of what we currently do on ARM64 with the BL31 binary.

Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com>
Change-Id: I6592ad90a254ca4ac9a6cee89404ad49274f0dea
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83284
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Alicja Michalska <ahplka19@gmail.com>
Reviewed-by: ron minnich <rminnich@gmail.com>
2024-11-28 13:57:54 +00:00
Yidi Lin
7f36241461 soc/mediatek: Eliminate redundant calls to get_pmif_controller()
It is unnecessary to look up PMIF controller by mstid in multiple
functions. Just pass `arb` to these functions in order to avoid
redundant calls to get_pmif_controller().

BUG=none
TEST=compiled

Change-Id: I907d6ff029827e4afe4f1d05e39c8dd662c7c45e
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85327
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-28 13:41:40 +00:00
Tyler Wang
f8e4cdd058 mb/google/rex/var/kanix: Set GPP_V14 to NC
Follow schematic(ver.1122A), set GPP_V14 to NC.

BUG=b:380218793, b:366291025
TEST=emerge-rex coreboot pass

Change-Id: I91abc4e07836abb163c8bb28d54a711d2b25375d
Signed-off-by: Tyler Wang <tyler.wang@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85352
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-28 09:10:38 +00:00
Tyler Wang
57346fadf5 mb/google/rex/var/kanix: Add LAN RTL8125BG related settings
Add LAN RTL8125BG related settings based on schematic(ver.1122A).

BUG=b:380218793, b:366291025
TEST=emerge-rex coreboot pass

Change-Id: Icc24f00406d5f91e38725588109c61b7bad099c3
Signed-off-by: Tyler Wang <tyler.wang@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85322
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-28 09:10:05 +00:00
Tyler Wang
3923753485 mb/google/rex/var/kanix: Update fw_config settings
Update following fw_config settings:
+-----------+-------------------------+----------------------------+
| Bit 0-1   | DB_USB                  | 0 --> DB_USB_UNKNOWN       |
|           |                         | 1 --> DB_2USBA             |
+-----------+-------------------------+----------------------------+
| Bit 2-3   | RETIMER                 | 0 --> INTEL_HAYDEN_BRIDGE  |
+-----------+-------------------------+----------------------------+
| Bit 4-6   | AUDIO                   | 0 --> ALC5682I_ALC1019     |
+-----------+-------------------------+----------------------------+
| Bit 7-8   | FAN                     | 0 --> ABSENT               |
|           |                         | 1 --> PRESENT              |
+-----------+-------------------------+----------------------------+
| Bit 9-10  | MIPI_CAM                | 0 --> UF_CAM_HI556         |
+-----------+-------------------------+----------------------------+
| Bit 11-12 | FP_MCU                  | 0 --> FP_MCU_ABSENT        |
|           |                         | 1 --> FP_MCU_NUVOTON       |
+-----------+-------------------------+----------------------------+
| Bit 13    | WIFI_TYPE               | 0 --> WIFI_CNVI            |
|           |                         | 1 --> WIFI_PCIE            |
+-----------+-------------------------+----------------------------+
| Bit 14    | KB_TYPE                 | 0 --> KB_TYPE_DEFAULT      |
|           |                         | 1 --> KB_TYPE_CA           |
+-----------+-------------------------+----------------------------+
| Bit 15    | PANEL_PWRSEQ_EC_CONTROL | 0 --> WIFI_CNVI            |
|           |                         | 1 --> DISABLE              |
+-----------+-------------------------+----------------------------+
| Bit 16    | KB_BACKLIGHT            | 0 --> KB_BACKLIGHT_ABSENT  |
|           |                         | 1 --> KB_BACKLIGHT_PRESENT |
+-----------+-------------------------+----------------------------+

BUG=b:377377766
TEST=emerge-rex coreboot pass

Change-Id: Ic6ab99a05cd6d995dc71b39e002c8ad5b1dafc4a
Signed-off-by: Tyler Wang <tyler.wang@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85293
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-28 09:10:00 +00:00
Tyler Wang
973f291ce1 mb/google/rex/var/kanix: Update GPIO settings
BUG=b:366291025
TEST=emerge-rex coreboot pass

Change-Id: I8a9de4098739cbcdc09f2ec685c374bee3c236a7
Signed-off-by: Tyler Wang <tyler.wang@quanta.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85248
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-28 09:09:52 +00:00
Jayvik Desai
52d914e99f mb/google/fatcat: Refactor EC_SOC_INT_ODL GPP for fatcat_ish variant
This patch refactors the configuration of GPP_E07 (EC_SOC_INT_ODL) to
accommodate the fatcat_ish variant

The GPP_E07 is not connected on google/fatcat variants using the
Microchip EC AIC.

BUG=b:370984186
TEST=Able to build fatcat/fatcat_ish w/o any error.

Change-Id: I88bd76b2110b4c0742569f1ccb2030ea516b3782
Signed-off-by: Jayvik Desai <jayvik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85223
Reviewed-by: Pranava Y N <pranavayn@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-28 09:04:48 +00:00
Jayvik Desai
c679ab12b1 mb/google/fatcat: Adjust EC host command range for fatcat_ish variant
Adjusts the EC host command range for the fatcat_ish variant
to 0x800-0x807 & 0x200-0x20f.

This change is necessary because the microchip EC used on the Fatcat
board has a smaller host command range than the ITE/Nuvoton ECs used
on other Fatcat variants.

without this patch:

    [SPEW ]  LPC: Trying to open IO window from 800 size 8
    [ERROR]  LPC: Cannot open IO window: 800 size 8
    [ERROR]  No more IO windows

with this patch:
    [SPEW ]  LPC: Trying to open IO window from 800 size 8

BUG=b:370984186
TEST=Able to build fatcat/fatcat_ish w/o any error.

Change-Id: I0d726d60d2a15d2dfaff35f570de479fdc6d15aa
Signed-off-by: Jayvik Desai <jayvik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85221
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Pranava Y N <pranavayn@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-28 09:04:41 +00:00
Jayvik Desai
a07d4f5412 mb/google/fatcat: Add fatcat_ish variant
This patch adds the "fatcat_ish" board to the fatcat Kconfig.

BUG=b:370984186
TEST=Able to build fatcat/fatcat_ish and verify the correct configs
selected in coreboot.config

Change-Id: I8a49ce54e946dfdfad253ff946da1b37ed50dd0a
Signed-off-by: Jayvik Desai <jayvik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85220
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-28 09:04:34 +00:00
Tongtong Pan
6376f2c913 mb/google/fatcat/var/felino: Add initial memory config
Configure memory according to schematics revision 20241120.

BUG=b:379797598
TEST=abuild -v -a -x -c max -p none -t google/fatcat -b felino

Change-Id: I8420c5cf0421ec9265613c3e1374542a067ce6ed
Signed-off-by: Tongtong Pan <pantongtong@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85320
Reviewed-by: Weimin Wu <wuweimin@huaqin.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-28 07:00:47 +00:00
Nicholas Sudsgaard
2a71a804cf drivers/pc80/pc: Clean up formatting of PS/2 related ASL code
This change corrects the indentation and also does the following to have
the ASL code written in a more canonical style:

  - Add space between the operator name and "(".
  - Use uppercase for hexadecimal values.

Change-Id: Ib946599f8ab4d68b16867912743f4a7a5bc0307d
Signed-off-by: Nicholas Sudsgaard <devel+coreboot@nsudsgaard.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85281
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
2024-11-27 22:11:46 +00:00
Jeremy Compostella
83fb3b70f0 drivers/wifi: Support Drive Strength BRI Rsp Table
Drive Strength BRI Rsp Object provides information from the OEM
platforms if they have replaced the Bluetooth Radio Interface resistor
to overcome the potential STEP errors on their designs. Based on
configuration, CNV firmware shall adjust the BRI Rsp line drive
strength.

The bri_resistor_value is encoded as follow:

|  Bit | Val | Description                                 | Default |
|------+-----+---------------------------------------------+---------|
|    0 |   0 | Device FW default values                    |       1 |
|      |   1 | Override device FW default values           |         |
|  3:1 |   0 | Reserved (shall be set to 0)                |       0 |
|  7:4 |   0 | DSBR override values (only if bit 0 is set) |     0xf |
| 31:7 |   0 | Reserved (shall be set to 0)                |       0 |

Possible values:
- 0xf1 (default): indicates that the resistor on board is 33 Ohm
- 0x0 or 0xb1: indicates that the resistor on board is 10 Ohm

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=DSBR methods are added to the wifi device and bluetooth companion
     device and they return the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e300
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85017
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-27 21:28:41 +00:00
Jeremy Compostella
1e8c6819b1 drivers/wifi: Support Wi-Fi PHY Filter Configuration
This feature provides ability to provide Wi-Fi PHY filter
Configuration. A well-defined dedicated filter on particular platform
can be used to perform the maximum Wi-Fi performance.

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=WPFC method is added to the wifi device and return the data
     supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e270
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84948
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-27 21:28:34 +00:00
Jeremy Compostella
c8ab1db0c6 drivers/wifi: Support Extended Bluetooth Regulatory Descriptor
Extended Bluetooth Regulatory Descriptor (EBRD) SAR/RFE are safety
regulations for limiting antenna radiation near human contact. EBRD
provides option to provide up to three sets of TX power limits and
power restrictions.

As the EBRD table is related to the revision 2 of the BRDS, this
commit also adds support for this new revision.

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=EBRD method is added to the bluetooth companion device and
     return the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e250
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84947
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-27 21:28:28 +00:00
Jeremy Compostella
386b5a9ddf drivers/wifi: Support Bluetooth Dual Mac Mode
This feature provides ability to set the Bluetooth Dual Mac Mode
setting.

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=BDMM method is added to the bluetooth companion device and
     return the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e240
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84946
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-27 21:28:22 +00:00
Jeremy Compostella
6e941f99da drivers/wifi: Support Ultra High Band Country Selection
This feature provides ability to set the Bluetooth Ultra High
Band (UHB) settings per country. The bluetooth UHB country selection
is defined as follow (default is 0):

|   Bit | Value |                                                   |
|-------+-------+---------------------------------------------------|
|     0 |     0 | No override; use BT device settings               |
|       |     1 | Force disable BT in all countries that are not    |
|       |       | defined in the following bits                     |
|     1 |     0 | USA 6GHz BT disable                               |
|       |     1 | 6GHz BT allowed in the USA (enabled only if the   |
|       |       | device is certified to the USA)                   |
|     2 |     0 | Rest of the World 6GHz BT disable                 |
|       |     1 | 6GHz BT allowed in the Rest of the World (enabled |
|       |       | only if the device is certified to the rest       |
|       |       | of the world)                                     |
|     3 |     0 | EU countries 6GHz BT disable                      |
|       |     1 | 6GHz BT allowed in the EU countries (enabled only |
|       |       | if the device is certified to the EU countries)   |
|     4 |     0 | South Korea 6GHz BT disable                       |
|       |     1 | 6GHz BT allowed in the South Korea (enabled only  |
|       |       | if the device is certified to the South Korea)    |
|     5 |     0 | Brazil 6GHz BT disable                            |
|       |     1 | 6GHz BT allowed in the Brazil (enabled only if    |
|       |       | the device is certified to the Brazil)            |
|     6 |     0 | Chile 6GHz BT disable                             |
|       |     1 | 6GHz BT allowed in the Chile (enabled only if the |
|       |       | device is certified to the Chile)                 |
|     7 |     0 | Japan 6GHz BT disable                             |
|       |     1 | 6GHz BT allowed in Japan (enabled only if the     |
|       |       | device is certified to Japan)                     |
|     8 |     0 | Canada 6GHz BT disable                            |
|       |     1 | 6GHz BT allowed in Canada (enabled only if the    |
|       |       | device is certified to Canada)                    |
|     9 |     0 | Morocco 6GHz BT disable                           |
|       |     1 | 6GHz BT allowed in the Morocco (enabled only if   |
|       |       | the device is certified to the Morocco)           |
|    10 |     0 | Mongolia 6GHz BT disable                          |
|       |     1 | 6GHz BT allowed in the Mongolia (enabled only if  |
|       |       | the device is certified to the Mongolia)          |
|    11 |     0 | Malaysia 6GHz BT disable                          |
|       |     1 | 6GHz BT allowed in the Malaysia (enabled only if  |
|       |       | the device is certified to the Malaysia)          |
| 31:12 |     0 | Reserved Should set to zeros                      |

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=BUCS method is added to the bluetooth companion device and
     return the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e231
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84945
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-27 21:28:17 +00:00
Jeremy Compostella
e9b36b03ce drivers/wifi: Support Bluetooth Bands Selection Mode
This feature provides ability to provide Bluetooth Bands Selection
Mode. The bluetooth bands selection mode is defined as follow:

  |  Bit | Band GHz | Value | Description          | Default |
  |------+----------+-------+----------------------+---------|
  |    0 | 2.4GHz   |     0 | Controlled by NIC    |       0 |
  |      |          |     1 | Force disable 2.4GHz |         |
  |    1 | 5.2GHz   |     0 | Controlled by NIC    |       0 |
  |      |          |     1 | Force disable 5.2GHz |         |
  |    2 | 5.8GHz   |     0 | Controlled by NIC    |       0 |
  |      |          |     1 | Force disable 5.8GHz |         |
  |    3 | 6.2GHz   |     0 | Controlled by NIC    |       0 |
  |      |          |     1 | Force disable 6.2GHz |         |
  | 31:4 | Reserved |       | NA                   |       0 |

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=BBSM method is added to the bluetooth companion device and
     return the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e230
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84944
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-27 21:28:11 +00:00
Jeremy Compostella
67dff1b2b1 drivers/wifi: Support Bluetooth Dual Chain Mode
This feature provides ability to provide dual chain setting.

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=BDCM method is added to the bluetooth companion device and
     return the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e220
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84943
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
2024-11-27 21:28:05 +00:00
Jeremy Compostella
3f535d3a0d drivers/wifi: Support Bluetooth BiQuad Bypass Filter
This feature provides ability to identify non-LTE platform and disable
BiQuad Bypass filter logic in hardware for Bluetooth usecases reducing
device power consumption.

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=BBFB method is added to the bluetooth companion device and
     return the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e213
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84942
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-27 21:27:59 +00:00
Jeremy Compostella
354cba21a4 drivers/wifi: Support Bluetooth Per-Platform Antenna Gain
The ACPI BPAG method provide information to controls the antenna gain
method to be used per country.

The antenna gain mode is a bit field (0 - disabled, 1 -enabled)
defined as follow:
- Bit 0 - Antenna gain in EU
- Bit 1 - Antenna gain in China Mainland

The implementation follows document 559910 Intel Connectivity
Platforms BIOS Guideline revision 9.2 specification.

BUG=b:346600091
TEST=BPAG method is added to the bluetooth companion device and return
     the data supplied by the SAR binary blob

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e210
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84941
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-27 21:27:53 +00:00
Yidi Lin
8943e40b18 mb/google/rauru: Add configuration for SD card detect pin
Pass SD card detect GPIO to payloads for SD card detection.

BUG=b:317009620
TEST=build pass

Change-Id: I1901fd45833f2415c61b61f9e04ebb54440df80a
Signed-off-by: Jarried Lin <jarried.lin@mediatek.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85250
Reviewed-by: Yidi Lin <yidilin@google.com>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-27 15:49:38 +00:00
Yuchi Chen
0f80bfd460 mainboard/intel/frost_creek: Add support for Intel CRB Frost Creek
The Frost Creek CRB is a reference platform for Intel Atom P5300 and
P5700 (known as Snow Ridge NS and Snow Ridge NX) SoC.

Change-Id: If3b387a6a4a567415aef21e520056c23b8cfa013
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83322
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-27 09:32:32 +00:00
Yuchi Chen
78fa36d050 soc/intel/snowridge: Add support for Intel Atom Snow Ridge SoC
This change adds support for Intel Atom Processors P5300, P5700
product families (known as Snow Ridge NS and Snow Ridge NX).

Change-Id: I32ad836dfaaff0d1816eac41e5a7d19ece11080f
Signed-off-by: Yuchi Chen <yuchi.chen@intel.com>
Tested-by: Vasiliy Khoruzhick <vasilykh@arista.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/83321
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
2024-11-27 09:31:52 +00:00
Yu-Ping Wu
d2deb14fb0 commonlib/bsd/mem_chip_info: Add mem_chip_info_entry_density_bytes
Add a helper function to get the mem_chip_info entry size.

Change-Id: Ibf2a2006fb3e7772688b80807589e8f2d64d1147
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85312
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-27 07:41:35 +00:00
Vidya Gopalakrishnan
80caf690d0 mb/google/brya/var/trulo: Remove overriding of PL1 value to 20W
The RAPL PL1 limit and MMIO PL1 max values should be set as per
silicon TDP as specified in the PDG doc#646929.

BUG=b:378623372
TEST=Build and boot on Trulo board.
Verified PL1 value is updated in DTT and sysfs interfaces.
Output with 15W silicon as below:
cd /sys/class/powercap/
cat intel-rapl/intel-rapl\:0/constraint_0_max_power_uw
15000000
cat intel-rapl/intel-rapl\:0/constraint_0_power_limit_uw
15000000
cat intel-rapl-mmio/intel-rapl-mmio\:0/constraint_0_max_power_uw
15000000
cat intel-rapl-mmio/intel-rapl-mmio\:0/constraint_0_power_limit_uw
15000000

Change-Id: I798c4f10e10a579f470e00dbdb77a84619ad796a
Signed-off-by: Vidya Gopalakrishnan <vidya.gopalakrishnan@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85184
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-11-26 05:51:19 +00:00
Vidya Gopalakrishnan
73a1f02592 mb/google/brya/var/trulo: Enable Charger participant in Passive Policy
Update the TSR1 target's source to CHARGER in Passive Policy.

BUG=b:378623372
TEST=Build and boot on Trulo board.
Verified the source for TSR1 is updated to  Charger in Passive Policy

Change-Id: I43db616fd48fc4659dcba359f17854e14adb6039
Signed-off-by: Vidya Gopalakrishnan <vidya.gopalakrishnan@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85227
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-26 05:50:59 +00:00
Tongtong Pan
e9f2365838 mb/google/fatcat/var/felino: Add initial GPIOs config
Configure GPIOs according to schematics revision 20241120.

BUG=b:379797598
TEST=abuild -v -a -x -c max -p none -t google/fatcat -b felino

Change-Id: I4e9e81af9c3d8807e65ecd552e73305c1d109a2d
Signed-off-by: Tongtong Pan <pantongtong@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85234
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Weimin Wu <wuweimin@huaqin.corp-partner.google.com>
2024-11-26 04:14:21 +00:00
John Su
c4b59bfcbb mb/google/brya: Create uldrenite variant
Create the uldrenite variant of the brya reference board
by copying the template files to a new directory named
for the variant.

BUG=b:376781355
TEST=util/abuild/abuild -p none -t google/brya -x -a
make sure the build includes GOOGLE_ULDRENITE

Change-Id: Ife666c6f2fe69643033e2ce3b299e7414e16eef1
Signed-off-by: John Su <john_su@compal.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85207
Reviewed-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com>
Reviewed-by: Amanda Hwang <amanda_hwang@compal.corp-partner.google.com>
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-26 04:13:44 +00:00
Cliff Huang
35741f35ee soc/intel/ptl: Change ACPI name for IPU
Change IPU name to 4 characters: IPU0

While the ACPI device name is 'IPU', some part of generated SSDT looks
for 'IPU_', since by convention, the names less than 4 characters is
padded with underscope ("_"). Please see APCI spec 5.3 ACPI Namespace.

BUG=none
TEST=Boot fatcat board to OS and check that IPU device name is IPU0 in
the SSDT.

Signed-off-by: Cliff Huang <cliff.huang@intel.com>
Change-Id: I60ce2998cb1d97589c0f7544ce8dc92c12a2b8c9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85274
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-25 04:35:35 +00:00
Rui Zhou
4084e8f9d8 Revert "mb/google/nissa/var/telith: Add 6W and 15W power limit parameters"
This reverts commit c89ccaf281.

Reason for revert: b:378775630#comment11
Intel believes that the AC only issue should be addressed head-on and
the previous power limit default settings should be maintained.

BUG=b:378775630
TEST=emerge-nissa coreboot chromeos-bootimage

Change-Id: I9f8344288a1811bddce702c16a244e3d4a59f195
Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85276
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-11-25 04:12:17 +00:00
Subrata Banik
bb7e2befa3 mb/google/fatcat: Move CSE sync at payload
The CSE sync in the payload would allow CrOS devices to render the user notification when updating. Currently, CrOS devices typically take 8-20 seconds to do a CSE sync.

BUG=b:380220737
TEST=Able to build and boot google/fatcat.

Change-Id: I8f1dd2e153ed0f1e671699002cf34a58d758ce2f
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85233
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-23 02:21:42 +00:00
Stanislaw Kardach
2cc9eb16e2 mb/google/brya/var/redrix: Add ACPI fan definitions
Add entries in overridetree.cb required for exposing fan control via
ACPI, which is used then by acpi-fan driver in Linux kernel. This
includes:
1. Fan duty-cycle/rpm table. The RPM numbers were adjusted to the values
   reported by ACPI on different duty cycle levels.
2. Dummy Active DPTF policy. This is required to mark the TFNx devices
   as active and therefore let the acpi-fan driver probe.

BUG=b:358089775
TEST=Build and flash on redrix and check /sys/class/thermal for TFN1

Change-Id: Iaeffe8bc48cd8cd800efa7be29ec81447ecf2935
Signed-off-by: Stanislaw Kardach <skardach@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85175
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <ericllai@google.com>
2024-11-22 02:52:35 +00:00
Roger Wang
51e3838c78 mb/google/nissa/var/pujjoga: Turn off camera during S0ix
Add a variant specific S0ix hook to fill the SSDT table to disable and
enable camera during suspend and resume respectively. For safety concern, 
our client LENOVO want us to follow the Boten project to create the function.

BUG=b:378525209
TEST=Build Pujjoga BIOS image. Ensure that camera is disabled during
suspend and enabled during resume. Do the powerd_dbus_suspend and 
measure the camera power 3.3V which is disable. And resume will recover.

Change-Id: I7c7f5d314e8b2a4d5f72c452128f6c4b57c45993
Signed-off-by: Roger Wang <roger2.wang@lcfc.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85133
Reviewed-by: Eric Lai <ericllai@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-22 02:52:06 +00:00
Ian Feng
307801d8dc mb/google/fatcat/var/francka: Add memory DQ map
Follow latest schematics MB_SCH_1102A to add the DQ map.

BUG=b:372395010
TEST=emerge-fatcat coreboot

Change-Id: I2ea0c5a07d83df108e41fc838e702b793c878096
Signed-off-by: Ian Feng <ian_feng@compal.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85205
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Pranava Y N <pranavayn@google.com>
2024-11-22 02:51:44 +00:00
Amanda Huang
2d4f196ca7 mb/google/fatcat/var/francka: Use RAM ID 1 for MT62F2G32D4DS-020 WT:F
Change the ram_id to 1 for MT62F2G32D4DS-020 WT:F based on the
hardware schematic MB_SCH_1102A.

BUG=b:372395010
TEST=Run part_id_gen tool and check the generated files.

Change-Id: I8cf0e65036c2da7641f29b2975dece718f7c83e3
Signed-off-by: Amanda Huang <amanda_hwang@compal.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85206
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Dtrain Hsu <dtrain_hsu@compal.corp-partner.google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-22 02:51:38 +00:00
Subrata Banik
dc534e2153 mb/google/fatcat/var/fatcat: Enable UFS controller
This commit enables the UFS controller on the Google Fatcat mainboard
based on FW_CONFIG.

This change allows the system to utilize the UFS storage device.

TEST=Built google/fatcat with UFS enabled.

Change-Id: Ib32523e7865b2ea23d990b2cf9b7406a4d6ecde3
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85192
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2024-11-22 02:49:31 +00:00
Subrata Banik
acbde33513 soc/intel/pantherlake: Add option to enable UFS controller
This patch adds a Kconfig option to enable the UFS controller for
mainboards using the Intel Panther Lake-UH SoC.

By default, the UFS controller is disabled as it is not supported by
other SoC configurations. This prevents accidental enabling of the
UFS controller on unsupported platforms.

BUG=b:379828045
TEST=Built google/fatcat with and without UFS enabled.

Change-Id: Ica89ae85582367809128fc6cf0cd5fe5d40a2235
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85191
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-22 02:49:25 +00:00
Subrata Banik
e7264110a6 soc/intel/cmn/acpi: Use Kconfig guards for UFS workarounds
This change introduces Kconfig guards around the UFS workaround code
in the common ACPI ASL file. This ensures that these workarounds are
only applied when necessary, allowing future SoCs with UFS controllers
to reuse the common ASL file without modification.

By using Kconfig, we can enable or disable the workarounds based on
the specific SoC configuration, providing greater flexibility and
maintainability.

BUG=b:379828045
TEST=Able to compile google/fatcat.

Change-Id: I968b8811e508378a36648bd8234ff0fd7237b00d
Signed-off-by: Subrata Banik <subratabanik@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85208
Reviewed-by: Pranava Y N <pranavayn@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-22 02:49:19 +00:00
Jeremy Compostella
43ce2c0023 vc/google/chromeos/sar: Use size_t instead of int for size function
BUG=b:346600091
TEST=Compilation successful

Change-Id: Iebe95815c944d045f4cf686abcd1874a8a45e225
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85178
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
2024-11-21 17:46:07 +00:00
Yu-Ping Wu
37d4d7ab11 soc/mediatek: Rename FREQ_*MHZ to PMIF_TARGET_FREQ_MHZ
Enum is useful for improving readability because of the meaningful enum
names. Names such as "FREQ_260MHZ = 260", however, don't provide any
extra information of the value itself. Therefore, rename those enums to
PMIF_TARGET_FREQ_MHZ to better reflect its usage.

Change-Id: I420b909a76973a040b96feb2bcb93d3640b086b5
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85204
Reviewed-by: Yidi Lin <yidilin@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2024-11-21 16:13:48 +00:00
Yu-Ping Wu
4ed67d92eb soc/mediatek: Rename pmif_ulposc_* function arguments
Rename the arguments of pmif_ulposc_check() and pmif_ulposc_cali()
to make the frequency unit clearer.

Change-Id: I7719fd4dc43edd47bf014af13fb57ad38f43778c
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/85203
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yidi Lin <yidilin@google.com>
2024-11-21 16:13:42 +00:00
Alicja Michalska
3d79bced95 mb/topton/adl: Add initial support for X2F N100 FW appliance
X2F-N100 is an embedded device/firewall with Intel N100 SoC and
4x 2.5Gb Intel I226-V NICs.

Currently tested and working:
- Payload (EDK2)
- Suspend (S3 state)
- All USB ports
- 4x NICs
- M.2 NVME
- mPCI-E (WiFi/modem)
- 4G USB modem in mPCI-E slot
- PCI-E passtrough to VMs (NICs)
- HDMI/DP output + HDA audio

OS:
- Alpine Linux
- Windows 11 Pro (from USB)

Untested, looks sane:
- Internal USB port on M.2 slot marked as "5G_USB"

Broken/TODO:
- SATA EDK2 reports "Unsupported", drive's not detected.
- Suspend in Windows (statements dreamed up by the utterly deranged)

Change-Id: Ic5cd2060c1635b79cb28ffe294220b63ad2bab65
Signed-off-by: Alicja Michalska <alicja.michalska@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84175
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Alicja Michalska <ahplka19@gmail.com>
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
2024-11-21 15:49:22 +00:00