devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Leo Yan <leo.yan@linaro.org>
To: Kevin Hilman <khilman@linaro.org>
Cc: Brent Wang <wangbintian@gmail.com>,
	Mark Rutland <mark.rutland@arm.com>,
	"dan.zhao@hisilicon.com" <dan.zhao@hisilicon.com>,
	"btw@mail.itp.ac.cn" <btw@mail.itp.ac.cn>,
	Catalin Marinas <catalin.marinas@arm.com>,
	"wangbinghui@hisilicon.com" <wangbinghui@hisilicon.com>,
	Will Deacon <will.deacon@arm.com>,
	"huxinwei@huawei.com" <huxinwei@huawei.com>,
	Haojian Zhuang <haojian.zhuang@linaro.org>,
	Haifeng Yan <yanhaifeng@gmail.com>,
	Rob Herring <rob.herring@linaro.org>,
	Mike Turquette <mturquette@linaro.org>,
	Arnd Bergmann <arnd@arndb.de>,
	"victor.lixin@hisilicon.com" <victor.lixin@hisilicon.com>,
	Xu Wei <xuwei5@hisilicon.com>,
	Jaehoon Chung <jh80.chung@samsung.com>,
	"sledge.yanwei@huawei.com" <sledge.yanwei@huawei.com>,
	XinWei Kong <kong.kongxinwei@hisilicon.com>,
	"heyunlei@huawei.com" <heyunlei@huawei.com>,
	"puck.chen@hisilicon.com" <puck.chen@hisilicon.com>,
	Zhangfei
Subject: Re: [PATCH v5 0/6] arm64,hi6220: Enable Hisilicon Hi6220 SoC
Date: Tue, 12 May 2015 11:05:42 +0800	[thread overview]
Message-ID: <20150512030542.GA5889@leoy-linaro> (raw)
In-Reply-To: <CAGa+x85QDAzP_8_rPF3H0KpXO9rR2OhzYnMnAFydmBMicDzmEw@mail.gmail.com>

hi Kevin,

On Mon, May 11, 2015 at 05:20:54PM -0700, Kevin Hilman wrote:
> On Thu, May 7, 2015 at 4:11 PM, Brent Wang <wangbintian@gmail.com> wrote:
> > Hello Kevin,
> >
> > 2015-05-08 4:30 GMT+08:00 Kevin Hilman <khilman@linaro.org>:
> >> Bintian Wang <bintian.wang@huawei.com> writes:
> >>
> >>> Hi6220 is one mobile solution of Hisilicon, this patchset contains
> >>> initial support for Hi6220 SoC and HiKey development board, which
> >>> supports octal ARM Cortex A53 cores. Initial support is minimal and
> >>> includes just the arch configuration, clock driver, device tree
> >>> configuration.
> >>>
> >>> PSCI is enabled in device tree and there is no problem to boot all the
> >>> octal cores, and the CPU hotplug is also working now, you can download
> >>> and compile the latest firmware based on the following link to run this
> >>> patch set:
> >>> https://github.com/96boards/documentation/wiki/UEFI
> >>
> >> Do you have any tips for booting this using the HiSi bootloader?  It
> >> seems that I need to add the magic hisi,boardid property for dtbTool to
> >> work.  Could you share what that magic value is?
> > Yes, you need it.
> > Hisilicon has many different development boards and those boards have some
> > different hardware configuration, so we need different device tree
> > files for them.
> > the original hisi,boardid is used to distinguish different boards and
> > used by the
> > bootloader to judge which device tree to use at boot-up.
> >
> >> and maybe add it to the wiki someplace?
> > Maybe add to section "Known Issues" in
> > "https://github.com/96boards/documentation/wiki/UEFI"
> > is a good choice, I will update this section later.
> 
> You updated the wiki, but you didn't specify what the value should be
> for this to work with the old bootloader.
> 
> Can you please give the value of that property?
> 
> Also, have you tested this series with the old bootloader as well?

Below are my testing result w/t Bintian's patches and Hisilicon old
bootloader:
- Need add property "hisi,boardid" into dts;
- Need change cpu enable-method from "psci" to "spin-table";
- The bootloader has not initialized register *cntfrq_el0* so will
  introduce the failure during init arch timer.

For init cntfrq_el0, we need fix this issue in Hisilicon's old
bootloader, rather than directly add "clock-frequency" for arch
timer's node in DTS. i will try to commit one patch for fix this
issue for Hisilicon's old bootloader.

So i think upper issues mainly are introduced by Hisilicon's old
bootloader but not come from Bintian's patches. How about u think for
this?

Below is my local diff which is used to compatible w/t Hisilicon's
old bootloader; Just for your reference.

Thanks,
Leo Yan

---8<---

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
index e36a539..fd1f89e 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
@@ -14,6 +14,7 @@
 
 / {
 	model = "HiKey Development Board";
+	hisi,boardid = <0 0 4 3>;
 	compatible = "hisilicon,hi6220-hikey", "hisilicon,hi6220";
 
 	aliases {
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index 229937f..8ade3d9 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
@@ -13,11 +13,6 @@
 	#address-cells = <2>;
 	#size-cells = <2>;
 
-	psci {
-		compatible = "arm,psci-0.2";
-		method = "smc";
-	};
-
 	cpus {
 		#address-cells = <2>;
 		#size-cells = <0>;
@@ -57,56 +52,64 @@
 			compatible = "arm,cortex-a53", "arm,armv8";
 			device_type = "cpu";
 			reg = <0x0 0x0>;
-			enable-method = "psci";
+			enable-method = "spin-table";
+			cpu-release-addr = <0x0 0x740fff8>;
 		};
 
 		cpu1: cpu@1 {
 			compatible = "arm,cortex-a53", "arm,armv8";
 			device_type = "cpu";
 			reg = <0x0 0x1>;
-			enable-method = "psci";
+			enable-method = "spin-table";
+			cpu-release-addr = <0x0 0x740fff8>;
 		};
 
 		cpu2: cpu@2 {
 			compatible = "arm,cortex-a53", "arm,armv8";
 			device_type = "cpu";
 			reg = <0x0 0x2>;
-			enable-method = "psci";
+			enable-method = "spin-table";
+			cpu-release-addr = <0x0 0x740fff8>;
 		};
 
 		cpu3: cpu@3 {
 			compatible = "arm,cortex-a53", "arm,armv8";
 			device_type = "cpu";
 			reg = <0x0 0x3>;
-			enable-method = "psci";
+			enable-method = "spin-table";
+			cpu-release-addr = <0x0 0x740fff8>;
 		};
 
 		cpu4: cpu@100 {
 			compatible = "arm,cortex-a53", "arm,armv8";
 			device_type = "cpu";
 			reg = <0x0 0x100>;
-			enable-method = "psci";
+			enable-method = "spin-table";
+			cpu-release-addr = <0x0 0x740fff8>;
 		};
 
 		cpu5: cpu@101 {
 			compatible = "arm,cortex-a53", "arm,armv8";
 			device_type = "cpu";
 			reg = <0x0 0x101>;
-			enable-method = "psci";
+			enable-method = "spin-table";
+			cpu-release-addr = <0x0 0x740fff8>;
 		};
 
 		cpu6: cpu@102 {
 			compatible = "arm,cortex-a53", "arm,armv8";
 			device_type = "cpu";
 			reg = <0x0 0x102>;
-			enable-method = "psci";
+			enable-method = "spin-table";
+			cpu-release-addr = <0x0 0x740fff8>;
 		};
 
 		cpu7: cpu@103 {
 			compatible = "arm,cortex-a53", "arm,armv8";
 			device_type = "cpu";
 			reg = <0x0 0x103>;
-			enable-method = "psci";
+			enable-method = "spin-table";
+			cpu-release-addr = <0x0 0x740fff8>;
 		};
 	};
 
@@ -129,6 +132,7 @@
 			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
 			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
 			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
+		clock-frequency = <1200000>;
 	};
 
 	soc {

  reply	other threads:[~2015-05-12  3:05 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-07 14:00 [PATCH v5 0/6] arm64,hi6220: Enable Hisilicon Hi6220 SoC Bintian Wang
     [not found] ` <1431007225-8513-1-git-send-email-bintian.wang-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-05-07 14:00   ` [PATCH v5 1/6] arm64: Enable Hisilicon ARMv8 SoC family in Kconfig and defconfig Bintian Wang
2015-05-07 14:00   ` [PATCH v5 2/6] arm64: hi6220: Document devicetree bindings for Hisilicon hi6220 SoC Bintian Wang
2015-05-07 14:00   ` [PATCH v5 4/6] Documentation: DT: PL011: hi6220: add compatible string for Hisilicon designed UART Bintian Wang
2015-05-07 14:00   ` [PATCH v5 6/6] arm64: dts: Add dts files for Hisilicon Hi6220 SoC Bintian Wang
2015-05-28 16:48   ` [PATCH v5 0/6] arm64,hi6220: Enable " Kevin Hilman
2015-05-07 14:00 ` [PATCH v5 3/6] clk: hi6220: Document devicetree bindings for hi6220 clock Bintian Wang
2015-05-07 14:00 ` [PATCH v5 5/6] clk: hi6220: Clock driver support for Hisilicon hi6220 SoC Bintian Wang
2015-05-07 14:20 ` [PATCH v5 0/6] arm64,hi6220: Enable Hisilicon Hi6220 SoC Bintian
2015-05-07 20:30 ` Kevin Hilman
2015-05-07 23:11   ` Brent Wang
2015-05-12  0:20     ` Kevin Hilman
2015-05-12  3:05       ` Leo Yan [this message]
2015-05-12  5:06         ` Bintian
2015-05-13 10:28 ` Bintian
2015-05-13 10:32   ` Wei Xu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150512030542.GA5889@leoy-linaro \
    --to=leo.yan@linaro.org \
    --cc=arnd@arndb.de \
    --cc=btw@mail.itp.ac.cn \
    --cc=catalin.marinas@arm.com \
    --cc=dan.zhao@hisilicon.com \
    --cc=haojian.zhuang@linaro.org \
    --cc=heyunlei@huawei.com \
    --cc=huxinwei@huawei.com \
    --cc=jh80.chung@samsung.com \
    --cc=khilman@linaro.org \
    --cc=kong.kongxinwei@hisilicon.com \
    --cc=mark.rutland@arm.com \
    --cc=mturquette@linaro.org \
    --cc=puck.chen@hisilicon.com \
    --cc=rob.herring@linaro.org \
    --cc=sledge.yanwei@huawei.com \
    --cc=victor.lixin@hisilicon.com \
    --cc=wangbinghui@hisilicon.com \
    --cc=wangbintian@gmail.com \
    --cc=will.deacon@arm.com \
    --cc=xuwei5@hisilicon.com \
    --cc=yanhaifeng@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).