diff options
author | eddielan <eddielan@google.com> | 2021-05-19 21:52:32 +0800 |
---|---|---|
committer | eddielan <eddielan@google.com> | 2021-05-20 08:57:25 +0800 |
commit | b6aad74e5fb83080ff7808c92df349443b406539 (patch) | |
tree | 89b06ab6b2b530baadc62fea007564fb001d615e | |
parent | 0d9550dd234087646e320d6c795e94f29d66cdcb (diff) | |
download | fpc-b6aad74e5fb83080ff7808c92df349443b406539.tar.gz |
fingerprint: fpc: Config power down mode for rst pinandroid-u-preview-1_r0.4android-u-preview-1_r0.3android-u-preview-1_r0.2android-t-qpr2-beta-3_r0.5android-t-qpr2-beta-3_r0.4android-t-qpr2-beta-3_r0.3android-t-qpr2-beta-3.2_r0.6android-t-qpr2-beta-3.2_r0.5android-t-qpr2-beta-3.2_r0.4android-t-qpr2-beta-2_r0.5android-t-qpr2-beta-2_r0.4android-t-qpr2-beta-2_r0.3android-t-qpr2-beta-1_r0.6android-t-qpr2-beta-1_r0.5android-t-qpr2-beta-1_r0.4android-t-qpr1-beta-3_r0.4android-t-qpr1-beta-3_r0.3android-t-qpr1-beta-2_r0.5android-t-qpr1-beta-2_r0.4android-t-qpr1-beta-1_r0.4android-t-qpr1-beta-1_r0.3android-t-preview-2_r0.4android-t-preview-1_r0.4android-t-beta-4_r0.6android-t-beta-4_r0.5android-t-beta-4_r0.4android-t-beta-3_r0.4android-t-beta-3.3_r0.4android-t-beta-3.2_r0.4android-t-beta-2_r0.4android-t-beta-1_r0.4android-s-v2-beta-3_r0.6android-s-qpr3-beta-3_r0.5android-s-qpr3-beta-2_r0.5android-s-qpr3-beta-1_r0.6android-s-qpr3-beta-1_r0.5android-13.0.0_r0.91android-13.0.0_r0.77android-13.0.0_r0.75android-13.0.0_r0.74android-13.0.0_r0.73android-13.0.0_r0.70android-13.0.0_r0.69android-13.0.0_r0.68android-13.0.0_r0.65android-13.0.0_r0.64android-13.0.0_r0.63android-13.0.0_r0.59android-13.0.0_r0.58android-13.0.0_r0.54android-13.0.0_r0.53android-13.0.0_r0.5android-13.0.0_r0.49android-13.0.0_r0.48android-13.0.0_r0.44android-13.0.0_r0.43android-13.0.0_r0.4android-13.0.0_r0.20android-13.0.0_r0.19android-13.0.0_r0.15android-13.0.0_r0.14android-12.1.0_r0.6android-12.1.0_r0.40android-12.1.0_r0.35android-12.1.0_r0.28android-12.1.0_r0.22android-12.1.0_r0.16android-12.0.0_r0.9android-12.0.0_r0.8android-12.0.0_r0.42android-12.0.0_r0.36android-12.0.0_r0.26android-12.0.0_r0.17android-12.0.0_r0.16main-16k-gs-raviole-5.10android13-gs-raviole-5.15android-gs-tangorpro-5.10-android13-d2android-gs-raviole-mainlineandroid-gs-raviole-5.10-u-preview-1android-gs-raviole-5.10-t-qpr2-beta-3.2android-gs-raviole-5.10-t-qpr2-beta-1android-gs-raviole-5.10-t-qpr1-beta-2android-gs-raviole-5.10-t-preview-2android-gs-raviole-5.10-t-preview-1android-gs-raviole-5.10-t-beta-4android-gs-raviole-5.10-t-beta-3android-gs-raviole-5.10-t-beta-2android-gs-raviole-5.10-t-beta-1android-gs-raviole-5.10-s-v2-beta-3android-gs-raviole-5.10-s-qpr3-beta-3android-gs-raviole-5.10-s-qpr3-beta-2android-gs-raviole-5.10-android13-qpr2-betaandroid-gs-raviole-5.10-android13-qpr2android-gs-raviole-5.10-android13-qpr1-beta-3android-gs-raviole-5.10-android13-qpr1-betaandroid-gs-raviole-5.10-android13-qpr1android-gs-raviole-5.10-android13android-gs-raviole-5.10-android12Landroid-gs-raviole-5.10-android12-qpr3android-gs-raviole-5.10-android12-qpr1-dandroid-gs-raviole-5.10-android12-d1android-gs-pantah-5.10-u-preview-1android-gs-pantah-5.10-t-qpr2-beta-3.2android-gs-pantah-5.10-t-qpr2-beta-1android-gs-pantah-5.10-android13-qpr2-betaandroid-gs-pantah-5.10-android13-qpr2android-gs-lynx-5.10-android13-qpr2-bandroid-gs-bluejay-5.10-u-preview-1android-gs-bluejay-5.10-t-qpr2-beta-3android-gs-bluejay-5.10-t-qpr2-beta-1android-gs-bluejay-5.10-t-qpr1-beta-2android-gs-bluejay-5.10-t-beta-4android-gs-bluejay-5.10-android13-qpr2-betaandroid-gs-bluejay-5.10-android13-qpr2android-gs-bluejay-5.10-android13-qpr1-beta-3android-gs-bluejay-5.10-android13-qpr1-betaandroid-gs-bluejay-5.10-android13-qpr1android-gs-bluejay-5.10-android13android-gs-bluejay-5.10-android12L-d2
pin 131 (gpp4-3) 3:gpp4 CON(0x1) DAT(0x1) PUD(0x1) DRV(0x0) CON_PDN(0x1) PUD_PDN(0x3)
Bug: 187150932
Test: build pass, verify on device
Change-Id: I7c21a7f7e4350a0e209125b168ce94af11835826
-rw-r--r-- | fpc1020_platform_tee.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/fpc1020_platform_tee.c b/fpc1020_platform_tee.c index a7a8338..43e631d 100644 --- a/fpc1020_platform_tee.c +++ b/fpc1020_platform_tee.c @@ -48,6 +48,8 @@ #define NUM_PARAMS_REG_ENABLE_SET 2 +const char *rst_gpio_power_down_state = "rst,power_down"; + struct vreg_config { char *name; unsigned long vmin; @@ -72,6 +74,8 @@ struct fpc1020_data { struct mutex lock; /* To set/get exported values in sysfs */ bool prepared; atomic_t wakeup_enabled; /* Used both in ISR and non-ISR */ + struct pinctrl *rst_pinctrl; + struct pinctrl_state *rst_state; }; static int vreg_setup(struct fpc1020_data *fpc1020, const char *name, @@ -466,6 +470,34 @@ static int fpc1020_config_gpio(struct fpc1020_data *fpc1020) } +static int config_rst_power_down(struct fpc1020_data *fpc_data) { + + struct device *dev = fpc_data->dev; + int result = 0; + + fpc_data->rst_pinctrl = devm_pinctrl_get(dev); + if (IS_ERR(fpc_data->rst_pinctrl)) { + dev_err(dev, "%s: Can't get pinctrl\n",__func__); + return -1; + } + + fpc_data->rst_state = pinctrl_lookup_state(fpc_data->rst_pinctrl, rst_gpio_power_down_state); + if (IS_ERR_OR_NULL(fpc_data->rst_state)) { + dev_err(dev, "%s: Failed to lookup reset lower power state\n",__func__); + return -1; + } + + result = pinctrl_select_state(fpc_data->rst_pinctrl, fpc_data->rst_state); + if (result) { + dev_err(dev, "%s: Can not set %s state\n",__func__, rst_gpio_power_down_state); + return -1; + } + + dev_info(dev, "%s: finish\n",__func__); + return 0; +} + + static int fpc1020_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -491,6 +523,11 @@ static int fpc1020_probe(struct platform_device *pdev) goto exit; } + // Config reset lower power state + rc = config_rst_power_down(fpc1020); + if (rc) + goto exit; + // Request IRQ and Reset pin GPIO rc = fpc1020_request_named_gpio(fpc1020, "fpc,gpio_irq", &fpc1020->irq_gpio); |