29 Oct, 2018

5 commits

  • Some devices need to wait for some milliseconds after reset, so add
    post reset delay in the gpio-reset chip.

    The post reset delay is optional.

    Signed-off-by: Fugang Duan

    Fugang Duan
     
  • Use the cansleep variant of the GPIO API.

    Signed-off-by: Fugang Duan

    Andy Duan
     
  • 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)

    Shawn Guo
     
  • It's a little bit late to register gpio-reset driver at module_init
    time, because gpio-reset provides reset control via gpio for other
    devices which are mostly probed at module_init time too. And it
    becomes even worse, when the gpio comes from IO expander on I2C bus,
    e.g. pca953x. In that case, gpio-reset needs to be ready before I2C
    bus driver which is generally ready at subsys_initcall time. Let's
    register gpio-reset driver in arch_initcall() to have it ready early
    enough.

    The defer probe mechanism is not used here, because a reset controller
    driver should be reasonably registered early than other devices. More
    importantly, defer probe doe not help in some nasty cases, e.g. the
    gpio-pca953x device itself needs a reset from gpio-reset driver start
    working.

    [shawn.guo: cherry-pick commit 7153f05108ef from imx_3.10.y]
    Signed-off-by: Shawn Guo

    (cherry picked from commit 11e3543010d4ed50db78a5fc809f24c89e8c6e30)

    Shawn Guo
     
  • This driver implements a reset controller device that toggle a gpio
    connected to a reset pin of a peripheral IC. The delay between assertion
    and de-assertion of the reset signal can be configured via device tree.

    Signed-off-by: Philipp Zabel
    Reviewed-by: Stephen Warren
    Reviewed-by: Pavel Machek
    Signed-off-by: Shawn Guo

    Philipp Zabel
     

26 Sep, 2018

1 commit

  • [ Upstream commit 26fce0557fa639fb7bbc33e31a57cff7df25c3a0 ]

    Right now the only user of reset-imx7 is pci-imx6 and the
    reset_control_assert and deassert calls on pciephy_reset don't toggle
    the PCIEPHY_BTN and PCIEPHY_G_RST bits as expected. Fix this by writing
    1 or 0 respectively.

    The reference manual is not very clear regarding SRC_PCIEPHY_RCR but for
    other registers like MIPIPHY and HSICPHY the bits are explicitly
    documented as "1 means assert, 0 means deassert".

    The values are still reversed for IMX7_RESET_PCIE_CTRL_APPS_EN.

    Signed-off-by: Leonard Crestez
    Reviewed-by: Lucas Stach
    Signed-off-by: Philipp Zabel
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Leonard Crestez
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

04 Oct, 2017

1 commit

  • The SoCFPGA Stratix10 reset controller has 32-bit registers. Thus, we
    cannot use BITS_PER_LONG in computing the register and bit offset. Instead,
    we should be using the width of the hardware register for the calculation.

    Signed-off-by: Dinh Nguyen
    Signed-off-by: Philipp Zabel

    Dinh Nguyen
     

21 Sep, 2017

1 commit

  • The HSDK reset driver is only useful when building for an ARC HSDK
    platform.

    While at it, drop the "default n", as that is the default.

    Fixes: e0be864f14240cb1 ("ARC: reset: introduce HSDKv1 reset driver")
    Signed-off-by: Geert Uytterhoeven
    [p.zabel@pengutronix.de: rebased, renamed RESET_HSDK_V1 to RESET_HSDK]
    Signed-off-by: Philipp Zabel

    Geert Uytterhoeven
     

18 Sep, 2017

2 commits


16 Sep, 2017

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for 4.14 for MIPS; below a summary of
    the non-merge commits:

    CM:
    - Rename mips_cm_base to mips_gcr_base
    - Specify register size when generating accessors
    - Use BIT/GENMASK for register fields, order & drop shifts
    - Add cluster & block args to mips_cm_lock_other()

    CPC:
    - Use common CPS accessor generation macros
    - Use BIT/GENMASK for register fields, order & drop shifts
    - Introduce register modify (set/clear/change) accessors
    - Use change_*, set_* & clear_* where appropriate
    - Add CM/CPC 3.5 register definitions
    - Use GlobalNumber macros rather than magic numbers
    - Have asm/mips-cps.h include CM & CPC headers
    - Cluster support for topology functions
    - Detect CPUs in secondary clusters

    CPS:
    - Read GIC_VL_IDENT directly, not via irqchip driver

    DMA:
    - Consolidate coherent and non-coherent dma_alloc code
    - Don't use dma_cache_sync to implement fd_cacheflush

    FPU emulation / FP assist code:
    - Another series of 14 commits fixing corner cases such as NaN
    propgagation and other special input values.
    - Zero bits 32-63 of the result for a CLASS.D instruction.
    - Enhanced statics via debugfs
    - Do not use bools for arithmetic. GCC 7.1 moans about this.
    - Correct user fault_addr type

    Generic MIPS:
    - Enhancement of stack backtraces
    - Cleanup from non-existing options
    - Handle non word sized instructions when examining frame
    - Fix detection and decoding of ADDIUSP instruction
    - Fix decoding of SWSP16 instruction
    - Refactor handling of stack pointer in get_frame_info
    - Remove unreachable code from force_fcr31_sig()
    - Convert to using %pOF instead of full_name
    - Remove the R6000 support.
    - Move FP code from *_switch.S to *_fpu.S
    - Remove unused ST_OFF from r2300_switch.S
    - Allow platform to specify multiple its.S files
    - Add #includes to various files to ensure code builds reliable and
    without warning..
    - Remove __invalidate_kernel_vmap_range
    - Remove plat_timer_setup
    - Declare various variables & functions static
    - Abstract CPU core & VP(E) ID access through accessor functions
    - Store core & VP IDs in GlobalNumber-style variable
    - Unify checks for sibling CPUs
    - Add CPU cluster number accessors
    - Prevent direct use of generic_defconfig
    - Make CONFIG_MIPS_MT_SMP default y
    - Add __ioread64_copy
    - Remove unnecessary inclusions of linux/irqchip/mips-gic.h

    GIC:
    - Introduce asm/mips-gic.h with accessor functions
    - Use new GIC accessor functions in mips-gic-timer
    - Remove counter access functions from irq-mips-gic.c
    - Remove gic_read_local_vp_id() from irq-mips-gic.c
    - Simplify shared interrupt pending/mask reads in irq-mips-gic.c
    - Simplify gic_local_irq_domain_map() in irq-mips-gic.c
    - Drop gic_(re)set_mask() functions in irq-mips-gic.c
    - Remove gic_set_polarity(), gic_set_trigger(), gic_set_dual_edge(),
    gic_map_to_pin() and gic_map_to_vpe() from irq-mips-gic.c.
    - Convert remaining shared reg access, local int mask access and
    remaining local reg access to new accessors
    - Move GIC_LOCAL_INT_* to asm/mips-gic.h
    - Remove GIC_CPU_INT* macros from irq-mips-gic.c
    - Move various definitions to the driver
    - Remove gic_get_usm_range()
    - Remove __gic_irq_dispatch() forward declaration
    - Remove gic_init()
    - Use mips_gic_present() in place of gic_present and remove
    gic_present
    - Move gic_get_c0_*_int() to asm/mips-gic.h
    - Remove linux/irqchip/mips-gic.h
    - Inline __gic_init()
    - Inline gic_basic_init()
    - Make pcpu_masks a per-cpu variable
    - Use pcpu_masks to avoid reading GIC_SH_MASK*
    - Clean up mti, reserved-cpu-vectors handling
    - Use cpumask_first_and() in gic_set_affinity()
    - Let the core set struct irq_common_data affinity

    microMIPS:
    - Fix microMIPS stack unwinding on big endian systems

    MIPS-GIC:
    - SYNC after enabling GIC region

    NUMA:
    - Remove the unused parent_node() macro

    R6:
    - Constify r2_decoder_tables
    - Add accessor & bit definitions for GlobalNumber

    SMP:
    - Constify smp ops
    - Allow boot_secondary SMP op to return errors

    VDSO:
    - Drop gic_get_usm_range() usage
    - Avoid use of linux/irqchip/mips-gic.h

    Platform changes:

    Alchemy:
    - Add devboard machine type to cpuinfo
    - update cpu feature overrides
    - Threaded carddetect irqs for devboards

    AR7:
    - allow NULL clock for clk_get_rate

    BCM63xx:
    - Fix ENETDMA_6345_MAXBURST_REG offset
    - Allow NULL clock for clk_get_rate

    CI20:
    - Enable GPIO and RTC drivers in defconfig
    - Add ethernet and fixed-regulator nodes to DTS

    Generic platform:
    - Move Boston and NI 169445 FIT image source to their own files
    - Include asm/bootinfo.h for plat_fdt_relocated()
    - Include asm/time.h for get_c0_*_int()
    - Include asm/bootinfo.h for plat_fdt_relocated()
    - Include asm/time.h for get_c0_*_int()
    - Allow filtering enabled boards by requirements
    - Don't explicitly disable CONFIG_USB_SUPPORT
    - Bump default NR_CPUS to 16

    JZ4700:
    - Probe the jz4740-rtc driver from devicetree

    Lantiq:
    - Drop check of boot select from the spi-falcon driver.
    - Drop check of boot select from the lantiq-flash MTD driver.
    - Access boot cause register in the watchdog driver through regmap
    - Add device tree binding documentation for the watchdog driver
    - Add docs for the RCU DT bindings.
    - Convert the fpi bus driver to a platform_driver
    - Remove ltq_reset_cause() and ltq_boot_select(
    - Switch to a proper reset driver
    - Switch to a new drivers/soc GPHY driver
    - Add an USB PHY driver for the Lantiq SoCs using the RCU module
    - Use of_platform_default_populate instead of __dt_register_buses
    - Enable MFD_SYSCON to be able to use it for the RCU MFD
    - Replace ltq_boot_select() with dummy implementation.

    Loongson 2F:
    - Allow NULL clock for clk_get_rate

    Malta:
    - Use new GIC accessor functions

    NI 169445:
    - Add support for NI 169445 board.
    - Only include in 32r2el kernels

    Octeon:
    - Add support for watchdog of 78XX SOCs.
    - Add support for watchdog of CN68XX SOCs.
    - Expose support for mips32r1, mips32r2 and mips64r1
    - Enable more drivers in config file
    - Add support for accessing the boot vector.
    - Remove old boot vector code from watchdog driver
    - Define watchdog registers for 70xx, 73xx, 78xx, F75xx.
    - Make CSR functions node aware.
    - Allow access to CIU3 IRQ domains.
    - Misc cleanups in the watchdog driver

    Omega2+:
    - New board, add support and defconfig

    Pistachio:
    - Enable Root FS on NFS in defconfig

    Ralink:
    - Add Mediatek MT7628A SoC
    - Allow NULL clock for clk_get_rate
    - Explicitly request exclusive reset control in the pci-mt7620 PCI driver.

    SEAD3:
    - Only include in 32 bit kernels by default

    VoCore:
    - Add VoCore as a vendor t0 dt-bindings
    - Add defconfig file"

    * '4.14-features' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (167 commits)
    MIPS: Refactor handling of stack pointer in get_frame_info
    MIPS: Stacktrace: Fix microMIPS stack unwinding on big endian systems
    MIPS: microMIPS: Fix decoding of swsp16 instruction
    MIPS: microMIPS: Fix decoding of addiusp instruction
    MIPS: microMIPS: Fix detection of addiusp instruction
    MIPS: Handle non word sized instructions when examining frame
    MIPS: ralink: allow NULL clock for clk_get_rate
    MIPS: Loongson 2F: allow NULL clock for clk_get_rate
    MIPS: BCM63XX: allow NULL clock for clk_get_rate
    MIPS: AR7: allow NULL clock for clk_get_rate
    MIPS: BCM63XX: fix ENETDMA_6345_MAXBURST_REG offset
    mips: Save all registers when saving the frame
    MIPS: Add DWARF unwinding to assembly
    MIPS: Make SAVE_SOME more standard
    MIPS: Fix issues in backtraces
    MIPS: jz4780: DTS: Probe the jz4740-rtc driver from devicetree
    MIPS: Ci20: Enable RTC driver
    watchdog: octeon-wdt: Add support for 78XX SOCs.
    watchdog: octeon-wdt: Add support for cn68XX SOCs.
    watchdog: octeon-wdt: File cleaning.
    ...

    Linus Torvalds
     

11 Sep, 2017

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "This branch contains platform-related driver updates for ARM and ARM64.

    Among them:

    - Reset driver updates:
    + New API for dealing with arrays of resets
    + Make unimplemented {de,}assert return success on shared resets
    + MSDKv1 driver
    + Removal of obsolete Gemini reset driver
    + Misc updates for sunxi and Uniphier

    - SoC drivers:
    + Platform SoC driver registration on Tegra
    + Shuffle of Qualcomm drivers into a submenu
    + Allwinner A64 support for SRAM
    + Renesas R-Car R3 support
    + Power domains for Rockchip RK3366

    - Misc updates and smaller fixes for TEE and memory driver
    subsystems"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (54 commits)
    firmware: arm_scpi: fix endianness of dev_id in struct dev_pstate_set
    soc/tegra: fuse: Add missing semi-colon
    soc/tegra: Restrict SoC device registration to Tegra
    drivers: soc: sunxi: add support for A64 and its SRAM C
    drivers: soc: sunxi: add support for remapping func value to reg value
    drivers: soc: sunxi: fix error processing on base address when claiming
    dt-bindings: add binding for Allwinner A64 SRAM controller and SRAM C
    bus: sunxi-rsb: Enable by default for ARM64
    soc/tegra: Register SoC device
    firmware: tegra: set drvdata earlier
    memory: Convert to using %pOF instead of full_name
    soc: Convert to using %pOF instead of full_name
    bus: Convert to using %pOF instead of full_name
    firmware: Convert to using %pOF instead of full_name
    soc: mediatek: add SCPSYS power domain driver for MediaTek MT7622 SoC
    soc: mediatek: add header files required for MT7622 SCPSYS dt-binding
    soc: mediatek: reduce code duplication of scpsys_probe across all SoCs
    dt-bindings: soc: update the binding document for SCPSYS on MediaTek MT7622 SoC
    reset: uniphier: add analog amplifiers reset control
    reset: uniphier: add video input subsystem reset control
    ...

    Linus Torvalds
     

05 Sep, 2017

1 commit

  • The reset controllers (on xRX200 and newer SoCs have two of them) are
    provided by the RCU module. This was initially implemented as a simple
    reset controller. However, the RCU module provides more functionality
    (ethernet GPHYs, USB PHY, etc.), which makes it a MFD device.
    The old reset controller driver implementation from
    arch/mips/lantiq/xway/reset.c did not honor this fact.

    For some devices the request and the status bits are different.

    Signed-off-by: Martin Blumenstingl
    Signed-off-by: Hauke Mehrtens
    Reviewed-by: Andy Shevchenko
    Acked-by: Philipp Zabel
    Acked-by: Rob Herring
    Cc: john@phrozen.org
    Cc: kishon@ti.com
    Cc: mark.rutland@arm.com
    Cc: linux-mips@linux-mips.org
    Cc: linux-mtd@lists.infradead.org
    Cc: linux-watchdog@vger.kernel.org
    Cc: devicetree@vger.kernel.org
    Cc: linux-spi@vger.kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/17125/
    Signed-off-by: Ralf Baechle

    Martin Blumenstingl
     

14 Aug, 2017

3 commits


11 Aug, 2017

3 commits


07 Aug, 2017

1 commit


20 Jul, 2017

1 commit


19 Jul, 2017

4 commits

  • Now that we have a custom printf format specifier, convert users of
    full_name to use %pOF instead. This is preparation to remove storing
    of the full path string for each node.

    Signed-off-by: Rob Herring
    Reviewed-by: Krzysztof Kozlowski
    Reviewed-by: Philipp Zabel
    Signed-off-by: Mark Brown

    Rob Herring
     
  • By now there are drivers using shared reset controls and (de)assert
    calls on platforms with self-deasserting reset lines and thus reset
    drivers that do not implement .assert() and .deassert().
    As long as the initial state of the reset line is deasserted, there
    is no reason for a reset_control_assert call to return an error for
    shared reset controls, or for a reset_control_deassert call to return
    an error for either shared or exclusive reset controls: after a call
    to reset_control_deassert the reset line is guaranteed to be deasserted,
    and after a call to reset_control_assert it is valid for the reset
    line to stay deasserted for shared reset controls.

    Signed-off-by: Philipp Zabel
    Reviewed-by: Linus Walleij

    Philipp Zabel
     
  • Many devices may want to request a bunch of resets and control them. So
    it's better to manage them as an array. Add APIs to _get() an array of
    reset_control, reusing the _assert(), _deassert(), and _reset() APIs for
    single reset controls. Since reset controls already may control multiple
    reset lines with a single hardware bit, from the user perspective, reset
    control arrays are not at all different from single reset controls.
    Note that these APIs don't guarantee that the reset lines managed in the
    array are handled in any particular order.

    Cc: Felipe Balbi
    Cc: Jon Hunter
    Signed-off-by: Vivek Gautam
    [p.zabel@pengutronix.de: changed API to hide reset control arrays behind
    struct reset_control]
    Signed-off-by: Philipp Zabel

    Vivek Gautam
     
  • File size before:
    text data bss dec hex filename
    794 232 0 1026 402 drivers/reset/reset-zx2967.o

    File size After adding 'const':
    text data bss dec hex filename
    842 184 0 1026 402 drivers/reset/reset-zx2967.o

    Signed-off-by: Arvind Yadav
    Reviewed-by: Baoyou Xie
    Signed-off-by: Philipp Zabel

    Arvind Yadav
     

05 Jul, 2017

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "New SoC specific drivers:

    - NVIDIA Tegra PM Domain support for newer SoCs (Tegra186 and later)
    based on the "BPMP" firmware

    - Clocksource and system controller drivers for the newly added
    Action Semi platforms (both arm and arm64).

    Reset subsystem, merged through arm-soc by tradition:

    - New drivers for Altera Stratix10, TI Keystone and Cortina Gemini
    SoCs

    - Various subsystem-wide cleanups

    Updates for existing SoC-specific drivers

    - TI GPMC (General Purpose Memory Controller)

    - Mediatek "scpsys" system controller support for MT6797

    - Broadcom "brcmstb_gisb" bus arbitrer

    - ARM SCPI firmware

    - Renesas "SYSC" system controller

    One more driver update was submitted for the Freescale/NXP DPAA data
    path acceleration that has previously been used on PowerPC chips. I
    ended up postponing the merge until some API questions for its unusual
    MMIO access are resolved"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (35 commits)
    clocksource: owl: Add S900 support
    clocksource: Add Owl timer
    soc: renesas: rcar-sysc: Use GENPD_FLAG_ALWAYS_ON
    firmware: tegra: Fix locking bugs in BPMP
    soc/tegra: flowctrl: Fix error handling
    soc/tegra: bpmp: Implement generic PM domains
    soc/tegra: bpmp: Update ABI header
    PM / Domains: Allow overriding the ->xlate() callback
    soc: brcmstb: enable drivers for ARM64 and BMIPS
    soc: renesas: Rework Kconfig and Makefile logic
    reset: Add the TI SCI reset driver
    dt-bindings: reset: Add TI SCI reset binding
    reset: use kref for reference counting
    soc: qcom: smsm: Improve error handling, quiesce probe deferral
    cpufreq: scpi: use new scpi_ops functions to remove duplicate code
    firmware: arm_scpi: add support to populate OPPs and get transition latency
    dt-bindings: reset: Add reset manager offsets for Stratix10
    memory: omap-gpmc: add error message if bank-width property is absent
    memory: omap-gpmc: make dts snippet include semicolon
    reset: Add a Gemini reset controller
    ...

    Linus Torvalds
     

06 Jun, 2017

2 commits

  • Some TI Keystone family of SoCs contain a system controller (like the
    Power Management Micro Controller (PMMC) on 66AK2G SoCs) that manage
    the low-level device control (like clocks, resets etc) for the various
    hardware modules present on the SoC. These device control operations
    are provided to the host processor OS through a communication protocol
    called the TI System Control Interface (TI SCI) protocol.

    This patch adds a reset driver that communicates to the system
    controller over the TI SCI protocol for performing reset management
    of various devices present on the SoC. Various reset functionalities
    are achieved by the means of different TI SCI device operations
    provided by the TI SCI framework.

    Signed-off-by: Andrew F. Davis
    [s-anna@ti.com: documentation changes, revised commit message]
    Signed-off-by: Suman Anna
    Signed-off-by: Nishanth Menon
    Acked-by: Santosh Shilimkar
    [p.zabel@pengutronix.de: const struct reset_control_ops]
    Signed-off-by: Philipp Zabel

    Andrew F. Davis
     
  • Use kref for reference counting and enjoy the advantages of refcount_t.

    Signed-off-by: Philipp Zabel

    Philipp Zabel
     

24 May, 2017

3 commits


15 May, 2017

1 commit

  • * A multiplication for the size determination of a memory allocation
    indicated that an array data structure should be processed.
    Thus use the corresponding function "devm_kcalloc".

    * Replace the specification of a data structure by a pointer dereference
    to make the corresponding size determination a bit safer according to
    the Linux coding style convention.

    * Delete the local variable "size" which became unnecessary with
    this refactoring.

    Signed-off-by: Markus Elfring
    Signed-off-by: Philipp Zabel

    Markus Elfring
     

10 May, 2017

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for ARM SoCs:

    Reset subsystem, merged through arm-soc by tradition:
    - Make bool drivers explicitly non-modular
    - New support for i.MX7 and Arria10 reset controllers

    PATA driver for Palmchip BK371 (acked by Tejun)

    Power domain drivers for i.MX (GPC, GPCv2)
    - Moved out of mach-imx for GPC
    - Bunch of tweaks, fixes, etc

    PMC support for Tegra186

    SoC detection support for Renesas RZ/G1H and RZ/G1N

    Move Tegra flow controller driver from mach directory to drivers/soc
    - (Power management / CPU power driver)

    Misc smaller tweaks for other platforms"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (60 commits)
    soc: pm-domain: Fix the mangled urls
    soc: renesas: rcar-sysc: Add support for R-Car H3 ES2.0
    soc: renesas: rcar-sysc: Add support for fixing up power area tables
    soc: renesas: Register SoC device early
    soc: imx: gpc: add workaround for i.MX6QP to the GPC PD driver
    dt-bindings: imx-gpc: add i.MX6 QuadPlus compatible
    soc: imx: gpc: add defines for domain index
    soc: imx: Add GPCv2 power gating driver
    dt-bindings: Add GPCv2 power gating driver
    ARM/clk: move the ICST library to drivers/clk
    ARM: plat-versatile: remove stale clock header
    ARM: keystone: Drop PM domain support for k2g
    soc: ti: Add ti_sci_pm_domains driver
    dt-bindings: Add TI SCI PM Domains
    PM / Domains: Do not check if simple providers have phandle cells
    PM / Domains: Add generic data pointer to genpd data struct
    soc/tegra: Add initial flowctrl support for Tegra132/210
    soc/tegra: flowctrl: Add basic platform driver
    soc/tegra: Move Tegra flowctrl driver
    ARM: tegra: Remove unnecessary inclusion of flowctrl header
    ...

    Linus Torvalds
     

04 Apr, 2017

1 commit

  • Rename the internal __reset_control_get/put functions to
    __reset_control_get/put_internal and add an exported
    __reset_control_get equivalent to __of_reset_control_get
    that takes a struct device parameter.
    This avoids the confusing call to __of_reset_control_get in
    the non-DT case and fixes the devm_reset_control_get_optional
    function to return NULL if RESET_CONTROLLER is enabled but
    dev->of_node == NULL.

    Fixes: bb475230b8e5 ("reset: make optional functions really optional")
    Reported-by: Andy Shevchenko
    Tested-by: Andy Shevchenko
    Cc: Ramiro Oliveira
    Signed-off-by: Philipp Zabel

    Philipp Zabel
     

29 Mar, 2017

1 commit


15 Mar, 2017

3 commits

  • The Allwinner reset controller has 32-bit registers, so translating
    the reset cell number into a register and bit offset should not use
    any architecture dependent data size. Otherwise this breaks for 64-bit
    architectures like arm64.
    Fix this by making it clear that it's the hardware register width which
    matters here in the calculation.

    Signed-off-by: Andre Przywara
    Acked-by: Chen-Yu Tsai
    Signed-off-by: Philipp Zabel

    Andre Przywara
     
  • This patch adds the reset controller functionality for
    Peripheral PHYs to the Arria10 System Resource Chip.

    Signed-off-by: Thor Thayer
    Signed-off-by: Philipp Zabel

    Thor Thayer
     
  • Add reset controller driver exposing various reset faculties,
    implemented by System Reset Controller IP block.

    Cc: Lucas Stach
    Cc: Mark Rutland
    Cc: devicetree@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Andrey Smirnov
    Acked-by: Rob Herring
    Signed-off-by: Philipp Zabel

    Andrey Smirnov
     

08 Mar, 2017

1 commit

  • The SoC-FPGA reset controller driver defines NR_BANKS as 4 and uses that define
    for two unrelated purposes. It is used
    1. as an increment for reset line banks which are 32-bit registers with 4-byte
    aligned addresses.
    2. as the total number of reset line banks which together with the number of
    resets per bank (32) limits the total number of useable resets to 128 and the
    highest useable reset ID to 127.

    This is clearly wrong as there are resets with higher IDs than 127 defined in
    include/dt-bindings/reset/altr,rst-mgr.h and altr,rst-mgr-a10.h.

    The patch introduces a new define BANK_INCREMENT for calculating the register
    addresses as before and increases NR_BANKS to 8 for useable reset IDs up to 255.

    Signed-off-by: Rojhalat Ibrahim
    Signed-off-by: Philipp Zabel

    Rojhalat Ibrahim