Age | Commit message (Collapse) | Author |
|
|
|
|
|
Fix first parameter of dev_err in k3_keypad.c
Signed-off-by: LiXin <li.xin@linaro.org>
|
|
Support pwm driver of Hisilicon Hi3620 SoC.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
It's used to calculate & set mipi dsi PLL rate.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Add Hisilicon Hi3620 framebuffer driver.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Since there're DATA ENABLE & PIXDATA postive/negative flags in
data flags of display_timing structure, they should be copied into
fb_videomode structure too.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Add helper to get fb_videomode from devicetree.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Afzal Mohammed <Afzal@ti.com>
Tested-by: Rob Clark <robclark@gmail.com>
Tested-by: Leela Krishna Amudala <leelakrishna.a@gmail.com>
|
|
Add a function to convert from the generic videomode to a fb_videomode.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Afzal Mohammed <Afzal@ti.com>
Tested-by: Rob Clark <robclark@gmail.com>
Tested-by: Leela Krishna Amudala <leelakrishna.a@gmail.com>
|
|
This adds support for reading display timings from DT into a struct
display_timings. The of_display_timing implementation supports multiple
subnodes. All children are read into an array, that can be queried.
If no native mode is specified, the first subnode will be used.
For cases where the graphics driver knows there can be only one
mode description or where the driver only supports one mode, a helper
function of_get_videomode is added, that gets a struct videomode from DT.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Acked-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Afzal Mohammed <Afzal@ti.com>
Tested-by: Rob Clark <robclark@gmail.com>
Tested-by: Leela Krishna Amudala <leelakrishna.a@gmail.com>
|
|
Add display_timing structure and the according helper functions. This allows
the description of a display via its supported timing parameters.
Also, add helper functions to convert from display timings to a generic videomode
structure.
The struct display_timing specifies all needed parameters to describe the signal
properties of a display in one mode. This includes
- ranges for signals that may have min-, max- and typical values
- single integers for signals that can be on, off or are ignored
- booleans for signals that are either on or off
As a display may support multiple modes like this, a struct display_timings is
added, that holds all given struct display_timing pointers and declares the
native mode of the display.
Although a display may state that a signal can be in a range, it is driven with
fixed values that indicate a videomode. Therefore graphic drivers don't need all
the information of struct display_timing, but would generate a videomode from
the given set of supported signal timings and work with that.
The video subsystems all define their own structs that describe a mode and work
with that (e.g. fb_videomode or drm_display_mode). To slowly replace all those
various structures and allow code reuse across those subsystems, add struct
videomode as a generic description.
This patch only includes the most basic fields in struct videomode. All missing
fields that are needed to have a really generic video mode description can be
added at a later stage.
Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
Acked-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Thierry Reding <thierry.reding@avionic-design.de>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Afzal Mohammed <Afzal@ti.com>
Tested-by: Rob Clark <robclark@gmail.com>
Tested-by: Leela Krishna Amudala <leelakrishna.a@gmail.com>
|
|
If hi3xxx clock gate is disabled in prepare stage, the uart console
can't output anything until it's enabled. It makes debugging kernel
harder in kernel boot stage.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Some hw clocks are defined in EDC register domain. And the operations on
those clocks are same with other hi3xxx clocks. So append the support
in clk-hi3xxx driver.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Since more code will be appended, creating a directory is better.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Avoid to reference sctrl in clk ops. Make hs_init_clocks() always return
register base address. It could make code more portable for more
silicons.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
There are not reset registers for all Hi3620 clock gate. So set reset
registers as optional.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Modify of_clk_init function so that it will determine which
driver to initialize based on device tree instead of each driver
registering to it.
Based on a similar patch for drivers/irqchip by Thomas Petazzoni and
drivers/clocksource by Stephen Warren.
Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Tested-by: Tony Prisk <linux@prisktech.co.nz>
Tested-by: Pawel Moll <pawel.moll@arm.com>
Tested-by: Rob Herring <rob.herring@calxeda.com>
Tested-by: Josh Cartwright <josh.cartwright@ni.com>
Reviewed-by: Josh Cartwright <josh.cartwright@ni.com>
Acked-by: Maxime Ripard <maxime.ripard@anandra.org>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[mturquette@linaro.org: merge conflict from missing CLKSRC_OF_TABLES()]
Signed-off-by: Mike Turquette <mturquette@linaro.org>
|
|
On non-out case 'return ret;' is equivalent to 'return 0;' as the ret
variable is initialized at 0 and never changed.
Signed-off-by: Nestor Ovroy <novroy@riseup.net>
|
|
The list of common clock types was getting a bit unmanageable. This
patch puts only one file on each line and reorders the object files
alphabetically. Also a newline is added to separate the sections.
Reported-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: Prashant Gaikwad <pgaikwad@nvidia.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
|
|
The macro is_power_of_two() in clk-divider.c was defined as !(i & ~i)
which is always true. Instead use is_power_of_2() from log2.h.
Also add brackets around the macro arguments in div_mask to avoid any
future operator precedence problems.
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[mturquette@linaro.org: use log2.h per Joe Perches; update changelog]
|
|
The symbol of_fixed_clk_setup is exported and annotated __init.
This looks like section mismatch.
Fix this by removing the __init annotation of of_fixed_clk_setup.
Signed-off-by: Denis Efremov <yefremov.denis@gmail.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
|
|
Clock information is dumped in JSON format which is easy
for machines to parse.
Each clock is represented as an object which has same name as
clock and following properties
- enable_count
- prepare_count
- rate
Output is verified using online JSON editor.
Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
|
|
Adds debug file "clk_summary" in /sys/kernel/debug/clk dir.
It helps to view all the clock registered in human-readable format.
For example:
clock enable_cnt prepare_cnt rate
---------------------------------------------------------------------
i2s0_sync 0 0 24000000
spdif_in_sync 0 0 24000000
spdif_mux 0 0 24000000
spdif 0 0 24000000
spdif_doubler 0 0 48000000
spdif_div 0 0 48000000
spdif_2x 0 0 48000000
clk_32k 2 2 32768
blink_override 1 1 32768
blink 1 1 32768
clk_m 2 2 12000000
clk_out_3_mux 0 0 12000000
clk_out_3 0 0 12000000
pll_ref 3 3 12000000
pll_e_mux 0 0 12000000
pll_e 0 0 100000000
cml0 0 0 100000000
cml1 0 0 100000000
pciex 0 0 100000000
pll_d2 0 0 1000000
pll_d2_out0 0 0 500000
pll_d 0 0 1000000
pll_d_out0 0 0 500000
dsib_mux 0 0 500000
dsib 0 0 500000
dsia 0 0 500000
Signed-off-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
|
|
This fixes the following error when building for arm-imx:
> ERROR: "__clk_get_name" [drivers/staging/imx-drm/ipu-v3/imx-ipu-v3.ko] undefined!
> make[1]: *** [__modpost] Error 1
> make: *** [modules] Error 2
There are valid usecases to get the name of a clock, be it for debugging
purposes or to register a children of a clock like done in this IPU driver.
Therefore exporting __clk_get_name() and make it available for others makes
sense.
Reported-by: Peter Robinson <pbrobinson@gmail.com>
CC: Sascha Hauer <s.hauer@pengutronix.de>
CC: Mike Turquette <mturquette@linaro.org>
Signed-off-by: Niels de Vos <ndevos@redhat.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[mturquette@linaro.org: removal of inline made redundant by 65800b2]
|
|
The helper functions that access the opaque struct clk should
not be marked inline since they are contained in clk.c, but expected
to be used by other compilation units. This causes compile errors
under gcc-4.7
In file included from arch/arm/mach-omap2/clockdomain.c:25:0:
arch/arm/mach-omap2/clockdomain.c: In function ‘clkdm_clk_disable’:
include/linux/clk-provider.h:338:12: error: inlining failed in call to always_inline ‘__clk_get_enable_count’: function body not available
arch/arm/mach-omap2/clockdomain.c:1001:28: error: called from here
make[1]: *** [arch/arm/mach-omap2/clockdomain.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2
Signed-off-by: Russ Dill <Russ.Dill@ti.com>
Signed-off-by: Mike Turquette <mturquette@linaro.org>
[mturquette@linaro.org: removed fixes made redundant by commit 93532c8a]
[mturquette@linaro.org: improved $SUBJECT]
|
|
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
Fix some warnings and errors regarding checkpatch.pl
Signed-off-by: LiXin <li.xin@linaro.org>
|
|
Add Keypad Driver to Hi3620 platform.
Signed-off-by: LiXin <li.xin@linaro.org>
|
|
touchscreen:
Device Drivers --->
Input device support --->
[*] Touchscreens --->
[*] Atmel mXT224E based touchscreens
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
integration-linux-mainline
|
|
This reverts commit 6e6d98df841c9c297585be3168dfd6141924f272.
|
|
Support hi6421 rtc function.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
While hi6421 SoC interrupt occurs, it always locks spinlock even calling
child irq handler. If child irq handler accesses pmic registers, it will
be dead lock since accessing function also uses spinlock.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Introduced by commit dd7229d3e5c7bff0a9501632755c5b6b209381ff
Caused sd card init fail
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
integration-linux-mainline
|
|
|
|
Use devm_pinctrl_get_select_default to set default pinctrl
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
Use devm_pinctrl_get_select_default to set default pinctrl
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
to be reverted
Since clk driver still can not choose parent accordingly, add testsdclk and
access register directly for simplicity
The patch can be reverted if clk driver is enhanced
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
Support sd/emmc
make menuconfig
Device Drivers --->
[*] MMC/SD/SDIO card support --->
[*] Internal DMAC interface
[*] Hisilicon specific extensions for Synopsys DW Memory Card Interface
(32) Number of minors per block device
File system -> extX, vfat, msdos, lanuguage support
Notes:
1, emmc has to work under DMA mode, pio not work
2, emmc SDMMC_FIFOTH (0x04c) can not provide correct value,
fifo-depth should be provided in dts
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
int (*get_cd)(struct dw_mci *host, u32 slot_id)
Add host info to pass priv, where contains cd pin
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
Remove __exit_p, which also requires change static func
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
|
|
add yaffs2 filesystem support, also config auto select yaffs2 when using
hisilicon nfc driver.
Signed-off-by: Mingjun Zhang <zhang.mingjun@linaro.org>
|
|
Hisilicon nfc is a powerful nand flash controller with dma and
hardware ecc functions. This driver supports some non-standard
nand chips, included in the driver's nand ids table.
Signed-off-by: Mingjun Zhang <zhang.mingjun@linaro.org>
|
|
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Support Hi6421 PMIC powerkey driver.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Support PMIC irq handling.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Sync code with 3.10 to pull irqdomain code.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|
|
Avoid to use mutex lock in rmw operation. Use spin lock with irq
disabled instead. Since irq handler also accesses pmic register,
we should avoid resource conflict between irq context and kernel
context.
And append spin lock operation in pmic read/write too.
Signed-off-by: Haojian Zhuang <haojian.zhuang@linaro.org>
|