stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Vicente Bergas <vicencb@gmail.com>,
	Heiko Stuebner <heiko@sntech.de>, Sasha Levin <sashal@kernel.org>,
	devicetree@vger.kernel.org, linux-rockchip@lists.infradead.org
Subject: [PATCH AUTOSEL 4.14 049/109] arm64: dts: rockchip: Fix microSD in rk3399 sapphire board
Date: Sat,  9 Nov 2019 21:44:41 -0500	[thread overview]
Message-ID: <20191110024541.31567-49-sashal@kernel.org> (raw)
In-Reply-To: <20191110024541.31567-1-sashal@kernel.org>

From: Vicente Bergas <vicencb@gmail.com>

[ Upstream commit 88a20edf76091ee7f1bb459b89d714d53f0f8940 ]

The microSD card slot in the Sapphire board is not working because of
several issues:
 1.- The vmmc power supply is missing in the DTS. It is capable of 3.0V
 and has a GPIO-based enable control.
 2.- The vqmmc power supply can provide up to 3.3V, but it is capped in
 the DTS to just 3.0V because of the vmmc capability. This results in a
 conflict from the mmc driver requesting an unsupportable voltage range
 from 3.3V to 3.0V (min > max) as reported in dmesg. So, extend the
 range up to 3.3V. The hw should be able to stand this 0.3V tolerance.
 See mmc_regulator_set_vqmmc in drivers/mmc/core/core.c.
 3.- The card detect signal is non-working. There is a known conflict
 with jtag, but the workaround in drivers/soc/rockchip/grf.c does not
 work. Adding the broken-cd attribute to the DTS fixes the issue.

Signed-off-by: Vicente Bergas <vicencb@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../boot/dts/rockchip/rk3399-sapphire.dtsi    | 24 ++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi
index ce592a4c0c4cd..6e40133372a80 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-sapphire.dtsi
@@ -113,6 +113,19 @@
 		vin-supply = <&vcc_1v8>;
 	};
 
+	vcc3v0_sd: vcc3v0-sd {
+		compatible = "regulator-fixed";
+		enable-active-high;
+		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&sdmmc0_pwr_h>;
+		regulator-always-on;
+		regulator-max-microvolt = <3000000>;
+		regulator-min-microvolt = <3000000>;
+		regulator-name = "vcc3v0_sd";
+		vin-supply = <&vcc3v3_sys>;
+	};
+
 	vcc3v3_sys: vcc3v3-sys {
 		compatible = "regulator-fixed";
 		regulator-name = "vcc3v3_sys";
@@ -315,7 +328,7 @@
 				regulator-always-on;
 				regulator-boot-on;
 				regulator-min-microvolt = <1800000>;
-				regulator-max-microvolt = <3000000>;
+				regulator-max-microvolt = <3300000>;
 				regulator-state-mem {
 					regulator-on-in-suspend;
 					regulator-suspend-microvolt = <3000000>;
@@ -490,6 +503,13 @@
 		};
 	};
 
+	sd {
+		sdmmc0_pwr_h: sdmmc0-pwr-h {
+			rockchip,pins =
+				<RK_GPIO0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
+		};
+	};
+
 	usb2 {
 		vcc5v0_host_en: vcc5v0-host-en {
 			rockchip,pins =
@@ -537,6 +557,7 @@
 };
 
 &sdmmc {
+	broken-cd;
 	bus-width = <4>;
 	cap-mmc-highspeed;
 	cap-sd-highspeed;
@@ -545,6 +566,7 @@
 	max-frequency = <150000000>;
 	pinctrl-names = "default";
 	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
+	vmmc-supply = <&vcc3v0_sd>;
 	vqmmc-supply = <&vcc_sdio>;
 	status = "okay";
 };
-- 
2.20.1


  parent reply	other threads:[~2019-11-10  3:03 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-10  2:43 [PATCH AUTOSEL 4.14 001/109] s390/qeth: invoke softirqs after napi_schedule() Sasha Levin
2019-11-10  2:43 ` [PATCH AUTOSEL 4.14 002/109] PCI/ACPI: Correct error message for ASPM disabling Sasha Levin
2019-11-10  2:43 ` [PATCH AUTOSEL 4.14 003/109] serial: uartps: Fix suspend functionality Sasha Levin
2019-11-10  2:43 ` [PATCH AUTOSEL 4.14 004/109] serial: samsung: Enable baud clock for UART reset procedure in resume Sasha Levin
2019-11-10  2:43 ` [PATCH AUTOSEL 4.14 005/109] serial: mxs-auart: Fix potential infinite loop Sasha Levin
2019-11-10  2:43 ` [PATCH AUTOSEL 4.14 006/109] samples/bpf: fix a compilation failure Sasha Levin
2019-11-10  2:43 ` [PATCH AUTOSEL 4.14 007/109] spi: mediatek: Don't modify spi_transfer when transfer Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 008/109] ipmi:dmi: Ignore IPMI SMBIOS entries with a zero base address Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 009/109] net: hns3: fix return type of ndo_start_xmit function Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 010/109] powerpc/iommu: Avoid derefence before pointer check Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 011/109] powerpc/64s/hash: Fix stab_rr off by one initialization Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 012/109] powerpc/pseries: Disable CPU hotplug across migrations Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 013/109] powerpc: Fix duplicate const clang warning in user access code Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 014/109] RDMA/i40iw: Fix incorrect iterator type Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 015/109] OPP: Protect dev_list with opp_table lock Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 016/109] libfdt: Ensure INT_MAX is defined in libfdt_env.h Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 017/109] power: supply: twl4030_charger: fix charging current out-of-bounds Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 018/109] power: supply: twl4030_charger: disable eoc interrupt on linear charge Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 019/109] net: toshiba: fix return type of ndo_start_xmit function Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 020/109] net: xilinx: " Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 021/109] net: broadcom: " Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 022/109] net: amd: " Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 023/109] net: sun: " Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 024/109] net: hns3: Fix for setting speed for phy failed problem Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 025/109] net: hns3: Fix parameter type for q_id in hclge_tm_q_to_qs_map_cfg() Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 026/109] nfp: provide a better warning when ring allocation fails Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 027/109] usb: chipidea: imx: enable OTG overcurrent in case USB subsystem is already started Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 028/109] usb: chipidea: Fix otg event handler Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 029/109] mlxsw: spectrum: Init shaper for TCs 8..15 Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 030/109] ARM: dts: am335x-evm: fix number of cpsw Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 031/109] f2fs: fix to recover inode's uid/gid during POR Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 032/109] ARM: dts: ux500: Correct SCU unit address Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 033/109] ARM: dts: ux500: Fix LCDA clock line muxing Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 034/109] ARM: dts: ste: Fix SPI controller node names Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 035/109] spi: pic32: Use proper enum in dmaengine_prep_slave_rg Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 036/109] cpufeature: avoid warning when compiling with clang Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 037/109] crypto: arm/crc32 - avoid warning when compiling with Clang Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 038/109] ARM: dts: marvell: Fix SPI and I2C bus warnings Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 039/109] x86/mce-inject: Reset injection struct after injection Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 040/109] ARM: dts: clearfog: fix sdhci supply property name Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 041/109] bnx2x: Ignore bandwidth attention in single function mode Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 042/109] samples/bpf: fix compilation failure Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 043/109] net: phy: mdio-bcm-unimac: Allow configuring MDIO clock divider Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 044/109] net: micrel: fix return type of ndo_start_xmit function Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 045/109] net: freescale: " Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 046/109] x86/CPU: Use correct macros for Cyrix calls Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 047/109] x86/CPU: Change query logic so CPUID is enabled before testing Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 048/109] MIPS: kexec: Relax memory restriction Sasha Levin
2019-11-10  2:44 ` Sasha Levin [this message]
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 050/109] media: pci: ivtv: Fix a sleep-in-atomic-context bug in ivtv_yuv_init() Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 051/109] media: au0828: Fix incorrect error messages Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 052/109] media: davinci: Fix implicit enum conversion warning Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 053/109] ARM: dts: rockchip: explicitly set vcc_sd0 pin to gpio on rk3188-radxarock Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 054/109] usb: gadget: uvc: configfs: Drop leaked references to config items Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 055/109] usb: gadget: uvc: configfs: Prevent format changes after linking header Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 056/109] i2c: aspeed: fix invalid clock parameters for very large divisors Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 057/109] phy: brcm-sata: allow PHY_BRCM_SATA driver to be built for DSL SoCs Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 058/109] phy: renesas: rcar-gen3-usb2: fix vbus_ctrl for role sysfs Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 059/109] phy: phy-twl4030-usb: fix denied runtime access Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 060/109] usb: gadget: uvc: Factor out video USB request queueing Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 061/109] usb: gadget: uvc: Only halt video streaming endpoint in bulk mode Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 062/109] coresight: Fix handling of sinks Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 063/109] coresight: perf: Fix per cpu path management Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 064/109] coresight: perf: Disable trace path upon source error Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 065/109] coresight: etm4x: Configure EL2 exception level when kernel is running in HYP Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 066/109] coresight: tmc: Fix byte-address alignment for RRP Sasha Levin
2019-11-10  2:44 ` [PATCH AUTOSEL 4.14 067/109] misc: kgdbts: Fix restrict error Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 068/109] misc: genwqe: should return proper error value Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 069/109] vfio/pci: Fix potential memory leak in vfio_msi_cap_len Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 070/109] vfio/pci: Mask buggy SR-IOV VF INTx support Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 071/109] scsi: libsas: always unregister the old device if going to discover new Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 072/109] phy: lantiq: Fix compile warning Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 073/109] ARM: dts: tegra30: fix xcvr-setup-use-fuses Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 074/109] ARM: tegra: apalis_t30: fix mmc1 cmd pull-up Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 075/109] ARM: dts: paz00: fix wakeup gpio keycode Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 076/109] net: smsc: fix return type of ndo_start_xmit function Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 077/109] net: faraday: " Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 078/109] f2fs: fix to recover inode's project id during POR Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 079/109] f2fs: mark inode dirty explicitly in recover_inode() Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 080/109] EDAC: Raise the maximum number of memory controllers Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 081/109] ARM: dts: realview: Fix SPI controller node names Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 082/109] firmware: dell_rbu: Make payload memory uncachable Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 083/109] Bluetooth: hci_serdev: clear HCI_UART_PROTO_READY to avoid closing proto races Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 084/109] Bluetooth: L2CAP: Detect if remote is not able to use the whole MPS Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 085/109] x86/hyperv: Suppress "PCI: Fatal: No config space access function found" Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 086/109] crypto: s5p-sss: Fix Fix argument list alignment Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 087/109] crypto: fix a memory leak in rsa-kcs1pad's encryption mode Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 088/109] iwlwifi: dbg: don't crash if the firmware crashes in the middle of a debug dump Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 089/109] iwlwifi: api: annotate compressed BA notif array sizes Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 090/109] iwlwifi: mvm: Allow TKIP for AP mode Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 091/109] scsi: NCR5380: Clear all unissued commands on host reset Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 092/109] scsi: NCR5380: Have NCR5380_select() return a bool Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 093/109] scsi: NCR5380: Withhold disconnect privilege for REQUEST SENSE Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 094/109] scsi: NCR5380: Use DRIVER_SENSE to indicate valid sense data Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 095/109] scsi: NCR5380: Check for invalid reselection target Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 096/109] scsi: NCR5380: Don't clear busy flag when abort fails Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 097/109] scsi: NCR5380: Don't call dsprintk() following reselection interrupt Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 098/109] scsi: NCR5380: Handle BUS FREE during reselection Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 099/109] scsi: NCR5380: Check for bus reset Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 100/109] arm64: dts: amd: Fix SPI bus warnings Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 101/109] arm64: dts: lg: Fix SPI controller node names Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 102/109] ARM: dts: lpc32xx: " Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 103/109] arm64: dts: rockchip: enable display nodes on rk3328-rock64 Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 104/109] rtc: armada38x: fix possible race condition Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 105/109] netfilter: masquerade: don't flush all conntracks if only one address deleted on device Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 106/109] usb: xhci-mtk: fix ISOC error when interval is zero Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 107/109] fuse: use READ_ONCE on congestion_threshold and max_background Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 108/109] IB/iser: Fix possible NULL deref at iser_inv_desc() Sasha Levin
2019-11-10  2:45 ` [PATCH AUTOSEL 4.14 109/109] net: phy: mdio-bcm-unimac: mark PM functions as __maybe_unused Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191110024541.31567-49-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=stable@vger.kernel.org \
    --cc=vicencb@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).