This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SIM_IO pin problem

Other Parts Discussed in Thread: AM3703

Hi,

I have Sitara AM3703 processor (package 515 CBP) and I want to configure pin SIM_IO ("p27") to mode 4 (gpio126) - I can't do it.

/debug/omap_mux # cat sim_io
name: sim_io.sim_io (0x48002150/0x120 = 0x0100), b p27, t NA
mode: OMAP_PIN_INPUT | OMAP_MUX_MODE0
signals: sim_io | sim_io_low_impedance | NA | NA | gpio_126 | NA | NA | safe_mode


I want to change its mode because I want to control 3V input of another chip.  At this moment pin is floating and I configure vsim to 1V8 - just for tests.

But The worst thing is that I can't reconfigure this pin. Both from initial board code and debugfs.

The procedure:

u16 control_pbias_offset = OMAP343X_CONTROL_PBIAS_LITE;
u32 reg, wakeup_reg;

wakeup_reg = omap_ctrl_readl(OMAP343X_CONTROL_WKUP_CONTROL);
wakeup_reg &= ~(1 << 6);
omap_ctrl_writel(wakeup_reg ,OMAP343X_CONTROL_WKUP_CONTROL);

reg = omap_ctrl_readl(control_pbias_offset);

reg &= ~OMAP343X_PBIASLITEPWRDNZ1;

omap_ctrl_writel(reg, control_pbias_offset);

reg = omap_ctrl_readl(control_pbias_offset);

reg &= ~OMAP343X_PBIASLITEVMODE1;

//reg |= OMAP343X_PBIASLITEVMODE1;
omap_ctrl_writel(reg , control_pbias_offset);

// turn_on_vio(); I've tested it with switching on the vsim here 

/* 100ms delay required for PBIAS configuration */
msleep(100);

wakeup_reg |= (1 << 6);
omap_ctrl_writel(wakeup_reg ,OMAP343X_CONTROL_WKUP_CONTROL);
wakeup_reg = omap_ctrl_readl(OMAP343X_CONTROL_WKUP_CONTROL);

reg |= OMAP343X_PBIASLITEPWRDNZ1;
omap_ctrl_writel(reg , control_pbias_offset);