19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

05 Jun, 2019

3 commits

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms and conditions of the gnu general public license
    version 2 as published by the free software foundation this program
    is distributed in the hope that it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details you should have received a copy of the gnu general
    public license along with this program if not see http www gnu org
    licenses

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 33 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190531081038.745679586@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms and conditions of the gnu general public license
    version 2 as published by the free software foundation this program
    is distributed in the hope it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 263 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Alexios Zavras
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141901.208660670@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this software is licensed under the terms of the gnu general public
    license version 2 as published by the free software foundation and
    may be copied distributed and modified under those terms this
    program is distributed in the hope that it will be useful but
    without any warranty without even the implied warranty of
    merchantability or fitness for a particular purpose see the gnu
    general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 285 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190529141900.642774971@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms and conditions of the gnu general public license
    version 2 as published by the free software foundation this program
    is distributed in the hope it will be useful but without any
    warranty without even the implied warranty of merchantability or
    fitness for a particular purpose see the gnu general public license
    for more details you should have received a copy of the gnu general
    public license along with this program if not see http www gnu org
    licenses

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 228 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Steve Winslow
    Reviewed-by: Richard Fontana
    Reviewed-by: Alexios Zavras
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171438.107155473@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

11 Mar, 2019

1 commit

  • Pull IOMMU updates from Joerg Roedel:

    - A big cleanup and optimization patch-set for the Tegra GART driver

    - Documentation updates and fixes for the IOMMU-API

    - Support for page request in Intel VT-d scalable mode

    - Intel VT-d dma_[un]map_resource() support

    - Updates to the ATS enabling code for PCI (acked by Bjorn) and Intel
    VT-d to align with the latest version of the ATS spec

    - Relaxed IRQ source checking in the Intel VT-d driver for some aliased
    devices, needed for future devices which send IRQ messages from more
    than on request-ID

    - IRQ remapping driver for Hyper-V

    - Patches to make generic IOVA and IO-Page-Table code usable outside of
    the IOMMU code

    - Various other small fixes and cleanups

    * tag 'iommu-updates-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (60 commits)
    iommu/vt-d: Get domain ID before clear pasid entry
    iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm()
    iommu/vt-d: Set context field after value initialized
    iommu/vt-d: Disable ATS support on untrusted devices
    iommu/mediatek: Fix semicolon code style issue
    MAINTAINERS: Add Hyper-V IOMMU driver into Hyper-V CORE AND DRIVERS scope
    iommu/hyper-v: Add Hyper-V stub IOMMU driver
    x86/Hyper-V: Set x2apic destination mode to physical when x2apic is available
    PCI/ATS: Add inline to pci_prg_resp_pasid_required()
    iommu/vt-d: Check identity map for hot-added devices
    iommu: Fix IOMMU debugfs fallout
    iommu: Document iommu_ops.is_attach_deferred()
    iommu: Document iommu_ops.iotlb_sync_map()
    iommu/vt-d: Enable ATS only if the device uses page aligned address.
    PCI/ATS: Add pci_ats_page_aligned() interface
    iommu/vt-d: Fix PRI/PASID dependency issue.
    PCI/ATS: Add pci_prg_resp_pasid_required() interface.
    iommu/vt-d: Allow interrupts from the entire bus for aliased devices
    iommu/vt-d: Add helper to set an IRTE to verify only the bus number
    iommu: Fix flush_tlb_all typo
    ...

    Linus Torvalds
     

16 Feb, 2019

1 commit

  • …egra/linux into arm/drivers

    soc/tegra: Changes for v5.1-rc1

    This contains a couple of miscellaneous fixes for minor issues and a
    largish rework of the PMC driver to make it work on systems where the
    PMC has been locked down and can only be accessed from secure firmware.

    * tag 'tegra-for-5.1-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    soc/tegra: pmc: Support systems where PMC is marked secure
    soc/tegra: pmc: Explicitly initialize all fields
    soc/tegra: pmc: Make alignment consistent
    soc/tegra: pmc: Pass struct tegra_pmc * where possible
    soc/tegra: pmc: Make tegra_powergate_is_powered() a local function
    soc/tegra: pmc: Add missing kerneldoc
    soc/tegra: pmc: Sort includes alphabetically
    soc/tegra: pmc: Use TEGRA186_ prefix for GPIO names
    soc/tegra: fuse: Fix typo in tegra210_init_speedo_data
    soc/tegra: fuse: Fix illegal free of IO base address

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    Arnd Bergmann
     

25 Jan, 2019

3 commits


16 Jan, 2019

2 commits


01 Jan, 2019

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "Misc driver updates for platforms, many of them power related.

    - Rockchip adds power domain support for rk3066 and rk3188

    - Amlogic adds a power measurement driver

    - Allwinner adds SRAM support for three platforms (F1C100, H5, A64
    C1)

    - Wakeup and ti-sysc (platform bus) fixes for OMAP/DRA7

    - Broadcom fixes suspend/resume with Thumb2 kernels, and improves
    stability of a handful of firmware/platform interfaces

    - PXA completes their conversion to dmaengine framework

    - Renesas does a bunch of PM cleanups across many platforms

    - Tegra adds support for suspend/resume on T186/T194, which includes
    some driver cleanups and addition of wake events

    - Tegra also adds a driver for memory controller (EMC) on Tegra2

    - i.MX tweaks power domain bindings, and adds support for i.MX8MQ in
    GPC

    - Atmel adds identifiers and LPDDR2 support for a new SoC, SAM9X60

    and misc cleanups across several platforms"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (73 commits)
    ARM: at91: add support in soc driver for new SAM9X60
    ARM: at91: add support in soc driver for LPDDR2 SiP
    memory: omap-gpmc: Use of_node_name_eq for node name comparisons
    bus: ti-sysc: Check for no-reset and no-idle flags at the child level
    ARM: OMAP2+: Check also the first dts child for hwmod flags
    soc: amlogic: meson-clk-measure: Add missing REGMAP_MMIO dependency
    soc: imx: gpc: Increase GPC_CLK_MAX to 7
    soc: renesas: rcar-sysc: Fix power domain control after system resume
    soc: renesas: rcar-sysc: Merge PM Domain registration and linking
    soc: renesas: rcar-sysc: Remove rcar_sysc_power_{down,up}() helpers
    soc: renesas: r8a77990-sysc: Fix initialization order of 3DG-{A,B}
    dt-bindings: sram: sunxi: Add compatible for the A64 SRAM C1
    dt-bindings: sram: sunxi: Add bindings for the H5 with SRAM C1
    dt-bindings: sram: Add Allwinner suniv F1C100s
    soc: sunxi: sram: Add support for the H5 SoC system control
    soc: sunxi: sram: Enable EMAC clock access for H3 variant
    soc: imx: gpcv2: add support for i.MX8MQ SoC
    soc: imx: gpcv2: move register access table to domain data
    soc: imx: gpcv2: prefix i.MX7 specific defines
    dmaengine: pxa: make the filter function internal
    ...

    Linus Torvalds
     

15 Dec, 2018

1 commit

  • When CONFIG_SMP is disabled, the tegra clk driver now fails to build:

    drivers/clk/tegra/clk-tegra30.c: In function ‘tegra30_cpu_rail_off_ready’:
    drivers/clk/tegra/clk-tegra30.c:1151:2: error: implicit declaration of function ‘tegra_pmc_cpu_is_powered’ [-Werror=implicit-function-declaration]
    cpu_pwr_status = tegra_pmc_cpu_is_powered(1) ||
    ^
    Fix the above error by removing the CONFIG_SMP ifdef around the
    declaration around the PMC CPU APIs because although these are not
    needed for non-SMP configurations, there is no harm in including these
    for non-SMP builds either.

    Fixes: 61866523ed6e ("clk: tegra30: Use Tegra CPU powergate helper function")
    Reported-by: Arnd Bergmann
    Signed-off-by: Jon Hunter
    Acked-by: Thierry Reding
    Signed-off-by: Stephen Boyd

    Jon Hunter
     

13 Dec, 2018

1 commit

  • …/git/tegra/linux into next/drivers

    firmware: tegra: Changes for v4.21-rc1

    These changes update the BPMP ABI header and implement a new variant of
    the BPMP firmware version tag query if supported.

    * tag 'tegra-for-4.21-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    firmware: tegra: Use in-band messages for firmware version query
    soc/tegra: bpmp: Update ABI header
    firmware: tegra: Print version tag at full
    firmware: tegra: Switch to global mrq_is_supported()
    firmware: tegra: Add helper to check for supported MRQs

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

28 Nov, 2018

1 commit


14 Nov, 2018

1 commit


08 Nov, 2018

2 commits

  • Update the firmware header file to a more recent version. The major
    changes in the new version are:

    * add a new MRQ for firmware version query ABI and deprecates the old
    * add ABI to query Tegra194 CPU frequency limits
    * add ABI to control subset of PCIE UPHY state

    The new header contains also some editorial changes to the
    documentation.

    Signed-off-by: Timo Alho
    Acked-by: Sivaram Nair
    Acked-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Timo Alho
     
  • Add a helper function to check that firmware is supporting a given MRQ
    command.

    Signed-off-by: Timo Alho
    Acked-by: Sivaram Nair
    Acked-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Timo Alho
     

27 Aug, 2018

2 commits

  • Make tegra_io_pad_set_voltage() and tegra_io_pad_get_voltage() static
    and remove the prototypes from pmc.h. Remove enum tegra_io_pad_voltage
    and use the defines from
    instead.

    These functions aren't used outside of the pmc driver and new use cases
    should use the pinctrl interface instead.

    Signed-off-by: Aapo Vienamo
    Acked-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Aapo Vienamo
     
  • Implement support for the PMC_IMPL_E_33V_PWR register which replaces
    PMC_PWR_DET register interface of the SoC generations preceding
    Tegra186. Also add the voltage bit offsets to the tegra186_io_pads[]
    table and the AO_HV pad.

    Signed-off-by: Aapo Vienamo
    Acked-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Aapo Vienamo
     

02 Jun, 2018

1 commit

  • The tegra_cpuidle_pcie_irqs_in_use() function is stubbed out for non-ARM
    builds, but now we can compile-test the Tegra pci driver on non-Tegra
    ARM platforms as well, which results in a new link error:

    drivers/pci/host/pci-tegra.o: In function `tegra_pcie_map_irq':
    pci-tegra.c:(.text+0x288): undefined reference to `tegra_cpuidle_pcie_irqs_in_use'
    drivers/pci/host/pci-tegra.o: In function `tegra_msi_map':
    pci-tegra.c:(.text+0xba0): undefined reference to `tegra_cpuidle_pcie_irqs_in_use'

    This adapts the #ifdef statement to match the exact condition under which
    the function can be called.

    Fixes: 51bc085d6454 ("PCI: Improve host drivers compile test coverage")
    Cc: Rob Herring
    Cc: Lorenzo Pieralisi
    Signed-off-by: Arnd Bergmann
    Acked-by: Rob Herring
    Acked-by: Thierry Reding
    Signed-off-by: Olof Johansson

    Arnd Bergmann
     

30 Apr, 2018

2 commits

  • In order to reset busy HW properly, memory controller needs to be
    involved, otherwise it is possible to get corrupted memory or hang machine
    if HW was reset during DMA. Introduce memory client 'hot reset' that will
    be used for resetting of busy HW.

    Signed-off-by: Dmitry Osipenko
    Signed-off-by: Thierry Reding

    Dmitry Osipenko
     
  • Tegra30+ has some minor differences in registers / bits layout compared
    to Tegra20. Let's squash Tegra20 driver into the common tegra-mc driver
    in a preparation for the upcoming MC hot reset controls implementation,
    avoiding code duplication.

    Note that this currently doesn't report the value of MC_GART_ERROR_REQ
    because it is located within the GART register area and cannot be safely
    accessed from the MC driver (this happens to work only by accident). The
    proper solution is to integrate the GART driver with the MC driver, much
    like is done for the Tegra SMMU, but that is an invasive change and will
    be part of a separate patch series.

    Signed-off-by: Dmitry Osipenko
    Signed-off-by: Thierry Reding

    Dmitry Osipenko
     

27 Apr, 2018

1 commit

  • Currently we are enabling handling of interrupts specific to Tegra124+
    which happen to overlap with previous generations. Let's specify
    interrupts mask per SoC generation for consistency and in a preparation
    of squashing of Tegra20 driver into the common one that will enable
    handling of GART faults which may be undesirable by newer generations.

    Signed-off-by: Dmitry Osipenko
    Signed-off-by: Thierry Reding

    Dmitry Osipenko
     

08 Mar, 2018

1 commit

  • The Tegra194 BPMP only implements 5 channels (4 to BPMP, 1 to CCPLEX),
    and they are not placed contiguously in memory. The current channel
    management in the BPMP driver does not support this.

    Simplify and refactor the channel management such that only one atomic
    transmit channel and one receive channel are supported, and channels
    are not required to be placed contiguously in memory. The same
    configuration also works on T186 so we end up with less code.

    Signed-off-by: Mikko Perttunen
    Signed-off-by: Thierry Reding

    Mikko Perttunen
     

02 Feb, 2018

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "A number of new drivers get added this time, along with many
    low-priority bugfixes. The most interesting changes by subsystem are:

    bus drivers:
    - Updates to the Broadcom bus interface driver to support newer SoC
    types
    - The TI OMAP sysc driver now supports updated DT bindings

    memory controllers:
    - A new driver for Tegra186 gets added
    - A new driver for the ti-emif sram, to allow relocating
    suspend/resume handlers there

    SoC specific:
    - A new driver for Qualcomm QMI, the interface to the modem on MSM
    SoCs
    - A new driver for power domains on the actions S700 SoC
    - A driver for the Xilinx Zynq VCU logicoreIP

    reset controllers:
    - A new driver for Amlogic Meson-AGX
    - various bug fixes

    tee subsystem:
    - A new user interface got added to enable asynchronous communication
    with the TEE supplicant.
    - A new method of using user space memory for communication with the
    TEE is added"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (84 commits)
    of: platform: fix OF node refcount leak
    soc: fsl: guts: Add a NULL check for devm_kasprintf()
    bus: ti-sysc: Fix smartreflex sysc mask
    psci: add CPU_IDLE dependency
    soc: xilinx: Fix Kconfig alignment
    soc: xilinx: xlnx_vcu: Use bitwise & rather than logical && on clkoutdiv
    soc: xilinx: xlnx_vcu: Depends on HAS_IOMEM for xlnx_vcu
    soc: bcm: brcmstb: Be multi-platform compatible
    soc: brcmstb: biuctrl: exit without warning on non brcmstb platforms
    Revert "soc: brcmstb: Only register SoC device on STB platforms"
    bus: omap: add MODULE_LICENSE tags
    soc: brcmstb: Only register SoC device on STB platforms
    tee: shm: Potential NULL dereference calling tee_shm_register()
    soc: xilinx: xlnx_vcu: Add Xilinx ZYNQMP VCU logicoreIP init driver
    dt-bindings: soc: xilinx: Add DT bindings to xlnx_vcu driver
    soc: xilinx: Create folder structure for soc specific drivers
    of: platform: populate /firmware/ node from of_platform_default_populate_init()
    soc: samsung: Add SPDX license identifiers
    soc: qcom: smp2p: Use common error handling code in qcom_smp2p_probe()
    tee: shm: don't put_page on null shm->pages
    ...

    Linus Torvalds
     

15 Dec, 2017

1 commit


13 Dec, 2017

1 commit


19 Oct, 2017

3 commits

  • Tegra power management firmware running on the co-processor (BPMP)
    implements a simple pseudo file system akin to debugfs. The file
    system can be used for debugging purposes to examine and change the
    status of selected resources controlled by the firmware (such as
    clocks, resets, voltages, powergates, ...).

    Add support to "mirror" the firmware's file system to debugfs. At
    boot, query firmware for a list of all possible files and create
    corresponding debugfs entries. Read/write of individual files is
    implemented by sending a Message ReQuest (MRQ) that passes the full
    file path name and data to firmware via DRAM.

    Signed-off-by: Timo Alho
    Reviewed-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Timo Alho
     
  • Add static inline stubs to bpmp.h when CONFIG_BPMP is not enabled.
    This allows building BPMP-related drivers with COMPILE_TEST.

    Signed-off-by: Mikko Perttunen
    Signed-off-by: Thierry Reding

    Mikko Perttunen
     
  • Expose and export the tegra_bpmp_mrq_return() function for use by
    drivers outside the core BPMP driver. This function is used to reply to
    messages originating from the BPMP, which is required in the thermal
    driver.

    Signed-off-by: Mikko Perttunen
    Signed-off-by: Thierry Reding

    Mikko Perttunen
     

17 Oct, 2017

1 commit

  • Response messages from Tegra BPMP firmware contain an error return code
    as the first word of payload. The error code is used to indicate
    incorrectly formatted request message or use of non-existing resource
    (clk, reset, powergate) identifier. Current implementation of
    tegra_bpmp_transfer() ignores this code and does not pass it to caller.
    Fix this by adding an extra struct member to tegra_bpmp_message and
    populate that with return code.

    Signed-off-by: Timo Alho
    Acked-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Timo Alho
     

17 Aug, 2017

1 commit

  • Move this code from arch/arm/mach-tegra and make it common among 32-bit
    and 64-bit Tegra SoCs. This is slightly complicated by the fact that on
    32-bit Tegra, the SoC device is used as the parent for all devices that
    are instantiated from device tree.

    Signed-off-by: Thierry Reding

    Thierry Reding
     

13 Jun, 2017

2 commits

  • The BPMP firmware, found on Tegra186 and later, provides an ABI that can
    be used to enable and disable power to several power partitions in Tegra
    SoCs. The ABI allows for enumeration of the available power partitions,
    so the driver can be reused on future generations, provided the BPMP ABI
    remains stable.

    Based on work by Stefan Kristiansson and Mikko
    Perttunen .

    Signed-off-by: Thierry Reding
    Reviewed-by: Ulf Hansson
    Signed-off-by: Thierry Reding

    Thierry Reding
     
  • Update the BPMP ABI header to a more recent version. The new version
    adds support for a new powergating ABI as well as access to the ring
    buffer console, which allows debug messages to be output to the BPMP
    debug console.

    Some of the previously undocumented fields have been documented and
    missing bitmasks have been added. Furthermore the MRQ_RESET request
    now has a sub-command that allows to determine the maximum ID which
    in turn allows the resets to be enumerated, thereby allowing drivers
    to become agnostic of the Tegra generation.

    Signed-off-by: Thierry Reding

    Thierry Reding
     

04 Apr, 2017

2 commits

  • The flowctrl driver is required for both ARM and ARM64 Tegra devices
    and in order to enable support for it for ARM64, move the Tegra flowctrl
    driver into drivers/soc/tegra.

    By moving the flowctrl driver, tegra_flowctrl_init() is now called by
    via an early initcall and to prevent this function from attempting to
    mapping IO space for a non-Tegra device, a test for 'soc_is_tegra()'
    is also added.

    Signed-off-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Jon Hunter
     
  • With the new Tegra186 PMC driver merged, anything that relies on the previous
    PMC driver fails to link when that is disabled:

    arch/arm/mach-tegra/pm.o: In function `tegra_pm_set':
    pm.c:(.text.tegra_pm_set+0x3c): undefined reference to `tegra_pmc_enter_suspend_mode'
    arch/arm/mach-tegra/pm.o: In function `tegra_suspend_enter':
    pm.c:(.text.tegra_suspend_enter+0x4): undefined reference to `tegra_pmc_get_suspend_mode'
    arch/arm/mach-tegra/pm.o: In function `tegra_init_suspend':
    pm.c:(.init.text+0x1c): undefined reference to `tegra_pmc_get_suspend_mode'
    pm.c:(.init.text+0x74): undefined reference to `tegra_pmc_set_suspend_mode'

    ERROR: tegra_powergate_sequence_power_up [drivers/ata/ahci_tegra.ko] undefined!
    ERROR: tegra_powergate_power_off [drivers/ata/ahci_tegra.ko] undefined!

    Making the definition depend on the presence of the driver makes it build
    again, though that might not be the correct fix.

    Reported-by: Krzysztof Kozlowski
    Fixes: 854014236290 ("soc/tegra: Implement Tegra186 PMC support")
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Thierry Reding

    Arnd Bergmann
     

19 Nov, 2016

1 commit

  • …tegra/linux into next/drivers

    soc: tegra: Core SoC changes for v4.10-rc1

    This contains mostly cleanup and new feature work on the power
    management controller as well as the addition of a Kconfig symbol for
    the new Tegra186 (Parker) SoC generation.

    * tag 'tegra-for-4.10-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    soc/tegra: pmc: Use consistent naming for PM domains
    soc/tegra: pmc: Remove genpd when adding provider fails
    soc/tegra: pmc: Check return code for pm_genpd_init()
    soc/tegra: pmc: Clean-up I/O rail error messages
    soc/tegra: pmc: Simplify IO rail bit handling
    soc/tegra: pmc: Guard against uninitialised PMC clock
    soc/tegra: pmc: Add I/O pad voltage support
    soc/tegra: pmc: Use consistent ordering of bit definitions
    soc/tegra: pmc: Correct type of variable for tegra_pmc_readl()
    soc/tegra: pmc: Use BIT macro for register field definition

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     

18 Nov, 2016

1 commit

  • The Boot and Power Management Processor (BPMP) is a co-processor found
    on Tegra SoCs. It is designed to handle the early stages of the boot
    process and offload power management tasks (such as clocks, resets,
    powergates, ...) as well as system control services.

    Compared to the ARM SCPI, the services provided by BPMP are message-
    based rather than method-based. The BPMP firmware driver provides the
    services to transmit data to and receive data from the BPMP. Users can
    also register a Message ReQuest (MRQ), for which a service routine will
    be run when a corresponding event is received from the firmware.

    A set of messages, called the BPMP ABI, are specified for a number of
    different services provided by the BPMP (such as clocks or resets).

    Based on work by Sivaram Nair and Joseph Lo
    .

    Signed-off-by: Thierry Reding

    Thierry Reding