u-boot-brain/drivers
Peng Fan 745df68d36 pinctrl: imx: Introduce pinctrl driver for i.MX6
Introduce pinctrl for i.MX6
1. pinctrl-imx.c is for common usage. It's used by i.MX6/7.
2. Add PINCTRL_IMX PINCTRL_IMX6 Kconfig entry.
3. To the pinctrl_ops implementation, only set_state is implemented.
   To i.MX6/7, the pinctrl dts entry is as following:
&iomuxc {
        pinctrl-names = "default";

        pinctrl_csi1: csi1grp {
                fsl,pins = <
                MX6UL_PAD_CSI_MCLK__CSI_MCLK            0x1b088
                MX6UL_PAD_CSI_PIXCLK__CSI_PIXCLK        0x1b088
                MX6UL_PAD_CSI_VSYNC__CSI_VSYNC          0x1b088
                >;
        };

        [.....]
};
  there is no property named function or groups. So pinctrl_generic_set_state
  can not be used here.
5. This driver is a simple implementation for i.mx iomux controller,
   only parse the fsl,pins property and write value to registers.
6. With DEBUG enabled, we can see log when "i2c bus 0":
   "
   set_state_simple op missing
   imx_pinctrl_set_state: i2c1grp
   mux_reg 0x14c, conf_reg 0x3bc, input_reg 0x5d8, mux_mode 0x0, input_val 0x1, config_val 0x4000007f
   write mux: offset 0x14c val 0x10
   select_input: offset 0x5d8 val 0x1
   write config: offset 0x3bc val 0x7f
   mux_reg 0x148, conf_reg 0x3b8, input_reg 0x5d4, mux_mode 0x0, input_val 0x1, config_val 0x4000007f
   write mux: offset 0x148 val 0x10
   select_input: offset 0x5d4 val 0x1
   write config: offset 0x3b8 val 0x7f
   "
   this means imx6 pinctrl driver works as expected.

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2016-02-21 11:23:48 +01:00
..
adc sandbox: add ADC driver 2015-11-02 10:38:00 +09:00
bios_emulator dm: pci: Convert bios_emu to use the driver model PCI API 2016-01-24 12:07:19 +08:00
block ahci: Add a disk-controller uclass 2016-01-24 12:09:39 +08:00
bootcount bootcount: Correct #endif comment to match, other aesthetics 2016-01-08 10:15:43 -05:00
clk drivers: clk: Add clock driver for Microchip PIC32 Microcontroller. 2016-02-01 22:14:00 +01:00
core dm: Remove device_probe_child() 2016-01-28 21:01:23 -07:00
cpu x86: Move MP initialization codes into a common place 2015-07-14 18:03:16 -06:00
crypto imx: Refactoring CAAM Job Ring structure and Secure Memory for imx7 2016-02-21 11:20:54 +01:00
ddr drivers: ddr: Add DDR2 SDRAM controller driver for Microchip PIC32. 2016-02-01 22:14:01 +01:00
demo drivers: hierarchize drivers Kconfig menu 2015-08-12 20:47:44 -04:00
dfu mmc: store hwpart in the block device 2016-01-13 21:05:19 -05:00
dma imx: apbh_dma: Update APBH-DMA for MX7D 2016-01-24 12:09:16 +01:00
fpga fpga: xilinx: Check for substring in device ID validation 2016-01-27 15:55:53 +01:00
gpio dm: vybrid_gpio: Drop legacy code 2016-02-02 21:36:10 +01:00
hwmon mailaddr: Update mail address 2016-01-27 15:32:05 +01:00
i2c mvtwsi: Fix breakage introduced by "Fix mvtwsi not working on sun6i and newer sunxi SoCs" 2016-01-26 17:58:02 +01:00
input Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
led dm: led: Tidy up SPL options for the led and led-gpio 2015-09-02 21:28:22 -06:00
memory Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
misc misc: Add simple driver to enable the legacy UART on Winbond Super IO chips 2016-01-28 13:53:30 +08:00
mmc Merge branch 'master' of git://git.denx.de/u-boot-atmel 2016-02-02 07:24:52 -05:00
mtd atmel_nand: Add 32 bit ecc support for sama5d2 chip 2016-02-02 11:49:11 +01:00
net Merge branch 'master' of git://git.denx.de/u-boot-atmel 2016-02-02 07:24:52 -05:00
pch dm: x86: Add a driver for Intel PCH9 2016-01-24 12:07:17 +08:00
pci Merge git://git.denx.de/u-boot-dm 2016-01-29 13:47:38 -05:00
pcmcia powerpc: mpc824x: remove MPC824X cpu support 2015-01-05 12:08:55 -05:00
pinctrl pinctrl: imx: Introduce pinctrl driver for i.MX6 2016-02-21 11:23:48 +01:00
power sunxi: power: axp818: Enable support for ALDOs 2016-01-26 16:20:05 +01:00
pwm pwm: rockchip: Add a PWM driver for Rockchip SoCs 2016-01-21 20:42:36 -07:00
qe driver/qe: use strncpy instead of strcpy 2015-08-03 12:06:36 -07:00
ram ram: rename CONFIG_SPL_RAM_SUPPORT to CONFIG_SPL_RAM 2015-08-18 13:46:02 -04:00
remoteproc drivers: remoteproc: rproc-uclass: Fix check for NULL pointers 2015-12-05 18:22:32 -05:00
rtc rtc: Add MCP79411 support to DS1307 rtc driver 2015-11-04 15:19:12 -08:00
serial dm: lpuart: Drop the legacy code 2016-02-02 21:36:09 +01:00
soc Various Makefiles: Add SPDX-License-Identifier tags 2015-11-10 09:19:52 -05:00
sound of: clean up OF_CONTROL ifdef conditionals 2015-08-18 13:46:05 -04:00
spi Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriq 2016-01-27 15:05:36 -05:00
thermal imx: mx7: fix the temperature checking for Rev1.1 2016-01-07 17:53:11 +01:00
timer timer: sandbox: work without device tree 2016-01-20 19:06:23 -07:00
tpm tpm: st33zp24: Add tpm st33zp24 spi support 2016-01-28 21:01:22 -07:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb Merge branch 'master' of git://git.denx.de/u-boot-usb 2016-01-25 17:23:19 -05:00
video video: sandbox: Allow selection of font size and console name 2016-01-30 10:57:30 +01:00
watchdog imx_watchdog: always set minimal timeout in reset_cpu 2016-01-07 17:54:53 +01:00
Kconfig dm: pwm: Add a PWM uclass 2016-01-21 20:42:36 -07:00
Makefile drivers: ddr: Add DDR2 SDRAM controller driver for Microchip PIC32. 2016-02-01 22:14:01 +01:00