Martin Roth has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
mb/google/zork: Add func to determine fingerprint gpio init
Because fingerprint sensor isn't a CBI field, it needs to be determined by board and SKU. Berknip is the only board that some SKUs have a fingerprint sensor and others don't.
BUG=b:171837716 TEST=Verify that morphius fingerprint sensor works and Berknip SKU_0 does not show fingerprint as an option. BRANCH=Zork
Signed-off-by: Martin Roth martinroth@chromium.org Change-Id: Ia5200e3bcfe3a2beac9b3b6d7803aeac9dfc59e6 --- M src/mainboard/google/zork/variants/baseboard/helpers.c M src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h M src/mainboard/google/zork/variants/berknip/Makefile.inc M src/mainboard/google/zork/variants/berknip/variant.c M src/mainboard/google/zork/variants/morphius/Makefile.inc M src/mainboard/google/zork/variants/morphius/variant.c 6 files changed, 54 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/09/47309/1
diff --git a/src/mainboard/google/zork/variants/baseboard/helpers.c b/src/mainboard/google/zork/variants/baseboard/helpers.c index 7071035..4ef222c 100644 --- a/src/mainboard/google/zork/variants/baseboard/helpers.c +++ b/src/mainboard/google/zork/variants/baseboard/helpers.c @@ -149,3 +149,11 @@ { return extract_field(FW_CONFIG_MASK_DB_INDEX, FW_CONFIG_DB_INDEX_SHIFT); } + +__weak int variant_init_fingerprint(void) +{ + /* Default to no fingerprint sensor */ + printk(BIOS_DEBUG, "Default gpio_init_fingerprint to disabled.\n"); + + return 0; +} diff --git a/src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h index 5c040d3..61c8b3c 100644 --- a/src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h +++ b/src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h @@ -36,6 +36,9 @@ */ const struct soc_amd_gpio *variant_sleep_gpio_table(size_t *size, int slp_typ);
+/* Determine whether to init fingerprint sensor or not */ +int variant_init_fingerprint(void); + /* Modify devictree settings during ramstage. */ void variant_devtree_update(void); /* Update audio configuration in devicetree during ramstage. */ diff --git a/src/mainboard/google/zork/variants/berknip/Makefile.inc b/src/mainboard/google/zork/variants/berknip/Makefile.inc index 51d19fe..a478eb3 100644 --- a/src/mainboard/google/zork/variants/berknip/Makefile.inc +++ b/src/mainboard/google/zork/variants/berknip/Makefile.inc @@ -4,3 +4,6 @@
ramstage-y += gpio.c ramstage-y += variant.c + +bootblock-y += gpio.c +bootblock-y += variant.c diff --git a/src/mainboard/google/zork/variants/berknip/variant.c b/src/mainboard/google/zork/variants/berknip/variant.c index 092ff26..ec31cbc 100644 --- a/src/mainboard/google/zork/variants/berknip/variant.c +++ b/src/mainboard/google/zork/variants/berknip/variant.c @@ -1,16 +1,33 @@ /* SPDX-License-Identifier: GPL-2.0-or-later */
#include <baseboard/variants.h> +#include <ec/google/chromeec/ec.h>
void variant_devtree_update(void) { struct soc_amd_picasso_config *cfg;
- cfg = config_of_soc(); + if (ENV_RAMSTAGE) { + cfg = (struct soc_amd_picasso_config *)config_of_soc();
- /* - * Enable eMMC if eMMC bit is set in FW_CONFIG or device is unprovisioned. - */ - if (!(variant_has_emmc() || boot_is_factory_unprovisioned())) - cfg->emmc_config.timing = SD_EMMC_DISABLE; + /* + * Enable eMMC if eMMC bit is set in FW_CONFIG or device is unprovisioned. + */ + if (!(variant_has_emmc() || boot_is_factory_unprovisioned())) + cfg->emmc_config.timing = SD_EMMC_DISABLE; + } +} + +#define BERKNIP_SKU0_ID 0x5A030020 + +/* Identify which SKUs have fingerprint */ +int variant_init_fingerprint(void) +{ + uint32_t sku; + if (google_chromeec_cbi_get_sku_id(&sku) == 0) { + if (sku == BERKNIP_SKU0_ID) + return 0; + } + + return 1; } diff --git a/src/mainboard/google/zork/variants/morphius/Makefile.inc b/src/mainboard/google/zork/variants/morphius/Makefile.inc index 51d19fe..a478eb3 100644 --- a/src/mainboard/google/zork/variants/morphius/Makefile.inc +++ b/src/mainboard/google/zork/variants/morphius/Makefile.inc @@ -4,3 +4,6 @@
ramstage-y += gpio.c ramstage-y += variant.c + +bootblock-y += gpio.c +bootblock-y += variant.c diff --git a/src/mainboard/google/zork/variants/morphius/variant.c b/src/mainboard/google/zork/variants/morphius/variant.c index 092ff26..ab2adba 100644 --- a/src/mainboard/google/zork/variants/morphius/variant.c +++ b/src/mainboard/google/zork/variants/morphius/variant.c @@ -6,11 +6,19 @@ { struct soc_amd_picasso_config *cfg;
- cfg = config_of_soc(); + if (ENV_RAMSTAGE) { + cfg = (struct soc_amd_picasso_config *)config_of_soc();
- /* - * Enable eMMC if eMMC bit is set in FW_CONFIG or device is unprovisioned. - */ - if (!(variant_has_emmc() || boot_is_factory_unprovisioned())) - cfg->emmc_config.timing = SD_EMMC_DISABLE; + /* + * Enable eMMC if eMMC bit is set in FW_CONFIG or device is unprovisioned. + */ + if (!(variant_has_emmc() || boot_is_factory_unprovisioned())) + cfg->emmc_config.timing = SD_EMMC_DISABLE; + } +} + +int variant_init_fingerprint(void) +{ + /* All Morphius SKUs have a fingerprint sensor */ + return 1; }
Martin Roth has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 2:
(1 comment)
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/berknip/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 10: if (ENV_RAMSTAGE) { : cfg = (struct soc_amd_picasso_config *)config_of_soc(); This should be basically a NOP in ramstage, but is needed to compile in bootblock. I can split it out into a separate commit if anyone feels it's needed.
Martin Roth has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 2:
(1 comment)
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/berknip/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 10: if (ENV_RAMSTAGE) { : cfg = (struct soc_amd_picasso_config *)config_of_soc();
This should be basically a NOP in ramstage, but is needed to compile in bootblock. […]
Meant to mark as resolved.
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 2:
(5 comments)
https://review.coreboot.org/c/coreboot/+/47309/2//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/47309/2//COMMIT_MSG@9 PS2, Line 9: Because fingerprint sensor isn't a CBI field, it needs to be determined : by board and SKU. Why are we not adding a FW_CONFIG field for it? If firmware needs information about it for configuration, then it should be allocated space in the FW_CONFIG field.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h:
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 34: init Looking at the way this function is used, I think it should be named variant_has_fingerprint() just like the functions on lines 60-64.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 34: int What does the return value indicate?
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/berknip/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 10: if (ENV_RAMSTAGE) { : cfg = (struct soc_amd_picasso_config *)config_of_soc();
Meant to mark as resolved.
Why is the check for ENV_RAMSTAGE needed at all? variant_devtree_update() gets called only from ramstage already.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 21: BERKNIP_SKU0_ID 0x5A030020 I don't think we should use SKU_ID for this. This defeats the purpose of having FW_CONFIG.
Martin Roth has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 2:
(5 comments)
https://review.coreboot.org/c/coreboot/+/47309/2//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/47309/2//COMMIT_MSG@9 PS2, Line 9: Because fingerprint sensor isn't a CBI field, it needs to be determined : by board and SKU.
Why are we not adding a FW_CONFIG field for it? If firmware needs information about it for configura […]
I mentioned this in another message, but the decision was made not to add it, and a number of boards are already in use without the CBI field. Even if we add it now, we're still going to need to look at the SKU ids unless we decide just not to support those boards.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h:
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 34: int
What does the return value indicate?
I'll add a comment here.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 34: init
Looking at the way this function is used, I think it should be named variant_has_fingerprint() just […]
sounds good. will update.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/berknip/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 10: if (ENV_RAMSTAGE) { : cfg = (struct soc_amd_picasso_config *)config_of_soc();
Why is the check for ENV_RAMSTAGE needed at all? variant_devtree_update() gets called only from rams […]
It's not strictly required. I'll be glad to remove it if you want.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 21: BERKNIP_SKU0_ID 0x5A030020
I don't think we should use SKU_ID for this. This defeats the purpose of having FW_CONFIG.
Yes, I totally agree. I asked for a fingerprint bit in the FW_CONFIG, but when it was implemented, the decision was made that we didn't need to know that, so it wasn't added. Now we have a number of boards made without the bit showing whether or not we have the fingerprint sensor. It's *VERY* difficult to go back at this point and add that to all those boards. We could look at adding it to new boards going forward, but I think this will probably have to remain.
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 2:
(2 comments)
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/berknip/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 10: if (ENV_RAMSTAGE) { : cfg = (struct soc_amd_picasso_config *)config_of_soc();
It's not strictly required. I'll be glad to remove it if you want.
I think we should let the linker optimize things out rather than adding ENV_RAMSTAGE checks.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 21: BERKNIP_SKU0_ID 0x5A030020
Yes, I totally agree. […]
Okay. Taking a step back: Do we really need to differentiate between SKUs with and without fingerprint. The only thing this information is used for in firmware is to configure FPMCU enable and reset GPIOs differently. On the SKUs where there is no fingerprint, I think it is okay to still configure the enable and reset lines in a similar way. Those SKUs will have the lines not connected to anything, so there should not be any harm.
I think we can simply add a Kconfig VARIANT_HAS_FINGERPRINT and use that to configure pads either as NC if the variant doesn't set the Kconfig. Else, configure the pads as per the sequencing required.
The reason why I am asking not to check SKU ID here is because if there is a new SKU for the variant that has fingerprint then it will require change to coreboot which means a firmware re-qualification, which is unnecessary. Instead we can have the variant always assume that pads for fingerprint need to be configured if any SKU requires it.
Martin Roth has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 2:
(5 comments)
https://review.coreboot.org/c/coreboot/+/47309/2//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/47309/2//COMMIT_MSG@9 PS2, Line 9: Because fingerprint sensor isn't a CBI field, it needs to be determined : by board and SKU.
I mentioned this in another message, but the decision was made not to add it, and a number of boards […]
Updated commit message based on other changes.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h:
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 34: int
I'll add a comment here.
Updated comment.
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 34: init
sounds good. will update.
Done
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/berknip/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 10: if (ENV_RAMSTAGE) { : cfg = (struct soc_amd_picasso_config *)config_of_soc();
I think we should let the linker optimize things out rather than adding ENV_RAMSTAGE checks.
Done
https://review.coreboot.org/c/coreboot/+/47309/2/src/mainboard/google/zork/v... PS2, Line 21: BERKNIP_SKU0_ID 0x5A030020
Okay. […]
Sounds good. I'll update it to always enable fingerprint.
Hello build bot (Jenkins), Furquan Shaikh, Patrick Georgi, Eric Peers,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/47309
to look at the new patch set (#3).
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
mb/google/zork: Add func to determine fingerprint gpio init
Because fingerprint sensor isn't a CBI field, it needs to be determined by the board.
BUG=b:171837716 TEST=Verify that morphius fingerprint sensor works. BRANCH=Zork
Signed-off-by: Martin Roth martinroth@chromium.org Change-Id: Ia5200e3bcfe3a2beac9b3b6d7803aeac9dfc59e6 --- M src/mainboard/google/zork/variants/baseboard/helpers.c M src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h M src/mainboard/google/zork/variants/berknip/Makefile.inc M src/mainboard/google/zork/variants/berknip/variant.c M src/mainboard/google/zork/variants/morphius/Makefile.inc M src/mainboard/google/zork/variants/morphius/variant.c 6 files changed, 28 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/09/47309/3
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 3: Code-Review+2
(3 comments)
https://review.coreboot.org/c/coreboot/+/47309/3//COMMIT_MSG Commit Message:
https://review.coreboot.org/c/coreboot/+/47309/3//COMMIT_MSG@10 PS3, Line 10: by the board. Probably add the detail that variant_has_fingerprint returns true even if fingerprint is present only on some SKUs of a variant. This is to ensure that fingerprint GPIOs are configured for that variant target without really encoding SKU information.
https://review.coreboot.org/c/coreboot/+/47309/3/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/berknip/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/3/src/mainboard/google/zork/v... PS3, Line 9: (struct soc_amd_picasso_config *) I don't think this is required.
https://review.coreboot.org/c/coreboot/+/47309/3/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/morphius/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/3/src/mainboard/google/zork/v... PS3, Line 9: (struct soc_amd_picasso_config *) same here.
Hello build bot (Jenkins), Furquan Shaikh, Patrick Georgi, Eric Peers,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/47309
to look at the new patch set (#4).
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
mb/google/zork: Add func to determine fingerprint gpio init
Because fingerprint sensor isn't a CBI field, it needs to be determined by the board.
BUG=b:171837716 TEST=Verify that morphius fingerprint sensor works. BRANCH=Zork
Signed-off-by: Martin Roth martinroth@chromium.org Change-Id: Ia5200e3bcfe3a2beac9b3b6d7803aeac9dfc59e6 --- M src/mainboard/google/zork/variants/baseboard/helpers.c M src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h M src/mainboard/google/zork/variants/berknip/Makefile.inc M src/mainboard/google/zork/variants/berknip/variant.c M src/mainboard/google/zork/variants/morphius/Makefile.inc M src/mainboard/google/zork/variants/morphius/variant.c 6 files changed, 31 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/09/47309/4
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 4:
(1 comment)
https://review.coreboot.org/c/coreboot/+/47309/4/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/baseboard/helpers.c:
https://review.coreboot.org/c/coreboot/+/47309/4/src/mainboard/google/zork/v... PS4, Line 157: } : return 0; bad rebase?
Keith Tzeng has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 4:
(1 comment)
https://review.coreboot.org/c/coreboot/+/47309/4/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/morphius/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/4/src/mainboard/google/zork/v... PS4, Line 20: /* All Morphius SKUs have a fingerprint sensor */ Morphius is actually with both FP & non-FP SKUs.
Hello build bot (Jenkins), Furquan Shaikh, Patrick Georgi, Eric Peers,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/47309
to look at the new patch set (#5).
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
mb/google/zork: Add func to determine fingerprint gpio init
Because fingerprint sensor isn't a CBI field, it needs to be determined by the board.
BUG=b:171837716 TEST=Verify that morphius fingerprint sensor works. BRANCH=Zork
Signed-off-by: Martin Roth martinroth@chromium.org Change-Id: Ia5200e3bcfe3a2beac9b3b6d7803aeac9dfc59e6 --- M src/mainboard/google/zork/variants/baseboard/helpers.c M src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h M src/mainboard/google/zork/variants/berknip/Makefile.inc M src/mainboard/google/zork/variants/berknip/variant.c M src/mainboard/google/zork/variants/morphius/Makefile.inc M src/mainboard/google/zork/variants/morphius/variant.c 6 files changed, 29 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/09/47309/5
Martin Roth has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 5:
(2 comments)
https://review.coreboot.org/c/coreboot/+/47309/4/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/baseboard/helpers.c:
https://review.coreboot.org/c/coreboot/+/47309/4/src/mainboard/google/zork/v... PS4, Line 157: } : return 0;
bad rebase?
Yah. Thanks!
https://review.coreboot.org/c/coreboot/+/47309/4/src/mainboard/google/zork/v... File src/mainboard/google/zork/variants/morphius/variant.c:
https://review.coreboot.org/c/coreboot/+/47309/4/src/mainboard/google/zork/v... PS4, Line 20: /* All Morphius SKUs have a fingerprint sensor */
Morphius is actually with both FP & non-FP SKUs.
Updated comment.
Furquan Shaikh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Patch Set 5: Code-Review+2
Hello build bot (Jenkins), Furquan Shaikh, Patrick Georgi, Eric Peers,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/47309
to look at the new patch set (#6).
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
mb/google/zork: Add func to determine fingerprint gpio init
Because fingerprint sensor isn't a CBI field, it needs to be determined by the board. On boards that have a fingerprint on any SKUs, the variant_has_fingerprint() function returns true for all devices. This just controls GPIOs that will not be used if there's no sensor so it shouldn't be a problem.
BUG=b:171837716 TEST=Verify that morphius fingerprint sensor works. BRANCH=Zork
Signed-off-by: Martin Roth martinroth@chromium.org Change-Id: Ia5200e3bcfe3a2beac9b3b6d7803aeac9dfc59e6 --- M src/mainboard/google/zork/variants/baseboard/helpers.c M src/mainboard/google/zork/variants/baseboard/include/baseboard/variants.h M src/mainboard/google/zork/variants/berknip/Makefile.inc M src/mainboard/google/zork/variants/berknip/variant.c M src/mainboard/google/zork/variants/morphius/Makefile.inc M src/mainboard/google/zork/variants/morphius/variant.c 6 files changed, 29 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/09/47309/6
Martin Roth has abandoned this change. ( https://review.coreboot.org/c/coreboot/+/47309 )
Change subject: mb/google/zork: Add func to determine fingerprint gpio init ......................................................................
Abandoned
No longer needed.