167d79ab2Scallen.cai /* 267d79ab2Scallen.cai * Copyright 2023, Rockchip Electronics Co., Ltd 367d79ab2Scallen.cai * callen.cai, <callen.cai@rock-chips.com> 467d79ab2Scallen.cai * 567d79ab2Scallen.cai * SPDX-License-Identifier: GPL-2.0+ 667d79ab2Scallen.cai */ 767d79ab2Scallen.cai 867d79ab2Scallen.cai #ifndef ID_ATTESTATION_H_ 967d79ab2Scallen.cai #define ID_ATTESTATION_H_ 1067d79ab2Scallen.cai 1167d79ab2Scallen.cai #include <common.h> 1267d79ab2Scallen.cai #include "attestation_key.h" 13*a545b2bbScallen.cai #define IDAT_DEBUG 0 14*a545b2bbScallen.cai #if IDAT_DEBUG 1567d79ab2Scallen.cai #define MSG(...) printf(__VA_ARGS__) 1667d79ab2Scallen.cai #else 1767d79ab2Scallen.cai #define MSG(...) do {} while (0) 1867d79ab2Scallen.cai #endif 1967d79ab2Scallen.cai 2067d79ab2Scallen.cai #define PROP_LEN 32 2167d79ab2Scallen.cai 2267d79ab2Scallen.cai typedef struct AttestationIds_ { 2367d79ab2Scallen.cai u8 brand[PROP_LEN]; 2467d79ab2Scallen.cai u8 device[PROP_LEN]; 2567d79ab2Scallen.cai u8 product[PROP_LEN]; 2667d79ab2Scallen.cai u8 serial[PROP_LEN]; 2767d79ab2Scallen.cai u8 imei[PROP_LEN]; 2867d79ab2Scallen.cai u8 second_imei[PROP_LEN]; 2967d79ab2Scallen.cai u8 meid[PROP_LEN]; 3067d79ab2Scallen.cai u8 manufacturer[PROP_LEN]; 3167d79ab2Scallen.cai u8 model[PROP_LEN]; 3267d79ab2Scallen.cai } AttestationIds; 3367d79ab2Scallen.cai 3467d79ab2Scallen.cai void printAttestationIds(const AttestationIds *ids); 3567d79ab2Scallen.cai 3667d79ab2Scallen.cai /* 3767d79ab2Scallen.cai * write id attestation to secure storage. 3867d79ab2Scallen.cai * @received_data: received data from usb 3967d79ab2Scallen.cai * @len: the size of received_data 4067d79ab2Scallen.cai * @return ATAP_RESULT_OK if ok, or ATAP_RESULT_ERROR_* on error 4167d79ab2Scallen.cai */ 4267d79ab2Scallen.cai atap_result write_id_attestation_to_secure_storage(u8 *received_data, uint32_t len); 4367d79ab2Scallen.cai #endif //ID_ATTESTATION_H_ 44