Skip to content
This repository was archived by the owner on Oct 5, 2018. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
934e91d
dt-bindings: mailbox: Document Hisilicon mailbox driver
Jul 7, 2015
264d609
mailbox: Hisilicon: add mailbox driver
Jul 7, 2015
719f114
arm64: dts: add Hi6220 mailbox node
Jul 7, 2015
421c9b2
Revert "clk: hi6220: enable stub clock on the platform"
Jul 7, 2015
a996703
Revert "clk: hisi: add stub clock register function"
Jul 7, 2015
0b4d019
Revert "clk: hisi: add stub clk driver"
Jul 7, 2015
ec4f1a8
clk: hisi: refine parameter checking for init
Mar 30, 2015
ce6c0db
clk: Hi6220: add stub clock driver
Jul 7, 2015
c7f10e4
arm64: dts: add Hi6220's stub clock node
Jul 7, 2015
c54678d
arm64: defconfig: enable config for hi6220 mailbox
Jul 11, 2015
793d8c4
ARM: introduce sp804_timer_disable and remove arm_timer.h inclusion
sudeep-holla May 18, 2015
e78e0a3
ARM: move Dual-Timer SP804 driver to drivers/clocksource
sudeep-holla May 18, 2015
618219d
arm64: Kconfig: select sp804 timer for ARCH_HISI
Aug 5, 2015
72c941e
arm64: dts: add cpuidle states
Jul 21, 2015
383167d
arm64: dts: add sp804 timer node for hi6220
Aug 6, 2015
5f00bd7
ARM: psci: boot_secondary: replace __pa with virt_to_idmap
grygoriyS Jul 2, 2015
30093d9
ARM64: kernel: make cpu_ops hooks DT agnostic
May 13, 2015
2ad0a21
ARM64: kernel: unify ACPI and DT cpus initialization
May 13, 2015
b465f2a
arm/arm64: kvm: add missing PSCI include
mrutland-arm May 1, 2015
d739be8
arm64: smp_plat: add get_logical_index
mrutland-arm Apr 22, 2015
6a67916
arm64: smp: consistently use error codes
mrutland-arm Apr 20, 2015
772b9d7
arm64: psci: remove unnecessary id indirection
mrutland-arm Apr 22, 2015
5bd1fc2
arm64: psci: support unsigned return values
mrutland-arm Apr 20, 2015
c797e0e
arm64: psci: account for Trusted OS instances
mrutland-arm Apr 22, 2015
fabebbc
arm64: psci: kill psci_power_state
mrutland-arm Apr 30, 2015
1ac592c
arm64: psci: remove ACPI coupling
mrutland-arm Apr 30, 2015
a7c8a5e
ACPI / ARM64: add BAD_MADT_GICC_ENTRY() macro
Jul 6, 2015
36f38e2
ACPI / ARM64 : use the new BAD_MADT_GICC_ENTRY macro
Jul 6, 2015
44a0be1
arm64: psci: fix !CONFIG_HOTPLUG_CPU build warning
wildea01 Jun 11, 2015
e9ff42b
arm64: kernel: rename __cpu_suspend to keep it aligned with arm
sudeep-holla Jun 18, 2015
e07917a
arm64: psci: factor invocation code to drivers
mrutland-arm Jul 2, 2015
6757033
drivers: psci: support native SMC{32,64} calls
mrutland-arm Jul 2, 2015
470ce3b
ARM: migrate to common PSCI client code
mrutland-arm Jul 2, 2015
5503995
MAINTAINERS: add PSCI entry
mrutland-arm Jul 2, 2015
6669b36
drivers: firmware: psci: add INVALID_ADDRESS return value
Jul 8, 2015
344b231
drivers: firmware: psci: move power_state handling to generic code
Jul 8, 2015
fc421f1
drivers: firmware: psci: add PSCI_FEATURES call
Jul 8, 2015
ba0b70e
drivers: firmware: psci: add extended stateid power_state support
Jul 8, 2015
f37c436
drivers: firmware: psci: add PSCI v1.0 DT bindings
Jul 8, 2015
cbaf400
drivers: firmware: psci: define more generic PSCI_FN_NATIVE macro
sudeep-holla Jun 18, 2015
0c2d92e
drivers: firmware: psci: add system suspend support
sudeep-holla Jun 18, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions Documentation/devicetree/bindings/arm/psci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ Main node required properties:
support, but are permitted to be present for compatibility with
existing software when "arm,psci" is later in the compatible list.

* "arm,psci-1.0" : for implementations complying to PSCI 1.0. PSCI 1.0 is
backward compatible with PSCI 0.2 with minor specification updates,
as defined in the PSCI specification[2].

- method : The method of calling the PSCI firmware. Permitted
values are:

Expand Down Expand Up @@ -100,3 +104,5 @@ Case 3: PSCI v0.2 and PSCI v0.1.

[1] Kernel documentation - ARM idle states bindings
Documentation/devicetree/bindings/arm/idle-states.txt
[2] Power State Coordination Interface (PSCI) specification
http://infocenter.arm.com/help/topic/com.arm.doc.den0022c/DEN0022C_Power_State_Coordination_Interface.pdf
57 changes: 57 additions & 0 deletions Documentation/devicetree/bindings/mailbox/hisi-mailbox.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
Hisilicon Mailbox Driver
========================

The Hisilicon mailbox supports up to 32 channels. Each channel
is unidirectional with a maximum message size of 8 words. I/O is
performed using register access (there is no DMA) and the cell
raises an interrupt when messages are received.

Mailbox Device Node:
====================

Required properties:
--------------------
- compatible: Shall be "hisilicon,hi6220-mbox"
- reg: Contains the mailbox register address range (base
address and length); the first item is for IPC
registers, the second item is shared buffer for
slots.
- #mbox-cells Common mailbox binding property to identify the number
of cells required for the mailbox specifier. Should be 1.
- interrupts: Contains the interrupt information for the mailbox
device. The format is dependent on which interrupt
controller the SoCs use.

Example:
--------

mailbox: mailbox@F7510000 {
#mbox-cells = <1>;
compatible = "hisilicon,hi6220-mbox";
reg = <0x0 0xF7510000 0x0 0x1000>, /* IPC_S */
<0x0 0x06DFF800 0x0 0x0800>; /* Mailbox */
interrupt-parent = <&gic>;
interrupts = <0 94 4>;
};


Mailbox client
===============

"mboxes" and the optional "mbox-names" (please see
Documentation/devicetree/bindings/mailbox/mailbox.txt for details). Each value
of the mboxes property should contain a phandle to the mailbox controller
device node and second argument is the channel index. It must be 0 (hardware
support only one channel). The equivalent "mbox-names" property value can be
used to give a name to the communication channel to be used by the client user.

Example:
--------

stub_clock: stub_clock {
compatible = "hisilicon,hi6220-stub-clk";
hisilicon,hi6220-clk-sram = <&sram>;
#clock-cells = <1>;
mbox-names = "mbox-tx";
mboxes = <&mailbox 1>;
};
9 changes: 9 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -7789,6 +7789,15 @@ S: Maintained
F: include/linux/power_supply.h
F: drivers/power/

POWER STATE COORDINATION INTERFACE (PSCI)
M: Mark Rutland <mark.rutland@arm.com>
M: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
L: linux-arm-kernel@lists.infradead.org
S: Maintained
F: drivers/firmware/psci.c
F: include/linux/psci.h
F: include/uapi/linux/psci.h

PNP SUPPORT
M: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
S: Maintained
Expand Down
6 changes: 1 addition & 5 deletions arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -975,11 +975,6 @@ config PLAT_PXA
config PLAT_VERSATILE
bool

config ARM_TIMER_SP804
bool
select CLKSRC_MMIO
select CLKSRC_OF if OF

source "arch/arm/firmware/Kconfig"

source arch/arm/mm/Kconfig
Expand Down Expand Up @@ -1465,6 +1460,7 @@ config HOTPLUG_CPU
config ARM_PSCI
bool "Support for the ARM Power State Coordination Interface (PSCI)"
depends on CPU_V7
select ARM_PSCI_FW
help
Say Y here if you want Linux to communicate with system firmware
implementing the PSCI specification for CPU-centric power
Expand Down
1 change: 0 additions & 1 deletion arch/arm/common/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ obj-$(CONFIG_SHARP_LOCOMO) += locomo.o
obj-$(CONFIG_SHARP_PARAM) += sharpsl_param.o
obj-$(CONFIG_SHARP_SCOOP) += scoop.o
obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o
obj-$(CONFIG_ARM_TIMER_SP804) += timer-sp.o
obj-$(CONFIG_MCPM) += mcpm_head.o mcpm_entry.o mcpm_platsmp.o vlock.o
CFLAGS_REMOVE_mcpm_entry.o = -pg
AFLAGS_mcpm_head.o := -march=armv7-a
Expand Down
23 changes: 0 additions & 23 deletions arch/arm/include/asm/psci.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,34 +14,11 @@
#ifndef __ASM_ARM_PSCI_H
#define __ASM_ARM_PSCI_H

#define PSCI_POWER_STATE_TYPE_STANDBY 0
#define PSCI_POWER_STATE_TYPE_POWER_DOWN 1

struct psci_power_state {
u16 id;
u8 type;
u8 affinity_level;
};

struct psci_operations {
int (*cpu_suspend)(struct psci_power_state state,
unsigned long entry_point);
int (*cpu_off)(struct psci_power_state state);
int (*cpu_on)(unsigned long cpuid, unsigned long entry_point);
int (*migrate)(unsigned long cpuid);
int (*affinity_info)(unsigned long target_affinity,
unsigned long lowest_affinity_level);
int (*migrate_info_type)(void);
};

extern struct psci_operations psci_ops;
extern struct smp_operations psci_smp_ops;

#ifdef CONFIG_ARM_PSCI
int psci_init(void);
bool psci_smp_available(void);
#else
static inline int psci_init(void) { return 0; }
static inline bool psci_smp_available(void) { return false; }
#endif

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o

obj-$(CONFIG_ARM_VIRT_EXT) += hyp-stub.o
ifeq ($(CONFIG_ARM_PSCI),y)
obj-y += psci.o psci-call.o
obj-y += psci-call.o
obj-$(CONFIG_SMP) += psci_smp.o
endif

Expand Down
Loading