ASoC: davinci-mcasp: Add pinctrl support

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ASoC: tlv320aic3x: Convert mic bias to a supply widget

Convert MicBias widgets to supply widget.

On tlv320aic3x, Mic bias power on/off shares the same register bits
with output mic bias voltage.  So, when power on mic bias, we need
reclaim it to voltage value.

Provide a new platform data so that the micbias voltage can be sent
according to board requirement. Now since tlc320aic3x codec driver
is DT aware, update dt files and functions to handle this new
"micbias-vg"  platform data.

Because of sharing of bits, when enabling the micbias, voltage also
needs to be updated. So use SND_SOC_DAPM_POST_PMU & SND_SOC_DAPM_PRE_PMD
macro to create an event to handle this.

Since micbias is converted to supply widget, updated machine drivers as
well.

This change is runtime tested on da850-evm with audio loopback
(arecord|aplay) for confirmation.

Signed-off-by: Hebbar Gururaja <gururaja.hebbar@ti.com>
ASoC: davinci: machine: Add device tree binding

Device tree support for Davinci Machine driver

When the board boots with device tree, the driver will receive card,
codec, dai interface details (like the card name, DAPM routing map,
phandle for the audio components described in the dts file, codec mclk
speed).
The card will be set up based on this information.
Since the routing is provided via DT we can mark the card fully routed
so core can take care of disconnecting the unused pins.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ASoC: davinci: remove __dev* attributes

CONFIG_HOTPLUG is going away as an option.  As result the __dev*
markings will be going away.

Remove use of __devexit_p and __devexit.

Signed-off-by: Hebbar Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: da850: add pinctrl driver entries

For DT, Davinci platform can use pinctrl-single driver for handling
Padconf registers.

Enable PINCTRL Config for all Davinci platform.  Add required
pinctrl DT entries in da850 dts file

Test procedure

 1)Populate DT file with NAND node information.
 2)Populate board DT file with pinmux information for NAND.
 3)Boot and confirm NAND is detected by the kernel
 4)Cat /proc/mtd shows up single partition.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: da850: add I2C0 DT node

Add I2C0 device-tree node and related pin-ctrl setup.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: da850 evm: add codec node

Add tlv320aic3x DT driver node to export codec functionality on da850 EVM.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: da850: add McASP driver DT node

Add McASP device-tree node and related pin-ctrl
setup.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: da850 evm: Add sound Machine driver DT node

DT node for Davinci sound Machine driver

When the board boots with device tree, the driver will receive card,
codec, dai interface details (like the card name, DAPM routing map,
phandle for the audio components described in the dts file, codec mclk
speed).
The card will be set up based on this information.
Since the routing is provided via DT we can mark the card fully routed
so core can take care of disconnecting the unused pins.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: da850: [HACK] fix UART2 clock-frequency

UART2 clock frequency should be 132Mhz without this console will
get garbage data.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ASoC: davinci-mcasp: [HACK] get required edma McASP data through DT

Since edma is yet to be ported to ASoC, get required EDMA data through DT.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: da850: [HACK] add ASoC edma related DT parameters

Since edma is yet to be ported to ASoC, add McASP edma related DT parameters.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ASoC: davinci-mcasp: [HACK] add sram pool details

Since sram is not yet ported to ASoC DT , hardcode the "sram_pool"
information for time-being.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ASoC: davinci-mcasp: [HACK] add DMA resource

Currently there is no support of passing DMA resource via DT.
platform_get_resource will return error. This HACK will allow the driver to
continue in error case with DMA channel 0/1.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: [HACK] add I2C OF_DEV_AUXDATA entries

Add I2C OF_DEV_AUXDATA entries so we can use module clocks.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: [HACK] add McASP OF_DEV_AUXDATA entries

Add McASP OF_DEV_AUXDATA entries so we can use module clocks.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
ARM: davinci: [HACK] add edma support and McASP edma channel

Register edma device along with the relevant platform data. Also, since edma is
not completely ported for ASoC, registering device through DT doesn't populate
dma data yet. Hence hack the driver to specifically hardcode mcasp edma
channels.

Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>