summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2016-06-28input: touchscreen: added platform data for Fusion touchscreenStefan Agner
Added platform data struct to define interrupt and reset GPIO. This allows to initialize the touchscreen controller inside the driver rather then in each platform and use the driver as a module. (cherry picked from commit cb82730b70f31af3b43041ac4e47de69c18016c9)
2016-06-28fbcon: logo: allow easy integration of a custom Linux boot logoMarcel Ziswiler
This patch allows for easy integration of a custom Linux boot logo to replace the Tux' being shown by default. Use gimp or the like to create a raw PPM in your desired resolution. Reduce the number of colours in the image to 224: user@host:~$ ppmquant 224 Toradex-640x480.ppm > \ Toradex-640x480-224.ppm ppmquant: making histogram... ppmquant: 370 colors found ppmquant: choosing 224 colors... ppmquant: mapping image to new colors... Convert it from raw PPM to ASCII format: user@host:~$ pnmnoraw Toradex-640x480-224.ppm > \ Toradex-640x480-ascii-224.ppm Copy it into the Linux sources: cp Toradex-640x480-ascii-224.ppm linux-toradex/drivers/video/logo/\ logo_custom_clut224.ppm Activate exclusively custom Linux logo in the kernel configuration: Device Drivers -> Graphics support -> Bootup logo -> Custom 224-color Linux logo And re-compile the kernel. (cherry picked from commit fa2371bff9ac03581881849d8f95678ef3992719)
2016-06-24Input: ad7879 - move header to platform_data directoryStefan Agner
The header file is used by the SPI and I2C variant of the driver. Therefore, move it to a more generic place under platform_data. Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> (cherry picked from commit 4774f400935fbb44a25f5e8fd5c5583431e28ac1)
2016-06-24regulator: rn5t618: Add RN5T567 PMIC supportStefan Agner
Extend the driver to support Ricoh RN5T567. Support the additional DCDC and slightly different voltage range of LDORTC1. Signed-off-by: Stefan Agner <stefan@agner.ch> Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-06-24mfd: add Ricoh RN5T567 PMIC suppportStefan Agner
The Ricoh RN5T567 is from the same family as the Ricoh RN5T618 is, the differences are: + DCDC4 + Slightly different output voltage/currents + 32kHz Output - ADC/Charger capabilities Reviewed-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Signed-off-by: Stefan Agner <stefan@agner.ch>
2016-03-28MLK-10934 mtd: use memcpy to replace the memcpy_fromioHuang Shijie
During the read of NOR, the kernel actually calls the inline_map_copy_from() to read the data out. And inline_map_copy_from() will use the memcpy_fromio() to do the real job. The memcpy_fromio macro maps _memcpy_fromio() in the current code. But the _memcpy_fromio() will use readb() to do the copy work one byte by one byte. This makes the read performance of NOR very slow(about 2~3MB/s). A similiar discussion could be found in: http://lists.infradead.org/pipermail/linux-arm-kernel/2009-November/003860.html This patch replace the memcpy_fromio with memcpy which is optimized by the kernel. The following is the result from mtd_speedtest with M29W256GL7AN6E: ================================================= mtd_speedtest: MTD device: 2 mtd_speedtest: not NAND flash, assume page size is 512 bytes. mtd_speedtest: MTD device size 4194304, eraseblock size 131072, page size 512, count of eraseblocks 32, pages per eraseblock 256, OOB size 0 mtd_speedtest: testing eraseblock write speed mtd_speedtest: eraseblock write speed is 845 KiB/s mtd_speedtest: testing eraseblock read speed mtd_speedtest: eraseblock read speed is 19504 KiB/s mtd_speedtest: testing page write speed mtd_speedtest: page write speed is 845 KiB/s mtd_speedtest: testing page read speed mtd_speedtest: page read speed is 19140 KiB/s mtd_speedtest: testing 2 page write speed mtd_speedtest: 2 page write speed is 846 KiB/s mtd_speedtest: testing 2 page read speed mtd_speedtest: 2 page read speed is 19320 KiB/s mtd_speedtest: Testing erase speed mtd_speedtest: erase speed is 233 KiB/s mtd_speedtest: Testing 2x multi-block erase speed mtd_speedtest: 2x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 4x multi-block erase speed mtd_speedtest: 4x multi-block erase speed is 224 KiB/s mtd_speedtest: Testing 8x multi-block erase speed mtd_speedtest: 8x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 16x multi-block erase speed mtd_speedtest: 16x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 32x multi-block erase speed mtd_speedtest: 32x multi-block erase speed is 225 KiB/s mtd_speedtest: Testing 64x multi-block erase speed mtd_speedtest: 64x multi-block erase speed is 224 KiB/s mtd_speedtest: finished ================================================= (cherry-picked from: f1e5914ffd82d5326cbd30507d4f37d02a0da099) Signed-off-by: Huang Shijie <b32955@freescale.com>
2016-03-01MLK-12462-1 mmc: core: add MMC_PM_IGNORE_PM_NOTIFY featureDong Aisheng
With igore pm notify feature, MMC core will not re-detect card after system suspend/resume. This is needed for some special cards like Broadcom WiFi which can't work propertly on card re-detect after system resume. Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2016-02-16MLK-12077-3 bcmdhd: fix bcmdhd system resume crash issue.Dong Aisheng
bcmdhd can't support removing host during suspend and driver crash when detect card after resume due to no response to CMD7. It looks bcmdhd has a special requirement to enumerate card by itself which is incompatible with current MMC core. So implement post-cd feature to allow driver to detect card as it wants, then we add back non-removable capability to avoid MMC core to redetect card after resume. root@imx6qdlsolo:~# echo standby > /sys/power/state PM: Syncing filesystems ... done. PM: Preparing system for standby sleep Freezing user space processes ... (elapsed 0.001 seconds) done. Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. PM: Entering standby sleep evbug: Event. Dev: input3, Type: 0, Code: 0, Value: 1 evbug: Event. Dev: input2, Type: 0, Code: 0, Value: 1 PM: suspend of devices complete after 652.363 msecs PM: suspend devices took 0.660 seconds PM: late suspend of devices complete after 1.148 msecs PM: noirq suspend of devices complete after 1.043 msecs Disabling non-boot CPUs ... CPU1: shutdown Enabling non-boot CPUs ... CPU1 is up PM: noirq resume of devices complete after 0.534 msecs PM: early resume of devices complete after 0.553 msecs evbug: Event. Dev: input2, Type: 1, Code: 116, Value: 1 evbug: Event. Dev: input2, Type: 0, Code: 0, Value: 0 evbug: Event. Dev: input2, Type: 1, Code: 116, Value: 0 evbug: Event. Dev: input2, Type: 0, Code: 0, Value: 0 mmc1: error -110 during resume (card was removed?) PM: resume of devices complete after 605.525 msecs PM: resume devices took 0.610 seconds PM: Finishing wakeup. Restarting tasks ... done. WARNING: driver bcmsdh_sdmmc did not remove its interrupt handler! root@imx6qdlsolo:~# Unable to handle kernel NULL pointer dereference at virtual address 0000022c pgd = 80004000 [0000022c] *pgd=00000000 Internal error: Oops: 17 [#1] PREEMPT SMP ARM Modules linked in: bcmdhd evbug ov5647_camera_mipi mxc_mipi_csi mx6s_capture CPU: 1 PID: 780 Comm: kworker/u4:4 Not tainted 4.1.15-01434-g70f4b36 #1310 Hardware name: Freescale i.MX7 Dual (Device Tree) Workqueue: kmmcd mmc_rescan task: a974af80 ti: a846e000 task.ti: a846e000 PC is at _raw_spin_lock_irqsave+0x1c/0x5c LR is at get_parent_ip+0x10/0x2c pc : [<8077b9d4>] lr : [<8005207c>] psr: 60050093 sp : a846fc20 ip : 0001001f fp : a800b000 r10: 00000000 r9 : 00000001 r8 : 0000022c r7 : 00000002 r6 : 0000022c r5 : a0050013 r4 : 0000022c r3 : a974af80 r2 : 00000001 r1 : a846fc44 r0 : 00000000 Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c53c7d Table: a951406a DAC: 00000015 Process kworker/u4:4 (pid: 780, stack limit = 0xa846e210) Stack: (0xa846fc20 to 0xa8470000) fc20: 00000000 a846fc50 a846fc44 80061808 00000000 000001dc 00000000 805037fc fc40: 8d89d5ec 00000000 a974af80 80053e88 00000000 00000000 ab7293c0 00000000 fc60: 7f09c828 000000c9 7f09c828 a916a804 00000001 0001001f a800b000 7f0698a4 fc80: a974afc8 00000001 00000000 00000000 00012ebc a974af80 00000001 80ad46c0 fca0: a974af80 00000000 a8eeccc0 00000001 0001001f a846fd04 00000000 7f099440 fcc0: a800b000 7f0699c4 a846fcdf 00000000 00000001 7f068834 a937c900 0105c688 fce0: a846fd04 a8e20000 00000000 00000001 00000000 7f071f08 a846fd04 a80a0000 fd00: ffffffff 00000000 ffffffff a8e20000 a8e20000 00000000 7f099440 00000000 fd20: 00000000 7f099440 a800b000 7f072f4c a974af80 00000000 00000000 80778564 fd40: a846fd54 a9346550 80330028 00000001 a846e000 a8e20000 7f099440 00000000 fd60: 18005000 a8eeccc0 00000000 7f099440 a800b000 7f073744 a846fd8c 80052130 fd80: a9273898 00000000 a800b000 a8e20000 7f099440 00000001 a8eec200 a9270000 fda0: 00000000 7f099440 a800b000 7f07cd3c 80b81100 8040003f a800b000 00000000 fdc0: 00000000 a8e20000 7f099440 a9270000 a9273000 a9270000 00000000 7f099440 fde0: a800b000 7f02df4c 00000001 a8e20000 7f099440 a8eec200 00000000 a916e008 fe00: 00000000 a90bfb00 a800b000 7f074cbc a9270000 7f099440 a8e20000 00000000 fe20: a8f81610 7f0765ec 7f0765b0 a8eeccc0 a855df40 7f069310 a916a800 a8eec200 fe40: 7f09b414 7f06a950 7f06a908 a8f81608 a8f81600 8050e8b8 a8f81608 7f09b414 fe60: 80b22c70 80379744 a974af80 a8f8163c a8f81608 803797d4 00000005 a81ce930 fe80: a8f81608 8037923c a8f81608 a8f81608 80b93cf4 80376504 a846fea0 800e0e3c fea0: 00000000 00000000 a8f81608 000000bd a833f000 00000000 00000000 8050ed04 fec0: 00000001 8050dd8c 400f8c0f a833f000 ffffff92 a833f000 a81ce600 8050de30 fee0: 8050ddbc a833f240 a833f1dc 80506048 a90bfb00 a833f240 a800b000 a81ce600 ff00: 00000000 800462f0 a81ce600 80043c94 00000000 a800b000 a90bfb18 a800b014 ff20: a846e000 00000088 80b39379 a90bfb00 a800b000 8004654c 80ad4100 a800b164 ff40: a90bfb00 00000000 a84856c0 a90bfb00 80046500 00000000 00000000 00000000 ff60: 00000000 8004b1e8 2df9acc7 00000000 b5f3ff89 a90bfb00 00000000 00000000 ff80: a846ff80 a846ff80 00000000 00000000 a846ff90 a846ff90 a846ffac a84856c0 ffa0: 8004b10c 00000000 00000000 8000f568 00000000 00000000 00000000 00000000 ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 ecd61557 f82769f5 [<8077b9d4>] (_raw_spin_lock_irqsave) from [<80061808>] (add_wait_queue+0x20/0x48) [<80061808>] (add_wait_queue) from [<805037fc>] (__mmc_claim_host+0x58/0x1b0) [<805037fc>] (__mmc_claim_host) from [<7f0698a4>] (sdioh_request_byte+0x1cc/0x2a4 [bcmdhd]) [<7f0698a4>] (sdioh_request_byte [bcmdhd]) from [<7f0699c4>] (sdioh_cfg_write+0x20/0x28 [bcmdhd]) [<7f0699c4>] (sdioh_cfg_write [bcmdhd]) from [<7f068834>] (bcmsdh_cfg_write+0x90/0xdc [bcmdhd]) [<7f068834>] (bcmsdh_cfg_write [bcmdhd]) from [<7f071f08>] (dhdsdio_clk_kso_enab+0x38/0x168 [bcmdhd]) [<7f071f08>] (dhdsdio_clk_kso_enab [bcmdhd]) from [<7f072f4c>] (dhdsdio_clk_devsleep_iovar+0xf4/0x5f4 [bcmdhd]) [<7f072f4c>] (dhdsdio_clk_devsleep_iovar [bcmdhd]) from [<7f073744>] (dhdsdio_bussleep+0x2f8/0x4dc [bcmdhd]) [<7f073744>] (dhdsdio_bussleep [bcmdhd]) from [<7f07cd3c>] (dhd_bus_stop+0x2e8/0x3f0 [bcmdhd]) [<7f07cd3c>] (dhd_bus_stop [bcmdhd]) from [<7f02df4c>] (dhd_detach+0x2a4/0x438 [bcmdhd]) [<7f02df4c>] (dhd_detach [bcmdhd]) from [<7f074cbc>] (dhdsdio_release+0x4c/0x1dc [bcmdhd]) [<7f074cbc>] (dhdsdio_release [bcmdhd]) from [<7f0765ec>] (dhdsdio_disconnect+0x3c/0xa0 [bcmdhd]) [<7f0765ec>] (dhdsdio_disconnect [bcmdhd]) from [<7f069310>] (bcmsdh_remove+0x3c/0x60 [bcmdhd]) [<7f069310>] (bcmsdh_remove [bcmdhd]) from [<7f06a950>] (bcmsdh_sdmmc_remove+0x48/0x60 [bcmdhd]) [<7f06a950>] (bcmsdh_sdmmc_remove [bcmdhd]) from [<8050e8b8>] (sdio_bus_remove+0x30/0xf8) [<8050e8b8>] (sdio_bus_remove) from [<80379744>] (__device_release_driver+0x70/0xe4) [<80379744>] (__device_release_driver) from [<803797d4>] (device_release_driver+0x1c/0x28) [<803797d4>] (device_release_driver) from [<8037923c>] (bus_remove_device+0xd8/0x104) [<8037923c>] (bus_remove_device) from [<80376504>] (device_del+0x10c/0x210) [<80376504>] (device_del) from [<8050ed04>] (sdio_remove_func+0x1c/0x28) [<8050ed04>] (sdio_remove_func) from [<8050dd8c>] (mmc_sdio_remove+0x40/0x70) [<8050dd8c>] (mmc_sdio_remove) from [<8050de30>] (mmc_sdio_detect+0x74/0x100) [<8050de30>] (mmc_sdio_detect) from [<80506048>] (mmc_rescan+0xb8/0x314) [<80506048>] (mmc_rescan) from [<800462f0>] (process_one_work+0x120/0x330) [<800462f0>] (process_one_work) from [<8004654c>] (worker_thread+0x4c/0x480) [<8004654c>] (worker_thread) from [<8004b1e8>] (kthread+0xdc/0xf4) [<8004b1e8>] (kthread) from [<8000f568>] (ret_from_fork+0x14/0x2c) Code: f10c0080 e3a00001 ebe359b1 f594f000 (e1943f9f) Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> (cherry picked from commit 8f998ca4d07aa93460ac7769c1f2b3be0c36fc78)
2016-01-19MLK-12170-1 mmc: sdhci-esdhc-imx: support setting tuning start pointDong Aisheng
The delay cells of some SoCs may have less delay value of one cell, for such SoCs, user could set a start delay cell point to skip a few meaningless tuning cells. Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
2016-01-14usb: gadget: udc-core: independent registration of gadgets and gadget driversRuslan Bilovol
Change behavior during registration of gadgets and gadget drivers in udc-core. Instead of previous approach when for successful probe of usb gadget driver at least one usb gadget should be already registered use another one where gadget drivers and gadgets can be registered in udc-core independently. Independent registration of gadgets and gadget drivers is useful for built-in into kernel gadget and gadget driver case - because it's possible that gadget is really probed only on late_init stage (due to deferred probe) whereas gadget driver's probe is silently failed on module_init stage due to no any UDC added. Also it is useful for modules case - now there is no difference what module to insert first: gadget module or gadget driver one. Tested-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com> [simplified code as requested by Alan Stern and Felipe Balbi, fixed checkpatch issues] Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Tested-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
2016-01-14usb: gadget: udc-core: remove unused usb_udc_attach_driver()Ruslan Bilovol
Now when last user of usb_udc_attach_driver() is switched to passing UDC name via usb_gadget_driver struct, it's safe to remove this function Tested-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Tested-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
2016-01-14usb: gadget: bind UDC by name passed via usb_gadget_driver structureRuslan Bilovol
Introduce new 'udc_name' member to usb_gadget_driver structure. The 'udc_name' is a name of UDC that usb_gadget_driver should be bound to. If udc_name is NULL, it will be bound to any available UDC. Tested-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Ruslan Bilovol <ruslan.bilovol@gmail.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Tested-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
2016-01-14Move x86_64 idle notifiers to genericTodd Poynor
Move the x86_64 idle notifiers originally by Andi Kleen and Venkatesh Pallipadi to generic. Change-Id: Idf29cda15be151f494ff245933c12462643388d5 Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14cpufreq: interactive: trace actual speed in target speed decisionsTodd Poynor
Tracing adds actual speed since this is expected to be key to the choice of target speed. Change-Id: Iec936102d0010c4e9dfa143c38a9fd0d551189c3 Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14cpufreq: interactive: handle speed up and down in the realtime taskTodd Poynor
Not useful to have a separate, non-realtime workqueue for speed down events, avoid priority inversion for speed up events. Change-Id: Iddcd05545245c847aa1bbe0b8790092914c813d2 Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14cpufreq: interactive: add boost pulse interfaceTodd Poynor
Change-Id: Icf1e86d2065cc8f0816ba9c6b065eb056d4e8249 Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14cpufreq: interactive: Add sysfs boost interface for hints from userspaceTodd Poynor
The explicit hint on/off version. Change-Id: Ibf62b6d45bf6fb8c9c055b9bdaf074ce9374c04f Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14cpufreq: interactive: Boost frequency on touchscreen inputTodd Poynor
Based on previous patches by Tero Kristo <tero.kristo@nokia.com>, Brian Steuer <bsteuer@codeaurora.org>, David Ng <dave@codeaurora.org>, Antti P Miettinen <amiettinen@nvidia.com>, and Thomas Renninger <trenn@suse.de> Change-Id: Ic55fedcf6f9310f43a7022fb88e23b0392122769 Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14cpufreq interactive governor: event tracingTodd Poynor
Change-Id: Ic13614a3da2faa2d4bd215ca3eb7191614f0cf66 Signed-off-by: Todd Poynor <toddpoynor@google.com>
2016-01-14cpufreq: interactive: New 'interactive' governorMike Chan
This governor is designed for latency-sensitive workloads, such as interactive user interfaces. The interactive governor aims to be significantly more responsive to ramp CPU quickly up when CPU-intensive activity begins. Existing governors sample CPU load at a particular rate, typically every X ms. This can lead to under-powering UI threads for the period of time during which the user begins interacting with a previously-idle system until the next sample period happens. The 'interactive' governor uses a different approach. Instead of sampling the CPU at a specified rate, the governor will check whether to scale the CPU frequency up soon after coming out of idle. When the CPU comes out of idle, a timer is configured to fire within 1-2 ticks. If the CPU is very busy from exiting idle to when the timer fires then we assume the CPU is underpowered and ramp to MAX speed. If the CPU was not sufficiently busy to immediately ramp to MAX speed, then the governor evaluates the CPU load since the last speed adjustment, choosing the highest value between that longer-term load or the short-term load since idle exit to determine the CPU speed to ramp to. A realtime thread is used for scaling up, giving the remaining tasks the CPU performance benefit, unlike existing governors which are more likely to schedule rampup work to occur after your performance starved tasks have completed. The tuneables for this governor are: /sys/devices/system/cpu/cpufreq/interactive/min_sample_time: The minimum amount of time to spend at the current frequency before ramping down. This is to ensure that the governor has seen enough historic CPU load data to determine the appropriate workload. Default is 80000 uS. /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load The CPU load at which to ramp to max speed. Default is 85. Change-Id: Ib2b362607c62f7c56d35f44a9ef3280f98c17585 Signed-off-by: Mike Chan <mike@android.com> Signed-off-by: Todd Poynor <toddpoynor@google.com> Bug: 3152864
2016-01-14MLK-12065 ARM: imx: imx7d: enable enet mdio open drainFugang Duan
The management data input/output (MDIO) bus where often high-speed, open-drain operation is required. i.MX7D TO1.0 ENET MDIO pin has no open drain as IC ticket number: TKT252980, i.MX7D TO1.1 fix the issue. Signed-off-by: Fugang Duan <B38611@freescale.com> (cherry picked from commit: a747abd5f01d278b91d1b6ee6628e1935cb7b23c) Conflicts: arch/arm/mach-imx/mach-imx7d.c
2016-01-14MLK-11992: MX6 HDMI: Active HDCP keepout window when HDCP enableSandor Yu
When HDCP running in repeater mode, HDCP software workaround "HW_WA_HDCP_DC0" is working in HDCP keepout window stop state. It will cause HDCP compliance test 1B-01A failed. So active HDCP keepout widows and 1B-01A is passed. Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14MLK-11988 uapi: fix header files missing problem while building linux-testGao Pan
3 uapi header files(mxc_sim_interface.h, pxp_dma.h, pxp_device.h) cannot be installed by the command "make headers_install" because they are not in Kbuild list, which impacts the linux-test build. This patch adds the 3 header files in Kbuild list. Signed-off-by: Gao Pan <B54642@freescale.com>
2016-01-14MLK-11894 imx: sema4: fix the out of bounds writeRichard Zhu
Fix the out of bounds write, and the dereference before null check. Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com> (cherry picked from commit 775ff0727166535e9b1ba1f70167e6a33fee5f13)
2016-01-14MLK-11937: mtd: spi-nor: add DDR quad read support for MicronHan Xu
This patch adds the DDR(or DTR) quad read support for the Micron SPI NOR flash. Signed-off-by: Han Xu <b45815@freescale.com>
2016-01-14MLK-11941: mtd: spi-nor: add DDR quad read supportHan Xu
This patch adds the DDR quad read support by the following: [1] add SPI_NOR_DDR_QUAD read mode. [2] add DDR Quad read opcodes: SPINOR_OP_READ_1_4_4_D / SPINOR_OP_READ4_1_4_4_D [3] add set_ddr_quad_mode() to initialize for the DDR quad read. Currently it only works for Spansion NOR. [3] about the dummy cycles. We set the dummy with 8 for DDR quad read by default. The m25p80.c can not support the DDR quad read, but the SPI NOR controller can set the dummy value in its child DT node, and the SPI NOR framework can parse it out. Signed-off-by: Han Xu <b45815@freescale.com>
2016-01-14ENGR00318895-3 mtd: spi-nor: add a new field for spi_nor{}Huang Shijie
We need the SPI NOR child node to store some specific features, such as the dummy cycles for the DDR Quad read. But now, we only have the @dev field in the spi_nor{}. The @dev may points to a spi_device{} for m25p80, while it may points to a platform_deivice{} for the SPI NOR controller, such as fsl_quadspi.c. It is not convenient for us to get come information from the SPI NOR flash. This patch adds a new field @np to spi_nor{}, it points to the child node for the SPI NOR flash. Signed-off-by: Huang Shijie <b32955@freescale.com> (cherry picked from commit 9b4c87e0756093a04eb0948396928c8adbd1ee08)
2016-01-14MLK-11891-1 usb: otg-fsm: allocate DMA buffer for host request flag separatelyLi Jun
HNP polling need a one byte buffer for usb control transfer via DMA read, currently using a data field in a structure for DMA buffer may cause cache incoherent issue, because the cache line for the DMA buffer also contains other data in this structure, while dma from device is outstanding, the access on other data in the same cache line will cause we get the old data before DMA. This patch change the host_request_flag to be a pointer, its memory will be allocated through kmalloc by controller driver, with this way, the DMA buffer can be properly aligned and padded. Signed-off-by: Li Jun <jun.li@freescale.com>
2016-01-14usb: phy: change some commentsPeter Chen
- Replace all "transceiver" with "phy" - Replace one "OTG controller" with "phy" Signed-off-by: Peter Chen <peter.chen@freescale.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
2016-01-14MLK-11808-1: watchdog: add set_pretimeout interfaceRobin Gong
Add set_pretimeout since our watchdog driver has those interfaces and obviously, the new common watchdog framework didn't implement this interface. Signed-off-by: Robin Gong <b38343@freescale.com>
2016-01-14MLK-10131 ENGR00286724-4 can: flexcan: add platform_data for transceiver_switchDong Aisheng
It's used for transceiver_switch. NOTE: it's newly added since it's deleted by upstream before. However, the driver is still using it, so have to add it. Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 53109634188e672b807a7256afbf10db0d9a6574)
2016-01-14MLK-11703-2: power: sabresd_battery: add sabresd_battery driverRobin Gong
cherry-pick below patch: ENGR00275004-4: power: sabresd_battery: add sabresd_battery driver Add sabresd battery driver which based on Max8903 charger IC. Signed-off-by: Robin Gong <b38343@freescale.com> (cherry picked from commit 19ac2dfcd1e0ea3f1ae231cfc230315eaa9a41be) (cherry picked from commit b9e81012c21d3318a633a4447797e4a52676c760)
2016-01-14MLK-11684: mipi dsi: Porting mxc mipi dsi driver from 3.14.ySandor Yu
Initial the mxc mipi dsi driver. Baseline copied from imx_3.14.y branch. Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14MLK-11606-01: dcic: Porting dcic driver from 3.14.ySandor Yu
Initial the mxc dcic driver. Baseline copied from imx_3.14.y branch. Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14MLK-11316-3 video: mxc ipuv3 fb: Change pan display mechanism for PRE workaroundLiu Ying
In order to workaround the PRE SoC bug recorded by errata ERR009624, the software cannot write the PRE_CTRL register when the PRE writes the PRE_CTRL register automatically to set the ENABLE bit(bit0) to 1 in the PRE repeat mode. The software mechanism to set the PRE_CTRL register is different for PRE Y resolution higher than 9 lines and lower than or equal to 9 lines. For cases in which Y resolution is higher than 9 lines, before we update PRE shadow, we just need to wait until the PRE store engine status runs out of the problematic PRE automatic writing window. While for cases in which Y resolutin is lower than or equal to 9 lines, we have to update PRE shadow in the buffer flip interrupt handler. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit bd9c14e24aaf67926dfd31bd819ab0c87129fe4b)
2016-01-14MLK-11316-2 mxc IPUv3: PRE: Define small Y resolutionLiu Ying
In order to workaround the PRE SoC bug recorded by errata ERR009624, the software cannot write the PRE_CTRL register when the PRE writes the PRE_CTRL register automatically to set the ENABLE bit(bit0) to 1 in the PRE repeat mode. The software mechanism to set the PRE_CTRL register is different for PRE Y resolution higher than 9 lines and lower than or equal to 9 lines. So, this patch defines the small Y resolution and adds a helper to check the Y resolution. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit cf7df46e3b1d2142ff354498982194247bf07fea)
2016-01-14MLK-11316-1 mxc IPUv3: PRE: Export a function to set PRE_CTRL registerLiu Ying
In order to workaround the PRE SoC bug recorded by errata ERR009624, the software cannot write the PRE_CTRL register when the PRE writes the PRE_CTRL register automatically to set the ENABLE bit(bit0) to 1 in the PRE repeat mode. This patch exports a function to set the PRE_CTRL register so that it could be used by the software when the PRE automatic writing doesn't happen for sure. Signed-off-by: Liu Ying <Ying.Liu@freescale.com> (cherry picked from commit e64bbcd9243a17f9eba9cb3abb6f2c1939eae110)
2016-01-14mmc: Allow setting slot index via devicetree aliasSascha Hauer
As with gpio, uart and others, allow specifying the name_idx via the aliases-node in the devicetree. On embedded devices, there is often a combination of removable (e.g. SD card) and non-removable mmc devices (e.g. eMMC). Therefore the name_idx might change depending on - host of removable device - removable card present or not This makes it difficult to hard code the root device, if it is on the non-removable device. E.g. if SD card is present eMMC will be mmcblk1, if SD card is not present at boot, eMMC will be mmcblk0. If the aliases-node is not found, the driver will act as before. The original patch is from here: https://www.mail-archive.com/linux-mmc@vger.kernel.org/msg26472.html The patch requires additional alias_id fix or it won't work. Because according to function definition the max_idx parameter of idx_alloc is exclusive, so need add 1 or it will be unable to find the proper idx within an invalid range. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Dong Aisheng <b29396@freescale.com> (cherry picked from commit 35928d6c6a76a24a16edfa636f4c08293614a1e0)
2016-01-14of: Add helper for getting the maximum alias index for a stemSascha Hauer
of_alias_max_index will return the maximum number for which an alias of a given stem exists. This is useful for frameworks whishing to reserve a number of device slots from dynamic allocation. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> (cherry picked from commit 5ce2ad39b36fd48b9f77249198655da7cbcc7ee5) Conflicts: include/linux/of.h
2016-01-14MLK-11566-5 drvier: imx_sema4: add dummy functionAnson Huang
When CONFIG_IMX_SEMA4 is NOT set, some modules may still call SEMA4 APIs, need to add dummy function to make sure build pass. Signed-off-by: Anson Huang <b20788@freescale.com> (cherry picked from commit 5a2537095621da25c8967a0ccdbb8b0029e14c94)
2016-01-14MLK-11556-3 epdc: add EPDC driverRobby Cai
mxc_epdc_fb.c for i.MX6SoloLite, and i.MX6DualLite (and i.MX50 as well), mxc_epdc_v2_fb.c for i.MX7D. Signed-off-by: Robby Cai <r63905@freescale.com>
2016-01-14MLK-11556-1 pmic: max17135: add hwmon, mfd and regulator drivers for this pmicRobby Cai
Add PMIC 'MAX17135' module drivers to 4.1.y kernel. These are necessary to supply power for E-ink panel display functions. Signed-off-by: Robby Cai <r63905@freescale.com>
2016-01-14MLK-9684-6: ARM: clk-imx6sx: add missing lvds2 clock to the clock treeShengjiu Wang
We actually have lvds2 (analog clock2), an I/O clock like lvds1, in the SoC. And this lvds2, along with lvds1, can be used to provide external clock source to the internal pll, such as pll4_audio and pll5_video. So This patch mainly adds the lvds2 to the clock tree and fix its relationship with pll4 accordingly. Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> (cherry picked from commit f9cfc11cf8628bd01efda611074131bfa323a120)
2016-01-14MLK-10466-2 ARM: imx: add the pcie related macros definitionsRichard Zhu
add the pcie related macros definitions into gpr. Signed-off-by: Richard Zhu <Richard.Zhu@freescale.com> (cherry picked from commit b4a5b2e53b2e743824d0af7428f7d9d406bec8bd)
2016-01-14MLK-10009-2 ARM: imx6sx: Add imx6sx pcie related gpr bits definitionsRichard Zhu
Add imx6sx pcie related gpr bits definitions. Signed-off-by: Richard Zhu <richard.zhu@freescale.com> (cherry picked from commit 991fb25d62e3e2f550f98732f5bc00eeb98f78e3)
2016-01-14MLK-11508-4: V4L2 Capture: Porting MXC V4L2 Capture from 3.14.ySandor Yu
Initial port of the mxc V4L2 capture driver. Baseline copied from imx_3.14.y branch: Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14MLK-11508-1: Revert "[media] v4l2-core: remove the old .ioctl BKL replacement"Sandor Yu
This reverts commit 5cf6f7f327c95f09be859889be39e78950516556.
2016-01-14MLK-11519-1 media: forward mxc video output drivers to 4.1 kernelSandor Yu
Forward imx_3.14.y mxc video output drivers to 4.1 kernel. The priv field of v4l2_pix_format is used to expand colorspace, and can not use to pass IPU input crop size. Add private IOCTL VIDIOC_S_INPUT_CROP and VIDIOC_G_INPUT_CROP to pass input crop size. Signed-off-by: Sandor Yu <R01008@freescale.com>
2016-01-14MLK-9662 [V4L2 Capture] Revert patch to re-add support for _G_CHIP_IDENTOliver Brown
This reverts commit b71c99801e18eb172ae34851daf25044a3bf644a. Signed-off-by: Oliver Brown <oliver.brown@freescale.com> (cherry picked from commit 5c74966c0e7deb0ac84b3fa8a84c6c942e7d434f) Conflicts: drivers/media/v4l2-core/v4l2-compat-ioctl32.c include/media/v4l2-subdev.h
2016-01-14MLK-11534 uapi: Add mxc_mlb.h into KbuildRobby Cai
export this for 'make headers_install' Signed-off-by: Robby Cai <r63905@freescale.com>