Age | Commit message (Collapse) | Author |
|
Make sure to enable the clk_pixel clock during bind so that all other
driver in the display pipeline can rely on it. Without this change we
might see ghosting effects in around 10% of the reboots because
something in the display pipeline runs out of sync. With this change we
don't disable the clk_pixel when the display is turned off so this might
increase the power consumption in standby mode a bit. However, it would
require some bigger changes in the display pipeline to allow this.
Upstream-Status: Inappropriate [other]
The dpu is currently only supported in the downstream kernel. A fix will
most likely be applied by NXP to the downstream kernel. A similar patch
was provided by them but it breaks the DPMS off/standby mode. See this
ticket for more information:
https://support.nxp.com/s/case/5002p00002vUMOL/ghosting-effect-on-parallel-rgb-interface
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
|
|
Add USB Host and USB OTG (Client/Host switching) to the Aster carrier
board.
Upstream-Status: Pending
- No support as of now in upstream linux.
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
|
|
Restore volume after charge pump and PGA activation to ensure
that volume settings are correctly applied when re-enabling codec
from SND_SOC_BIAS_OFF state.
CLASS_W, CHARGE_PUMP and POWER_MANAGEMENT_2 register configuration
affect how the volume register are applied and must be configured first.
Upstream-Status: Submitted [https://lore.kernel.org/all/20221223080247.7258-1-francesco@dolcini.it/]
Fixes: a91eb199e4dc ("ASoC: Initial WM8904 CODEC driver")
Link: https://lore.kernel.org/all/c7864c35-738c-a867-a6a6-ddf9f98df7e7@gmail.com/
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
[ ghidoli: for backport use snd_soc_component_read32() instead of
snd_soc_component_read() as required before commit cf6e26c71bfd
("ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32()") ]
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
|
|
Set optional `simple-audio-card,mclk-fs` parameter to ensure a proper
clock to the nau8822 audio codec. Without this change with an audio
stream rate of 44.1 kHz the playback is faster.
Set the MCLK at the right frequency, codec can properly use it to
generate 44.1 kHz I2S-FS.
Upstream-Status: Inappropriate [other]
This commit applies to downstream only, since there is no audio support upstream.
Fixes: 23b325adbaae ("arm64: dts: imx8mp-verdin: add device tree for dahlia")
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
|
|
Set optional `simple-audio-card,mclk-fs` parameter to ensure a proper
clock to the nau8822 audio codec. Without this change with an audio
stream rate of 44.1 kHz the playback is faster.
Set the MCLK at the right frequency, codec can properly use it to
generate 44.1 kHz I2S-FS.
Upstream-Status: Submitted [https://lore.kernel.org/all/20221207102749.180485-1-francesco@dolcini.it/]
Fixes: 6a57f224f734 ("arm64: dts: freescale: add initial support for verdin imx8m mini")
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
|
|
Set optional `simple-audio-card,mclk-fs` parameter to ensure a proper
clock to the wm8904 audio codec. Without this change with an audio
stream rate of 44.1 kHz the playback is completely distorted.
Related-to: ELB-4579
Upstream-Status: Inappropriate [other]
This commit applies to downstream only, since there is no audio support upstream.
Fixes: b6cf520e97bc ("arm64: dts: imx8mp-verdin: add device tree for dahlia")
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
|
|
Set optional `simple-audio-card,mclk-fs` parameter to ensure a proper
clock to the wm8904 audio codec. Without this change with an audio
stream rate of 44.1 kHz the playback is completely distorted.
Related-to: ELB-4579
Upstream-Status: Submitted [https://lore.kernel.org/all/20221201125548.34793-1-francesco@dolcini.it/]
Fixes: Fixes: 6a57f224f734 ("arm64: dts: freescale: add initial support for verdin imx8m mini")
Signed-off-by: Emanuele Ghidoli <emanuele.ghidoli@toradex.com>
|
|
The Verdin iMX8M Mini System on Module does not have USB-ID signal
connected on Verdin USB_2 (usbotg2). On Verdin Development board this is
no problem, as we have connected a USB-Hub that is always connected.
However, if Verdin USB_2 is desired to be used as a single USB-Host port
the chipidea driver does not detect if a USB device is plugged into this
port, due to runtime pm shutting down the PHY.
Add the power-domain &pgc_otg2 to &usbphynop2 in order to detect
plugging events and enumerate the usb device.
Fixes: 6a57f224f734 ("arm64: dts: freescale: add initial support for verdin imx8m mini")
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Upstream-Status: Backport [2fa24aa721ebb3a83dd2093814ba9a5dcdaa3183]
|
|
The GPIO signaling ctrl_sleep_moci is currently handled as a gpio hog.
But the gpio-hog node is made a child of the wrong gpio controller.
Move it to the node representing gpio4 so that it actually works.
Without this carrier board components jumpered to use the signal are
unconditionally switched off.
Fixes: 1d8df9c74bff ("arm64: dts: freescale: add initial support for verdin imx8m plus")
Upstream-status: Submitted [https://lore.kernel.org/all/20220922162925.2368577-2-marcel@ziswiler.com/]
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
Add device tree files for the Verdin Yavia carrier board mated with
Verdin iMX8M Mini SoM.
Signed-off-by: Aishwarya Kothari <aishwarya.kothari@toradex.com>
|
|
Add device tree files for the Verdin Yavia carrier board mated with
Verdin iMX8M Plus SoM.
Signed-off-by: Aishwarya Kothari <aishwarya.kothari@toradex.com>
|
|
On the iris-v2 board, the external battery operated RTC is now mapped to
/dev/rtc0 and because of this the clock setup works as expected.
Signed-off-by: Aishwarya Kothari <aishwarya.kothari@toradex.com>
|
|
Both CAN controllers on Ixora v1.1 were left disabled
for some reason, even though these are present on both
Ixora v1.1 and v1.2. Lets align this and have enabled
all existing CAN controllers on all Ixora variants.
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
|
|
This adds SD card sleep state and relevant pinmux configuration
for Apalis iMX8 boards. Pins for sleep state are configured for
pull-disable, except card detect pin which is always pull-up.
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
|
|
A pin controlled by the iomuxc-snvs pin controller must be
specified under the dtb's iomuxc-snvs node.
Move the one and only pin of that category from the iomuxc node
and set the pinctrl-0 using it accordingly.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
|
[ commit 20ab378e5462c4e9b4703264d143d3aeb9882023 on toradex_4.14-2.3.x-imx ]
FusionF10A: 1024x600, used with external parallel to LVDS converter
FusionF07A: 800x480
EDT-VGA: 640x480
EDT-480x272: 480x272
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
[ps: forward port from toradex_4.14-2.3.x-imx]
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
Put the SGTL5000 in a silent/safe state on shutdown/remove, this is
required since the SGTL5000 produces a constant noise on its output
after it is configured and its clock is removed. Without this change
this is happening every time the module is unbound/removed or from
reboot till the clock is enabled again.
The issue was experienced on both a Toradex Colibri/Apalis iMX6, but can
be easily reproduced everywhere just playing something on the codec and
after that removing/unbinding the driver.
Fixes: 9b34e6cc3bc2 ("ASoC: Add Freescale SGTL5000 codec support")
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
|
|
Ixora board has external resistors on LED_4_* and LED_5_*.
Pins which are driving these LEDs should have no pull.
Also, configure LED pins for input/output.
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
|
|
Pull configuration should be set as pull-disabled for SD card CD# pin,
as it already has an external pull-up.
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
|
|
Remove sleep state from SD card pinmux configuration.
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
|
|
Ixora board v1.1 MicroSD card is 4-bit wide, same as v1.2.
This change leaves data pins 4-7 not configured, so that
these can be used for other purposes.
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
|
|
This fixes Ixora pinmux configuration, which should be defined within
apalis-imx8qm block.
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
|
|
Use IT temperature threshold for critical/passive trip point
on Verdin iMX8M Plus and Mini.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
|
|
The usdhc1-cd-slp-grp node in the device tree is making use of PAD_LPSR
definitions and these definitions are not compatible with the iomuxc
node. Because of that, instead of setting up GPIO1_IO00 this group is
setting up the registers for GPIO1_IO15.
Moving the group to the iomuxc_lpsr node makes the setup for the correct
pin and also makes GPIO1_IO15 available again as a standard GPIO.
Relates-to: ELB-4525
Signed-off-by: Rafael Beims <rafael.beims@toradex.com>
|
|
commit 562354ab9f0aa4fcd8f2184506dcb9c18a792182 upstream.
With a recent change now it is possible to detect the strapping
option on SD8997, which allows to pick up a correct firmware
for either SDIO-SDIO or SDIO-UART.
This commit enables SDIO-UART firmware on SD8997.
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220422090313.125857-3-andrejs.cainikovs@toradex.com
|
|
commit 255ca28a659d3cfb069f73c7644853ed93aecdb0 upstream.
Some WiFi/Bluetooth modules might have different host connection
options, allowing to either use SDIO for both WiFi and Bluetooth,
or SDIO for WiFi and UART for Bluetooth. It is possible to detect
whether a module has SDIO-SDIO or SDIO-UART connection by reading
its host strap register.
This change introduces a way to automatically select appropriate
firmware depending of the connection method, and removes a need
of symlinking or overwriting the original firmware file with a
required one.
Host strap register used in this commit comes from the NXP driver [1]
hosted at Code Aurora.
[1] https://source.codeaurora.org/external/imx/linux-imx/tree/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlinux/moal_sdio_mmc.c?h=rel_imx_5.4.70_2.3.2&id=688b67b2c7220b01521ffe560da7eee33042c7bd#n1274
Signed-off-by: Andrejs Cainikovs <andrejs.cainikovs@toradex.com>
Reviewed-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220422090313.125857-2-andrejs.cainikovs@toradex.com
|
|
This reverts commit b576488fa3b5715a1ef3eafc0b1c1d3514345613.
As it uses to break audio on i.MX 7 based modules.
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
|
|
philschenker/update-to-5.4.193__update-to-2.3.7__5.4-2.3.x-imx
Update Patchlevel on Branch 5.4-2.3.x-imx from 5.4.161->5.4.193
|
|
Update Kernel 5.4-2.3.x-imx to NXP Release Linux 5.4.70_2.3.7 Patch
|
|
This is the 5.4.193 stable release
Conflicts:
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds.dts
drivers/edac/synopsys_edac.c
drivers/mmc/host/sdhci-esdhc-imx.c
drivers/mmc/host/sdhci.c
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
sound/soc/codecs/msm8916-wcd-analog.c
|
|
drivers/soc/imx/soc-imx8m.c is probed later than the caam driver so that
return -EPROBE_DEFER is needed after calling soc_device_match() in
drivers/crypto/caam/ctrl.c. For i.MX8M, soc_device_match returning NULL
can be considered that the SoC device has not been probed yet, so it
returns -EPROBE_DEFER directly.
Fixes: 6375d33dce9a ("soc: imx8m: change to use platform driver")
Signed-off-by: Alice Guo <alice.guo@nxp.com>
Reviewed-by: Horia Geantă <horia.geanta@nxp.com>
(cherry picked from commit d5df21ff810453741e23aa62de3e3911957c42b1)
|
|
The power domains are causing the i2c expander to be reset during suspend resume. After resume the expander state is not being restored properly. So since the reset is optional, I am removing the power domains.
Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
Reviewed-by: Shenwei Wang <shenwei.wang@nxp.com>
(cherry picked from commit b928f18fdf653d70871958f561357ad98fa4aa86)
|
|
Move the elcdif_pll clock initialization before the lcd_clk, since the
elcdif_clk needs to be initialized ahead of lcd_clk, being its parent.
This change fixes issues with the LCD clocks during suspend/resume.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
Suggested-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
Acked-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
(cherry picked from commit 0668a88908ccc841081b0509d80e0b4f6b5f9a78)
|
|
The connector type for a panel without a bridge should be DRM_MODE_CONNECTOR_DPI.
Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
Reviewed-by: Robert Chiras <robert.chiras@nxp.com>
(cherry picked from commit cc8cfef78c0ebaa5936af8d1a65f9372680b6634)
|
|
For normal case, userspace should call streamon/streamoff balance, but
for some special case, the process will be killed or terminated and the
streamoff ioctl will be ignored. So driver need to handle the case.
Signed-off-by: Guoniu.zhou <guoniu.zhou@nxp.com>
Reviewed-by: Robby Cai <robby.cai@nxp.com>
(cherry picked from commit 057b44588095cb6be35175f42467c1481d0dd54b)
|
|
Consolidate SCU wakeup defines in the header file.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
(cherry picked from commit d7b1dd90185df67fe1e713ff439fc898201cb8c8)
(cherry picked from commit 5693275abe2a558f7a433bba23eb8ae35bd30749)
|
|
sysfs
Consolidate SCU wakeup defines in the header file.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
(cherry picked from commit ae44e6f054423fd6b228a147571cc77bc768138e)
(cherry picked from commit 8924966cd6cb48c0c549d07f028ee544fa6dca1a)
|
|
source from sysfs
Consolidate SCU wakeup defines in the header file.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
(cherry picked from commit 9d2e7cc3a10f2ce1e36fc40acb494494bed08109)
(cherry picked from commit 0096d3876d96b1b400f5bf2cb999078236e28bf0)
Ported from codeaurora/imx_5.4.70_2.3.0
Signed-off-by: Philippe Schenker <philippe.schenker@toradex.com>
|
|
sysfs
Record SCU wakeup interrupt in /sys/power/pm_wakeup_irq
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
(cherry picked from commit e8d90d8901e42f9ac039086af9f1829030204fa8)
(cherry picked from commit 2b5bb07b7c25ae047530a78d5d19466f7b6b330c)
|
|
rce from sysfs
Consolidate SCU wakeup defines in the header file.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
(cherry picked from commit 012932b938d28eb47d05a505705fad3735b53d5d)
|
|
source from sysfs
Consolidate SCU wakeup defines in the header file.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
(cherry picked from commit 215433a807576abc8cafbbb1b64715650ed98224)
(cherry picked from commit 7ca430575e9ae034a2c28798fa8dd7b931f0733c)
|
|
Consolidate SCU wakeup defines in the header file.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
(cherry picked from commit 7d1a364e453397d3659cb80832e2297d49b62706)
(cherry picked from commit 36bde0d134c97cfbbac9ad1078a2fbeb9b2cd9fa)
|
|
wakeup source from sysfs
Record SCU wakeup interrupt in /sys/power/pm_wakeup_irq
The user can further identify the exact wakeup source by using the
following interface:
cat /sys/firmware/scu_wakeup_source/wakeup_src
The above will print the wake groups and the irqs that could have
contributed to waking up the kernel. For example if ON/OFF button was the
wakeup source:
cat /sys/firmware/scu_wakeup_source/wakeup_src
Wakeup source group = 3, irq = 0x1
The user can refer to the SCFW API documentation to identify all the
wake groups and irqs.
Signed-off-by: Ranjani Vaidyanathan <ranjani.vaidyanathan@nxp.com>
(cherry picked from commit d49daabfb43eddf94144560fc2eef58015311454)
(cherry picked from commit fed9f95ad512fd4b4cca7c8bfd08a78ddcaebeb9)
|
|
Since IRQF_NO_SUSPEND used for imx mailbox driver, that means this irq
can't be used for wakeup source so that can't wakeup from freeze mode.
Add pm_system_wakeup() to wakeup from freeze mode.
Signed-off-by: Robin Gong <yibin.gong@nxp.com>
Reviewed-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
(cherry picked from commit d12a9c6240167bab5a49180cf642cc9e6e518bca)
(cherry picked from commit 23857411888f489fbff023d05a38a0cdc035af26)
|
|
Change enable calls to disable calls in imx8qm_ipg_clk_disable
Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
(cherry picked from commit 8d4eef776974fce47db4447226b3834d4eb5afc5)
|
|
This fixes an issue where there is no display after resuming from suspend
due to missing PHY initialization.
Signed-off-by: Oliver Brown <oliver.brown@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit 23617be31285b84b68e652d3fb39dc73875126c1)
|
|
commit 91a7cda1f4b8bdf770000a3b60640576dafe0cec upstream.
This fixes the following error caused by a race condition between
phydev->adjust_link() and a MDIO transaction in the phy interrupt
handler. The issue was reproduced with the ethernet FEC driver and a
micrel KSZ9031 phy.
[ 146.195696] fec 2188000.ethernet eth0: MDIO read timeout
[ 146.201779] ------------[ cut here ]------------
[ 146.206671] WARNING: CPU: 0 PID: 571 at drivers/net/phy/phy.c:942 phy_error+0x24/0x6c
[ 146.214744] Modules linked in: bnep imx_vdoa imx_sdma evbug
[ 146.220640] CPU: 0 PID: 571 Comm: irq/128-2188000 Not tainted 5.18.0-rc3-00080-gd569e86915b7 #9
[ 146.229563] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[ 146.236257] unwind_backtrace from show_stack+0x10/0x14
[ 146.241640] show_stack from dump_stack_lvl+0x58/0x70
[ 146.246841] dump_stack_lvl from __warn+0xb4/0x24c
[ 146.251772] __warn from warn_slowpath_fmt+0x5c/0xd4
[ 146.256873] warn_slowpath_fmt from phy_error+0x24/0x6c
[ 146.262249] phy_error from kszphy_handle_interrupt+0x40/0x48
[ 146.268159] kszphy_handle_interrupt from irq_thread_fn+0x1c/0x78
[ 146.274417] irq_thread_fn from irq_thread+0xf0/0x1dc
[ 146.279605] irq_thread from kthread+0xe4/0x104
[ 146.284267] kthread from ret_from_fork+0x14/0x28
[ 146.289164] Exception stack(0xe6fa1fb0 to 0xe6fa1ff8)
[ 146.294448] 1fa0: 00000000 00000000 00000000 00000000
[ 146.302842] 1fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 146.311281] 1fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 146.318262] irq event stamp: 12325
[ 146.321780] hardirqs last enabled at (12333): [<c01984c4>] __up_console_sem+0x50/0x60
[ 146.330013] hardirqs last disabled at (12342): [<c01984b0>] __up_console_sem+0x3c/0x60
[ 146.338259] softirqs last enabled at (12324): [<c01017f0>] __do_softirq+0x2c0/0x624
[ 146.346311] softirqs last disabled at (12319): [<c01300ac>] __irq_exit_rcu+0x138/0x178
[ 146.354447] ---[ end trace 0000000000000000 ]---
With the FEC driver phydev->adjust_link() calls fec_enet_adjust_link()
calls fec_stop()/fec_restart() and both these function reset and
temporary disable the FEC disrupting any MII transaction that
could be happening at the same time.
fec_enet_adjust_link() and phy_read() can be running at the same time
when we have one additional interrupt before the phy_state_machine() is
able to terminate.
Thread 1 (phylib WQ) | Thread 2 (phy interrupt)
|
| phy_interrupt() <-- PHY IRQ
| handle_interrupt()
| phy_read()
| phy_trigger_machine()
| --> schedule phylib WQ
|
|
phy_state_machine() |
phy_check_link_status() |
phy_link_change() |
phydev->adjust_link() |
fec_enet_adjust_link() |
--> FEC reset | phy_interrupt() <-- PHY IRQ
| phy_read()
|
Fix this by acquiring the phydev lock in phy_interrupt().
Link: https://lore.kernel.org/all/20220422152612.GA510015@francesco-nb.int.toradex.com/
Fixes: c974bdbc3e77 ("net: phy: Use threaded IRQ, to allow IRQ from sleeping devices")
cc: <stable@vger.kernel.org>
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20220506060815.327382-1-francesco.dolcini@toradex.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
[fd: backport: adapt locking before did_interrupt()/ack_interrupt()
callbacks removal ]
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
|
|
Link: https://lore.kernel.org/r/20220510130729.852544477@linuxfoundation.org
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Shuah Khan <skhan@linuxfoundation.org>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Hulk Robot <hulkrobot@huawei.com>
Tested-by: Linux Kernel Functional Testing <lkft@linaro.org>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
commit 1f311c94aabdb419c28e3147bcc8ab89269f1a7e upstream.
SD spec definition:
"Host provides at least 74 Clocks before issuing first command"
After 1ms for the voltage stable then start issuing the Clock signals
if POWER STATE is
MMC_POWER_OFF to MMC_POWER_UP to issue Clock signal to card
MMC_POWER_UP to MMC_POWER_ON to stop issuing signal to card
Signed-off-by: Ricky Wu <ricky_wu@realtek.com>
Link: https://lore.kernel.org/r/1badf10aba764191a1a752edcbf90389@realtek.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Christian Loehle <cloehle@hyperstone.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|