summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/rk3288-veyron-sdmmc.dtsi
blob: a4570444cc79527efeb725be0207de6845b70f0a (plain)
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
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Google Veyron (and derivatives) fragment for sdmmc cards
 *
 * Copyright 2015 Google, Inc
 */

&io_domains {
	sdcard-supply = <&vccio_sd>;
};

&pinctrl {
	sdmmc {
		/*
		 * We run sdmmc at max speed; bump up drive strength.
		 * We also have external pulls, so disable the internal ones.
		 */
		sdmmc_bus4: sdmmc-bus4 {
			rockchip,pins = <6 16 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
					<6 17 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
					<6 18 RK_FUNC_1 &pcfg_pull_none_drv_8ma>,
					<6 19 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
		};

		sdmmc_clk: sdmmc-clk {
			rockchip,pins = <6 20 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
		};

		sdmmc_cmd: sdmmc-cmd {
			rockchip,pins = <6 21 RK_FUNC_1 &pcfg_pull_none_drv_8ma>;
		};

		/*
		 * Builtin CD line is hooked to ground to prevent JTAG at boot
		 * (and also to get the voltage rail correct).
		 * Configure gpio6_C6 as GPIO so dw_mmc builtin CD doesn't
		 * think there's a card inserted
		 */
		sdmmc_cd_disabled: sdmmc-cd-disabled {
			rockchip,pins = <6 22 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		/* This is where we actually hook up CD */
		sdmmc_cd_gpio: sdmmc-cd-gpio {
			rockchip,pins = <7 5 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};

&rk808 {
	vcc9-supply = <&vcc_5v>;

	regulators {
		vccio_sd: LDO_REG4 {
			regulator-name = "vccio_sd";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <3300000>;
			regulator-state-mem {
				regulator-off-in-suspend;
			};
		};

		vcc33_sd: LDO_REG5 {
			regulator-name = "vcc33_sd";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-state-mem {
				regulator-off-in-suspend;
			};
		};
	};
};

&sdmmc {
	status = "okay";

	bus-width = <4>;
	cap-mmc-highspeed;
	cap-sd-highspeed;
	card-detect-delay = <200>;
	cd-gpios = <&gpio7 RK_PA5 GPIO_ACTIVE_LOW>;
	rockchip,default-sample-phase = <90>;
	sd-uhs-sdr12;
	sd-uhs-sdr25;
	sd-uhs-sdr50;
	sd-uhs-sdr104;
	vmmc-supply = <&vcc33_sd>;
	vqmmc-supply = <&vccio_sd>;
};