linux/drivers/misc/cardreader/rts5264.c

// SPDX-License-Identifier: GPL-2.0-or-later
/* Driver for Realtek PCI-Express card reader
 *
 * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved.
 *
 * Author:
 *   Ricky Wu <[email protected]>
 */

#include <linux/module.h>
#include <linux/delay.h>
#include <linux/rtsx_pci.h>

#include "rts5264.h"
#include "rtsx_pcr.h"

static u8 rts5264_get_ic_version(struct rtsx_pcr *pcr)
{}

static void rts5264_fill_driving(struct rtsx_pcr *pcr, u8 voltage)
{}

static void rts5264_force_power_down(struct rtsx_pcr *pcr, u8 pm_state, bool runtime)
{}

static int rts5264_enable_auto_blink(struct rtsx_pcr *pcr)
{}

static int rts5264_disable_auto_blink(struct rtsx_pcr *pcr)
{}

static int rts5264_turn_on_led(struct rtsx_pcr *pcr)
{}

static int rts5264_turn_off_led(struct rtsx_pcr *pcr)
{}

/* SD Pull Control Enable:
 *     SD_DAT[3:0] ==> pull up
 *     SD_CD       ==> pull up
 *     SD_WP       ==> pull up
 *     SD_CMD      ==> pull up
 *     SD_CLK      ==> pull down
 */
static const u32 rts5264_sd_pull_ctl_enable_tbl[] =;

/* SD Pull Control Disable:
 *     SD_DAT[3:0] ==> pull down
 *     SD_CD       ==> pull up
 *     SD_WP       ==> pull down
 *     SD_CMD      ==> pull down
 *     SD_CLK      ==> pull down
 */
static const u32 rts5264_sd_pull_ctl_disable_tbl[] =;

static int rts5264_sd_set_sample_push_timing_sd30(struct rtsx_pcr *pcr)
{}

static int rts5264_card_power_on(struct rtsx_pcr *pcr, int card)
{}

static int rts5264_switch_output_voltage(struct rtsx_pcr *pcr, u8 voltage)
{}

static void rts5264_stop_cmd(struct rtsx_pcr *pcr)
{}

static void rts5264_card_before_power_off(struct rtsx_pcr *pcr)
{}

static int rts5264_card_power_off(struct rtsx_pcr *pcr, int card)
{}

static void rts5264_enable_ocp(struct rtsx_pcr *pcr)
{}

static void rts5264_disable_ocp(struct rtsx_pcr *pcr)
{}

static void rts5264_init_ocp(struct rtsx_pcr *pcr)
{}

static int rts5264_get_ocpstat2(struct rtsx_pcr *pcr, u8 *val)
{}

static int rts5264_get_ovpstat(struct rtsx_pcr *pcr, u8 *val)
{}

static void rts5264_clear_ocpstat(struct rtsx_pcr *pcr)
{}

static void rts5264_process_ocp(struct rtsx_pcr *pcr)
{}

static void rts5264_init_from_hw(struct rtsx_pcr *pcr)
{}

static void rts5264_init_from_cfg(struct rtsx_pcr *pcr)
{}

static int rts5264_extra_init_hw(struct rtsx_pcr *pcr)
{}

static void rts5264_enable_aspm(struct rtsx_pcr *pcr, bool enable)
{}

static void rts5264_disable_aspm(struct rtsx_pcr *pcr, bool enable)
{}

static void rts5264_set_aspm(struct rtsx_pcr *pcr, bool enable)
{}

static void rts5264_set_l1off_cfg_sub_d0(struct rtsx_pcr *pcr, int active)
{}

static const struct pcr_ops rts5264_pcr_ops =;

static inline u8 double_ssc_depth(u8 depth)
{}

int rts5264_pci_switch_clock(struct rtsx_pcr *pcr, unsigned int card_clock,
		u8 ssc_depth, bool initial_mode, bool double_clk, bool vpclk)
{}

void rts5264_init_params(struct rtsx_pcr *pcr)
{}