Sean Rhodes has submitted this change. ( https://review.coreboot.org/c/coreboot/+/85703?usp=email )
Change subject: mb/starlabs/*: Add a CMOS option to disable the GNA ......................................................................
mb/starlabs/*: Add a CMOS option to disable the GNA
Add an option, which defaults to disabled, to control whether the GNA (Gaussian Neural Accelerator) is enabled. This is a device that designed to handle AI tasks.
Change-Id: I99f015cf1b5e21e8b524c4aa9bd3e94f86908ca1 Signed-off-by: Sean Rhodes sean@starlabs.systems Reviewed-on: https://review.coreboot.org/c/coreboot/+/85703 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Matt DeVillier matt.devillier@gmail.com --- M src/mainboard/starlabs/byte_adl/cmos.default M src/mainboard/starlabs/byte_adl/cmos.layout M src/mainboard/starlabs/byte_adl/variants/mk_ii/devtree.c M src/mainboard/starlabs/starbook/cmos.default M src/mainboard/starlabs/starbook/cmos.layout M src/mainboard/starlabs/starbook/variants/adl/devtree.c M src/mainboard/starlabs/starbook/variants/rpl/devtree.c M src/mainboard/starlabs/starbook/variants/tgl/devtree.c M src/mainboard/starlabs/starfighter/cmos.default M src/mainboard/starlabs/starfighter/cmos.layout M src/mainboard/starlabs/starfighter/variants/rpl/devtree.c M src/mainboard/starlabs/starlite_adl/cmos.default M src/mainboard/starlabs/starlite_adl/cmos.layout M src/mainboard/starlabs/starlite_adl/variants/mk_v/devtree.c 14 files changed, 39 insertions(+), 0 deletions(-)
Approvals: Matt DeVillier: Looks good to me, approved build bot (Jenkins): Verified
diff --git a/src/mainboard/starlabs/byte_adl/cmos.default b/src/mainboard/starlabs/byte_adl/cmos.default index 43a1394..619729f 100644 --- a/src/mainboard/starlabs/byte_adl/cmos.default +++ b/src/mainboard/starlabs/byte_adl/cmos.default @@ -11,3 +11,4 @@ # Devices wireless=Enable webcam=Enable +gna=Disable diff --git a/src/mainboard/starlabs/byte_adl/cmos.layout b/src/mainboard/starlabs/byte_adl/cmos.layout index 0b4984d..d780f6a 100644 --- a/src/mainboard/starlabs/byte_adl/cmos.layout +++ b/src/mainboard/starlabs/byte_adl/cmos.layout @@ -27,6 +27,7 @@
# coreboot config options: Devices 504 1 e 1 wireless +512 1 e 1 gna
# coreboot config options: check sums 984 16 h 0 check_sum diff --git a/src/mainboard/starlabs/byte_adl/variants/mk_ii/devtree.c b/src/mainboard/starlabs/byte_adl/variants/mk_ii/devtree.c index 88e8f3a..d762e75 100644 --- a/src/mainboard/starlabs/byte_adl/variants/mk_ii/devtree.c +++ b/src/mainboard/starlabs/byte_adl/variants/mk_ii/devtree.c @@ -20,6 +20,7 @@ &cfg->power_limits_config[ADL_N_041_6W_CORE];
struct device *nic_dev = pcidev_on_root(0x14, 3); + struct device *gna_dev = pcidev_on_root(0x08, 0);
uint8_t performance_scale = 100;
@@ -53,4 +54,8 @@ cfg->usb2_ports[9].enable = 0; nic_dev->enabled = 0; } + + /* Enable/Disable GNA based on CMOS settings */ + if (get_uint_option("gna", 0) == 0) + gna_dev->enabled = 0; } diff --git a/src/mainboard/starlabs/starbook/cmos.default b/src/mainboard/starlabs/starbook/cmos.default index 8cb7190..5959948 100644 --- a/src/mainboard/starlabs/starbook/cmos.default +++ b/src/mainboard/starlabs/starbook/cmos.default @@ -18,6 +18,7 @@ fingerprint_reader=Enable card_reader=Enable lid_switch=Enable +gna=Disable # EC kbl_timeout=30 seconds fn_ctrl_swap=Disable diff --git a/src/mainboard/starlabs/starbook/cmos.layout b/src/mainboard/starlabs/starbook/cmos.layout index 55b1629..1f8f247 100644 --- a/src/mainboard/starlabs/starbook/cmos.layout +++ b/src/mainboard/starlabs/starbook/cmos.layout @@ -35,6 +35,7 @@ 542 1 e 1 fingerprint_reader 550 1 e 1 card_reader 558 1 e 1 lid_switch +566 1 e 1 gna
# coreboot config options: EC 600 3 e 4 kbl_timeout diff --git a/src/mainboard/starlabs/starbook/variants/adl/devtree.c b/src/mainboard/starlabs/starbook/variants/adl/devtree.c index b83f6ad..c563d2d 100644 --- a/src/mainboard/starlabs/starbook/variants/adl/devtree.c +++ b/src/mainboard/starlabs/starbook/variants/adl/devtree.c @@ -22,6 +22,8 @@ struct soc_power_limits_config *soc_conf_12core = &cfg->power_limits_config[ADL_P_682_28W_CORE];
+ struct device *gna_dev = pcidev_on_root(0x08, 0); + uint8_t performance_scale = 100;
/* Set PL4 to 1.0C */ @@ -69,4 +71,8 @@ /* Enable/Disable Card Reader based on CMOS Settings */ if (get_uint_option("card_reader", 1) == 0) cfg->usb2_ports[3].enable = 0; + + /* Enable/Disable GNA based on CMOS settings */ + if (get_uint_option("gna", 0) == 0) + gna_dev->enabled = 0; } diff --git a/src/mainboard/starlabs/starbook/variants/rpl/devtree.c b/src/mainboard/starlabs/starbook/variants/rpl/devtree.c index 279f4cf..a8ebcde 100644 --- a/src/mainboard/starlabs/starbook/variants/rpl/devtree.c +++ b/src/mainboard/starlabs/starbook/variants/rpl/devtree.c @@ -24,6 +24,7 @@
struct device *tbt_pci_dev = pcidev_on_root(0x07, 0); struct device *tbt_dma_dev = pcidev_on_root(0x0d, 2); + struct device *gna_dev = pcidev_on_root(0x08, 0);
uint8_t performance_scale = 100;
@@ -78,4 +79,8 @@ tbt_pci_dev->enabled = 0; tbt_dma_dev->enabled = 0; } + + /* Enable/Disable GNA based on CMOS settings */ + if (get_uint_option("gna", 0) == 0) + gna_dev->enabled = 0; } diff --git a/src/mainboard/starlabs/starbook/variants/tgl/devtree.c b/src/mainboard/starlabs/starbook/variants/tgl/devtree.c index 6df6900..6b7d423 100644 --- a/src/mainboard/starlabs/starbook/variants/tgl/devtree.c +++ b/src/mainboard/starlabs/starbook/variants/tgl/devtree.c @@ -22,6 +22,7 @@ struct device *nic_dev = pcidev_on_root(0x14, 3); struct device *tbt_pci_dev = pcidev_on_root(0x07, 0); struct device *tbt_dma_dev = pcidev_on_root(0x0d, 2); + struct device *gna_dev = pcidev_on_root(0x08, 0);
uint8_t performance_scale = 100;
@@ -73,4 +74,8 @@ tbt_pci_dev->enabled = 0; tbt_dma_dev->enabled = 0; } + + /* Enable/Disable GNA based on CMOS settings */ + if (get_uint_option("gna", 0) == 0) + gna_dev->enabled = 0; } diff --git a/src/mainboard/starlabs/starfighter/cmos.default b/src/mainboard/starlabs/starfighter/cmos.default index a47d3be..b2f49a5 100644 --- a/src/mainboard/starlabs/starfighter/cmos.default +++ b/src/mainboard/starlabs/starfighter/cmos.default @@ -14,6 +14,7 @@ microphone=Enable pci_hot_plug=Disable lid_switch=Enable +gna=Disable # EC kbl_timeout=30 seconds fn_ctrl_swap=Disable diff --git a/src/mainboard/starlabs/starfighter/cmos.layout b/src/mainboard/starlabs/starfighter/cmos.layout index 27e450d..b161fed 100644 --- a/src/mainboard/starlabs/starfighter/cmos.layout +++ b/src/mainboard/starlabs/starfighter/cmos.layout @@ -31,6 +31,7 @@ 512 1 e 1 webcam 520 1 e 1 microphone 528 1 e 1 lid_switch +536 1 e 1 gna
# coreboot config options: EC 600 3 e 4 kbl_timeout diff --git a/src/mainboard/starlabs/starfighter/variants/rpl/devtree.c b/src/mainboard/starlabs/starfighter/variants/rpl/devtree.c index d4abe940..c9b576a 100644 --- a/src/mainboard/starlabs/starfighter/variants/rpl/devtree.c +++ b/src/mainboard/starlabs/starfighter/variants/rpl/devtree.c @@ -25,6 +25,7 @@ struct device *tbt_pci_dev_0 = pcidev_on_root(0x07, 0); struct device *tbt_pci_dev_1 = pcidev_on_root(0x07, 0); struct device *tbt_dma_dev = pcidev_on_root(0x0d, 2); + struct device *gna_dev = pcidev_on_root(0x08, 0);
uint8_t performance_scale = 100;
@@ -72,4 +73,8 @@ tbt_pci_dev_1->enabled = 0; tbt_dma_dev->enabled = 0; } + + /* Enable/Disable GNA based on CMOS settings */ + if (get_uint_option("gna", 0) == 0) + gna_dev->enabled = 0; } diff --git a/src/mainboard/starlabs/starlite_adl/cmos.default b/src/mainboard/starlabs/starlite_adl/cmos.default index d3c3f80..2a772fc 100644 --- a/src/mainboard/starlabs/starlite_adl/cmos.default +++ b/src/mainboard/starlabs/starlite_adl/cmos.default @@ -16,5 +16,6 @@ microphone=Enable lid_switch=Disable power_led=Normal +gna=Disable # EC charging_speed=0.5C diff --git a/src/mainboard/starlabs/starlite_adl/cmos.layout b/src/mainboard/starlabs/starlite_adl/cmos.layout index 909d7655..60441e0 100644 --- a/src/mainboard/starlabs/starlite_adl/cmos.layout +++ b/src/mainboard/starlabs/starlite_adl/cmos.layout @@ -33,6 +33,7 @@ 528 1 e 1 microphone 536 1 e 1 lid_switch 542 1 e 9 power_led +550 1 e 1 gna
# coreboot config options: EC 600 2 e 6 max_charge diff --git a/src/mainboard/starlabs/starlite_adl/variants/mk_v/devtree.c b/src/mainboard/starlabs/starlite_adl/variants/mk_v/devtree.c index dca182c..4ace9b5 100644 --- a/src/mainboard/starlabs/starlite_adl/variants/mk_v/devtree.c +++ b/src/mainboard/starlabs/starlite_adl/variants/mk_v/devtree.c @@ -22,6 +22,7 @@ struct device *nic_dev = pcidev_on_root(0x14, 3); struct device *touchscreen_dev = pcidev_on_root(0x15, 2); struct device *accelerometer_dev = pcidev_on_root(0x15, 0); + struct device *gna_dev = pcidev_on_root(0x08, 0);
uint8_t performance_scale = 100;
@@ -71,4 +72,8 @@ /* Enable/Disable Accelerometer based on CMOS settings */ if (get_uint_option("accelerometer", 1) == 0) accelerometer_dev->enabled = 0; + + /* Enable/Disable GNA based on CMOS settings */ + if (get_uint_option("gna", 0) == 0) + gna_dev->enabled = 0; }