Age | Commit message (Collapse) | Author | Files | Lines |
|
Visible only if COMPILE_TEST is enabled, this allows to include the
driver in build tests.
Reviewed-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Visible only if COMPILE_TEST is enabled, this allows to include the
driver in build tests.
Cc: Maxime Coquelin <[email protected]>
Cc: Gabriel Fernandez <[email protected]>
Reviewed-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Visible only if COMPILE_TEST is enabled, this allows to include the
driver in build tests.
Acked-by: Dinh Nguyen <[email protected]>
Reviewed-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Visible only if COMPILE_TEST is enabled, this allows to include the
driver in build tests.
Cc: Damien Horsley <[email protected]>
Acked-by: James Hartley <[email protected]>
Reviewed-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Visible only if COMPILE_TEST is enabled, this allows to include the
driver in build tests.
Acked-by: Neil Armstrong <[email protected]>
Reviewed-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Visible only if COMPILE_TEST is enabled, this allows to include the
driver in build tests.
Acked-by: Joachim Eastwood <[email protected]>
Reviewed-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Visible only if COMPILE_TEST is enabled, this allows to include the
driver in build tests.
Cc: Antoine Tenart <[email protected]>
Cc: Sebastian Hesselbarth <[email protected]>
Reviewed-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Visible only if COMPILE_TEST is enabled, this allows to include the
driver in build tests.
Acked-by: Aban Bedel <[email protected]>
Reviewed-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The driver uses readl/writel, so it should include linux/io.h.
Acked-by: Aban Bedel <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Instead of potentially crashing, dump a backtrace and return -EINVAL if
rstc is NULL or an error code.
Signed-off-by: Philipp Zabel <[email protected]>
|
|
This is the initial commit for UniPhier reset controller driver.
Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Rob Herring <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The STM32 MCUs family IPs can be reset by accessing some registers
from the RCC block.
The list of available reset lines is documented in the DT bindings.
Signed-off-by: Maxime Coquelin <[email protected]>
Signed-off-by: Gabriel Fernandez <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Since we can just add it to membase once, there is no need to store
modrst_offset separately, and to repeat the addition with every access.
Signed-off-by: Philipp Zabel <[email protected]>
Tested-by: Dinh Nguyen <[email protected]>
|
|
Add a reset-controller driver for performing reset management of
various devices present on the SoC, with the reset registers shared
between devices in a common register memory space. This driver uses
the syscon/regmap frameworks to actually implement the various reset
functionalities needed by the reset consumer devices.
Signed-off-by: Andrew F. Davis <[email protected]>
[[email protected]: add documentation, syscon name change]
Signed-off-by: Suman Anna <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Add hi6220 media subsystem reset controller.
Signed-off-by: Chen Feng <[email protected]>
Signed-off-by: Xia Qing <[email protected]>
Signed-off-by: Xinliang Liu <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
There are two reset controllers in hi6220 SoC:
The peripheral reset controller bits are part of sysctrl registers.
The media reset controller bits are part of mediactrl registers.
So change register access to syscon way.
And rename current reset controller to peripheral one.
Signed-off-by: Chen Feng <[email protected]>
Signed-off-by: Xia Qing <[email protected]>
Signed-off-by: Xinliang Liu <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
This patch adds the platform driver for the Amlogic Meson SoC Reset
Controller.
The Meson8b and GXBB SoCs are supported.
Signed-off-by: Neil Armstrong <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Use the brand new devm_reset_controller_register() API to get rid of
the platform driver remove callback.
Signed-off-by: Neil Armstrong <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
In "make menuconfig", reset drivers are currently lined up together
with the reset sub-system menu, like this:
-*- Reset Controller Support ----
< > Hi6220 Reset Driver
(It also means, the menu "Reset Controller Support" is always empty.)
"Hi6220 Reset Driver" should go into the sub-menu of the
"Reset Controller Support".
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Use devm_reset_controller_register() for the reset controller
registration and drop the .remove callback.
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Use devm_reset_controller_register() for the reset controller
registration and drop the .remove callback.
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Use devm_reset_controller_register() for the reset controller
registration and drop the .remove callback.
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Use devm_reset_controller_register() for the reset controller
registration and drop the .remove callback.
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Use devm_reset_controller_register() for the reset controller
registration and remove the unregister call from the .remove callback.
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Add a device managed API for reset_controller_register().
This helps in reducing code in .remove callbacks and sometimes
dropping .remove callbacks entirely.
Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Laxman Dewangan <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Add System reset controller driver for Oxford Semiconductor OXNAS SoC
Family.
CC: Ma Haijun <[email protected]>
Signed-off-by: Neil Armstrong <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Moving the notifier_block into the drivers priv struct allows us
to retrive the priv struct with container_of and remove the
global variables.
Signed-off-by: Joachim Eastwood <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
In some SoCs some hw-blocks share a reset control. Add support for this
setup by adding new:
reset_control_get_shared()
devm_reset_control_get_shared()
devm_reset_control_get_shared_by_index()
methods to get a reset_control. Note that this patch omits adding of_
variants, if these are needed later they can be easily added.
This patch also changes the behavior of the existing exclusive
reset_control_get() variants, if these are now called more then once
for the same reset_control they will return -EBUSY. To catch existing
drivers triggering this error (there should not be any) a WARN_ON(1)
is added in this path.
When a reset_control is shared, the behavior of reset_control_assert /
deassert is changed, for shared reset_controls these will work like the
clock-enable/disable and regulator-on/off functions. They will keep a
deassert_count, and only (re-)assert the reset after reset_control_assert
has been called as many times as reset_control_deassert was called.
Calling reset_control_assert without first calling reset_control_deassert
is not allowed on a shared reset control. Calling reset_control_reset is
also not allowed on a shared reset control.
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Now that struct reset_control no longer stores the device pointer for
the device calling reset_control_get we can share a single struct
reset_control when multiple calls to reset_control_get are made for
the same reset line (same id / index).
This is a preparation patch for adding support for shared reset lines.
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
With both the regular, _by_index and _optional variants we already have
quite a few variants of [of_]reset_control_get[_foo], the upcoming
addition of shared reset lines support makes this worse.
This commit changes all the variants into wrappers around common core
functions. For completeness sake this commit also adds a new
devm_get_reset_control_by_index wrapper.
Signed-off-by: Hans de Goede <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The syscfg_reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The zynq_reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The socfpga_reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The hi6220_reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The ath79_reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <[email protected]>
Acked-by: Alban Bedel <[email protected]>
|
|
The lpc18xx_rgu_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <[email protected]>
Acked-by: Joachim Eastwood <[email protected]>
|
|
The sunxi_reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <[email protected]>
Acked-by: Maxime Ripard <[email protected]>
|
|
The pistachio_reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <[email protected]>
Acked-by: James Hartley <[email protected]>
|
|
The berlin_reset_ops structure is never modified. Make it const.
Signed-off-by: Philipp Zabel <[email protected]>
Acked-by: Antoine Tenart <[email protected]>
|
|
Now that the DT cell size check has been moved to the core,
there is no need to check again.
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Add reset controller driver for Pistachio SoC
Signed-off-by: Damien Horsley <[email protected]>
Signed-off-by: James Hartley <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The newly added hisilicon reset driver missed the subsystem-wide
fixup by commit d1f15aa09558 ("reset: check return value of
reset_controller_register()"). So fix it now.
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The core currently doesn't check that the DT cell size matches what the
driver declares, which means that every xlate function needs to duplicate
that check.
Make sure that of_reset_control_get checks for this to avoid duplication
and errors.
Signed-off-by: Maxime Ripard <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
of_reset_control_get_by_index
There is no need to initialize rstc, as it is unconditionally
assigned the return value of a kzalloc call before use.
Signed-off-by: Philipp Zabel <[email protected]>
|
|
We need to include <linux/module.h> to build the driver as a loadable
module:
drivers/reset/hisilicon/hi6220_reset.c:108:1: warning: data definition has no type or storage class
postcore_initcall(hi6220_reset_init);
Signed-off-by: Arnd Bergmann <[email protected]>
|
|
Add a system restart handler that use the FULL_CHIP_RESET bit of the
reset controller.
Signed-off-by: Alban Bedel <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Add reset driver for hi6220-hikey board,this driver supply deassert
of IP on hi6220 SoC.
Signed-off-by: Chen Feng <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Commit 0c5b2b915a58 ("reset: Mark function as static and remove unused
function in core.c") removed the only user of the device pointer in
struct reset_control. As it is now unused, remove it.
Signed-off-by: Philipp Zabel <[email protected]>
|
|
Currently, reset_controller_register() always return 0, but it would
be better to check its return code.
Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Sören Brinkmann <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|
|
The directory drivers/reset/ is guarded by CONFIG_RESET_CONTROLLER
in driver/Makefile.
CONFIG_RESET_CONTROLLER is boolean, so it always evaluates to 'y'
in drivers/reset/Makefile.
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Philipp Zabel <[email protected]>
|