コード例 #1
0
ファイル: vf_iomuxc.c プロジェクト: 2asoft/freebsd
static int
iomuxc_attach(device_t dev)
{
	struct iomuxc_softc *sc;

	sc = device_get_softc(dev);
	sc->dev = dev;

	if (bus_alloc_resources(dev, iomuxc_spec, sc->tmr_res)) {
		device_printf(dev, "could not allocate resources\n");
		return (ENXIO);
	}

	/* Memory interface */
	sc->bst = rman_get_bustag(sc->tmr_res[0]);
	sc->bsh = rman_get_bushandle(sc->tmr_res[0]);

	pinmux_set(sc);

	return (0);
}
コード例 #2
0
static void meson_remote_pinmux_setup(void)
{
    printk(KERN_INFO "meson_remote_pinmux_setup()\n");

    pinmux_set(&meson_remote_pinmux);
}
コード例 #3
0
ファイル: sd_pad.c プロジェクト: DELUXBMC/amlogic-m6_m8
void sd_sdio_enable(SDIO_Pad_Type_t io_pad_type)
{
	struct pinctrl_state *s;
	int ret;
	if(!p){
		p=devm_pinctrl_get(card_dev);
		if(IS_ERR(p))
			printk("set pinmux error!\n");
	}
	switch (io_pad_type) {
		
		case SDHC_CARD_0_5 :	//SDHC-B
#ifdef CONFIG_OF
			s = pinctrl_lookup_state(p, "sdhc_b");
			if (IS_ERR(s)) {
				devm_pinctrl_put(p);
				p=NULL;
			}
			ret = pinctrl_select_state(p, s);
			if (ret < 0) {
				devm_pinctrl_put(p);
				p=NULL;
			}
#else
			pinmux_set(&SDHC_CARD_0_5_set);
#endif
			SET_CBUS_REG_MASK(SDIO_MULT_CONFIG, (1));
			break;

		case SDHC_BOOT_0_11 :	//SDHC-C
#ifdef CONFIG_OF
			s = pinctrl_lookup_state(p, "sdhc_c");
			if (IS_ERR(s)) {
				pinctrl_put(p);
				p=NULL;
			}
			ret = pinctrl_select_state(p, s);
			if (ret < 0) {
				pinctrl_put(p);
				p=NULL;
			}
#else
			pinmux_set(&SDHC_BOOT_0_11_set);
#endif
			SET_CBUS_REG_MASK(SDIO_MULT_CONFIG, (2));
			break;

		case SDHC_GPIOX_0_9 :	//SDHC-A
#ifdef CONFIG_OF
			s = pinctrl_lookup_state(p, "sdhc_a");
			if (IS_ERR(s)) {
				pinctrl_put(p);
				p=NULL;
			}
			ret = pinctrl_select_state(p, s);
			if (ret < 0) {
				pinctrl_put(p);
				p=NULL;
			}
#else
			pinmux_set(&SDHC_GPIOX_0_9_set);
#endif
			SET_CBUS_REG_MASK(SDIO_MULT_CONFIG, (0));
			break;
		default :
			printk("invalid hw io pad!!!\n");
			break;
	}
	
	return;
}