Skip to content

Support for OP-TEE generic linux driver #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 97 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
834039c
drm/cma-helper: Add multi buffer support for cma fbdev
xin3liang Sep 14, 2015
2f55f9d
drm/hisilicon: Add device tree binding for hi6220 display subsystem
xin3liang Oct 9, 2015
e999153
drm/hisilicon: Add hisilicon DRM master driver
xin3liang Oct 9, 2015
6d22ade
drm/hisilicon: Add crtc funcs for ADE
xin3liang Oct 10, 2015
d4fbc6b
drm/hisilicon: Add plane funcs for ADE
xin3liang Oct 10, 2015
558364f
drm/hisilicon: Add vblank feature
xin3liang Oct 10, 2015
ff16fca
drm/hisilicon: Add cma fbdev and hotplug
xin3liang Oct 10, 2015
8dce635
drm/hisilicon: Add dsi encoder driver
xin3liang Nov 23, 2015
c056d64
drm/hisilicon: Add dsi host driver
xin3liang Nov 23, 2015
007bacf
drm/hisilicon: Add support for external bridge
xin3liang Nov 23, 2015
b0c5610
staging: android: ion: Set the length of the DMA sg entries in buffer.
dliviu Jun 30, 2014
dcdef78
drivers/clk: hi6220: initialize UART1 clock to 150MHz
ldts Mar 13, 2015
354359f
clk: hi6220: Add RTC clock for pl031
docularxu Feb 3, 2016
31f589e
reset: hisilicon: document hisi-hi6220 reset controllers bindings
Nov 20, 2015
d9dcbda
reset: hi6220: Reset driver for hisilicon hi6220 SoC
Nov 20, 2015
7e43f8c
reset: hi6220: fix modular build
arndb Dec 12, 2015
48f07ed
HACK: hikey: dwc2: Reduce usb speed to avoid errors
johnstultz-work Jan 29, 2016
dfb25d3
arm64: dts: Add Hi6220 gpio configuration nodes
zhongkaihua Jan 28, 2016
94ae802
arm64: dts: add Hi6220 pinctrl configuration nodes
zhongkaihua Dec 9, 2015
a6a6f4c
arm64: dts: add Hi6220 spi configuration nodes
zhongkaihua Jan 28, 2016
1c75bd0
arm64: dts: add all hi6220 i2c nodes
Dec 2, 2015
318f7aa
arm64: dts: hikey: enable i2c0 and i2c1 for working with mezzanine bo…
docularxu Feb 3, 2016
af6cc59
arm64: dts: add hi6220 usb node
zhangfeigao Nov 30, 2015
17e242c
arm64: dts: add mailbox node for Hi6220
Feb 15, 2016
502bbba
arm64: dts: add Hi6220's stub clock node
Feb 15, 2016
d9b5e24
arm64: dts: hi6220: add pinctrl for uarts and enable them
docularxu Dec 29, 2015
dbbf31e
arm64: dts: add LED nodes for hi6220-hikey
docularxu Feb 2, 2016
8ad1cf9
arm64: dts: add dwmmc nodes for hi6220
Dec 11, 2015
47ee9dc
arm64: dts: hi6220: add resets property into dwmmc nodes
docularxu Feb 14, 2016
5e9a264
arm64: dts: add wifi nodes support for hi6220-hikey
docularxu Aug 17, 2015
af8f9ac
arm64: dts: hisilicon: Add hi655x pmic dts node
Feb 1, 2016
3d9932e
arm64: dts: add node for mtcmos regulators
docularxu Jan 20, 2016
6120226
arm64: dts: add thermal zone and sensor for Hi6220
Jul 7, 2015
5eedbe8
arm64: dts: hisilicon: Add display subsystem DT nodes for hi6220.
xin3liang Oct 10, 2015
502b8d5
arm64: dts: Add mali gpu node
xin3liang Dec 28, 2015
80f9bc3
arm64: dts: hikey: add description for bluetooth and set baudrate to …
docularxu Dec 22, 2014
e523974
arm64: dts: hikey: Add ION entries to hikey dts
johnstultz-work Jan 22, 2016
745110f
arm64: dts: hi6220: Add pl031 RTC support
docularxu Feb 3, 2016
a78bb4d
dts: hikey: Add reboot reason support
johnstultz-work Dec 15, 2015
7a9945b
arm64: dts: Add reset dts config for Hisilicon Hi6220 SoC
Dec 11, 2015
59b077a
ion: Add hisi ion core driver for hi6220 SoC.
Dec 10, 2014
d3498db
ion: hikey: Add DMA cma heap
xin3liang Oct 29, 2015
82fc061
arm64: dts: register Hi6220's thermal zone for power allocator
Feb 23, 2016
80a2931
hikey: dts: Add pstore support for HiKey
johnstultz-work Jan 6, 2016
1e3b07f
arm64: dts: Add L2 cache topology to Hi6220
Feb 26, 2016
c4d9a04
drivers: input: powerkey for HISI 65xx SoC
ldts Oct 29, 2015
92a135a
drivers: input: powerkey HISI use capability interface
ldts Nov 5, 2015
78b2cf4
drivers: input: powerkey HISI cleanup
ldts Nov 6, 2015
98073d8
drivers: input: powerkey: Request irq to be threaded
johnstultz-work Feb 9, 2016
d245fc3
arm64: dts: Add powerkey info to pmic for hi6220-hikey
docularxu Mar 3, 2016
c183339
hikey: config: enable configs for TI WL1835, built as module
docularxu Jan 11, 2016
c67f70f
ARM64: defconfig: enable several common USB network adapters
Feb 4, 2016
c866002
hikey: config: enable HI6220 MTCMOS regulators
docularxu Feb 29, 2016
140fbc4
hikey: config: Enable hisi drm drivers
docularxu Jan 11, 2016
8b0bbf2
defconfig: Add gpu configures
xin3liang Jan 13, 2016
4ed8960
hikey: config: enable Bluetooth
docularxu Feb 1, 2016
992f5c8
hikey: config: disable ANDROID_PARANOID_NETWORK
docularxu Feb 5, 2016
f18cc60
hikey: config: enable CONFIG_PSTORE CONFIG_PSTORE_RAM built as modules
docularxu Mar 3, 2016
1de319e
hikey: config: enable CONFIG_HISI_POWERKEY
docularxu Mar 3, 2016
1f44a68
dts: Readd ti wifi options on mmc2
johnstultz-work Mar 15, 2016
40fd5e0
arm64: dts: hi6220: add sd-uhs- properties into dwmmc_1
docularxu Feb 6, 2016
1efb170
Merge branch 'working-hikey-tracking-clk-v4.4' into working-hikey-mai…
docularxu Mar 17, 2016
2e13c7c
Merge branch 'working-hikey-tracking-dts-v4.4' into working-hikey-mai…
docularxu Mar 17, 2016
caca3f4
Merge branch 'working-hikey-tracking-pmic-v4.4' into working-hikey-ma…
docularxu Mar 17, 2016
7b5a531
Merge branch 'working-hikey-tracking-misc-sysconfig-v4.4' into workin…
docularxu Mar 17, 2016
2c804d7
Merge branch 'working-hikey-tracking-mmc-v4.4' into working-hikey-mai…
docularxu Mar 17, 2016
940367e
Merge branch 'working-hikey-tracking-usb-v4.4' into working-hikey-mai…
docularxu Mar 17, 2016
1e147c3
Merge branch 'working-hikey-tracking-adv7511-v4.4' into working-hikey…
docularxu Mar 17, 2016
41fa329
Merge branch 'working-hikey-tracking-drm-v4.4' into working-hikey-mai…
docularxu Mar 17, 2016
441eeaf
Merge branch 'working-hikey-tracking-pm-v4.4' into working-hikey-main…
docularxu Mar 17, 2016
af94a05
Merge branch 'working-hikey-tracking-gpu-v4.4' into working-hikey-mai…
docularxu Mar 17, 2016
d5610a4
Merge branch 'working-hikey-tracking-bluetooth-v4.4' into working-hik…
docularxu Mar 17, 2016
db43377
Merge branch 'working-hikey-tracking-ion-v4.4' into working-hikey-mai…
docularxu Mar 17, 2016
2f7e5de
Merge branch 'working-hikey-tracking-hisi-reset-v4.4' into working-hi…
docularxu Mar 17, 2016
7b66af3
Merge branch 'working-hikey-tracking-reboot-reason-v4.4' into working…
docularxu Mar 17, 2016
246aae0
Merge branch 'working-hikey-tracking-pstore-v4.4' into working-hikey-…
docularxu Mar 17, 2016
8b07c83
Merge branch 'working-hikey-tracking-others-v4.4' into working-hikey-…
docularxu Mar 17, 2016
99cf0d2
Merge branch 'working-hikey-tracking-config-v4.4' into working-hikey-…
docularxu Mar 17, 2016
1025574
Merge branch 'working-hikey-tracking-android-config-v4.4' into workin…
docularxu Mar 17, 2016
41d0e8c
Merge remote-tracking branch 'linaro-android/test/linaro-android-4.4'…
docularxu Mar 17, 2016
2342fd7
ARM: 8478/2: arm/arm64: add arm-smccc
jenswi-linaro Jan 4, 2016
3821e6e
ARM: 8479/2: add implementation for arm-smccc
jenswi-linaro Jan 4, 2016
ef45c9f
ARM: 8480/2: arm64: add implementation for arm-smccc
jenswi-linaro Jan 4, 2016
96518ec
ARM: 8481/2: drivers: psci: replace psci firmware calls
jenswi-linaro Jan 4, 2016
0a6457e
dt/bindings: add bindings for optee
jenswi-linaro May 21, 2015
c612b1c
tee: generic TEE subsystem
jenswi-linaro Mar 11, 2015
652a54a
tee: add OP-TEE driver
jenswi-linaro Apr 14, 2015
06d2b30
Documentation: tee subsystem and op-tee driver
jenswi-linaro Jun 1, 2015
42ae9fd
tee: add kernel internal client interface **not for mainline**
jenswi-linaro Nov 19, 2015
83eb922
arm64: dt: PSCI for foundation-v8 **not for mainline**
jenswi-linaro Jan 26, 2016
4b06c8f
arm64: dt: use GICv2 for foundation-v8 **not for mainline**
jenswi-linaro Jan 26, 2016
037ccd1
arm64: dt: OP-TEE for foundation-v8 **not for mainline**
jenswi-linaro Jan 26, 2016
9416756
arm64: dt: OP-TEE for qemu-v8 **not for mainline**
jenswi-linaro Mar 16, 2016
7859d9c
arm64: dt: hikey: Add optee node
jforissier Mar 22, 2016
979842a
arm64: dt: OP-TEE for Juno **not for mainline**
jenswi-linaro Mar 29, 2016
d8813b6
arm64: dt: Add OP-TEE firmware to mt8173 **not for mainline**
jbech-linaro Mar 24, 2016
0bae917
arm64: defconfig: Enable TEE and OPTEE
Mar 31, 2016
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
2 changes: 2 additions & 0 deletions Documentation/00-INDEX
Original file line number Diff line number Diff line change
Expand Up @@ -435,6 +435,8 @@ sysrq.txt
- info on the magic SysRq key.
target/
- directory with info on generating TCM v4 fabric .ko modules
tee.txt
- info on the TEE subsystem and drivers
this_cpu_ops.txt
- List rationale behind and the way to use this_cpu operations.
thermal/
Expand Down
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/arm/cpus.txt
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,23 @@ nodes to be present and contain the properties described below.
Definition: Specifies the syscon node controlling the cpu core
power domains.

- dynamic-power-coefficient
Usage: optional
Value type: <prop-encoded-array>
Definition: A u32 value that represents the running time dynamic
power coefficient in units of mW/MHz/uVolt^2. The
coefficient can either be calculated from power
measurements or derived by analysis.

The dynamic power consumption of the CPU is
proportional to the square of the Voltage (V) and
the clock frequency (f). The coefficient is used to
calculate the dynamic power as below -

Pdyn = dynamic-power-coefficient * V^2 * f

where voltage is in uV, frequency is in MHz.

Example 1 (dual-cluster big.LITTLE system 32-bit):

cpus {
Expand Down
31 changes: 31 additions & 0 deletions Documentation/devicetree/bindings/arm/firmware/linaro,optee-tz.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
OP-TEE Device Tree Bindings

OP-TEE is a piece of software using hardware features to provide a Trusted
Execution Environment. The security can be provided with ARM TrustZone, but
also by virtualization or a separate chip.

We're using "linaro" as the first part of the compatible property for
the reference implementation maintained by Linaro.

* OP-TEE based on ARM TrustZone required properties:

- compatible : should contain "linaro,optee-tz"

- method : The method of calling the OP-TEE Trusted OS. Permitted
values are:

"smc" : SMC #0, with the register assignments specified
in drivers/tee/optee/optee_smc.h

"hvc" : HVC #0, with the register assignments specified
in drivers/tee/optee/optee_smc.h



Example:
firmware {
optee {
compatible = "linaro,optee-tz";
method = "smc";
};
};
6 changes: 6 additions & 0 deletions Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
Original file line number Diff line number Diff line change
Expand Up @@ -229,3 +229,9 @@ Required Properties:
[1]: bootwrapper size
[2]: relocation physical address
[3]: relocation size

-----------------------------------------------------------------------
Hisilicon ion

Required properties:
- compatible : "hisilicon,ion";
42 changes: 42 additions & 0 deletions Documentation/devicetree/bindings/display/hisilicon/hisi-ade.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
Device-Tree bindings for hisilicon ADE display controller driver

ADE (Advanced Display Engine) is the display controller which grab image
data from memory, do composition, do post image processing, generate RGB
timing stream and transfer to DSI.

Required properties:
- compatible: value should be one of the following
"hisilicon,hi6220-ade".
- reg: physical base address and length of the controller's registers.
- reg-names: name of physical base.
- interrupt: the interrupt number.
- clocks: the clocks needed.
- clock-names: the name of the clocks.
- ade_core_clk_rate: ADE core clock rate.
- media_noc_clk_rate: media noc module clock rate.


A example of HiKey board hi6220 SoC specific DT entry:
Example:

ade: ade@f4100000 {
compatible = "hisilicon,hi6220-ade";
reg = <0x0 0xf4100000 0x0 0x7800>,
<0x0 0xf4410000 0x0 0x1000>;
reg-names = "ade_base",
"media_base";
interrupts = <0 115 4>;

clocks = <&media_ctrl HI6220_ADE_CORE>,
<&media_ctrl HI6220_CODEC_JPEG>,
<&media_ctrl HI6220_ADE_PIX_SRC>,
<&media_ctrl HI6220_PLL_SYS>,
<&media_ctrl HI6220_PLL_SYS_MEDIA>;
clock-names = "clk_ade_core",
"aclk_codec_jpeg_src",
"clk_ade_pix",
"clk_syspll_src",
"clk_medpll_src";
ade_core_clk_rate = <360000000>;
media_noc_clk_rate = <288000000>;
};
66 changes: 66 additions & 0 deletions Documentation/devicetree/bindings/display/hisilicon/hisi-drm.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
Hisilicon DRM master device

The Hisilicon DRM master device is a virtual device needed to list all
the other display relevant nodes that comprise the display subsystem.


Required properties:
- compatible: Should be "hisilicon,<chip>-dss"
- #address-cells: should be set to 2.
- #size-cells: should be set to 2.
- range: to allow probing of subdevices.

Optional properties:
- dma-coherent: Present if dma operations are coherent.

Required sub nodes:
All the device nodes of display subsystem of SoC should be the sub nodes.
Such as display controller node, DSI node and so on.

A example of HiKey board hi6220 SoC specific DT entry:
Example:

display-subsystem {
compatible = "hisilicon,hi6220-dss";
#address-cells = <2>;
#size-cells = <2>;
ranges;
dma-coherent;

ade: ade@f4100000 {
compatible = "hisilicon,hi6220-ade";
reg = <0x0 0xf4100000 0x0 0x7800>,
<0x0 0xf4410000 0x0 0x1000>;
reg-names = "ade_base",
"media_base";
interrupts = <0 115 4>; /* ldi interrupt */

clocks = <&media_ctrl HI6220_ADE_CORE>,
<&media_ctrl HI6220_CODEC_JPEG>,
<&media_ctrl HI6220_ADE_PIX_SRC>,
<&media_ctrl HI6220_PLL_SYS>,
<&media_ctrl HI6220_PLL_SYS_MEDIA>;
/*clock name*/
clock-names = "clk_ade_core",
"aclk_codec_jpeg_src",
"clk_ade_pix",
"clk_syspll_src",
"clk_medpll_src";
ade_core_clk_rate = <360000000>;
media_noc_clk_rate = <288000000>;
};

dsi: dsi@0xf4107800 {
compatible = "hisilicon,hi6220-dsi";
reg = <0x0 0xf4107800 0x0 0x100>;
clocks = <&media_ctrl HI6220_DSI_PCLK>;
clock-names = "pclk_dsi";

port {
dsi_out: endpoint {
remote-endpoint = <&adv_in>;
};
};

};
};
53 changes: 53 additions & 0 deletions Documentation/devicetree/bindings/display/hisilicon/hisi-dsi.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
Device-Tree bindings for hisilicon DSI controller driver

A DSI controller resides in the middle of display controller and external
HDMI converter.

Required properties:
- compatible: value should be one of the following
"hisilicon,hi6220-dsi".
- reg: physical base address and length of the controller's registers.
- clocks: the clocks needed.
- clock-names: the name of the clocks.
- port: DSI controller output port. This contains one endpoint subnode, with its
remote-endpoint set to the phandle of the connected external HDMI endpoint.
See Documentation/devicetree/bindings/graph.txt for device graph info.

A example of HiKey board hi6220 SoC and board specific DT entry:
Example:

SoC specific:
dsi: dsi@0xf4107800 {
compatible = "hisilicon,hi6220-dsi";
reg = <0x0 0xf4107800 0x0 0x100>;
clocks = <&media_ctrl HI6220_DSI_PCLK>;
clock-names = "pclk_dsi";

port {
dsi_out: endpoint {
remote-endpoint = <&adv_in>;
};
};

};

Board specific:
i2c2: i2c@f7102000 {
status = "ok";

adv7533: adv7533@39 {
compatible = "adi,adv7533";
reg = <0x39>;
interrupt-parent = <&gpio1>;
interrupts = <1 2>;
pd-gpio = <&gpio0 4 0>;
adi,dsi-lanes = <4>;

port {
adv_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
};
};

Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
Hisilicon Hi6220 Mailbox Driver
===============================

Hisilicon Hi6220 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>;
};
27 changes: 27 additions & 0 deletions Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Hisilicon hi655x Power Management Integrated Circuit (PMIC)

The hardware layout for access PMIC Hi655x from AP SoC Hi6220.
Between PMIC Hi655x and Hi6220, the physical signal channel is SSI.
We can use memory-mapped I/O to communicate.

+----------------+ +-------------+
| | | |
| Hi6220 | SSI bus | Hi655x |
| |-------------| |
| |(REGMAP_MMIO)| |
+----------------+ +-------------+

Required properties:
- compatible: Should be "hisilicon,hi655x-pmic"
- reg: Base address of PMIC on hi6220 soc
- interrupt-controller: Hi655x has internal IRQs (has own IRQ domain).
- pmic-gpios: The gpio used by PMIC irq.

Example:
pmic: pmic@f8000000 {
compatible = "hisilicon,hi655x-pmic";
reg = <0x0 0xf8000000 0x0 0x1000>;
interrupt-controller;
#interrupt-cells = <2>;
pmic-gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
}
43 changes: 43 additions & 0 deletions Documentation/devicetree/bindings/misc/ramoops.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
Ramoops oops/panic logger
=========================

ramoops provides persistent RAM storage for oops and panics, so they can be
recovered after a reboot.

Parts of this storage may be set aside for other persistent log buffers, such
as kernel log messages, or for optional ECC error-correction data. The total
size of these optional buffers must fit in the reserved region.

Any remaining space will be used for a circular buffer of oops and panic
records. These records have a configurable size, with a size of 0 indicating
that they should be disabled.


Required properties:

- compatible: must be "ramoops"

- memory-region: phandle to a region of memory that is preserved between reboots


Optional properties:

- ecc-size: enables ECC support and specifies ECC buffer size in bytes
(defaults to no ECC)

- record-size: maximum size in bytes of each dump done on oops/panic
(defaults to 0)

- console-size: size in bytes of log buffer reserved for kernel messages
(defaults to 0)

- ftrace-size: size in bytes of log buffer reserved for function tracing and
profiling (defaults to 0)

- pmsg-size: size in bytes of log buffer reserved for userspace messages
(defaults to 0)

- unbuffered: if present, use unbuffered mappings to map the reserved region
(defaults to buffered mappings)

- no-dump-oops: if present, only dump panics (defaults to panics and oops)
6 changes: 5 additions & 1 deletion Documentation/devicetree/bindings/mmc/synopsys-dw-mshc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ Required Properties:

Optional properties:

* resets: phandle + reset specifier pair, intended to represent hardware
reset signal present internally in some host controller IC designs.
See Documentation/devicetree/bindings/reset/reset.txt for details.

* clocks: from common clock binding: handle to biu and ciu clocks for the
bus interface unit clock and the card interface unit clock.

Expand All @@ -48,7 +52,7 @@ Optional properties:
clock-frequency. It is an error to omit both the ciu clock and the
clock-frequency.

* clock-frequency: should be the frequency (in Hz) of the ciu clock. If this
* clock-frequency: should be tke frequency (in Hz) of the ciu clock. If this
is specified and the ciu clock is specified then we'll try to set the ciu
clock to this at probe time.

Expand Down
Loading