Skip to content
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

Testusb #215

Closed
wants to merge 42 commits into from
Closed
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
47e31c4
dt-bindings: mailbox: Document Hi6220 mailbox driver
Jul 7, 2015
c72c267
mailbox: Hi6220: add mailbox driver
Aug 19, 2015
23904dc
arm64: dts: add Hi6220 mailbox node
Jul 7, 2015
e037b5e
arm64: dts: add Hi6220's stub clock node
Jul 7, 2015
a7a0318
arm64: dts: add thermal zone and sensor for Hi6220
Jul 7, 2015
59e92a4
arm64: Kconfig: select sp804 timer for ARCH_HISI
Aug 5, 2015
9ed1a72
arm64: dts: enable idle states for Hi6220
Jul 21, 2015
1835ffe
arm64: dts: add sp804 timer node for Hi6220
Aug 6, 2015
0078f07
clk: Hi6220: separately build stub clock driver
Sep 2, 2015
c98d7d0
Merge pull request #119 from Leo-Yan/tracking-hikey-pm
docularxu Sep 18, 2015
8a531d2
dt-bindings: pmic: Document Hi655x pmic driver
Sep 18, 2015
62156df
mfd: Hi655x: Add support for PMIC Hi655x MFD
Sep 18, 2015
91ac0f3
arm64: dts: add Hi655x pmic node
Sep 19, 2015
8d3b131
regulator: Hi655x: Add support for Hi655x regulator
Sep 19, 2015
cc0e1fa
arm64: dts: Add Hi655x regulator config node
Sep 19, 2015
75c70f4
dt-bindings: mtcmos: Document Hi6220 mtcmos driver
Sep 19, 2015
a368e1a
mtcmos: Hi6220: Add Hi6220 mtcmos regulator driver
Sep 19, 2015
2c0be0d
arm64: dts: Add Hi6220 mtcmos regulator node
Sep 19, 2015
ebd069d
hisilicon: gpio: add gpio dts and enable gipo driver
Sep 23, 2015
4d5afd8
hisilicon: pinctrl: add pinctrl dts and enable pinctrl driver
Sep 23, 2015
06d4c62
hisilicon: iic: add iic dts and enable iic driver
Sep 23, 2015
3cbfd44
hisilicon: uart: add uart3 dts and enable uart3
Sep 23, 2015
253a8dc
Merge pull request #126 from 96boards/tracking-hikey-gpio
docularxu Oct 20, 2015
ef7a785
Merge pull request #127 from 96boards/tracking-hikey-pin
docularxu Oct 20, 2015
9322816
Merge branch 'hikey-mainline-rebase' into tracking-hikey-pmu
docularxu Oct 20, 2015
d06acae
Merge branch 'tracking-hikey-pmu' into hikey-mainline-rebase
docularxu Oct 20, 2015
da4be4b
clk: Hi6220: reset mmc clocks upon initialization
docularxu Oct 20, 2015
4f3883f
arm64: dts: add dw_mmc nodes for hikey
docularxu Oct 20, 2015
9033ec8
defconfig: hikey: enable and set config items
docularxu Oct 20, 2015
98a1479
Merge pull request #129 from 96boards/tracking-hikey-merge-misc
docularxu Oct 20, 2015
5b7b17f
misc: hi6220: Add driver to config some device host chips resided on …
Feb 5, 2015
82b9719
misc: disable the reset of microSD and SDIO controller
wrsbwang Jan 20, 2015
bc6563c
misc: hi6220: enable PMIC clock output CK32B
docularxu Jan 30, 2015
73373d8
wlcore: make reg_ch_conf_last and _pending 64bit aligned
docularxu Dec 29, 2014
e7db6c9
dts: hikey: add nodes for dwmmc2 and wlcore
docularxu Aug 17, 2015
b9819e5
defconfig: enable configs for TI WL1835
docularxu Sep 1, 2015
75c4eee
Merge pull request #130 from 96boards/tracking-hikey-wifi
docularxu Oct 21, 2015
5e6a45e
usb: dwc2: platform: add hi6220 support
zhangfeigao Jan 23, 2015
25a525d
usb: phy: add phy-hi6220-usb
zhangfeigao Oct 13, 2015
ab87c48
dts: hikey: add usb
zhangfeigao Oct 23, 2015
e2b09f2
defconfig: add usb
zhangfeigao Oct 23, 2015
b307947
usb: dwc2: put irq later
zhangfeigao Oct 23, 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
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>;
};
80 changes: 80 additions & 0 deletions Documentation/devicetree/bindings/mfd/hisilicon,hi655x.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
Hisilicon hi655x Power Management Integrated Circuit (PMIC)

hi655x consists of a large and varied group of sub-devices:

Device Supply Names Description
------ ------------ -----------
hi655x-powerkey : : Powerkey
hi655x-regulator-pmic : : Regulators
hi655x-usbvbus : : USB plug detection
hi655x-pmu-rtc : : RTC
hi655x-coul : : Coulomb

Required properties:
- compatible : Should be "hisilicon,hi655x-pmic-driver"
- reg: Base address of PMIC on hi6220 soc
- #interrupt-cells: Should be 2, is the local IRQ number for hi655x.
- interrupt-controller: hi655x has internal IRQs (has own IRQ domain).
- pmu_irq_gpio: should be &gpio_pmu_irq_n, is the IRQ gpio of hi655x.

Example:
pmic: pmic@F8000000 {
compatible = "hisilicon,hi655x-pmic-driver";
reg = <0x0 0xF8000000 0x0 0x1000>;
#interrupt-cells = <2>;
interrupt-controller;
pmu_irq_gpio = <&gpio_pmu_irq_n>;
status = "ok";

ponkey:ponkey@b1{
compatible = "hisilicon,hi655x-powerkey";
interrupt-parent = <&pmic>;
interrupts = <6 0>, <5 0>, <4 0>;
interrupt-names = "down", "up", "hold 1s";
};

coul: coul@1 {
compatible = "hisilicon,hi655x-coul";
interrupt-parent = <&pmic>;
interrupts = <24 0>, <25 0>, <26 0>, <27 0>;
interrupt-names = "cl_int_i", "cl_out_i", "cl_in_i", "vbat_int_i";
battery_product_index = <0>;
status = "ok";
};

rtc: rtc@1 {
compatible = "hisilicon,hi655x-pmu-rtc";
interrupt-parent = <&pmic>;
interrupts = <20 0>;
interrupt-names = "hi655x_pmu_rtc";
board_id = <1>;
};

usbvbus:usbvbus@b2{
compatible = "hisilicon,hi655x-usbvbus";
interrupt-parent = <&pmic>;
interrupts = <9 0>, <8 0>;
interrupt-names = "connect", "disconnect";
};

ldo2: regulator@a21 {
compatible = "hisilicon,hi655x-regulator-pmic";
regulator-name = "ldo2";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3200000>;
hisilicon,valid-modes-mask = <0x02>;
hisilicon,valid-ops-mask = <0x01d>;
hisilicon,initial-mode = <0x02>;
hisilicon,regulator-type = <0x01>;

hisilicon,off-on-delay = <120>;
hisilicon,ctrl-regs = <0x029 0x02a 0x02b>;
hisilicon,ctrl-data = <0x1 0x1>;
hisilicon,vset-regs = <0x072>;
hisilicon,vset-data = <0 0x3>;
hisilicon,regulator-n-vol = <8>;
hisilicon,vset-table = <2500000>,<2600000>,<2700000>,<2800000>,<2900000>,<3000000>,<3100000>,<3200000>;
hisilicon,num_consumer_supplies = <1>;
hisilicon,consumer-supplies = "sensor_analog";
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
Hi6220 mtcmos Voltage regulators

Required parent device properties:
- compatible: Must be "hisilicon,hi6220-mtcmos-driver"
- hisilicon,mtcmos-steady-us: The time to wait for power steady
- hisilicon,mtcmos-sc-on-base: address of hi6220 soc control register

Required child device properties:
- regulator-name: The name of mtcmos
- hisilicon,ctrl-regs: offset of ctrl-regs
- hisilicon,ctrl-data: the bit to ctrl the regulator

Example:
mtcmos {
compatible = "hisilicon,hi6220-mtcmos-driver";
hisilicon,mtcmos-steady-us = <10>;
hisilicon,mtcmos-sc-on-base = <0xf7800000>;
hisilicon,mtcmos-acpu-on-base = <0xf65a0000>;

mtcmos1: regulator@a1{
regulator-name = "G3D_PD_VDD";
regulator-compatible = "mtcmos1";
hisilicon,ctrl-regs = <0x830 0x834 0x83c>;
hisilicon,ctrl-data = <1 0x1>;
};
mtcmos2: regulator@a2{
regulator-name = "SOC_MED";
regulator-compatible = "mtcmos2";
hisilicon,ctrl-regs = <0x830 0x834 0x83c>;
hisilicon,ctrl-data = <2 0x1>;
};
};
2 changes: 2 additions & 0 deletions arch/arm64/Kconfig.platforms
Original file line number Diff line number Diff line change
@@ -35,6 +35,8 @@ config ARCH_FSL_LS2085A

config ARCH_HISI
bool "Hisilicon SoC Family"
select ARM_TIMER_SP804
select HI6220_SYSCFG
help
This enables support for Hisilicon ARMv8 SoC family

19 changes: 15 additions & 4 deletions arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
Original file line number Diff line number Diff line change
@@ -7,9 +7,8 @@

/dts-v1/;

/*Reserved 1MB memory for MCU*/
/memreserve/ 0x05e00000 0x00100000;

#include "hikey-gpio.dtsi"
#include "hikey-pinctrl.dtsi"
#include "hi6220.dtsi"

/ {
@@ -18,14 +17,26 @@

aliases {
serial0 = &uart0;
serial3 = &uart3;
};

chosen {
stdout-path = "serial0:115200n8";
};

/*
* Reserve below regions from memory node:
*
* - 0x05e0,0000 - 0x05ef,ffff: MCU firmware runtime using
* - 0x06df,f000 - 0x06df,ffff: Mailbox message data
* - 0x0740,f000 - 0x0740,ffff: MCU firmware section
* - 0x3e00,0000 - 0x3fff,ffff: OP-TEE
*/
memory@0 {
device_type = "memory";
reg = <0x0 0x0 0x0 0x40000000>;
reg = <0x00000000 0x00000000 0x00000000 0x05e00000>,
<0x00000000 0x05f00000 0x00000000 0x00eff000>,
<0x00000000 0x06e00000 0x00000000 0x0060f000>,
<0x00000000 0x07410000 0x00000000 0x36bf0000>;
};
};
Loading