summaryrefslogtreecommitdiff
path: root/driver/regulator_ir357x.c
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2022-09-21 14:08:36 -0700
committerTom Hughes <tomhughes@chromium.org>2022-09-22 12:59:38 -0700
commitc453fd704268ef72de871b0c5ac7a989de662334 (patch)
treefcf6ce5810f9ff9e3c8cce434812dd75492269ed /driver/regulator_ir357x.c
parent6c1587ca70f558b4f96b3f0b18ad8b027d3ba99d (diff)
parent28712dae9d7ed1e694f7622cc083afa71090d4d5 (diff)
downloadchrome-ec-firmware-fpmcu-dartmonkey-release.tar.gz
Merge remote-tracking branch cros/main into firmware-fpmcu-dartmonkey-releasefirmware-fpmcu-dartmonkey-release
Generated by: ./util/update_release_branch.py --board dartmonkey --relevant_paths_file ./util/fingerprint-relevant-paths.txt firmware-fpmcu-dartmonkey-release Relevant changes: git log --oneline 6c1587ca70..28712dae9d -- board/nocturne_fp board/dartmonkey common/fpsensor docs/fingerprint driver/fingerprint util/getversion.sh ded9307b79 util/getversion.sh: Fix version when not in a git repo 956055e692 board: change Google USB vendor info 71b2ef709d Update license boilerplate text in source code files 33e11afda0 Revert "fpsensor: Build fpsensor source file with C++" c8d0360723 fpsensor: Build fpsensor source file with C++ bc113abd53 fpsensor: Fix g++ compiler error 150a58a0dc fpsensor: Fix fp_set_sensor_mode return type b33b5ce85b fpsensor: Remove nested designators for C++ compatibility 2e864b2539 tree-wide: const-ify argv for console commands 56d8b360f9 test: Add test for get ikm failure when seed not set 3a3d6c3690 test: Add test for fpsensor trivial key failure 233e6bbd08 fpsensor_crypto: Abstract calls to hmac_SHA256 0a041b285b docs/fingerprint: Typo correction c03fab67e2 docs/fingerprint: Fix the path of fputils.py 0b5d4baf5a util/getversion.sh: Fix empty file list handling 6e128fe760 FPMCU dev board environment with Satlab 3eb29b6aa5 builtin: Move ssize_t to sys/types.h 345d62ebd1 docs/fingerprint: Update power numbers for latest dartmonkey release c25ffdb316 common: Conditionally support printf %l and %i modifiers 9a3c514b45 test: Add a test to check if the debugger is connected 54e603413f Move standard library tests to their own file 43fa6b4bf8 docs/fingerprint: Update power numbers for latest bloonchipper release 25536f9a84 driver/fingerprint/fpc/bep/fpc_sensor_spi.c: Format with clang-format 4face99efd driver/fingerprint/fpc/libfp/fpc_sensor_pal.h: Format with clang-format 738de2b575 trng: Rename rand to trng_rand 14b8270edd docs/fingerprint: Update dragonclaw power numbers 0b268f93d1 driver/fingerprint/fpc/libfp/fpc_private.c: Format with clang-format f80da163f2 driver/fingerprint/fpc/libfp/fpc_private.h: Format with clang-format a0751778f4 board/nocturne_fp/ro_workarounds.c: Format with clang-format 5e9c85c9b1 driver/fingerprint/fpc/libfp/fpc_sensor_pal.c: Format with clang-format c1f9dd3cf8 driver/fingerprint/fpc/libfp/fpc_bio_algorithm.h: Format with clang-format eb1e1bed8d driver/fingerprint/fpc/libfp/fpc1145_private.h: Format with clang-format 6e7b611821 driver/fingerprint/fpc/bep/fpc_bio_algorithm.h: Format with clang-format e0589cd5e2 driver/fingerprint/fpc/bep/fpc1035_private.h: Format with clang-format 58f0246dbe board/nocturne_fp/board_ro.c: Format with clang-format 7905e556a0 common/fpsensor/fpsensor_crypto.c: Format with clang-format 21289d170c driver/fingerprint/fpc/bep/fpc1025_private.h: Format with clang-format 98a20f937e common/fpsensor/fpsensor_state.c: Format with clang-format a2d255d8af common/fpsensor/fpsensor.c: Format with clang-format 84e53a65da board/nocturne_fp/board.h: Format with clang-format 73055eeb3f driver/fingerprint/fpc/bep/fpc_private.c: Format with clang-format 0f7b5cb509 common/fpsensor/fpsensor_private.h: Format with clang-format 1ceade6e65 driver/fingerprint/fpc/bep/fpc_private.h: Format with clang-format dca9d74321 Revert "trng: Rename rand to trng_rand" a6b0b3554f trng: Rename rand to trng_rand 28d0b75b70 third_party/boringssl: Remove unused header BRANCH=None BUG=b:244387210 b:242720240 b:215613183 b:242720910 b:236386294 BUG=b:234181908 b:244781166 b:234781655 b:234143158 b:234181908 BUG=b:237344361 b:236025198 b:234181908 b:180945056 chromium:1098010 BUG=b:246424843 b:234181908 b:131913998 TEST=`make -j buildall` TEST=./util/run_device_tests.py --board dartmonkey Test "aes": PASSED Test "cec": PASSED Test "cortexm_fpu": PASSED Test "crc": PASSED Test "flash_physical": PASSED Test "flash_write_protect": PASSED Test "fpsensor_hw": PASSED Test "fpsensor_spi_ro": PASSED Test "fpsensor_spi_rw": PASSED Test "fpsensor_uart_ro": PASSED Test "fpsensor_uart_rw": PASSED Test "mpu_ro": PASSED Test "mpu_rw": PASSED Test "mutex": PASSED Test "pingpong": PASSED Test "printf": PASSED Test "queue": PASSED Test "rollback_region0": PASSED Test "rollback_region1": PASSED Test "rollback_entropy": PASSED Test "rtc": PASSED Test "sha256": PASSED Test "sha256_unrolled": PASSED Test "static_if": PASSED Test "stdlib": PASSED Test "system_is_locked_wp_on": PASSED Test "system_is_locked_wp_off": PASSED Test "timer_dos": PASSED Test "utils": PASSED Test "utils_str": PASSED Test "panic_data_dartmonkey_v2.0.2887": PASSED Test "panic_data_nocturne_fp_v2.2.64": PASSED Test "panic_data_nami_fp_v2.2.144": PASSED Force-Relevant-Builds: all Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I2c312583a709fedae8fe11d92c22328c3b634bc7
Diffstat (limited to 'driver/regulator_ir357x.c')
-rw-r--r--driver/regulator_ir357x.c140
1 files changed, 69 insertions, 71 deletions
diff --git a/driver/regulator_ir357x.c b/driver/regulator_ir357x.c
index 4721146367..24e4e26bbe 100644
--- a/driver/regulator_ir357x.c
+++ b/driver/regulator_ir357x.c
@@ -1,4 +1,4 @@
-/* Copyright 2012 The Chromium OS Authors. All rights reserved.
+/* Copyright 2012 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
@@ -14,7 +14,7 @@
/* Console output macros */
#define CPUTS(outstr) cputs(CC_CHIPSET, outstr)
-#define CPRINTF(format, args...) cprintf(CC_CHIPSET, format, ## args)
+#define CPRINTF(format, args...) cprintf(CC_CHIPSET, format, ##args)
/* I2C address */
#define IR357x_I2C_ADDR_FLAGS 0x08
@@ -25,73 +25,72 @@ struct ir_setting {
};
static struct ir_setting ir3570_settings[] = {
- {0x10, 0x22}, {0x11, 0x22}, {0x12, 0x88}, {0x13, 0x10},
- {0x14, 0x0d}, {0x15, 0x21}, {0x16, 0x21}, {0x17, 0x00},
- {0x18, 0x00}, {0x19, 0x00}, {0x1a, 0x00}, {0x1b, 0x00},
- {0x1c, 0x00}, {0x1d, 0x00}, {0x1e, 0x00}, {0x1f, 0x00},
- {0x20, 0x00}, {0x21, 0x00}, {0x22, 0x60}, {0x23, 0x60},
- {0x24, 0x74}, {0x25, 0x4e}, {0x26, 0xff}, {0x27, 0x80},
- {0x28, 0x00}, {0x29, 0x20}, {0x2a, 0x15}, {0x2b, 0x26},
- {0x2c, 0xb6}, {0x2d, 0x21}, {0x2e, 0x11}, {0x2f, 0x20},
- {0x30, 0xab}, {0x31, 0x14}, {0x32, 0x90}, {0x33, 0x4d},
- {0x34, 0x75}, {0x35, 0x64}, {0x36, 0x64}, {0x37, 0x09},
- {0x38, 0xc4}, {0x39, 0x20}, {0x3a, 0x80}, {0x3b, 0x00},
- {0x3c, 0x00}, {0x3d, 0xaa}, {0x3e, 0x00}, {0x3f, 0x05},
- {0x40, 0x50}, {0x41, 0x40}, {0x42, 0x00}, {0x43, 0x00},
- {0x44, 0x00}, {0x45, 0x00}, {0x46, 0x00}, {0x47, 0x00},
- {0x48, 0x1c}, {0x49, 0x0c}, {0x4a, 0x0f}, {0x4b, 0x40},
- {0x4c, 0x80}, {0x4d, 0x40}, {0x4e, 0x80},
- {0x51, 0x00}, {0x52, 0x45}, {0x53, 0x59},
- {0x54, 0x23}, {0x55, 0xae}, {0x56, 0x68}, {0x57, 0x24},
- {0x58, 0x62}, {0x59, 0x42}, {0x5a, 0x34}, {0x5b, 0x00},
- {0x5c, 0x30}, {0x5d, 0x05}, {0x5e, 0x02}, {0x5f, 0x35},
- {0x60, 0x30}, {0x61, 0x00}, {0x62, 0xd8}, {0x63, 0x00},
- {0x64, 0x52}, {0x65, 0x28}, {0x66, 0x14}, {0x67, 0x87},
- {0x68, 0x80}, {0x69, 0x00}, {0x6a, 0x00}, {0x6b, 0x00},
- {0x6c, 0x00}, {0x6d, 0xff}, {0x6e, 0x06}, {0x6f, 0xff},
- {0x70, 0xff}, {0x71, 0x20}, {0x72, 0x00}, {0x73, 0x01},
- {0x74, 0x00}, {0x75, 0x00}, {0x76, 0x00}, {0x77, 0x00},
- {0x78, 0x00}, {0x79, 0x00}, {0x7a, 0x00}, {0x7b, 0x00},
- {0x7c, 0x15}, {0x7d, 0x15}, {0x7e, 0x00}, {0x7f, 0x00},
- {0x80, 0x00}, {0x81, 0x00}, {0x82, 0x00}, {0x83, 0x00},
- {0x84, 0x00}, {0x85, 0x00}, {0x86, 0x00}, {0x87, 0x00},
- {0x88, 0x88}, {0x89, 0x88}, {0x8a, 0x01}, {0x8b, 0x42},
- {0x8d, 0x00}, {0x8e, 0x00}, {0x8f, 0x1f},
- {0, 0}
+ { 0x10, 0x22 }, { 0x11, 0x22 }, { 0x12, 0x88 }, { 0x13, 0x10 },
+ { 0x14, 0x0d }, { 0x15, 0x21 }, { 0x16, 0x21 }, { 0x17, 0x00 },
+ { 0x18, 0x00 }, { 0x19, 0x00 }, { 0x1a, 0x00 }, { 0x1b, 0x00 },
+ { 0x1c, 0x00 }, { 0x1d, 0x00 }, { 0x1e, 0x00 }, { 0x1f, 0x00 },
+ { 0x20, 0x00 }, { 0x21, 0x00 }, { 0x22, 0x60 }, { 0x23, 0x60 },
+ { 0x24, 0x74 }, { 0x25, 0x4e }, { 0x26, 0xff }, { 0x27, 0x80 },
+ { 0x28, 0x00 }, { 0x29, 0x20 }, { 0x2a, 0x15 }, { 0x2b, 0x26 },
+ { 0x2c, 0xb6 }, { 0x2d, 0x21 }, { 0x2e, 0x11 }, { 0x2f, 0x20 },
+ { 0x30, 0xab }, { 0x31, 0x14 }, { 0x32, 0x90 }, { 0x33, 0x4d },
+ { 0x34, 0x75 }, { 0x35, 0x64 }, { 0x36, 0x64 }, { 0x37, 0x09 },
+ { 0x38, 0xc4 }, { 0x39, 0x20 }, { 0x3a, 0x80 }, { 0x3b, 0x00 },
+ { 0x3c, 0x00 }, { 0x3d, 0xaa }, { 0x3e, 0x00 }, { 0x3f, 0x05 },
+ { 0x40, 0x50 }, { 0x41, 0x40 }, { 0x42, 0x00 }, { 0x43, 0x00 },
+ { 0x44, 0x00 }, { 0x45, 0x00 }, { 0x46, 0x00 }, { 0x47, 0x00 },
+ { 0x48, 0x1c }, { 0x49, 0x0c }, { 0x4a, 0x0f }, { 0x4b, 0x40 },
+ { 0x4c, 0x80 }, { 0x4d, 0x40 }, { 0x4e, 0x80 }, { 0x51, 0x00 },
+ { 0x52, 0x45 }, { 0x53, 0x59 }, { 0x54, 0x23 }, { 0x55, 0xae },
+ { 0x56, 0x68 }, { 0x57, 0x24 }, { 0x58, 0x62 }, { 0x59, 0x42 },
+ { 0x5a, 0x34 }, { 0x5b, 0x00 }, { 0x5c, 0x30 }, { 0x5d, 0x05 },
+ { 0x5e, 0x02 }, { 0x5f, 0x35 }, { 0x60, 0x30 }, { 0x61, 0x00 },
+ { 0x62, 0xd8 }, { 0x63, 0x00 }, { 0x64, 0x52 }, { 0x65, 0x28 },
+ { 0x66, 0x14 }, { 0x67, 0x87 }, { 0x68, 0x80 }, { 0x69, 0x00 },
+ { 0x6a, 0x00 }, { 0x6b, 0x00 }, { 0x6c, 0x00 }, { 0x6d, 0xff },
+ { 0x6e, 0x06 }, { 0x6f, 0xff }, { 0x70, 0xff }, { 0x71, 0x20 },
+ { 0x72, 0x00 }, { 0x73, 0x01 }, { 0x74, 0x00 }, { 0x75, 0x00 },
+ { 0x76, 0x00 }, { 0x77, 0x00 }, { 0x78, 0x00 }, { 0x79, 0x00 },
+ { 0x7a, 0x00 }, { 0x7b, 0x00 }, { 0x7c, 0x15 }, { 0x7d, 0x15 },
+ { 0x7e, 0x00 }, { 0x7f, 0x00 }, { 0x80, 0x00 }, { 0x81, 0x00 },
+ { 0x82, 0x00 }, { 0x83, 0x00 }, { 0x84, 0x00 }, { 0x85, 0x00 },
+ { 0x86, 0x00 }, { 0x87, 0x00 }, { 0x88, 0x88 }, { 0x89, 0x88 },
+ { 0x8a, 0x01 }, { 0x8b, 0x42 }, { 0x8d, 0x00 }, { 0x8e, 0x00 },
+ { 0x8f, 0x1f }, { 0, 0 }
};
static struct ir_setting ir3571_settings[] = {
- {0x18, 0x22}, {0x19, 0x22}, {0x1a, 0x08}, {0x1b, 0x10},
- {0x1c, 0x06}, {0x1d, 0x21}, {0x1e, 0x21}, {0x1f, 0x83},
- {0x20, 0x83}, {0x21, 0x00}, {0x22, 0x00}, {0x23, 0x00},
- {0x24, 0x00}, {0x25, 0x00}, {0x26, 0x00}, {0x27, 0x34},
- {0x28, 0x34}, {0x29, 0x74}, {0x2a, 0x4e}, {0x2b, 0xff},
- {0x2c, 0x00}, {0x2d, 0x1d}, {0x2e, 0x14}, {0x2f, 0x1f},
- {0x30, 0x88}, {0x31, 0x9a}, {0x32, 0x1e}, {0x33, 0x19},
- {0x34, 0xe9}, {0x35, 0x40}, {0x36, 0x90}, {0x37, 0x6d},
- {0x38, 0x75}, {0x39, 0xa0}, {0x3a, 0x84}, {0x3b, 0x08},
- {0x3c, 0xc5}, {0x3d, 0xa0}, {0x3e, 0x80}, {0x3f, 0xaa},
- {0x40, 0x50}, {0x41, 0x4b}, {0x42, 0x02}, {0x43, 0x04},
- {0x44, 0x00}, {0x45, 0x00}, {0x46, 0x00}, {0x47, 0x78},
- {0x48, 0x56}, {0x49, 0x18}, {0x4a, 0x88}, {0x4b, 0x00},
- {0x4c, 0x80}, {0x4d, 0x60}, {0x4e, 0x60}, {0x4f, 0xff},
- {0x50, 0xff}, {0x51, 0x00}, {0x52, 0x9b}, {0x53, 0xaa},
- {0x54, 0xd8}, {0x55, 0x56}, {0x56, 0x31}, {0x57, 0x1a},
- {0x58, 0x12}, {0x59, 0x63}, {0x5a, 0x00}, {0x5b, 0x09},
- {0x5c, 0x02}, {0x5d, 0x00}, {0x5e, 0xea}, {0x5f, 0x00},
- {0x60, 0xb0}, {0x61, 0x1e}, {0x62, 0x00}, {0x63, 0x56},
- {0x64, 0x00}, {0x65, 0x00}, {0x66, 0x00}, {0x67, 0x00},
- {0x68, 0x28}, {0x69, 0x00}, {0x6a, 0x00}, {0x6b, 0x00},
- {0x6c, 0x00}, {0x6d, 0x00}, {0x6e, 0x00}, {0x6f, 0x00},
- {0x70, 0x80}, {0x71, 0x00}, {0x72, 0x00}, {0x73, 0x00},
- {0x74, 0x00}, {0x75, 0xbf}, {0x76, 0x06}, {0x77, 0xff},
- {0x78, 0xff}, {0x79, 0x04}, {0x7a, 0x00}, {0x7b, 0x1d},
- {0x7c, 0xa0}, {0x7d, 0x10}, {0x7e, 0x00}, {0x7f, 0x8a},
- {0x80, 0x1b}, {0x81, 0x11}, {0x82, 0x00}, {0x83, 0x00},
- {0x84, 0x00}, {0x85, 0x00}, {0x86, 0x00}, {0x87, 0x00},
- {0x88, 0x00}, {0x89, 0x00}, {0x8a, 0x00}, {0x8b, 0x00},
- {0x8c, 0x00}, {0x8d, 0x00}, {0x8e, 0x00}, {0x8f, 0x00},
- {0, 0}
+ { 0x18, 0x22 }, { 0x19, 0x22 }, { 0x1a, 0x08 }, { 0x1b, 0x10 },
+ { 0x1c, 0x06 }, { 0x1d, 0x21 }, { 0x1e, 0x21 }, { 0x1f, 0x83 },
+ { 0x20, 0x83 }, { 0x21, 0x00 }, { 0x22, 0x00 }, { 0x23, 0x00 },
+ { 0x24, 0x00 }, { 0x25, 0x00 }, { 0x26, 0x00 }, { 0x27, 0x34 },
+ { 0x28, 0x34 }, { 0x29, 0x74 }, { 0x2a, 0x4e }, { 0x2b, 0xff },
+ { 0x2c, 0x00 }, { 0x2d, 0x1d }, { 0x2e, 0x14 }, { 0x2f, 0x1f },
+ { 0x30, 0x88 }, { 0x31, 0x9a }, { 0x32, 0x1e }, { 0x33, 0x19 },
+ { 0x34, 0xe9 }, { 0x35, 0x40 }, { 0x36, 0x90 }, { 0x37, 0x6d },
+ { 0x38, 0x75 }, { 0x39, 0xa0 }, { 0x3a, 0x84 }, { 0x3b, 0x08 },
+ { 0x3c, 0xc5 }, { 0x3d, 0xa0 }, { 0x3e, 0x80 }, { 0x3f, 0xaa },
+ { 0x40, 0x50 }, { 0x41, 0x4b }, { 0x42, 0x02 }, { 0x43, 0x04 },
+ { 0x44, 0x00 }, { 0x45, 0x00 }, { 0x46, 0x00 }, { 0x47, 0x78 },
+ { 0x48, 0x56 }, { 0x49, 0x18 }, { 0x4a, 0x88 }, { 0x4b, 0x00 },
+ { 0x4c, 0x80 }, { 0x4d, 0x60 }, { 0x4e, 0x60 }, { 0x4f, 0xff },
+ { 0x50, 0xff }, { 0x51, 0x00 }, { 0x52, 0x9b }, { 0x53, 0xaa },
+ { 0x54, 0xd8 }, { 0x55, 0x56 }, { 0x56, 0x31 }, { 0x57, 0x1a },
+ { 0x58, 0x12 }, { 0x59, 0x63 }, { 0x5a, 0x00 }, { 0x5b, 0x09 },
+ { 0x5c, 0x02 }, { 0x5d, 0x00 }, { 0x5e, 0xea }, { 0x5f, 0x00 },
+ { 0x60, 0xb0 }, { 0x61, 0x1e }, { 0x62, 0x00 }, { 0x63, 0x56 },
+ { 0x64, 0x00 }, { 0x65, 0x00 }, { 0x66, 0x00 }, { 0x67, 0x00 },
+ { 0x68, 0x28 }, { 0x69, 0x00 }, { 0x6a, 0x00 }, { 0x6b, 0x00 },
+ { 0x6c, 0x00 }, { 0x6d, 0x00 }, { 0x6e, 0x00 }, { 0x6f, 0x00 },
+ { 0x70, 0x80 }, { 0x71, 0x00 }, { 0x72, 0x00 }, { 0x73, 0x00 },
+ { 0x74, 0x00 }, { 0x75, 0xbf }, { 0x76, 0x06 }, { 0x77, 0xff },
+ { 0x78, 0xff }, { 0x79, 0x04 }, { 0x7a, 0x00 }, { 0x7b, 0x1d },
+ { 0x7c, 0xa0 }, { 0x7d, 0x10 }, { 0x7e, 0x00 }, { 0x7f, 0x8a },
+ { 0x80, 0x1b }, { 0x81, 0x11 }, { 0x82, 0x00 }, { 0x83, 0x00 },
+ { 0x84, 0x00 }, { 0x85, 0x00 }, { 0x86, 0x00 }, { 0x87, 0x00 },
+ { 0x88, 0x00 }, { 0x89, 0x00 }, { 0x8a, 0x00 }, { 0x8b, 0x00 },
+ { 0x8c, 0x00 }, { 0x8d, 0x00 }, { 0x8e, 0x00 }, { 0x8f, 0x00 },
+ { 0, 0 }
};
static uint8_t ir357x_read(uint8_t reg)
@@ -186,8 +185,8 @@ static int ir357x_check(void)
for (; settings->reg; settings++) {
val = ir357x_read(settings->reg);
if (val != settings->value) {
- ccprintf("DIFF reg 0x%02x %02x->%02x\n",
- settings->reg, settings->value, val);
+ ccprintf("DIFF reg 0x%02x %02x->%02x\n", settings->reg,
+ settings->value, val);
cflush();
diff++;
}
@@ -196,7 +195,7 @@ static int ir357x_check(void)
}
#ifdef CONFIG_CMD_REGULATOR
-static int command_ir357x(int argc, char **argv)
+static int command_ir357x(int argc, const char **argv)
{
int reg, val;
char *rem;
@@ -234,8 +233,7 @@ static int command_ir357x(int argc, char **argv)
return EC_ERROR_INVAL;
}
-DECLARE_CONSOLE_COMMAND(ir357x, command_ir357x,
- "[check|write]",
+DECLARE_CONSOLE_COMMAND(ir357x, command_ir357x, "[check|write]",
"IR357x core regulator control");
#endif