Hi, Linus,

On 06/05/2018 04:49 PM, Linus Walleij wrote:
The config zone has 0x16 words of 4 bytes each, so provide
some basic defines so that we can address these individually.

Are you going to use all these defines? I would add just the defines
that are needed, when they are needed, but I guess it's a matter of
preference.

Thanks,
ta

Rename the last word to "footer", this is where we currently
look to see if the configuration is locked.

Signed-off-by: Linus Walleij <linus.wall...@linaro.org>
---
  drivers/crypto/atmel-ecc.c |  2 +-
  drivers/crypto/atmel-ecc.h | 25 +++++++++++++++++++++++--
  2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/atmel-ecc.c b/drivers/crypto/atmel-ecc.c
index 214b0572bf8b..f1f422385a91 100644
--- a/drivers/crypto/atmel-ecc.c
+++ b/drivers/crypto/atmel-ecc.c
@@ -145,7 +145,7 @@ static void atmel_ecc_init_read_cmd(struct atmel_ecc_cmd 
*cmd)
         * (UserExtra, Selector, LockValue, LockConfig).
         */
        cmd->param1 = CONFIG_ZONE;
-       cmd->param2 = DEVICE_LOCK_ADDR;
+       cmd->param2 = CONFIG_ZONE_FOOTER;
        cmd->count = READ_COUNT;
atmel_ecc_checksum(cmd);
diff --git a/drivers/crypto/atmel-ecc.h b/drivers/crypto/atmel-ecc.h
index 25232c8abcc2..6d586a3e443d 100644
--- a/drivers/crypto/atmel-ecc.h
+++ b/drivers/crypto/atmel-ecc.h
@@ -89,8 +89,29 @@ static const struct {
  #define RSP_DATA_IDX                  1 /* buffer index of data in response */
  #define DATA_SLOT_2                   2 /* used for ECDH private key */
-/* Definitions for the device lock state */
-#define DEVICE_LOCK_ADDR               0x15
+/* Definitions for the configuration zone words, these are 4 bytes each */
+#define CONFIG_ZONE_SERIAL_0_3         0x00
+#define CONFIG_ZONE_REVISION           0x01
+#define CONFIG_ZONE_SERIAL_4_7         0x02
+#define CONFIG_ZONE_SERIAL_8_I2CEN     0x03
+#define CONFIG_ZONE_I2C_OTP            0x04
+#define CONFIG_ZONE_SLOT_0_1           0x05
+#define CONFIG_ZONE_SLOT_2_3           0x06
+#define CONFIG_ZONE_SLOT_4_5           0x07
+#define CONFIG_ZONE_SLOT_6_7           0x08
+#define CONFIG_ZONE_SLOT_8_9           0x09
+#define CONFIG_ZONE_SLOT_10_11         0x0a
+#define CONFIG_ZONE_SLOT_12_13         0x0b
+#define CONFIG_ZONE_SLOT_14_15         0x0c
+#define CONFIG_ZONE_FLAG_0_1           0x0d
+#define CONFIG_ZONE_FLAG_2_3           0x0e
+#define CONFIG_ZONE_FLAG_4_5           0x0f
+#define CONFIG_ZONE_FLAG_6_7           0x10
+#define CONFIG_ZONE_LKU_0_1            0x11
+#define CONFIG_ZONE_LKU_2_3            0x12
+#define CONFIG_ZONE_LKU_4_5            0x13
+#define CONFIG_ZONE_LKU_6_7            0x14
+#define CONFIG_ZONE_FOOTER             0x15
  #define LOCK_VALUE_IDX                        (RSP_DATA_IDX + 2)
  #define LOCK_CONFIG_IDX                       (RSP_DATA_IDX + 3)

Reply via email to