summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl
Commit message (Collapse)AuthorAgeFilesLines
...
* | driver: workaroud resource request that conflicts with errno PTRJean-Christophe PLAGNIOL-VILLARD2015-01-081-3/+3
|/ | | | | | | | | | | | | | | | broken since commit ed6e965824303255cacc1c1a195d3684caa26bce Author: Sascha Hauer <s.hauer@pengutronix.de> resource: Let dev_request_mem_region return an error pointer Introduce dev_request_mem_region_err_null only used on platform like at91 where the resource address conflicts with errno PTR. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: Add i.MX6sx compatible entrySascha Hauer2014-11-271-0/+2
| | | | | | To let the driver probe on i.MX6sx. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: tegra: add XUSB pad controllerLucas Stach2014-11-043-0/+528
| | | | | | | | This is a combined pincontrol/PHY driver for the SerDes lanes on Tegra K1. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: tegra: try to select "boot" stateLucas Stach2014-11-042-4/+12
| | | | | | | | | | New DTs call the initial pinctrl state "boot" in order to avoid Linux reconfiguring the pinctrl by default. The bootloader should explicitly set this state. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/resource-err-ptr'Sascha Hauer2014-10-028-12/+21
|\
| * resource: Let dev_request_mem_region return an error pointerSascha Hauer2014-09-166-10/+16
| | | | | | | | | | | | For all users fix or add the error check. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * resource: Let dev_get_mem_region return an error pointerSascha Hauer2014-09-161-0/+3
| | | | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
| * resource: Let request_iomem_region return an error pointerSascha Hauer2014-09-161-2/+2
| | | | | | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | pinctrl: fix Kconfig dependenciesSascha Hauer2014-09-154-12/+29
|/ | | | | | | | | | | | | | | | | - Remove OFDEVICE dependency from PINCTRL. It won't do much then, so add a comment to Kconfig when PINCTRL is selected without OFDEVICE - Let Architectures only select PINCTRL instead of the particular driver. Change the drivers to 'default y if $SOC' to make sure the drivers are still compiled if the corresponding SoC is selected This fixes Kconfig warnings like: warning: (PINCTRL_ARMADA_370 && PINCTRL_ARMADA_XP && PINCTRL_DOVE && PINCTRL_KIRKWOOD) selects PINCTRL which has unmet direct dependencies (OFDEVICE) Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* pinctrl: at91: retrieve device id in non dtb probeRaphaël Poggi2014-09-091-3/+8
| | | | | | | We need to retrieve the device id in device tree/non device tree case. Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: at91: fix the pin_to_controller functionRaphaël Poggi2014-09-091-2/+2
| | | | | | | | Other functions use pin_to_controller to retrieve a at91_gpio_chip structure, so fix pin_to_controller to return the correct value. Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: at91: add driver dataRaphaël Poggi2014-09-091-0/+10
| | | | | | | This commit adds the driver data for the gpio-at91 driver. Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: at91: add pinctrl driverRaphaël Poggi2014-09-043-0/+690
| | | | | | | | | This driver is based on mach-at91/gpio.c and linux pinctrl driver. The driver contains the gpio and pinctrl parts (like in linux) because the two parts share some structures and logics. Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: rockchip: add support for new DT bindingsBeniamino Galvani2014-09-012-36/+18
| | | | | | | | | This patch modifies the Rockchip pinctrl driver to comply with the new DT bindings, which use two syscon nodes to specify the address of memory resources. Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: mvebu: add pinctrl driver for Armada XPSebastian Hesselbarth2014-07-233-0/+408
| | | | | | | | | This adds a pinctrl driver for pin muxing on Marvell Armada XP. The driver is ported from Linux and modified to fit on Barebox's common mvebu pinctrl driver. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: mvebu: add pinctrl driver for Armada 370Sebastian Hesselbarth2014-07-233-0/+421
| | | | | | | | | This adds a pinctrl driver for pin muxing on Marvell Armada 370. The driver is ported from Linux and modified to fit on Barebox's common mvebu pinctrl driver. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: mvebu: add pinctrl drivers for Dove and KirkwoodSebastian Hesselbarth2014-06-268-0/+1470
| | | | | | | | | | This adds pinctrl drivers for Marvell Dove and Kirkwood SoCs based on a common driver stub. This design is based on the corresponding Linux driver and should ease additional drivers for Marvell Armada SoCs. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: tegra: add Tegra124 supportLucas Stach2014-06-052-1/+252
| | | | | | | | | We can reuse the Tegra30 pinctrl driver, as the bit layout is the same. Just add the pin and drivegroups and some compile-time magic to avoid bloat. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: tegra30: introduce drvdataLucas Stach2014-06-051-14/+34
| | | | | | | | | Access pin and drivegroups through a drvdata pointer. This allows to insert other groups for SoCs with a similar bit layout easily. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/tegra'Sascha Hauer2014-06-041-1/+158
|\
| * pinctrl: tegra30: parse drive groupsLucas Stach2014-05-151-1/+158
| | | | | | | | | | | | | | | | | | These are special groups to configure pad properties such as drive strength and slew rate for a group of pads. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | pinctrl: i.MX iomux-v3: Print more context in error messageSascha Hauer2014-05-081-1/+2
|/ | | | | | | When a devicenode has invalid pinctrl settings then printing the offending node helps debugging it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/tegra'Sascha Hauer2014-05-053-0/+510
|\ | | | | | | | | | | | | | | Conflicts: arch/arm/dts/tegra20-colibri.dtsi arch/arm/dts/tegra20-paz00.dts arch/arm/dts/tegra20.dtsi drivers/clk/tegra/clk-periph.c
| * pinctrl: tegra: add Tegra3 driverLucas Stach2014-04-233-0/+510
| | | | | | | | | | Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | pinctrl: add rockchip pinctrl and gpio driversBeniamino Galvani2014-04-293-0/+568
|/ | | | | Signed-off-by: Beniamino Galvani <b.galvani@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* ARM: i.MX: Make mxc_iomux_v3_setup_multiple_pads argument constSascha Hauer2014-02-201-2/+2
| | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: Add pinctrl driver for i.MX1/21/27Sascha Hauer2014-01-292-0/+199
| | | | | | | This turns the legacy iomux-v1 support into a full pinctrl driver. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: single: select CONFIG_PINCTRLJan Weitzel2013-12-171-0/+1
| | | | | | | pinctrl_register is used. Signed-off-by: Jan Weitzel <j.weitzel@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/omap-drivers'Sascha Hauer2013-12-064-6/+188
|\
| * pinctrl: Add functions to select pinctrl from device_nodeSascha Hauer2013-11-271-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | Instead of requiring a device pointer, add a functions to select the pinctrl state based on a device node. The AM33xx cpsw devicetree description has several subdevices with pinctrl information attached to them. In barebox we do not handle the subdevices as distinct devices, so the pinctrl is never configured correctly and the mdio bus subdevice stops working. This patch makes it possible to configure the pinctrl without having a device. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * pinctrl: Add pinctrl-single driverSascha Hauer2013-11-223-0/+170
| | | | | | | | | | | | | | Based on the kernel pinctrl-single driver. This one is just enough to make OMAP/AM33xx work. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | treewide: Add missing includesSascha Hauer2013-11-082-0/+3
|/ | | | | | | | A lot of files rely on include/driver.h including include/of.h (and this including include/errno.h. include the files explicitly so we can eventually get rid of including of.h from driver.h Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: don't allow drivers to be selected by menuconfig userLucas Stach2013-10-311-8/+4
| | | | | | | | | | | | | There is no much sense in having the pinctrl drivers be user selectable as all arches using on of them already selects the right one. So to avoid presenting the user with the choice to enable unrelated pinctrl drivers or pushing lots of dependencies into the Kconfig just drop the configurability. Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next-manual/oftree-linux-sync'Sascha Hauer2013-07-021-2/+2
|\
| * OF: base: sync of_find_property with linux OF APISebastian Hesselbarth2013-06-201-2/+2
| | | | | | | | | | | | | | | | To start synchronizing OF API of barebox with linux OF API, this adds a length pointer to of_find_property. Also all current users of that function are updated to reflect the API change. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
* | pinctrl: imx-iomux-v3: Add imx6dl compatible entrySascha Hauer2013-06-251-0/+2
|/ | | | Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/tegra'Sascha Hauer2013-06-023-0/+353
|\
| * tegra20: add pinctrl driverLucas Stach2013-05-123-0/+353
| | | | | | | | | | | | | | | | | | | | | | | | This adds a pinctrl driver for the Tegra 20 line of SoCs. It only supports the three basic pinconfiguration settings function mux, tristate control and pullup/down control. The driver understands the same devicetree bindings as the Linux one, unimplemented pinconfiguration options will be ignored. Signed-off-by: Lucas Stach <dev@lynxeye.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | pinctrl: imx-iomux-v3: only register pinctrl when device node is availableSascha Hauer2013-05-211-1/+1
|/ | | | | | | | The pinctrl support is devicetree only, so only register it when we actually have a devicetree. Otherwise we crash boards using the iomux-v3 from platform code in pinctrl_register(). Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: move imx-iomux-v1 to drivers/pinctrl/Sascha Hauer2013-04-233-0/+122
| | | | | | For consistency reasons. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: move imx-iomux-v2 to drivers/pinctrl/Sascha Hauer2013-04-233-0/+158
| | | | | | For consistency reasons. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pinctrl: switch i.MX iomux-v3 support to pinctrlSascha Hauer2013-04-233-0/+219
| | | | | | | | | This switches the iomux-v3 (found on i.MX25,35,51,53,6) to pinctrl support. The old SoC specific API is kept for compatibility. The pinctrl devicetree support is enabled automatically when OFDEVICE support is available. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Add initial pinctrl supportSascha Hauer2013-04-233-0/+162
This is a massively stripped down pinctrl support. The upper API consists of only of: int pinctrl_select_state(struct device_d *dev, const char *state); This is used to setup the pinmux for a device to a certain state. This function normally does not need to be called manually. The device core will setup the default state before probing a device. The pinctrl core has the job of handling the devicetree. It parses the pinctrl phandles for a device from devicetree, finds the correct pinctrl device and calls its set_state callback with the pinctrl setup device node. The simplicity of this pinctrl framework comes from the fact that we: - Limit usage to devicetree only for now. For non devicetree use the old legacy SoC specific APIs still can be used. - Do not parse the devicetree into internal data structures which are used by the drivers later. This adds the overhead that we may parse the devicetree multiple times for more dynamic setups, but on the other hand we do not need to parse devices from the devicetree we don't use in barebox - Do not detect resource conflicts. Since the framework mainly is a devicetree parser this would be hard to implement. It should be easy for board maintainers to avoid resource conflicts though. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>