Skip to content
Navigation Menu
Toggle navigation
Sign in
In this repository
All GitHub Enterprise
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub Enterprise
↵
Jump to
↵
In this organization
All GitHub Enterprise
↵
Jump to
↵
In this repository
All GitHub Enterprise
↵
Jump to
↵
Sign in
Reseting focus
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
mariux64
/
linux
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
1
Pull requests
0
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
298269c
Documentation
arch
block
certs
crypto
drivers
accessibility
acpi
amba
android
ata
atm
auxdisplay
base
bcma
block
bluetooth
bus
cdrom
char
clk
clocksource
connector
cpufreq
cpuidle
crypto
dax
dca
devfreq
dio
dma-buf
dma
edac
eisa
extcon
firewire
firmware
fmc
fpga
fsi
gpio
gpu
hid
hsi
hv
hwmon
hwspinlock
hwtracing
i2c
ide
idle
iio
infiniband
input
iommu
ipack
irqchip
isdn
leds
lguest
lightnvm
macintosh
mailbox
mcb
md
media
memory
memstick
message
mfd
misc
mmc
core
host
Kconfig
Makefile
android-goldfish.c
atmel-mci.c
au1xmmc.c
bcm2835.c
bfin_sdh.c
cavium-thunderx.c
cavium.c
cavium.h
cb710-mmc.c
cb710-mmc.h
davinci_mmc.c
dw_mmc-exynos.c
dw_mmc-exynos.h
dw_mmc-k3.c
dw_mmc-pci.c
dw_mmc-pltfm.c
dw_mmc-pltfm.h
dw_mmc-rockchip.c
dw_mmc-zx.c
dw_mmc-zx.h
dw_mmc.c
dw_mmc.h
jz4740_mmc.c
meson-gx-mmc.c
mmc_spi.c
mmci.c
mmci.h
mmci_qcom_dml.c
mmci_qcom_dml.h
moxart-mmc.c
mtk-sd.c
mvsdio.c
mvsdio.h
mxcmmc.c
mxs-mmc.c
of_mmc_spi.c
omap.c
omap_hsmmc.c
pxamci.c
pxamci.h
rtsx_pci_sdmmc.c
rtsx_usb_sdmmc.c
s3cmci.c
s3cmci.h
sdhci-acpi.c
sdhci-bcm-kona.c
sdhci-brcmstb.c
sdhci-cadence.c
sdhci-cns3xxx.c
sdhci-dove.c
sdhci-esdhc-imx.c
sdhci-esdhc.h
sdhci-iproc.c
sdhci-msm.c
sdhci-of-arasan.c
sdhci-of-at91.c
sdhci-of-esdhc.c
sdhci-of-hlwd.c
sdhci-pci-core.c
sdhci-pci-data.c
sdhci-pci-o2micro.c
sdhci-pci-o2micro.h
sdhci-pci.h
sdhci-pic32.c
sdhci-pltfm.c
sdhci-pltfm.h
sdhci-pxav2.c
sdhci-pxav3.c
sdhci-s3c.c
sdhci-sirf.c
sdhci-spear.c
sdhci-st.c
sdhci-tegra.c
sdhci-xenon-phy.c
sdhci-xenon.c
sdhci-xenon.h
sdhci.c
sdhci.h
sdhci_f_sdh30.c
sdricoh_cs.c
sh_mmcif.c
sh_mobile_sdhi.c
sunxi-mmc.c
tifm_sd.c
tmio_mmc.c
tmio_mmc.h
tmio_mmc_dma.c
tmio_mmc_pio.c
toshsd.c
toshsd.h
usdhi6rol0.c
ushc.c
via-sdmmc.c
vub300.c
wbsd.c
wbsd.h
wmt-sdmmc.c
Kconfig
Makefile
mtd
net
nfc
ntb
nubus
nvdimm
nvme
nvmem
of
oprofile
parisc
parport
pci
pcmcia
perf
phy
pinctrl
platform
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390
sbus
scsi
sfi
sh
sn
soc
spi
spmi
ssb
staging
target
tc
thermal
thunderbolt
tty
uio
usb
uwb
vfio
vhost
video
virt
virtio
vlynq
vme
w1
watchdog
xen
zorro
Kconfig
Makefile
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
Breadcrumbs
linux
/
drivers
/
mmc
/
host
/
sdhci-xenon.h
Copy path
Blame
Blame
Latest commit
History
History
101 lines (85 loc) · 2.83 KB
Breadcrumbs
linux
/
drivers
/
mmc
/
host
/
sdhci-xenon.h
Top
File metadata and controls
Code
Blame
101 lines (85 loc) · 2.83 KB
Raw
/* * Copyright (C) 2016 Marvell, All Rights Reserved. * * Author: Hu Ziji <huziji@marvell.com> * Date: 2016-8-24 * * 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 version 2. */ #ifndef SDHCI_XENON_H_ #define SDHCI_XENON_H_ /* Register Offset of Xenon SDHC self-defined register */ #define XENON_SYS_CFG_INFO 0x0104 #define XENON_SLOT_TYPE_SDIO_SHIFT 24 #define XENON_NR_SUPPORTED_SLOT_MASK 0x7 #define XENON_SYS_OP_CTRL 0x0108 #define XENON_AUTO_CLKGATE_DISABLE_MASK BIT(20) #define XENON_SDCLK_IDLEOFF_ENABLE_SHIFT 8 #define XENON_SLOT_ENABLE_SHIFT 0 #define XENON_SYS_EXT_OP_CTRL 0x010C #define XENON_MASK_CMD_CONFLICT_ERR BIT(8) #define XENON_SLOT_OP_STATUS_CTRL 0x0128 #define XENON_TUN_CONSECUTIVE_TIMES_SHIFT 16 #define XENON_TUN_CONSECUTIVE_TIMES_MASK 0x7 #define XENON_TUN_CONSECUTIVE_TIMES 0x4 #define XENON_TUNING_STEP_SHIFT 12 #define XENON_TUNING_STEP_MASK 0xF #define XENON_TUNING_STEP_DIVIDER BIT(6) #define XENON_SLOT_EMMC_CTRL 0x0130 #define XENON_ENABLE_DATA_STROBE BIT(24) #define XENON_SLOT_RETUNING_REQ_CTRL 0x0144 /* retuning compatible */ #define XENON_RETUNING_COMPATIBLE 0x1 #define XENON_SLOT_EXT_PRESENT_STATE 0x014C #define XENON_DLL_LOCK_STATE 0x1 #define XENON_SLOT_DLL_CUR_DLY_VAL 0x0150 /* Tuning Parameter */ #define XENON_TMR_RETUN_NO_PRESENT 0xF #define XENON_DEF_TUNING_COUNT 0x9 #define XENON_DEFAULT_SDCLK_FREQ 400000 #define XENON_LOWEST_SDCLK_FREQ 100000 /* Xenon specific Mode Select value */ #define XENON_CTRL_HS200 0x5 #define XENON_CTRL_HS400 0x6 struct xenon_priv { unsigned char tuning_count; /* idx of SDHC */ u8 sdhc_id; /* * eMMC/SD/SDIO require different register settings. * Xenon driver has to recognize card type * before mmc_host->card is not available. * This field records the card type during init. * It is updated in xenon_init_card(). * * It is only valid during initialization after it is updated. * Do not access this variable in normal transfers after * initialization completes. */ unsigned int init_card_type; /* * The bus_width, timing, and clock fields in below * record the current ios setting of Xenon SDHC. * Driver will adjust PHY setting if any change to * ios affects PHY timing. */ unsigned char bus_width; unsigned char timing; unsigned int clock; int phy_type; /* * Contains board-specific PHY parameters * passed from device tree. */ void *phy_params; struct xenon_emmc_phy_regs *emmc_phy_regs; }; int xenon_phy_adj(struct sdhci_host *host, struct mmc_ios *ios); void xenon_clean_phy(struct sdhci_host *host); int xenon_phy_parse_dt(struct device_node *np, struct sdhci_host *host); void xenon_soc_pad_ctrl(struct sdhci_host *host, unsigned char signal_voltage); #endif
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
You can’t perform that action at this time.