23 Feb, 2017
40 commits
-
Forward imx_3.14.y IPU and display drivers to 4.1 kernel.
This includes IPU core driver, display driver, LDB and HDMI driver.Signed-off-by: Sandor Yu
-
When VPU is running at 352MHz, SOC/PU voltage need to be
at 1.25V for 396/792MHz setpoint, as 396M setpoint is
removed, so only increase 792M setpoint's voltage.Signed-off-by: Anson Huang
-
As A9 and M4 share many resources on i.MX6SX, especially for
clk and power related resource, so we need to handle the hardware
conflict between these two cores, there are two cases that we
need to consider currently:clk management: for every clk node, only when both A9 and
M4 do NOT need it, then we can disable it from hardware;Here we use MU and hardware SEMA4 to achieve our goal, MU is
for communiation between A9 and M4, SEMA4 is to protect the
shared memory.For clk management, we use shared memory to maintain the clk
status for both A9 and M4 side, and this shared memory is
protected by hardware SEMA4, A9 and M4 will maintain their
own clk tree info in their SW environment, and get other
CORE's clk tree info from shared memory to decide whether
to perform a hardware setting change when they plan to.Signed-off-by: Anson Huang
-
- add linux sema4 driver.
- use volatile types in sema4 structure.
- align the port definiton a9 is 1, m4 is 2.Signed-off-by: Anson Huang
Signed-off-by: Richard Zhu -
This patch adds clk API return check for imx6sx.
Signed-off-by: Anson Huang
-
errata:
When a read command returns less data than specified in the PRDs (for
example, there are two PRDs for this command, but the device returns a
number of bytes which is less than in the first PRD), the second PRD of
this command is not read out of the PRD FIFO, causing the next command
to use this PRD erroneously.workaround
- forces sg_tablesize = 1
- modified the sg_io function in block/scsi_ioctl.c to use a 64k buffer
allocated with dma_alloc_coherent during the probe in ahci_imx
- In order to fix the scsi/sata hang, when CD_ROM and HDD are
accessed simultaneously after the workaround is applied.
Do not go to sleep in scsi_eh_handler, when there is host failed.Signed-off-by: Richard Zhu
-
The hang issue is caused by the driver pan display function.
In the mxsfb, the pan display didn't wait the address flip
done before it exits. So this may cause the irq handler
running at the blank state which will cause system hang.
Two things are done in this patch:
1. Remove the 'flip_sem', since the pan_display is always
called under the console lock hold.
2. Add a new completion 'flip_complete" to wait for the
address flip done.Signed-off-by: Fancy Fang
(cherry picked from commit 7cb41403cb7cf1e977536af2a0422a214382c9f5)Conflicts:
drivers/video/mxsfb.c -
this patch is chery-picked from imx_3.14.y
(cherry picked from commit 51e376b469c)
ENGR00274056-1 thermal: add device cooling for thermal drivercpu cooling is not enough when temperature is
too hot, as some devices may contribute a lot of heat
to SOC, such as GPU, so we need to add device cooling
as well, when system is too hot, devices can also take
their actions to lower SOC temperature.when temperature cross the passive trip, device cooling
driver will send out notification, those devices who
register this devfreq_cooling notification will take
actions to lower SOC temperature.Signed-off-by: Anson Huang
Signed-off-by: Shawn Guo
Signed-off-by: Bai Ping -
When allocating large memory, such as 128K,
vmalloc() uses single page for the allocation process,
while kzalloc() has to consume a continuous pages for the allocation.In low memory case, the kzalloc() may fails.
So use the vmalloc() instead.Also add some sanity check for the NULL pointer.
Add missed line for ENGR00161643-3 UTP : bugfix
Signed-off-by: Huang Shijie
-
ubiformat includes command, data, command periods,
it breaks utp protocol for PUT commands. So we add two operations to fix it.
One is sending busy to host before the data periods begins.
The second is adding a new command to waiting ubiformat's command period.Signed-off-by: Li Xingyu
Signed-off-by: Peter Chen -
- the root cause of this issue is there is no protection for
the resource which will be accessed by multiple threadSigned-off-by: Tony LIU
-
uboot needs pass down below parameters
removable = 1
stall = 0
idVendor = 0x066F
idProduct = 0x37FF
iSerialNumber = ""sleep_thread add new parameter
Signed-off-by: Lu Lin
Signed-off-by: Frank Li -
Add isl29023 driver support for i.MX6Q/DL/SX platform. The code derives from 3.10.y branch.
Signed-off-by: Luwei Zhou
Signed-off-by: Fugang Duan
(cherry picked from commit: b0134420bba0022151499f1bb15e0d5daba970fa) -
Enable i.MX6SX adc driver. ADC driver will try getting ADC controller
channel number via device tree, because i.MX chip enable 4 channels
on each controller.Signed-off-by: Luwei Zhou
Signed-off-by: Fugang Duan
(cherry picked from commit 14a6a98f64e26702b1c0ecfc7d58a45ee5752d54) -
Add mma8451 driver support for i.MX6Q/DL/SX platform. The code derives from 3.10.y branch.
Signed-off-by: Luwei Zhou
Signed-off-by: Fugang Duan
(cherry picked from commit: 69e1811b92ed7b3dc2f1db0a9447a8570dd16231) -
evbug will open the mma8450 on i.MX6SL_EVK and mma8450 will work in 2G mode by default.
That is the reason why mma8450 logs will be printed out. The main changes is below:* Remove the open(), close() hook out of the drivers. The open() and close()
hook in input framwork is defined as void type. It isn't strictly safe in
logic when some error happends. So remove them out.
* Modify the mma8450 to standby mode by default. It will be more power saving
and there would be no log printing out after booting up.
* Provide the sys interface to modify the mma8450 work modes. Then the higher
layer can modify the the mma8450 work mode via the interface. It would be
much safer.There would be a sclaemode interface in the folder of
/sys/devices/soc0/soc.1/2100000.aips-bus/21a0000.i2c/i2c-0/0-001c/scalemode
User can use cat to read the current scalemode and echo to write. The mode
is defined as: MODE_STANDBY: 0 MODE_2G:1 MODE_4G:2 MODE_8G:3
* Add mutex to protect and some error handling.Signed-off-by: Luwei Zhou
Signed-off-by: Fugang Duan
(cherry picked from commit c51a786078fd569ce95eb6dcf09c76d1b3c0f172) -
Add chip ID check in probe function. The mma8450 is
on the E-INK daughter board. When the daughter board
is not pluged, there would be polling error log
continuously. Add the check to avoid this.Signed-off-by: Luwei Zhou
Signed-off-by: Fugang Duan
(cherry picked from commit e9f2c4cf673dee1527925f30a9f3fd137d9799ad) -
For LPSR mode, UART iomux settings will be lost after resume,
so add pinctrl sleep mode support.Signed-off-by: Anson Huang
Signed-off-by: Fugang Duan -
when kernel command line has "uart_from_osc" defined, set uart1
parent clock to OSC for low power case.Signed-off-by: Fugang Duan
-
Add mlb support on imx_4.1.y. The files are copied from imx_3.14.y.
Signed-off-by: Gao Pan
-
Include 3.14 VPU driver with no change
Signed-off-by: Hongzhang Yang
-
By using gstreamer plugin v4l2radio, it will call VIDIOC_S_CTRL with
V4L2_CID_AUDIO_MUTE, but return failed.So add V4L2_CID_AUDIO_MUTE CTRL support for radio-si476x.
Signed-off-by: Zidan Wang
(cherry picked from commit c18520adfd6de40dcc0659ddd778b0a2bd383cd4) -
When transfer rangelow and rangehigh from user space, the local variable
rangelow and rangehigh will not be initialized before using them.Signed-off-by: Zidan Wang
(cherry picked from commit c326f56005f0ee3d0c1fd6ebdebabda919c278dd) -
The si476x_core_get_revision_info will send i2c command to FM module, if it
return error, there is no FM modules attached, so we need't to register the
sound card. otherwise, the pulseaudio will access this sound card, but return
a lot of i2c error.Signed-off-by: Shengjiu Wang
(cherry picked from commit 4c8e9916128f05f9b4115e1ee1af4a1e7d800c4a) -
Currently, si476x-rev1.0 and si476x-rev4.0 board just support A10 compatible
command set. For si476x-rev1.0 board, its firmware revision is unsupported and
will revert to A10 compatible function. For si476x-rev4.0 board, its firmware
revision is two and will use A30 function, but A30 command set function can't
work for the rev4.0 board.
So make the command set configurable in dts. If "revision-a10" is present,
set the revision to SI476X_REVISION_A10 to use A10 compatible commit set.
Otherwise, get the revision from si476x register.Signed-off-by: Zidan Wang
(cherry picked from commit b648714c3b71ee084188ae04b1e6a6f2554fe2cb) -
Add of_compatible for si476x-codec, then si476x-codec driver will have
codec_of_node, So machine driver can use the codec_of_node.Signed-off-by: Shengjiu Wang
(cherry picked from commit e2ec44f91a21b127e155e8317d06e8ead7fd2678)
(cherry picked from commit ac6decaf5414e784ae81a524edc2f32060061b59) -
In commit e856a0ebc23dcd2c933e3f902317652cc50f0067, we disabled
wait_event_timeout for CMD_POWER_DOWN, which will cause power down
failed sometimes, then FM will fail to reopen.
In this patch enable the wait_event_timeout for power down.Signed-off-by: Shengjiu Wang
(cherry picked from commit 30aa7f1a3580d0a5bc866c624d1da441fd5502c1)
(cherry picked from commit 2b1990fee264d805fcdc0005dcf8b5b63b261d51) -
cherry-pick below patch from imx_3.14.y
ENGR00276567-6 mfd: si476x: Use default configuration when no platform dataThis would allow the driver to work normally without specific platform data,
when using devicetree for example.Signed-off-by: Nicolin Chen
(cherry picked from commit 23e369b88b546d7b699ca9ec46e195a05c61b717)
(cherry picked from commit a2449e1d303e341f32556fb7f4ebc7dcbdd9ead1) -
cherry-pick below patch from imx_3.14.y
ENGR00276567-4 mfd: si476x: Fix power up failureThis's some logical error in power-up code, thus fix it.
Signed-off-by: Nicolin Chen
(cherry picked from commit 77d97ad1bb77c0e3c60b9781a06b61d4b4667de1)
(cherry picked from commit b656522da2685ef9a4da2229b6786d5cd0c12189) -
As spdif driver will register SPDIF clock to regmap, regmap will do
clk_prepare in init function, so SPDIF clock is prepared in probe, then its
root clock (pll clock) is prepared also, which cause the arm can't enter
low power mode.
Add SPDIF_GCLK in clock tree which share same gate bits with SPDIF clock.
Its root clock is ipg clock, and register it to regmap, then the issue can be
fixed.Signed-off-by: Shengjiu Wang
(cherry picked from commit 3f8999cdb4fabed4f720c6ee23947e19c8fff83f) -
After running asrc p2p, then asrc m2m can't work. It is caused by the
sdmac->flags isn't reset after running. then sdma_int_handler go to
wrong branch.Signed-off-by: Shengjiu Wang
-
Add hx8369 wvga panel driver for mipi dsi.
Signed-off-by: Fancy Fang
-
cherry-pick below patch from v3.14.y:
ENGR00286273-2 misc: sram: Set default alignment to 4KbytesAs Kernel 3.0.35 does, we set the default iram alignment to 4Kbytes,
although it would waste few memory space.We here try to do this as an expediency because currently we couldn't
find a perfect solution for 4Kbytes alignment requirement from SDMA.Signed-off-by: Nicolin Chen
(cherry picked from commit cc35bf5bd3472efca29a0858c0ad468a63c60950) -
Using runtime pm framework to control the mipi
phy on/off dynamically.Signed-off-by: Fancy Fang
(cherry picked from commit 0dcb155067e95d8cdb0030584a2157034cae4701)Conflicts:
drivers/video/mxc/mipi_dsi_samsung.c -
In 7D platform, the fastmix will power down MIPI DSI when
system doing suspend. So when system resume, the MIPI DSI
will be in the 'reset' state and all the registers should
be configured again.Signed-off-by: Fancy Fang
(cherry picked from commit 25ad2d6142962455ac0e515c1118b9c42bd13ffa)Conflicts:
drivers/video/mxc/mipi_dsi_samsung.c -
The initial source code for the new mipi dsi module which can
support the basic necessary functions(blank/unblank, set brightness
and etc). New functions can be added if required later.Signed-off-by: Fancy Fang
-
Add build support for this new samsung's mipi dsi.
The old mipi dsi build option is removed from the
kernel default config. Instead, add the new mipi
dsi build option to the default config.Signed-off-by: Fancy Fang
-
Signed-off-by: Fancy Fang
-
Add two new regulator events macro 'REGULATOR_EVENT_PRE_DO_ENABLE'
and 'REGULATOR_EVENT_PRE_DO_DISABLE', since some gpc operations
should be required when MIPI PHY is powered on/off.Signed-off-by: Fancy Fang
-
GPIO is widely used as the reset control for various devices. Let's
build the support in by default.[shawn.guo: cherry-pick commit 795fcb3bc5bb from imx_3.10.y]
Signed-off-by: Shawn Guo(cherry picked from commit 0cbf78b5b02c57e6fd0e57e811cfe56509c4fd24)