* [PATCH 0/2] [kernel] ARM: lpc32xx: migrate CLCD config to device tree @ 2017-03-08 17:46 ` Sylvain Lemieux 0 siblings, 0 replies; 8+ messages in thread From: Sylvain Lemieux @ 2017-03-08 17:46 UTC (permalink / raw) To: vz, robh+dt; +Cc: devicetree, linux-arm-kernel From: Sylvain Lemieux <slemieux@tycoint.com> Migrate the CLCD configurations to the device tree and remove custom functions from board files. This change depends on the following change: "video: ARM CLCD: fix dma allocation size" https://www.spinics.net/lists/arm-kernel/msg567178.html Note: * We tested a similar change on a custom LPC32xx board with a 480x272 LCD. * We did not test this change on hardware; we do not have access to a PHY3250 board with the 240x320 LCD. Liam Beguin (2): ARM: dts: lpc32xx: phy3250: add clcd configuration ARM: lpc32xx: drop CLCD configuration arch/arm/boot/dts/lpc3250-phy3250.dts | 35 ++++++++++++++++++ arch/arm/mach-lpc32xx/phy3250.c | 70 ----------------------------------- 2 files changed, 35 insertions(+), 70 deletions(-) -- 2.11.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 0/2] [kernel] ARM: lpc32xx: migrate CLCD config to device tree @ 2017-03-08 17:46 ` Sylvain Lemieux 0 siblings, 0 replies; 8+ messages in thread From: Sylvain Lemieux @ 2017-03-08 17:46 UTC (permalink / raw) To: linux-arm-kernel From: Sylvain Lemieux <slemieux@tycoint.com> Migrate the CLCD configurations to the device tree and remove custom functions from board files. This change depends on the following change: "video: ARM CLCD: fix dma allocation size" https://www.spinics.net/lists/arm-kernel/msg567178.html Note: * We tested a similar change on a custom LPC32xx board with a 480x272 LCD. * We did not test this change on hardware; we do not have access to a PHY3250 board with the 240x320 LCD. Liam Beguin (2): ARM: dts: lpc32xx: phy3250: add clcd configuration ARM: lpc32xx: drop CLCD configuration arch/arm/boot/dts/lpc3250-phy3250.dts | 35 ++++++++++++++++++ arch/arm/mach-lpc32xx/phy3250.c | 70 ----------------------------------- 2 files changed, 35 insertions(+), 70 deletions(-) -- 2.11.0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] [kernel] ARM: dts: lpc32xx: phy3250: add clcd configuration 2017-03-08 17:46 ` Sylvain Lemieux @ 2017-03-08 17:46 ` Sylvain Lemieux -1 siblings, 0 replies; 8+ messages in thread From: Sylvain Lemieux @ 2017-03-08 17:46 UTC (permalink / raw) To: vz, robh+dt; +Cc: devicetree, linux-arm-kernel From: Liam Beguin <lbeguin@tycoint.com> Updating CLCD board and panel definiton to use up-to-date devicetree hardware description. Signed-off-by: Liam Beguin <lbeguin@tycoint.com> Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com> --- arch/arm/boot/dts/lpc3250-phy3250.dts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/arch/arm/boot/dts/lpc3250-phy3250.dts b/arch/arm/boot/dts/lpc3250-phy3250.dts index fd95e2b10357..1e5dbbad6cc4 100644 --- a/arch/arm/boot/dts/lpc3250-phy3250.dts +++ b/arch/arm/boot/dts/lpc3250-phy3250.dts @@ -72,7 +72,42 @@ }; &clcd { + interrupt-names = "combined"; + max-memory-bandwidth = <11700000>; /* Bps, 240x320@60 16bpp */ status = "okay"; + + port { + clcd_pads: endpoint { + remote-endpoint = <&clcd_panel>; + arm,pl11x,tft-r0g0b0-pads = <3 10 19>; /* Set LCD to BGR 565 */ + }; + }; + + panel { + compatible = "panel-dpi"; + + port { + clcd_panel: endpoint { + remote-endpoint = <&clcd_pads>; + }; + }; + + panel-timing { + clock-frequency = <5850000>; + + hactive = <240>; + hback-porch = <11>; + hfront-porch = <22>; + hsync-len = <5>; + + vactive = <320>; + vback-porch = <2>; + vfront-porch = <1>; + vsync-len = <2>; + + pixelclk-active = <1>; + }; + }; }; &i2c1 { -- 2.11.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 1/2] [kernel] ARM: dts: lpc32xx: phy3250: add clcd configuration @ 2017-03-08 17:46 ` Sylvain Lemieux 0 siblings, 0 replies; 8+ messages in thread From: Sylvain Lemieux @ 2017-03-08 17:46 UTC (permalink / raw) To: linux-arm-kernel From: Liam Beguin <lbeguin@tycoint.com> Updating CLCD board and panel definiton to use up-to-date devicetree hardware description. Signed-off-by: Liam Beguin <lbeguin@tycoint.com> Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com> --- arch/arm/boot/dts/lpc3250-phy3250.dts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/arch/arm/boot/dts/lpc3250-phy3250.dts b/arch/arm/boot/dts/lpc3250-phy3250.dts index fd95e2b10357..1e5dbbad6cc4 100644 --- a/arch/arm/boot/dts/lpc3250-phy3250.dts +++ b/arch/arm/boot/dts/lpc3250-phy3250.dts @@ -72,7 +72,42 @@ }; &clcd { + interrupt-names = "combined"; + max-memory-bandwidth = <11700000>; /* Bps, 240x320 at 60 16bpp */ status = "okay"; + + port { + clcd_pads: endpoint { + remote-endpoint = <&clcd_panel>; + arm,pl11x,tft-r0g0b0-pads = <3 10 19>; /* Set LCD to BGR 565 */ + }; + }; + + panel { + compatible = "panel-dpi"; + + port { + clcd_panel: endpoint { + remote-endpoint = <&clcd_pads>; + }; + }; + + panel-timing { + clock-frequency = <5850000>; + + hactive = <240>; + hback-porch = <11>; + hfront-porch = <22>; + hsync-len = <5>; + + vactive = <320>; + vback-porch = <2>; + vfront-porch = <1>; + vsync-len = <2>; + + pixelclk-active = <1>; + }; + }; }; &i2c1 { -- 2.11.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] [kernel] ARM: lpc32xx: drop CLCD configuration 2017-03-08 17:46 ` Sylvain Lemieux @ 2017-03-08 17:46 ` Sylvain Lemieux -1 siblings, 0 replies; 8+ messages in thread From: Sylvain Lemieux @ 2017-03-08 17:46 UTC (permalink / raw) To: vz, robh+dt; +Cc: devicetree, linux-arm-kernel From: Liam Beguin <lbeguin@tycoint.com> Drop the CLCD configurations and custom functions since it's now done using the devicetree. Signed-off-by: Liam Beguin <lbeguin@tycoint.com> Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com> --- arch/arm/mach-lpc32xx/phy3250.c | 70 ----------------------------------------- 1 file changed, 70 deletions(-) diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c index 6c52bd32610e..97bffd9324f3 100644 --- a/arch/arm/mach-lpc32xx/phy3250.c +++ b/arch/arm/mach-lpc32xx/phy3250.c @@ -24,8 +24,6 @@ #include <linux/irq.h> #include <linux/dma-mapping.h> #include <linux/gpio.h> -#include <linux/amba/bus.h> -#include <linux/amba/clcd.h> #include <linux/amba/pl08x.h> #include <linux/amba/mmci.h> #include <linux/of.h> @@ -45,73 +43,6 @@ #include <mach/board.h> #include "common.h" -/* - * AMBA LCD controller - */ -static struct clcd_panel conn_lcd_panel = { - .mode = { - .name = "QVGA portrait", - .refresh = 60, - .xres = 240, - .yres = 320, - .pixclock = 191828, - .left_margin = 22, - .right_margin = 11, - .upper_margin = 2, - .lower_margin = 1, - .hsync_len = 5, - .vsync_len = 2, - .sync = 0, - .vmode = FB_VMODE_NONINTERLACED, - }, - .width = -1, - .height = -1, - .tim2 = (TIM2_IVS | TIM2_IHS), - .cntl = (CNTL_BGR | CNTL_LCDTFT | CNTL_LCDVCOMP(1) | - CNTL_LCDBPP16_565), - .bpp = 16, -}; -#define PANEL_SIZE (3 * SZ_64K) - -static int lpc32xx_clcd_setup(struct clcd_fb *fb) -{ - dma_addr_t dma; - - fb->fb.screen_base = dma_alloc_wc(&fb->dev->dev, PANEL_SIZE, &dma, - GFP_KERNEL); - if (!fb->fb.screen_base) { - printk(KERN_ERR "CLCD: unable to map framebuffer\n"); - return -ENOMEM; - } - - fb->fb.fix.smem_start = dma; - fb->fb.fix.smem_len = PANEL_SIZE; - fb->panel = &conn_lcd_panel; - - return 0; -} - -static int lpc32xx_clcd_mmap(struct clcd_fb *fb, struct vm_area_struct *vma) -{ - return dma_mmap_wc(&fb->dev->dev, vma, fb->fb.screen_base, - fb->fb.fix.smem_start, fb->fb.fix.smem_len); -} - -static void lpc32xx_clcd_remove(struct clcd_fb *fb) -{ - dma_free_wc(&fb->dev->dev, fb->fb.fix.smem_len, fb->fb.screen_base, - fb->fb.fix.smem_start); -} - -static struct clcd_board lpc32xx_clcd_data = { - .name = "Phytec LCD", - .check = clcdfb_check, - .decode = clcdfb_decode, - .setup = lpc32xx_clcd_setup, - .mmap = lpc32xx_clcd_mmap, - .remove = lpc32xx_clcd_remove, -}; - static struct pl08x_channel_data pl08x_slave_channels[] = { { .bus_id = "nand-slc", @@ -161,7 +92,6 @@ static struct lpc32xx_mlc_platform_data lpc32xx_mlc_data = { static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = { OF_DEV_AUXDATA("arm,pl022", 0x20084000, "dev:ssp0", NULL), OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", NULL), - OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data), OF_DEV_AUXDATA("arm,pl080", 0x31000000, "pl08xdmac", &pl08x_pd), OF_DEV_AUXDATA("arm,pl18x", 0x20098000, "20098000.sd", &lpc32xx_mmci_data), -- 2.11.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/2] [kernel] ARM: lpc32xx: drop CLCD configuration @ 2017-03-08 17:46 ` Sylvain Lemieux 0 siblings, 0 replies; 8+ messages in thread From: Sylvain Lemieux @ 2017-03-08 17:46 UTC (permalink / raw) To: linux-arm-kernel From: Liam Beguin <lbeguin@tycoint.com> Drop the CLCD configurations and custom functions since it's now done using the devicetree. Signed-off-by: Liam Beguin <lbeguin@tycoint.com> Signed-off-by: Sylvain Lemieux <slemieux@tycoint.com> --- arch/arm/mach-lpc32xx/phy3250.c | 70 ----------------------------------------- 1 file changed, 70 deletions(-) diff --git a/arch/arm/mach-lpc32xx/phy3250.c b/arch/arm/mach-lpc32xx/phy3250.c index 6c52bd32610e..97bffd9324f3 100644 --- a/arch/arm/mach-lpc32xx/phy3250.c +++ b/arch/arm/mach-lpc32xx/phy3250.c @@ -24,8 +24,6 @@ #include <linux/irq.h> #include <linux/dma-mapping.h> #include <linux/gpio.h> -#include <linux/amba/bus.h> -#include <linux/amba/clcd.h> #include <linux/amba/pl08x.h> #include <linux/amba/mmci.h> #include <linux/of.h> @@ -45,73 +43,6 @@ #include <mach/board.h> #include "common.h" -/* - * AMBA LCD controller - */ -static struct clcd_panel conn_lcd_panel = { - .mode = { - .name = "QVGA portrait", - .refresh = 60, - .xres = 240, - .yres = 320, - .pixclock = 191828, - .left_margin = 22, - .right_margin = 11, - .upper_margin = 2, - .lower_margin = 1, - .hsync_len = 5, - .vsync_len = 2, - .sync = 0, - .vmode = FB_VMODE_NONINTERLACED, - }, - .width = -1, - .height = -1, - .tim2 = (TIM2_IVS | TIM2_IHS), - .cntl = (CNTL_BGR | CNTL_LCDTFT | CNTL_LCDVCOMP(1) | - CNTL_LCDBPP16_565), - .bpp = 16, -}; -#define PANEL_SIZE (3 * SZ_64K) - -static int lpc32xx_clcd_setup(struct clcd_fb *fb) -{ - dma_addr_t dma; - - fb->fb.screen_base = dma_alloc_wc(&fb->dev->dev, PANEL_SIZE, &dma, - GFP_KERNEL); - if (!fb->fb.screen_base) { - printk(KERN_ERR "CLCD: unable to map framebuffer\n"); - return -ENOMEM; - } - - fb->fb.fix.smem_start = dma; - fb->fb.fix.smem_len = PANEL_SIZE; - fb->panel = &conn_lcd_panel; - - return 0; -} - -static int lpc32xx_clcd_mmap(struct clcd_fb *fb, struct vm_area_struct *vma) -{ - return dma_mmap_wc(&fb->dev->dev, vma, fb->fb.screen_base, - fb->fb.fix.smem_start, fb->fb.fix.smem_len); -} - -static void lpc32xx_clcd_remove(struct clcd_fb *fb) -{ - dma_free_wc(&fb->dev->dev, fb->fb.fix.smem_len, fb->fb.screen_base, - fb->fb.fix.smem_start); -} - -static struct clcd_board lpc32xx_clcd_data = { - .name = "Phytec LCD", - .check = clcdfb_check, - .decode = clcdfb_decode, - .setup = lpc32xx_clcd_setup, - .mmap = lpc32xx_clcd_mmap, - .remove = lpc32xx_clcd_remove, -}; - static struct pl08x_channel_data pl08x_slave_channels[] = { { .bus_id = "nand-slc", @@ -161,7 +92,6 @@ static struct lpc32xx_mlc_platform_data lpc32xx_mlc_data = { static const struct of_dev_auxdata lpc32xx_auxdata_lookup[] __initconst = { OF_DEV_AUXDATA("arm,pl022", 0x20084000, "dev:ssp0", NULL), OF_DEV_AUXDATA("arm,pl022", 0x2008C000, "dev:ssp1", NULL), - OF_DEV_AUXDATA("arm,pl110", 0x31040000, "dev:clcd", &lpc32xx_clcd_data), OF_DEV_AUXDATA("arm,pl080", 0x31000000, "pl08xdmac", &pl08x_pd), OF_DEV_AUXDATA("arm,pl18x", 0x20098000, "20098000.sd", &lpc32xx_mmci_data), -- 2.11.0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <20170308174638.25578-1-slemieux.tyco-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH 0/2] [kernel] ARM: lpc32xx: migrate CLCD config to device tree 2017-03-08 17:46 ` Sylvain Lemieux @ 2017-03-28 17:28 ` Sylvain Lemieux -1 siblings, 0 replies; 8+ messages in thread From: Sylvain Lemieux @ 2017-03-28 17:28 UTC (permalink / raw) To: vz-ChpfBGZJDbMAvxtiuMwx3w Cc: robh+dt-DgEjT+Ai2ygdnm+yROfE0A, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, devicetree-u79uwXL29TY76Z2rM5mHXA Hi Vladimir, On Wed, 2017-03-08 at 12:46 -0500, Sylvain Lemieux wrote: > From: Sylvain Lemieux <slemieux-1xCVI8+nB4ZBDgjK7y7TUQ@public.gmane.org> > > Migrate the CLCD configurations to the device tree and > remove custom functions from board files. > > This change depends on the following change: > "video: ARM CLCD: fix dma allocation size" > https://www.spinics.net/lists/arm-kernel/msg567178.html > > Note: > * We tested a similar change on a custom LPC32xx board with a 480x272 LCD. > * We did not test this change on hardware; > we do not have access to a PHY3250 board with the 240x320 LCD. > > Liam Beguin (2): > ARM: dts: lpc32xx: phy3250: add clcd configuration > ARM: lpc32xx: drop CLCD configuration > > arch/arm/boot/dts/lpc3250-phy3250.dts | 35 ++++++++++++++++++ > arch/arm/mach-lpc32xx/phy3250.c | 70 ----------------------------------- > 2 files changed, 35 insertions(+), 70 deletions(-) > do you think you can look at this patchset? Regards, Sylvain -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 0/2] [kernel] ARM: lpc32xx: migrate CLCD config to device tree @ 2017-03-28 17:28 ` Sylvain Lemieux 0 siblings, 0 replies; 8+ messages in thread From: Sylvain Lemieux @ 2017-03-28 17:28 UTC (permalink / raw) To: linux-arm-kernel Hi Vladimir, On Wed, 2017-03-08 at 12:46 -0500, Sylvain Lemieux wrote: > From: Sylvain Lemieux <slemieux@tycoint.com> > > Migrate the CLCD configurations to the device tree and > remove custom functions from board files. > > This change depends on the following change: > "video: ARM CLCD: fix dma allocation size" > https://www.spinics.net/lists/arm-kernel/msg567178.html > > Note: > * We tested a similar change on a custom LPC32xx board with a 480x272 LCD. > * We did not test this change on hardware; > we do not have access to a PHY3250 board with the 240x320 LCD. > > Liam Beguin (2): > ARM: dts: lpc32xx: phy3250: add clcd configuration > ARM: lpc32xx: drop CLCD configuration > > arch/arm/boot/dts/lpc3250-phy3250.dts | 35 ++++++++++++++++++ > arch/arm/mach-lpc32xx/phy3250.c | 70 ----------------------------------- > 2 files changed, 35 insertions(+), 70 deletions(-) > do you think you can look at this patchset? Regards, Sylvain ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-03-28 17:28 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-03-08 17:46 [PATCH 0/2] [kernel] ARM: lpc32xx: migrate CLCD config to device tree Sylvain Lemieux 2017-03-08 17:46 ` Sylvain Lemieux 2017-03-08 17:46 ` [PATCH 1/2] [kernel] ARM: dts: lpc32xx: phy3250: add clcd configuration Sylvain Lemieux 2017-03-08 17:46 ` Sylvain Lemieux 2017-03-08 17:46 ` [PATCH 2/2] [kernel] ARM: lpc32xx: drop CLCD configuration Sylvain Lemieux 2017-03-08 17:46 ` Sylvain Lemieux [not found] ` <20170308174638.25578-1-slemieux.tyco-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2017-03-28 17:28 ` [PATCH 0/2] [kernel] ARM: lpc32xx: migrate CLCD config to device tree Sylvain Lemieux 2017-03-28 17:28 ` Sylvain Lemieux
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.