| /* |
| * include/linux/amlogic/aml_sd_emmc_internal.h |
| * |
| * Copyright (C) 2017 Amlogic, Inc. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| * more details. |
| * |
| */ |
| |
| #ifndef __AML_SD_EMMC_INTERNAL_H__ |
| #define __AML_SD_EMMC_INTERNAL_H__ |
| |
| extern int aml_emmc_clktree_init(struct amlsd_host *host); |
| |
| extern int meson_mmc_clk_init_v3(struct amlsd_host *host); |
| |
| extern void meson_mmc_set_ios_v3(struct mmc_host *mmc, struct mmc_ios *ios); |
| |
| extern void aml_sd_emmc_set_buswidth(struct amlsd_platform *pdata, |
| u32 busw_ios); |
| |
| extern int meson_mmc_request_done(struct mmc_host *mmc, |
| struct mmc_request *mrq); |
| |
| extern int meson_mmc_read_resp(struct mmc_host *mmc, |
| struct mmc_command *cmd); |
| |
| extern void aml_sd_emmc_send_stop(struct amlsd_host *host); |
| |
| extern int aml_sd_emmc_post_dma(struct amlsd_host *host, |
| struct mmc_request *mrq); |
| |
| extern u32 aml_sd_emmc_tuning_transfer(struct mmc_host *mmc, |
| u32 opcode, const u8 *blk_pattern, u8 *blk_test, u32 blksz); |
| |
| void aml_mmc_clk_switch_off(struct amlsd_platform *pdata); |
| |
| void aml_mmc_clk_switch(struct amlsd_platform *pdata, |
| int clk_div, int clk_src_sel); |
| |
| #endif |