diff options
Diffstat (limited to 'target/linux/omap/patches-3.13')
6 files changed, 0 insertions, 636 deletions
diff --git a/target/linux/omap/patches-3.13/0334-video-da8xx-fb-adding-dt-support.patch b/target/linux/omap/patches-3.13/0334-video-da8xx-fb-adding-dt-support.patch deleted file mode 100644 index 63ec77f124..0000000000 --- a/target/linux/omap/patches-3.13/0334-video-da8xx-fb-adding-dt-support.patch +++ /dev/null @@ -1,203 +0,0 @@ -From 884d3962ef4787c8cf0b8a7a673531c623d1dff8 Mon Sep 17 00:00:00 2001 -From: Darren Etheridge <detheridge@ti.com> -Date: Fri, 2 Aug 2013 15:35:36 -0500 -Subject: [PATCH 334/752] video: da8xx-fb: adding dt support - -Enhancing driver to enable probe triggered by a corresponding dt entry. - -Add da8xx-fb.txt documentation to devicetree section. - -Obtain fb_videomode details for the connected lcd panel using the -display timing details present in DT. - -Ensure that platform data is present before checking whether platform -callback is present (the one used to control backlight). So far this -was not an issue as driver was purely non-DT triggered, but now DT -support has been added this check must be performed. - -v2: squashing multiple commits from Afzal Mohammed (afzal@ti.com) -v3: remove superfluous cast -v4: expose both ti,am3352-lcdc and ti,da830-lcdc for .compatible - as driver can use enhanced features of all version of the - silicon block. -v5: addressed review comments from Prabhakar Lad -v6: Changed the .compatible naming to match the existing drm bindings - for am33xx devices -v7: clarify which compatible to use in the documentation for DA850 - -Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> -Signed-off-by: Darren Etheridge <detheridge@ti.com> ---- - .../devicetree/bindings/video/da8xx-fb.txt | 42 +++++++++++++ - drivers/video/da8xx-fb.c | 66 +++++++++++++++++++- - 2 files changed, 105 insertions(+), 3 deletions(-) - create mode 100644 Documentation/devicetree/bindings/video/da8xx-fb.txt - ---- /dev/null -+++ b/Documentation/devicetree/bindings/video/da8xx-fb.txt -@@ -0,0 +1,42 @@ -+TI LCD Controller on DA830/DA850/AM335x SoC's -+ -+Required properties: -+- compatible: -+ DA830, DA850 - "ti,da8xx-tilcdc" -+ AM335x SoC's - "ti,am33xx-tilcdc" -+- reg: Address range of lcdc register set -+- interrupts: lcdc interrupt -+- display-timings: typical videomode of lcd panel, represented as child. -+ Refer Documentation/devicetree/bindings/video/display-timing.txt for -+ display timing binding details. If multiple videomodes are mentioned -+ in display timings node, typical videomode has to be mentioned as the -+ native mode or it has to be first child (driver cares only for native -+ videomode). -+ -+Recommended properties: -+- ti,hwmods: Name of the hwmod associated to the LCDC -+ -+Example for am335x SoC's: -+ -+lcdc@4830e000 { -+ compatible = "ti,am33xx-tilcdc"; -+ reg = <0x4830e000 0x1000>; -+ interrupts = <36>; -+ ti,hwmods = "lcdc"; -+ status = "okay"; -+ display-timings { -+ 800x480p62 { -+ clock-frequency = <30000000>; -+ hactive = <800>; -+ vactive = <480>; -+ hfront-porch = <39>; -+ hback-porch = <39>; -+ hsync-len = <47>; -+ vback-porch = <29>; -+ vfront-porch = <13>; -+ vsync-len = <2>; -+ hsync-active = <1>; -+ vsync-active = <1>; -+ }; -+ }; -+}; ---- a/drivers/video/da8xx-fb.c -+++ b/drivers/video/da8xx-fb.c -@@ -36,6 +36,7 @@ - #include <linux/slab.h> - #include <linux/delay.h> - #include <linux/lcm.h> -+#include <video/of_display_timing.h> - #include <video/da8xx-fb.h> - #include <asm/div64.h> - -@@ -1311,12 +1312,54 @@ static struct fb_ops da8xx_fb_ops = { - .fb_blank = cfb_blank, - }; - -+static struct lcd_ctrl_config *da8xx_fb_create_cfg(struct platform_device *dev) -+{ -+ struct lcd_ctrl_config *cfg; -+ -+ cfg = devm_kzalloc(&dev->dev, sizeof(struct fb_videomode), GFP_KERNEL); -+ if (!cfg) -+ return NULL; -+ -+ /* default values */ -+ -+ if (lcd_revision == LCD_VERSION_1) -+ cfg->bpp = 16; -+ else -+ cfg->bpp = 32; -+ -+ /* -+ * For panels so far used with this LCDC, below statement is sufficient. -+ * For new panels, if required, struct lcd_ctrl_cfg fields to be updated -+ * with additional/modified values. Those values would have to be then -+ * obtained from dt(requiring new dt bindings). -+ */ -+ -+ cfg->panel_shade = COLOR_ACTIVE; -+ -+ return cfg; -+} -+ - static struct fb_videomode *da8xx_fb_get_videomode(struct platform_device *dev) - { - struct da8xx_lcdc_platform_data *fb_pdata = dev_get_platdata(&dev->dev); - struct fb_videomode *lcdc_info; -+ struct device_node *np = dev->dev.of_node; - int i; - -+ if (np) { -+ lcdc_info = devm_kzalloc(&dev->dev, -+ sizeof(struct fb_videomode), -+ GFP_KERNEL); -+ if (!lcdc_info) -+ return NULL; -+ -+ if (of_get_fb_videomode(np, lcdc_info, OF_USE_NATIVE_MODE)) { -+ dev_err(&dev->dev, "timings not available in DT\n"); -+ return NULL; -+ } -+ return lcdc_info; -+ } -+ - for (i = 0, lcdc_info = known_lcd_panels; - i < ARRAY_SIZE(known_lcd_panels); i++, lcdc_info++) { - if (strcmp(fb_pdata->type, lcdc_info->name) == 0) -@@ -1345,7 +1388,7 @@ static int fb_probe(struct platform_devi - int ret; - unsigned long ulcm; - -- if (fb_pdata == NULL) { -+ if (fb_pdata == NULL && !device->dev.of_node) { - dev_err(&device->dev, "Can not get platform data\n"); - return -ENOENT; - } -@@ -1385,7 +1428,10 @@ static int fb_probe(struct platform_devi - break; - } - -- lcd_cfg = (struct lcd_ctrl_config *)fb_pdata->controller_data; -+ if (device->dev.of_node) -+ lcd_cfg = da8xx_fb_create_cfg(device); -+ else -+ lcd_cfg = fb_pdata->controller_data; - - if (!lcd_cfg) { - ret = -EINVAL; -@@ -1404,7 +1450,7 @@ static int fb_probe(struct platform_devi - par->dev = &device->dev; - par->lcdc_clk = tmp_lcdc_clk; - par->lcdc_clk_rate = clk_get_rate(par->lcdc_clk); -- if (fb_pdata->panel_power_ctrl) { -+ if (fb_pdata && fb_pdata->panel_power_ctrl) { - par->panel_power_ctrl = fb_pdata->panel_power_ctrl; - par->panel_power_ctrl(1); - } -@@ -1652,6 +1698,19 @@ static int fb_resume(struct platform_dev - #define fb_resume NULL - #endif - -+#if IS_ENABLED(CONFIG_OF) -+static const struct of_device_id da8xx_fb_of_match[] = { -+ /* -+ * this driver supports version 1 and version 2 of the -+ * Texas Instruments lcd controller (lcdc) hardware block -+ */ -+ {.compatible = "ti,da8xx-tilcdc", }, -+ {.compatible = "ti,am33xx-tilcdc", }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, da8xx_fb_of_match); -+#endif -+ - static struct platform_driver da8xx_fb_driver = { - .probe = fb_probe, - .remove = fb_remove, -@@ -1660,6 +1719,7 @@ static struct platform_driver da8xx_fb_d - .driver = { - .name = DRIVER_NAME, - .owner = THIS_MODULE, -+ .of_match_table = of_match_ptr(da8xx_fb_of_match), - }, - }; - module_platform_driver(da8xx_fb_driver); diff --git a/target/linux/omap/patches-3.13/0343-video-da8xx-fb-Add-API-to-register-wait-for-vsync-ca.patch b/target/linux/omap/patches-3.13/0343-video-da8xx-fb-Add-API-to-register-wait-for-vsync-ca.patch deleted file mode 100644 index d565eaee03..0000000000 --- a/target/linux/omap/patches-3.13/0343-video-da8xx-fb-Add-API-to-register-wait-for-vsync-ca.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 9a1a810516ae9cb3259b898b6879901c5b44fa90 Mon Sep 17 00:00:00 2001 -From: Prathap M S <msprathap@ti.com> -Date: Mon, 2 Sep 2013 12:05:23 +0530 -Subject: [PATCH 343/752] video: da8xx-fb: Add API to register wait for vsync - callback - -This patch adds APIs to register and unregister wait for vsync callback. -This is derived from commit id 2d44302545da24fd22912d964102bc31a7489e97 -This commit id was part of 3.2 kernel sources. - -Signed-off-by: Prathap M S <msprathap@ti.com> ---- - drivers/video/da8xx-fb.c | 33 +++++++++++++++++++++++++++++++++ - include/video/da8xx-fb.h | 4 ++++ - 2 files changed, 37 insertions(+) - ---- a/drivers/video/da8xx-fb.c -+++ b/drivers/video/da8xx-fb.c -@@ -197,6 +197,9 @@ static struct fb_fix_screeninfo da8xx_fb - .accel = FB_ACCEL_NONE - }; - -+static vsync_callback_t vsync_cb_handler; -+static void *vsync_cb_arg; -+ - static struct fb_videomode known_lcd_panels[] = { - /* Sharp LCD035Q3DG01 */ - [0] = { -@@ -825,6 +828,32 @@ static int lcd_init(struct da8xx_fb_par - return 0; - } - -+int register_vsync_cb(vsync_callback_t handler, void *arg, int idx) -+{ -+ if ((vsync_cb_handler == NULL) && (vsync_cb_arg == NULL)) { -+ vsync_cb_arg = arg; -+ vsync_cb_handler = handler; -+ } else { -+ return -EEXIST; -+ } -+ -+ return 0; -+} -+EXPORT_SYMBOL(register_vsync_cb); -+ -+int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx) -+{ -+ if ((vsync_cb_handler == handler) && (vsync_cb_arg == arg)) { -+ vsync_cb_handler = NULL; -+ vsync_cb_arg = NULL; -+ } else { -+ return -ENXIO; -+ } -+ -+ return 0; -+} -+EXPORT_SYMBOL(unregister_vsync_cb); -+ - /* IRQ handler for version 2 of LCDC */ - static irqreturn_t lcdc_irq_handler_rev02(int irq, void *arg) - { -@@ -862,6 +891,8 @@ static irqreturn_t lcdc_irq_handler_rev0 - LCD_DMA_FRM_BUF_CEILING_ADDR_0_REG); - par->vsync_flag = 1; - wake_up_interruptible(&par->vsync_wait); -+ if (vsync_cb_handler) -+ vsync_cb_handler(vsync_cb_arg); - } - - if (stat & LCD_END_OF_FRAME1) { -@@ -937,6 +968,8 @@ static irqreturn_t lcdc_irq_handler_rev0 - LCD_DMA_FRM_BUF_CEILING_ADDR_1_REG); - par->vsync_flag = 1; - wake_up_interruptible(&par->vsync_wait); -+ if (vsync_cb_handler) -+ vsync_cb_handler(vsync_cb_arg); - } - } - ---- a/include/video/da8xx-fb.h -+++ b/include/video/da8xx-fb.h -@@ -91,5 +91,9 @@ struct lcd_sync_arg { - /* Proprietary FB_SYNC_ flags */ - #define FB_SYNC_CLK_INVERT 0x40000000 - -+typedef void (*vsync_callback_t)(void *arg); -+int register_vsync_cb(vsync_callback_t handler, void *arg, int idx); -+int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx); -+ - #endif /* ifndef DA8XX_FB_H */ - diff --git a/target/linux/omap/patches-3.13/0752-video-da8xx-fb-fix-defect-with-vsync-callback-invoca.patch b/target/linux/omap/patches-3.13/0752-video-da8xx-fb-fix-defect-with-vsync-callback-invoca.patch deleted file mode 100644 index 0fe90156a8..0000000000 --- a/target/linux/omap/patches-3.13/0752-video-da8xx-fb-fix-defect-with-vsync-callback-invoca.patch +++ /dev/null @@ -1,38 +0,0 @@ -From c99bd415829ef29adf71bb1e1b577650f10e93f5 Mon Sep 17 00:00:00 2001 -From: Darren Etheridge <detheridge@ti.com> -Date: Mon, 4 Nov 2013 12:27:40 -0600 -Subject: [PATCH 752/752] video/da8xx-fb fix defect with vsync callback - invocation - -Fix defect where SGX is running at half of the expected framerate. -The original patch (@ commit ID 9a1a810516ae9cb3259b898b6879901c5b44fa90) -seems to have a mistake where it only calls the callback -for the even or the odd frames depending on the revision of the LCD controller -This patch corrects this and invokes the callback for both odd and even frame -for just the Rev02 version of the LCDC (won't find an SGX GPU on a Rev01). - -Signed-off-by: Darren Etheridge <detheridge@ti.com> ---- - drivers/video/da8xx-fb.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/video/da8xx-fb.c -+++ b/drivers/video/da8xx-fb.c -@@ -903,6 +903,8 @@ static irqreturn_t lcdc_irq_handler_rev0 - LCD_DMA_FRM_BUF_CEILING_ADDR_1_REG); - par->vsync_flag = 1; - wake_up_interruptible(&par->vsync_wait); -+ if (vsync_cb_handler) -+ vsync_cb_handler(vsync_cb_arg); - } - - /* Set only when controller is disabled and at the end of -@@ -968,8 +970,6 @@ static irqreturn_t lcdc_irq_handler_rev0 - LCD_DMA_FRM_BUF_CEILING_ADDR_1_REG); - par->vsync_flag = 1; - wake_up_interruptible(&par->vsync_wait); -- if (vsync_cb_handler) -- vsync_cb_handler(vsync_cb_arg); - } - } - diff --git a/target/linux/omap/patches-3.13/900-wlcore-Add-support-for-DT-platform-data.patch b/target/linux/omap/patches-3.13/900-wlcore-Add-support-for-DT-platform-data.patch deleted file mode 100644 index 750d9e3d68..0000000000 --- a/target/linux/omap/patches-3.13/900-wlcore-Add-support-for-DT-platform-data.patch +++ /dev/null @@ -1,155 +0,0 @@ -When running with DT, we no longer have a board file that can set up the -platform data for wlcore. Allow this data to be passed from DT. - -Since some platforms use a gpio-irq, add support for passing either the -irq number or the gpio number. For the latter case, the driver will -request the gpio and convert it to the irq number. If an irq is -specified, it'll be used as is. - -[Arik - the pdev_data pointer does not belong to us and is freed when -the device is released. Dereference to our private data first.] - -Signed-off-by: Ido Yariv <ido@wizery.com> -Signed-off-by: Arik Nemtsov <arik@wizery.com> ---- - drivers/net/wireless/ti/wlcore/sdio.c | 71 ++++++++++++++++++++++++++++++++--- - include/linux/wl12xx.h | 3 +- - 2 files changed, 67 insertions(+), 7 deletions(-) - ---- a/drivers/net/wireless/ti/wlcore/sdio.c -+++ b/drivers/net/wireless/ti/wlcore/sdio.c -@@ -34,6 +34,7 @@ - #include <linux/wl12xx.h> - #include <linux/pm_runtime.h> - #include <linux/printk.h> -+#include <linux/of.h> - - #include "wlcore.h" - #include "wl12xx_80211.h" -@@ -214,6 +215,61 @@ static struct wl1271_if_operations sdio_ - .set_block_size = wl1271_sdio_set_block_size, - }; - -+static const struct of_device_id wlcore_of_match[] = { -+ { -+ .compatible = "wlcore", -+ }, -+ {} -+}; -+MODULE_DEVICE_TABLE(of, wlcore_of_match); -+ -+static struct wl12xx_platform_data *get_platform_data(struct device *dev) -+{ -+ struct wl12xx_platform_data *pdata; -+ struct device_node *np; -+ u32 gpio; -+ -+ pdata = wl12xx_get_platform_data(); -+ if (!IS_ERR(pdata)) -+ return kmemdup(pdata, sizeof(*pdata), GFP_KERNEL); -+ -+ np = of_find_matching_node(NULL, wlcore_of_match); -+ if (!np) { -+ dev_err(dev, "No platform data set\n"); -+ return NULL; -+ } -+ -+ pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); -+ if (!pdata) { -+ dev_err(dev, "Can't allocate platform data\n"); -+ return NULL; -+ } -+ -+ if (of_property_read_u32(np, "irq", &pdata->irq)) { -+ if (!of_property_read_u32(np, "gpio", &gpio) && -+ !gpio_request_one(gpio, GPIOF_IN, "wlcore_irq")) { -+ pdata->gpio = gpio; -+ pdata->irq = gpio_to_irq(gpio); -+ } -+ } -+ -+ /* Optional fields */ -+ pdata->use_eeprom = of_property_read_bool(np, "use-eeprom"); -+ of_property_read_u32(np, "board-ref-clock", &pdata->board_ref_clock); -+ of_property_read_u32(np, "board-tcxo-clock", &pdata->board_tcxo_clock); -+ of_property_read_u32(np, "platform-quirks", &pdata->platform_quirks); -+ -+ return pdata; -+} -+ -+static void del_platform_data(struct wl12xx_platform_data *pdata) -+{ -+ if (pdata->gpio) -+ gpio_free(pdata->gpio); -+ -+ kfree(pdata); -+} -+ - static int wl1271_probe(struct sdio_func *func, - const struct sdio_device_id *id) - { -@@ -248,12 +304,9 @@ static int wl1271_probe(struct sdio_func - /* Use block mode for transferring over one block size of data */ - func->card->quirks |= MMC_QUIRK_BLKSZ_FOR_BYTE_MODE; - -- pdev_data->pdata = wl12xx_get_platform_data(); -- if (IS_ERR(pdev_data->pdata)) { -- ret = PTR_ERR(pdev_data->pdata); -- dev_err(glue->dev, "missing wlan platform data: %d\n", ret); -+ pdev_data->pdata = get_platform_data(&func->dev); -+ if (!(pdev_data->pdata)) - goto out_free_glue; -- } - - /* if sdio can keep power while host is suspended, enable wow */ - mmcflags = sdio_get_host_pm_caps(func); -@@ -282,7 +335,7 @@ static int wl1271_probe(struct sdio_func - if (!glue->core) { - dev_err(glue->dev, "can't allocate platform_device"); - ret = -ENOMEM; -- goto out_free_glue; -+ goto out_free_pdata; - } - - glue->core->dev.parent = &func->dev; -@@ -316,6 +369,9 @@ static int wl1271_probe(struct sdio_func - out_dev_put: - platform_device_put(glue->core); - -+out_free_pdata: -+ del_platform_data(pdev_data->pdata); -+ - out_free_glue: - kfree(glue); - -@@ -329,11 +385,14 @@ out: - static void wl1271_remove(struct sdio_func *func) - { - struct wl12xx_sdio_glue *glue = sdio_get_drvdata(func); -+ struct wlcore_platdev_data *pdev_data = glue->core->dev.platform_data; -+ struct wl12xx_platform_data *pdata = pdev_data->pdata; - - /* Undo decrement done above in wl1271_probe */ - pm_runtime_get_noresume(&func->dev); - - platform_device_unregister(glue->core); -+ del_platform_data(pdata); - kfree(glue); - } - ---- a/include/linux/wl12xx.h -+++ b/include/linux/wl12xx.h -@@ -51,11 +51,12 @@ enum { - struct wl12xx_platform_data { - void (*set_power)(bool enable); - /* SDIO only: IRQ number if WLAN_IRQ line is used, 0 for SDIO IRQs */ -+ int gpio; - int irq; - bool use_eeprom; - int board_ref_clock; - int board_tcxo_clock; -- unsigned long platform_quirks; -+ u32 platform_quirks; - bool pwr_in_suspend; - }; - diff --git a/target/linux/omap/patches-3.13/920-arm-dts-am335x-evmsk-add-support-for-lcd-panel.patch b/target/linux/omap/patches-3.13/920-arm-dts-am335x-evmsk-add-support-for-lcd-panel.patch deleted file mode 100644 index 932fdc1528..0000000000 --- a/target/linux/omap/patches-3.13/920-arm-dts-am335x-evmsk-add-support-for-lcd-panel.patch +++ /dev/null @@ -1,70 +0,0 @@ ---- a/arch/arm/boot/dts/am335x-evmsk.dts -+++ b/arch/arm/boot/dts/am335x-evmsk.dts -@@ -132,6 +132,39 @@ - pinctrl-names = "default"; - pinctrl-0 = <&gpio_keys_s0 &clkout2_pin>; - -+ lcd_pins_s0: lcd_pins_s0 { -+ pinctrl-single,pins = < -+ 0x20 0x01 /* gpmc_ad8.lcd_data16, OUTPUT | MODE1 */ -+ 0x24 0x01 /* gpmc_ad9.lcd_data17, OUTPUT | MODE1 */ -+ 0x28 0x01 /* gpmc_ad10.lcd_data18, OUTPUT | MODE1 */ -+ 0x2c 0x01 /* gpmc_ad11.lcd_data19, OUTPUT | MODE1 */ -+ 0x30 0x01 /* gpmc_ad12.lcd_data20, OUTPUT | MODE1 */ -+ 0x34 0x01 /* gpmc_ad13.lcd_data21, OUTPUT | MODE1 */ -+ 0x38 0x01 /* gpmc_ad14.lcd_data22, OUTPUT | MODE1 */ -+ 0x3c 0x01 /* gpmc_ad15.lcd_data23, OUTPUT | MODE1 */ -+ 0xa0 0x00 /* lcd_data0.lcd_data0, OUTPUT | MODE0 */ -+ 0xa4 0x00 /* lcd_data1.lcd_data1, OUTPUT | MODE0 */ -+ 0xa8 0x00 /* lcd_data2.lcd_data2, OUTPUT | MODE0 */ -+ 0xac 0x00 /* lcd_data3.lcd_data3, OUTPUT | MODE0 */ -+ 0xb0 0x00 /* lcd_data4.lcd_data4, OUTPUT | MODE0 */ -+ 0xb4 0x00 /* lcd_data5.lcd_data5, OUTPUT | MODE0 */ -+ 0xb8 0x00 /* lcd_data6.lcd_data6, OUTPUT | MODE0 */ -+ 0xbc 0x00 /* lcd_data7.lcd_data7, OUTPUT | MODE0 */ -+ 0xc0 0x00 /* lcd_data8.lcd_data8, OUTPUT | MODE0 */ -+ 0xc4 0x00 /* lcd_data9.lcd_data9, OUTPUT | MODE0 */ -+ 0xc8 0x00 /* lcd_data10.lcd_data10, OUTPUT | MODE0 */ -+ 0xcc 0x00 /* lcd_data11.lcd_data11, OUTPUT | MODE0 */ -+ 0xd0 0x00 /* lcd_data12.lcd_data12, OUTPUT | MODE0 */ -+ 0xd4 0x00 /* lcd_data13.lcd_data13, OUTPUT | MODE0 */ -+ 0xd8 0x00 /* lcd_data14.lcd_data14, OUTPUT | MODE0 */ -+ 0xdc 0x00 /* lcd_data15.lcd_data15, OUTPUT | MODE0 */ -+ 0xe0 0x00 /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */ -+ 0xe4 0x00 /* lcd_hsync.lcd_hsync, OUTPUT | MODE0 */ -+ 0xe8 0x00 /* lcd_pclk.lcd_pclk, OUTPUT | MODE0 */ -+ 0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */ -+ >; -+ }; -+ - user_leds_s0: user_leds_s0 { - pinctrl-single,pins = < - 0x10 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad4.gpio1_4 */ -@@ -486,6 +519,27 @@ - rx-num-evt = <1>; - }; - -+&lcdc { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&lcd_pins_s0>; -+ status = "okay"; -+ display-timings { -+ 480x272 { -+ hactive = <480>; -+ vactive = <272>; -+ hback-porch = <43>; -+ hfront-porch = <8>; -+ hsync-len = <4>; -+ vback-porch = <12>; -+ vfront-porch = <4>; -+ vsync-len = <10>; -+ clock-frequency = <9000000>; -+ hsync-active = <0>; -+ vsync-active = <0>; -+ }; -+ }; -+}; -+ - &tscadc { - status = "okay"; - tsc { diff --git a/target/linux/omap/patches-3.13/950-am335x-evmsk-wilink-dts.patch b/target/linux/omap/patches-3.13/950-am335x-evmsk-wilink-dts.patch deleted file mode 100644 index 7ebbbeaec3..0000000000 --- a/target/linux/omap/patches-3.13/950-am335x-evmsk-wilink-dts.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- a/arch/arm/boot/dts/am335x-evmsk.dts -+++ b/arch/arm/boot/dts/am335x-evmsk.dts -@@ -14,6 +14,7 @@ - /dts-v1/; - - #include "am33xx.dtsi" -+#include <dt-bindings/interrupt-controller/irq.h> - #include <dt-bindings/pwm/pwm.h> - - / { -@@ -26,6 +27,13 @@ - }; - }; - -+ wlan { -+ compatible = "wlcore"; -+ -+ gpio = <31>; -+ board-ref-clock = <4>; -+ }; -+ - memory { - device_type = "memory"; - reg = <0x80000000 0x10000000>; /* 256 MB */ -@@ -45,6 +53,16 @@ - regulator-boot-on; - }; - -+ vmmc_wl: fixedregulator@2 { -+ compatible = "regulator-fixed"; -+ regulator-name = "vmmc-wl"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ gpio = <&gpio1 29 0>; -+ startup-delay-us = <70000>; -+ enable-active-high; -+ }; -+ - leds { - pinctrl-names = "default"; - pinctrl-0 = <&user_leds_s0>; -@@ -297,6 +315,20 @@ - 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* rmii1_ref_clk.mcasp1_axr3 */ - >; - }; -+ -+ wilink_pins: pinmux_wilink_pins { -+ pinctrl-single,pins = < -+ 0x74 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio0_31 */ -+ 0x7c (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_csn0.gpio1_29 */ -+ 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */ -+ 0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */ -+ 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */ -+ 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */ -+ 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */ -+ 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */ -+ >; -+ }; -+ - }; - - &uart0 { -@@ -503,6 +535,16 @@ - ti,no-reset-on-init; - }; - -+&mmc2 { -+ status = "okay"; -+ vmmc-supply = <&vmmc_wl>; -+ bus-width = <4>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&wilink_pins>; -+ ti,non-removable; -+ keep-power-in-suspend; -+}; -+ - &mcasp1 { - pinctrl-names = "default"; - pinctrl-0 = <&mcasp1_pins>; |