linux/drivers/misc/cardreader/rts5261.c

// SPDX-License-Identifier: GPL-2.0-or-later
/* Driver for Realtek PCI-Express card reader
 *
 * Copyright(c) 2018-2019 Realtek Semiconductor Corp. All rights reserved.
 *
 * Author:
 *   Rui FENG <[email protected]>
 *   Wei WANG <[email protected]>
 */

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

#include "rts5261.h"
#include "rtsx_pcr.h"

static u8 rts5261_get_ic_version(struct rtsx_pcr *pcr)
{}

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

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

static int rts5261_enable_auto_blink(struct rtsx_pcr *pcr)
{}

static int rts5261_disable_auto_blink(struct rtsx_pcr *pcr)
{}

static int rts5261_turn_on_led(struct rtsx_pcr *pcr)
{}

static int rts5261_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 rts5261_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 rts5261_sd_pull_ctl_disable_tbl[] =;

static int rts5261_sd_set_sample_push_timing_sd30(struct rtsx_pcr *pcr)
{}

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

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

static void rts5261_stop_cmd(struct rtsx_pcr *pcr)
{}

static void rts5261_card_before_power_off(struct rtsx_pcr *pcr)
{}

static void rts5261_enable_ocp(struct rtsx_pcr *pcr)
{}

static void rts5261_disable_ocp(struct rtsx_pcr *pcr)
{}

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

static void rts5261_init_ocp(struct rtsx_pcr *pcr)
{}

static void rts5261_clear_ocpstat(struct rtsx_pcr *pcr)
{}

static void rts5261_process_ocp(struct rtsx_pcr *pcr)
{}

static void rts5261_init_from_hw(struct rtsx_pcr *pcr)
{}

static void rts5261_init_from_cfg(struct rtsx_pcr *pcr)
{}

static int rts5261_extra_init_hw(struct rtsx_pcr *pcr)
{}

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

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

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

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

static const struct pcr_ops rts5261_pcr_ops =;

static inline u8 double_ssc_depth(u8 depth)
{}

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

void rts5261_init_params(struct rtsx_pcr *pcr)
{}