From: Tero Kristo <t-kristo@ti.com> To: linux-omap@vger.kernel.org, tony@atomide.com, paul@pwsan.com Cc: linux-arm-kernel@lists.infradead.org, Tomi Valkeinen <tomi.valkeinen@ti.com> Subject: [PATCHv4 31/35] ARM: OMAP4: display: convert display to use syscon for dsi muxing Date: Wed, 18 Mar 2015 16:44:16 +0200 [thread overview] Message-ID: <1426689860-17537-32-git-send-email-t-kristo@ti.com> (raw) In-Reply-To: <1426689860-17537-1-git-send-email-t-kristo@ti.com> The legacy control module APIs will be gone, thus convert the display driver to use syscon. This change should eventually be moved to display driver from the board directory. Signed-off-by: Tero Kristo <t-kristo@ti.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> --- arch/arm/mach-omap2/display.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c index 7a050f9..f492ae1 100644 --- a/arch/arm/mach-omap2/display.c +++ b/arch/arm/mach-omap2/display.c @@ -26,6 +26,8 @@ #include <linux/of.h> #include <linux/of_platform.h> #include <linux/slab.h> +#include <linux/mfd/syscon.h> +#include <linux/regmap.h> #include <video/omapdss.h> #include "omap_hwmod.h" @@ -104,6 +106,10 @@ static const struct omap_dss_hwmod_data omap4_dss_hwmod_data[] __initconst = { { "dss_hdmi", "omapdss_hdmi", -1 }, }; +#define OMAP4_DSIPHY_SYSCON_OFFSET 0x78 + +static struct regmap *omap4_dsi_mux_syscon; + static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) { u32 enable_mask, enable_shift; @@ -124,7 +130,7 @@ static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) return -ENODEV; } - reg = omap4_ctrl_pad_readl(OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_DSIPHY); + regmap_read(omap4_dsi_mux_syscon, OMAP4_DSIPHY_SYSCON_OFFSET, ®); reg &= ~enable_mask; reg &= ~pipd_mask; @@ -132,7 +138,7 @@ static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) reg |= (lanes << enable_shift) & enable_mask; reg |= (lanes << pipd_shift) & pipd_mask; - omap4_ctrl_pad_writel(reg, OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_DSIPHY); + regmap_write(omap4_dsi_mux_syscon, OMAP4_DSIPHY_SYSCON_OFFSET, reg); return 0; } @@ -665,5 +671,10 @@ int __init omapdss_init_of(void) return r; } + /* add DSI info for omap4 */ + node = of_find_node_by_name(NULL, "omap4_padconf_global"); + if (node) + omap4_dsi_mux_syscon = syscon_node_to_regmap(node); + return 0; } -- 1.7.9.5
WARNING: multiple messages have this Message-ID (diff)
From: t-kristo@ti.com (Tero Kristo) To: linux-arm-kernel@lists.infradead.org Subject: [PATCHv4 31/35] ARM: OMAP4: display: convert display to use syscon for dsi muxing Date: Wed, 18 Mar 2015 16:44:16 +0200 [thread overview] Message-ID: <1426689860-17537-32-git-send-email-t-kristo@ti.com> (raw) In-Reply-To: <1426689860-17537-1-git-send-email-t-kristo@ti.com> The legacy control module APIs will be gone, thus convert the display driver to use syscon. This change should eventually be moved to display driver from the board directory. Signed-off-by: Tero Kristo <t-kristo@ti.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> --- arch/arm/mach-omap2/display.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c index 7a050f9..f492ae1 100644 --- a/arch/arm/mach-omap2/display.c +++ b/arch/arm/mach-omap2/display.c @@ -26,6 +26,8 @@ #include <linux/of.h> #include <linux/of_platform.h> #include <linux/slab.h> +#include <linux/mfd/syscon.h> +#include <linux/regmap.h> #include <video/omapdss.h> #include "omap_hwmod.h" @@ -104,6 +106,10 @@ static const struct omap_dss_hwmod_data omap4_dss_hwmod_data[] __initconst = { { "dss_hdmi", "omapdss_hdmi", -1 }, }; +#define OMAP4_DSIPHY_SYSCON_OFFSET 0x78 + +static struct regmap *omap4_dsi_mux_syscon; + static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) { u32 enable_mask, enable_shift; @@ -124,7 +130,7 @@ static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) return -ENODEV; } - reg = omap4_ctrl_pad_readl(OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_DSIPHY); + regmap_read(omap4_dsi_mux_syscon, OMAP4_DSIPHY_SYSCON_OFFSET, ®); reg &= ~enable_mask; reg &= ~pipd_mask; @@ -132,7 +138,7 @@ static int omap4_dsi_mux_pads(int dsi_id, unsigned lanes) reg |= (lanes << enable_shift) & enable_mask; reg |= (lanes << pipd_shift) & pipd_mask; - omap4_ctrl_pad_writel(reg, OMAP4_CTRL_MODULE_PAD_CORE_CONTROL_DSIPHY); + regmap_write(omap4_dsi_mux_syscon, OMAP4_DSIPHY_SYSCON_OFFSET, reg); return 0; } @@ -665,5 +671,10 @@ int __init omapdss_init_of(void) return r; } + /* add DSI info for omap4 */ + node = of_find_node_by_name(NULL, "omap4_padconf_global"); + if (node) + omap4_dsi_mux_syscon = syscon_node_to_regmap(node); + return 0; } -- 1.7.9.5
next prev parent reply other threads:[~2015-03-18 14:45 UTC|newest] Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-03-18 14:43 [PATCHv4 00/35] ARM: OMAP2+: PRCM / SCM cleanups against 4.0-rc1 Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 01/35] ARM: OMAP2+: PRCM: rename of_prcm_init to omap_prcm_init Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 02/35] ARM: OMAP3: PRM: invert the wkst_mask for the prm_clear_mod_irqs Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 03/35] ARM: OMAP2+: PRM: add generic API for clear_mod_irqs Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 04/35] ARM: OMAP3+: PRM: add common APIs for prm_vp_check/clear_txdone Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 05/35] ARM: OMAP4+: PRM: move omap_prm_base_init under OMAP4 PRM driver Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 06/35] ARM: OMAP4+: CM: move omap_cm_base_init under OMAP4 CM driver Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 07/35] ARM: OMAP4: PRM: move omap4xxx_prm_init earlier in init order Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 08/35] clk: ti: fix ti_clk_get_reg_addr error handling Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 09/35] Documentation: DT: document PRCM compatible strings for dm81x SoCs Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 10/35] ARM: OMAP2+: PRCM: add support for static clock memmap indices Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 11/35] ARM: OMAP2+: clock: move clock provider infrastructure to clock driver Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 12/35] ARM: OMAP2+: PRCM: split PRCM module init to their own driver files Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 13/35] ARM: OMAP2+: CM: determine CM base address from device tree Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:43 ` [PATCHv4 14/35] ARM: OMAP2+: PRM: determine PRM " Tero Kristo 2015-03-18 14:43 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 15/35] ARM: OMAP2+: control: determine control module base address from DT Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 16/35] ARM: OMAP2+: PRM: move SoC specific init calls within a generic API Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 17/35] ARM: OMAP4+: PRM: determine prm_device_inst based on DT compatibility Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 18/35] ARM: OMAP2+: CM: move SoC specific init calls within a generic API Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 19/35] ARM: OMAP4+: PRM: setup prm_features from the PRM init time flags Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 20/35] ARM: OMAP4+: PRM: get rid of cpu_is_omap44xx calls from interrupt init Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 21/35] ARM: OMAP2+: clock: add low-level support for regmap Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 22/35] ARM: OMAP2+: control: remove API for getting control module base address Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 23/35] ARM: OMAP2+: id: cache omap_type value Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 18:24 ` Sergei Shtylyov 2015-03-18 18:24 ` Sergei Shtylyov 2015-03-19 7:23 ` Tero Kristo 2015-03-19 7:23 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 24/35] ARM: OMAP2+: control: add syscon support for register accesses Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 25/35] ARM: dts: omap24xx: merge control module features under scrm node Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 26/35] ARM: dts: omap3: " Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 27/35] ARM: dts: am33xx: " Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 28/35] ARM: dts: am43xx-epos-evm: fix pinmux node layout Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 29/35] ARM: dts: am4372: merge control module features under scrm node Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 30/35] ARM: dts: omap4: add system control module node Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 21:30 ` Tony Lindgren 2015-03-18 21:30 ` Tony Lindgren 2015-03-19 20:25 ` Tony Lindgren 2015-03-19 20:25 ` Tony Lindgren 2015-03-20 6:40 ` Tero Kristo 2015-03-20 6:40 ` Tero Kristo 2015-03-18 14:44 ` Tero Kristo [this message] 2015-03-18 14:44 ` [PATCHv4 31/35] ARM: OMAP4: display: convert display to use syscon for dsi muxing Tero Kristo 2015-03-18 14:44 ` [PATCHv4 32/35] ARM: OMAP4+: control: remove support for legacy pad read/write Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 33/35] ARM: dts: omap5: add system control module node Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 34/35] ARM: dts: dra7: " Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 14:44 ` [PATCHv4 35/35] ARM: OMAP4+: control: add support for initializing control module via DT Tero Kristo 2015-03-18 14:44 ` Tero Kristo 2015-03-18 22:07 ` [PATCHv4 00/35] ARM: OMAP2+: PRCM / SCM cleanups against 4.0-rc1 Tony Lindgren 2015-03-18 22:07 ` Tony Lindgren 2015-03-19 7:48 ` Tero Kristo 2015-03-19 7:48 ` Tero Kristo 2015-03-19 16:10 ` Tony Lindgren 2015-03-19 16:10 ` Tony Lindgren 2015-03-19 0:00 ` Sakari Ailus 2015-03-19 0:00 ` Sakari Ailus 2015-03-19 8:05 ` Tero Kristo 2015-03-19 8:05 ` Tero Kristo
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=1426689860-17537-32-git-send-email-t-kristo@ti.com \ --to=t-kristo@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=paul@pwsan.com \ --cc=tomi.valkeinen@ti.com \ --cc=tony@atomide.com \ /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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.