summaryrefslogblamecommitdiffstats
path: root/arch/arm/boot/dts/rk3288-veyron-sdmmc.dtsi
blob: a4570444cc79527efeb725be0207de6845b70f0a (plain) (tree)
1
2
3
4
5
                                             



                                                           

















































                                                                                 
                                                            

                                                            
                                                         







                                                            
                                                         











                                  
                                                   
                                             



                      


                                   
// 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>;
};