LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Ray Jui <rjui@broadcom.com> To: Linus Walleij <linus.walleij@linaro.org>, Alexandre Courbot <gnurou@gmail.com>, Stephen Warren <swarren@wwwdotorg.org>, Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>, Mark Rutland <mark.rutland@arm.com>, Ian Campbell <ijc+devicetree@hellion.org.uk>, "Kumar Gala" <galak@codeaurora.org>, Grant Likely <grant.likely@linaro.org>, Christian Daudt <bcm@fixthebug.org>, Matt Porter <mporter@linaro.org>, Florian Fainelli <f.fainelli@gmail.com>, Russell King <linux@arm.linux.org.uk>, Arnd Bergmann <arnd@arndb.de>, Paul Bolle <pebolle@tiscali.nl> Cc: Scott Branden <sbranden@broadcom.com>, Dmitry Torokhov <dtor@google.com>, Anatol Pomazau <anatol@google.com>, <linux-kernel@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, <linux-gpio@vger.kernel.org>, <bcm-kernel-feedback-list@broadcom.com>, <devicetree@vger.kernel.org>, "Ray Jui" <rjui@broadcom.com> Subject: [PATCH v6 0/8] Add pinctrl support to Broadcom Cygnus SoC Date: Mon, 9 Mar 2015 13:44:54 -0700 [thread overview] Message-ID: <1425933902-20652-1-git-send-email-rjui@broadcom.com> (raw) This patchset contains the pinmux (IOMUX) and GPIO/PINCONF support for Broadcom Cygnus SoC. The Cygnus IOMUX controller supports group based mux configuration and allows certain pins to be muxed to GPIO function individually. The IOMUX controller is supported by the pinctrl-cygnus-mux.c driver. Cygnus has 3 GPIO controllers: 1) the ASIU GPIO; 2) the chipCommonG GPIO; and 3) the ALWAYS-ON GPIO. All 3 Cygnus GPIO controllers support basic PINCONF functions such as bias pull up, pull down, and drive strength configuration, when pins are muxed to GPIO. GPIO/PINCONF support is in the pinctrl-cygnus-gpio.c driver. Note pins from the ASIU GPIO can be individually muxed to GPIO function, through interaction with the Cygnus IOMUX controller. Changes from v5: - Remove ngpios device tree property. Instead, determine the number of GPIO based on compaitble string in the driver - Remove all MODULE_* related macros in the driver since the driver will never be compiled as a kernel loadable module Changes from v4: - Rebased to Linux 4.0-rc2 - Switched to use the newly available pinconf_generic_dt_node_to_map_group function for mapping DT mux properties in the IOMUX driver. This helps to get rid of customized device tree parsing code in the driver - Consolidated the other Cygnus GPIO/PINCONF patchset into one single patchset - Tuned up the GPIO/PINCONF driver a bit more, based on code review comments from Linus Walleij Changes from v3: - Fix the driver to have more proper use of "const" in various places - Other minor improvements Changes from v2: - Consolidate all Broadcom pinctrl drivers into drivers/pinctrl/bcm/* - Change the Cygnus IOMUX driver to use standard Linux pinctrl subnode properties such as "function" and "groups" for pinmux configuration, instead of non-standard properties such as "brcm,function" and "brcm,group" - Use real function names like "spi0", "lcd", "key", and etc. instead of HW specific mux names like "alt1", "alt2", "alt3", and etc. - Add suffix "grp" to all group names - Add support to allow individual pins to be muxed to GPIO function through subsystem callbacks "gpio_request_enable" and "gpio_disable_free", and get rid of all GPIO groups - Other minor improvements in the driver Changes from v1: - Fix a typo in device tree binding document Ray Jui (8): pinctrl: bcm: consolidate Broadcom pinctrl drivers pinctrl: Broadcom Cygnus pinctrl device tree binding pinctrl: cygnus: add initial IOMUX driver support ARM: dts: enable IOMUX for Broadcom Cygnus pinctrl: Cygnus: define Broadcom Cygnus GPIO/PINCONF binding pinctrl: cygnus: add gpio/pinconf driver ARM: dts: enable GPIO for Broadcom Cygnus ARM: dts: cygnus: enable GPIO based hook detection .../bindings/pinctrl/brcm,cygnus-gpio.txt | 98 ++ .../bindings/pinctrl/brcm,cygnus-pinmux.txt | 132 +++ arch/arm/boot/dts/bcm-cygnus.dtsi | 36 + arch/arm/boot/dts/bcm911360_entphn.dts | 13 + drivers/pinctrl/Kconfig | 19 +- drivers/pinctrl/Makefile | 3 +- drivers/pinctrl/bcm/Kconfig | 56 ++ drivers/pinctrl/bcm/Makefile | 6 + drivers/pinctrl/{ => bcm}/pinctrl-bcm281xx.c | 4 +- drivers/pinctrl/{ => bcm}/pinctrl-bcm2835.c | 0 drivers/pinctrl/bcm/pinctrl-cygnus-gpio.c | 907 +++++++++++++++++ drivers/pinctrl/bcm/pinctrl-cygnus-mux.c | 1017 ++++++++++++++++++++ 12 files changed, 2269 insertions(+), 22 deletions(-) create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,cygnus-gpio.txt create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,cygnus-pinmux.txt create mode 100644 drivers/pinctrl/bcm/Kconfig create mode 100644 drivers/pinctrl/bcm/Makefile rename drivers/pinctrl/{ => bcm}/pinctrl-bcm281xx.c (99%) rename drivers/pinctrl/{ => bcm}/pinctrl-bcm2835.c (100%) create mode 100644 drivers/pinctrl/bcm/pinctrl-cygnus-gpio.c create mode 100644 drivers/pinctrl/bcm/pinctrl-cygnus-mux.c -- 1.7.9.5
next reply other threads:[~2015-03-09 20:43 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-03-09 20:44 Ray Jui [this message] 2015-03-09 20:44 ` [PATCH v6 1/8] pinctrl: bcm: consolidate Broadcom pinctrl drivers Ray Jui 2015-03-09 20:44 ` [PATCH v6 2/8] pinctrl: Broadcom Cygnus pinctrl device tree binding Ray Jui 2015-03-09 20:44 ` [PATCH v6 3/8] pinctrl: cygnus: add initial IOMUX driver support Ray Jui 2015-03-09 20:44 ` [PATCH v6 4/8] ARM: dts: enable IOMUX for Broadcom Cygnus Ray Jui 2015-03-10 10:14 ` Linus Walleij 2015-03-10 16:35 ` Florian Fainelli 2015-03-09 20:44 ` [PATCH v6 5/8] pinctrl: Cygnus: define Broadcom Cygnus GPIO/PINCONF binding Ray Jui 2015-03-10 10:16 ` Linus Walleij 2015-03-09 20:45 ` [PATCH v6 6/8] pinctrl: cygnus: add gpio/pinconf driver Ray Jui 2015-03-10 10:20 ` Linus Walleij 2015-03-10 17:57 ` Ray Jui 2015-03-11 9:15 ` Linus Walleij 2015-03-18 1:39 ` Linus Walleij 2015-03-09 20:45 ` [PATCH v6 7/8] ARM: dts: enable GPIO for Broadcom Cygnus Ray Jui 2015-03-10 10:21 ` Linus Walleij 2015-03-10 16:38 ` Florian Fainelli 2015-03-09 20:45 ` [PATCH v6 8/8] ARM: dts: cygnus: enable GPIO based hook detection Ray Jui 2015-03-10 10:22 ` Linus Walleij 2015-03-10 16:39 ` Florian Fainelli
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1425933902-20652-1-git-send-email-rjui@broadcom.com \ --to=rjui@broadcom.com \ --cc=anatol@google.com \ --cc=arnd@arndb.de \ --cc=bcm-kernel-feedback-list@broadcom.com \ --cc=bcm@fixthebug.org \ --cc=devicetree@vger.kernel.org \ --cc=dtor@google.com \ --cc=f.fainelli@gmail.com \ --cc=galak@codeaurora.org \ --cc=gnurou@gmail.com \ --cc=grant.likely@linaro.org \ --cc=ijc+devicetree@hellion.org.uk \ --cc=linus.walleij@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-gpio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=mark.rutland@arm.com \ --cc=mporter@linaro.org \ --cc=pawel.moll@arm.com \ --cc=pebolle@tiscali.nl \ --cc=robh+dt@kernel.org \ --cc=sbranden@broadcom.com \ --cc=swarren@wwwdotorg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).