| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /* Copyright Statement:
- *
- * This software/firmware and related documentation ("MediaTek Software") are
- * protected under relevant copyright laws. The information contained herein
- * is confidential and proprietary to MediaTek Inc. and/or its licensors.
- * Without the prior written permission of MediaTek inc. and/or its licensors,
- * any reproduction, modification, use or disclosure of MediaTek Software,
- * and information contained herein, in whole or in part, shall be strictly prohibited.
- */
- /* MediaTek Inc. (C) 2015. All rights reserved.
- *
- * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
- * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
- * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
- * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
- * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
- * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
- * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
- * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
- * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
- * STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
- * CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
- * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
- * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
- * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- */
- #ifndef _UFS_AIO_INTERFACE_H
- #define _UFS_AIO_INTERFACE_H
- #include "ufs_aio_cfg.h"
- #include "ufs_aio_types.h"
- #include "ufs_aio_hcd.h"
- #if defined(MTK_UFS_DRV_PRELOADER)
- u32 ufs_init_device(void);
- u64 ufs_rpmb_get_lu_size(void);
- int ufs_rpmb_get_rw_size(void);
- int ufs_get_boot_part(int *part_id);
- int ufs_set_boot_part(int part_id);
- #endif
- #if defined(MTK_UFS_DRV_LK)
- int ufs_lk_init(void);
- int ufs_lk_get_active_boot_part(u32 *active_boot_part);
- unsigned long long ufs_lk_get_device_size(void);
- int ufs_lk_erase(int dev_num, u64 start_addr, u64 len,u32 part_id);
- int ufs_lk_otp_lock_req(char *otp_part_name);
- int ufs_lk_otp_read(u32 current_user_id, off_t offset, u8* data, size_t size);
- int ufs_lk_otp_write(u32 current_user_id, off_t offset, u8* data, size_t size);
- /* Notice: ufs_lk_otp_lock() can not be called in normal boot. Suggest call in fastboot mode. */
- int ufs_lk_otp_lock(void);
- int ufs_get_unique_id(struct ufs_unique_id *id);
- #endif // MTK_UFS_DRV_LK
- #if defined(MTK_UFS_DRV_DA)
- status_t interface_ufs_init(u32 boot_channel);
- status_t interface_switch_ufs_section(u32 section);
- status_t interface_ufs_write(u64 address, u8* buffer, u64 length);
- status_t interface_ufs_read(u64 address, u8* buffer, u64 length);
- status_t interface_ufs_erase(u64 address, u64 length, const struct progress_cb* cb);
- status_t interface_get_ufs_info(struct ufs_info_struct* info);
- status_t interface_ufs_device_ctrl(u32 ctrl_code, void* in, u32 in_len, void* out, u32 out_len, u32* ret_len);
- #endif // MTK_UFS_DRV_DA
- #endif // !_UFS_AIO_INTERFACE_H
|