On Tue, 2017-02-28 at 11:46 -0800, Andrey Smirnov wrote: > On Tue, Feb 28, 2017 at 6:38 AM, Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> wrote: > > On Tue, 2017-02-21 at 08:13 -0800, Andrey Smirnov wrote: > >> Add reset controller driver exposing various reset faculties, > >> implemented by System Reset Controller IP block. > >> > >> Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > >> Cc: Rob Herring <robh+dt@xxxxxxxxxx> > >> Cc: Mark Rutland <mark.rutland@xxxxxxx> > >> Cc: devicetree@xxxxxxxxxxxxxxx > >> Cc: linux-kernel@xxxxxxxxxxxxxxx > >> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > >> Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> > >> --- > >> > >> Changes since v3 (see [v3]): > >> > >> - Convert code IMX7_RESET_PCIEPHY to change G_RST and BTNRST > >> simultaneously to make all resets be representable as > >> signal->bit in signal->offset register > >> > >> - Convert assert/deassert subroutines to be special cases of a > >> common reset subroutine > >> > >> Changes since v2 (see [v2]): > >> > >> - Fix typos > >> > >> - Kconfig/Makefile chagnes account for alphabetical sorting of > >> those files > >> > >> - Remove redundant includes > >> > >> - Make use of regmap_attach_dev and avoid storing refernce to > >> struct *dev in private data > >> > >> - Change code and headers to expose almost all of the reset > >> related bits in SRC IP block > >> > >> Changes since v1 (see [v1]): > >> > >> - Various small DT bindings description fixes as per feedback > >> from Rob Herring > >> > >> > >> [v1] https://lkml.org/lkml/2017/2/6/554 > >> [v2] https://lkml.org/lkml/2017/2/13/488 > >> [v3] https://lkml.org/lkml/2017/2/20/344 > >> > >> > >> .../devicetree/bindings/reset/fsl,imx7-src.txt | 47 ++++++ > >> drivers/reset/Kconfig | 8 ++ > >> drivers/reset/Makefile | 2 + > >> drivers/reset/reset-imx7.c | 158 +++++++++++++++++++++ > >> include/dt-bindings/reset/imx7-reset.h | 62 ++++++++ > >> 5 files changed, 277 insertions(+) > >> create mode 100644 Documentation/devicetree/bindings/reset/fsl,imx7-src.txt > >> create mode 100644 drivers/reset/reset-imx7.c > >> create mode 100644 include/dt-bindings/reset/imx7-reset.h > >> > >> diff --git a/Documentation/devicetree/bindings/reset/fsl,imx7-src.txt b/Documentation/devicetree/bindings/reset/fsl,imx7-src.txt > >> new file mode 100644 > >> index 0000000..5e1afc3 > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/reset/fsl,imx7-src.txt > >> @@ -0,0 +1,47 @@ > >> +Freescale i.MX7 System Reset Controller > >> +====================================== > >> + > >> +Please also refer to reset.txt in this directory for common reset > >> +controller binding usage. > >> + > >> +Required properties: > >> +- compatible: Should be "fsl,imx7-src", "syscon" > >> +- reg: should be register base and length as documented in the > >> + datasheet > >> +- interrupts: Should contain SRC interrupt > >> +- #reset-cells: 1, see below > >> + > >> +example: > >> + > >> +src: reset-controller@30390000 { > >> + compatible = "fsl,imx7d-src", "syscon"; > >> + reg = <0x30390000 0x2000>; > >> + interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; > >> + #reset-cells = <1>; > >> +}; > >> + > >> + > >> +Specifying reset lines connected to IP modules > >> +============================================== > >> + > >> +The system reset controller can be used to reset various set of > >> +peripherals. Device nodes that need access to reset lines should > >> +specify them as a reset phandle in their corresponding node as > >> +specified in reset.txt. > >> + > >> +Example: > >> + > >> + pcie: pcie@33800000 { > >> + > >> + ... > >> + > >> + resets = <&src IMX7_RESET_PCIEPHY>, > >> + <&src IMX7_RESET_PCIE_CTRL_APPS_EN>; > >> + reset-names = "pciephy", "apps"; > >> + > >> + ... > >> + }; > >> + > >> + > >> +For list of all valid reset indicies see > >> +<dt-bindings/reset/imx7-reset.h> > >> diff --git a/drivers/reset/Kconfig b/drivers/reset/Kconfig > >> index 172dc96..bea1800 100644 > >> --- a/drivers/reset/Kconfig > >> +++ b/drivers/reset/Kconfig > >> @@ -27,6 +27,14 @@ config RESET_BERLIN > >> help > >> This enables the reset controller driver for Marvell Berlin SoCs. > >> > >> +config RESET_IMX7 > >> + bool "i.MX7 Reset Driver" > >> + depends on SOC_IMX7D || COMPILE_TEST > >> + select MFD_SYSCON > >> + default SOC_IMX7D > > > > Can we make this > > > > config RESET_IMX7 > > bool "i.MX7 Reset Driver" if COMPILE_TEST > > default SOC_IMX7D > > select MFD_SYSCON > > > > instead? > > > > If you agree, I can fix it up while applying. > > Sure, I have no problem with that change. Ok, thank you. Applied to reset/next. regards Philipp -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html