All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-03  2:42 ` Jiancheng Xue
  0 siblings, 0 replies; 22+ messages in thread
From: Jiancheng Xue @ 2015-12-03  2:42 UTC (permalink / raw)
  To: linux, khilman, arnd, olof, xuwei5, haojian.zhuang, zhangfei.gao,
	bintian.wang
  Cc: linux-arm-kernel, linux-kernel, yanhaifeng, yanghongwei,
	suwenping, ml.yang, gaofei, Jiancheng Xue

Hi3519 SOC is mainly used for ip camera and sport dv
solutions.

Signed-off-by: Jiancheng Xue <xuejiancheng@huawei.com>
---
 arch/arm/mach-hisi/Kconfig     | 9 +++++++++
 arch/arm/mach-hisi/hisilicon.c | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/arch/arm/mach-hisi/Kconfig b/arch/arm/mach-hisi/Kconfig
index 83061ad..bc5b873 100644
--- a/arch/arm/mach-hisi/Kconfig
+++ b/arch/arm/mach-hisi/Kconfig
@@ -12,6 +12,14 @@ if ARCH_HISI
 
 menu "Hisilicon platform type"
 
+config ARCH_HI3519
+	bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
+	select HAVE_ARM_ARCH_TIMER
+	select ARCH_HAS_RESET_CONTROLLER
+
+	help
+	  Support for Hisilicon Hi3519 Soc
+
 config ARCH_HI3xxx
 	bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
 	select CACHE_L2X0
@@ -48,6 +56,7 @@ config ARCH_HIX5HD2
 	select PINCTRL_SINGLE
 	help
 	  Support for Hisilicon HIX5HD2 SoC family
+
 endmenu
 
 endif
diff --git a/arch/arm/mach-hisi/hisilicon.c b/arch/arm/mach-hisi/hisilicon.c
index 8cc6215..a93ac5c 100644
--- a/arch/arm/mach-hisi/hisilicon.c
+++ b/arch/arm/mach-hisi/hisilicon.c
@@ -81,3 +81,12 @@ static const char *const hip01_compat[] __initconst = {
 DT_MACHINE_START(HIP01, "Hisilicon HIP01 (Flattened Device Tree)")
 	.dt_compat      = hip01_compat,
 MACHINE_END
+
+static const char *const hi3519_compat[] __initconst = {
+	"hisilicon,hi3519",
+	NULL,
+};
+
+DT_MACHINE_START(HI3519_DT, "Hisilicon Hi3519 (Flattened Device Tree)")
+	.dt_compat	= hi3519_compat,
+MACHINE_END
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-03  2:42 ` Jiancheng Xue
  0 siblings, 0 replies; 22+ messages in thread
From: Jiancheng Xue @ 2015-12-03  2:42 UTC (permalink / raw)
  To: linux-arm-kernel

Hi3519 SOC is mainly used for ip camera and sport dv
solutions.

Signed-off-by: Jiancheng Xue <xuejiancheng@huawei.com>
---
 arch/arm/mach-hisi/Kconfig     | 9 +++++++++
 arch/arm/mach-hisi/hisilicon.c | 9 +++++++++
 2 files changed, 18 insertions(+)

diff --git a/arch/arm/mach-hisi/Kconfig b/arch/arm/mach-hisi/Kconfig
index 83061ad..bc5b873 100644
--- a/arch/arm/mach-hisi/Kconfig
+++ b/arch/arm/mach-hisi/Kconfig
@@ -12,6 +12,14 @@ if ARCH_HISI
 
 menu "Hisilicon platform type"
 
+config ARCH_HI3519
+	bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
+	select HAVE_ARM_ARCH_TIMER
+	select ARCH_HAS_RESET_CONTROLLER
+
+	help
+	  Support for Hisilicon Hi3519 Soc
+
 config ARCH_HI3xxx
 	bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
 	select CACHE_L2X0
@@ -48,6 +56,7 @@ config ARCH_HIX5HD2
 	select PINCTRL_SINGLE
 	help
 	  Support for Hisilicon HIX5HD2 SoC family
+
 endmenu
 
 endif
diff --git a/arch/arm/mach-hisi/hisilicon.c b/arch/arm/mach-hisi/hisilicon.c
index 8cc6215..a93ac5c 100644
--- a/arch/arm/mach-hisi/hisilicon.c
+++ b/arch/arm/mach-hisi/hisilicon.c
@@ -81,3 +81,12 @@ static const char *const hip01_compat[] __initconst = {
 DT_MACHINE_START(HIP01, "Hisilicon HIP01 (Flattened Device Tree)")
 	.dt_compat      = hip01_compat,
 MACHINE_END
+
+static const char *const hi3519_compat[] __initconst = {
+	"hisilicon,hi3519",
+	NULL,
+};
+
+DT_MACHINE_START(HI3519_DT, "Hisilicon Hi3519 (Flattened Device Tree)")
+	.dt_compat	= hi3519_compat,
+MACHINE_END
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-03  2:42 ` Jiancheng Xue
@ 2015-12-03  9:40   ` Arnd Bergmann
  -1 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-03  9:40 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Jiancheng Xue, linux, khilman, olof, xuwei5, haojian.zhuang,
	zhangfei.gao, bintian.wang, suwenping, linux-kernel, yanhaifeng,
	gaofei, ml.yang, yanghongwei

On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
> --- a/arch/arm/mach-hisi/Kconfig
> +++ b/arch/arm/mach-hisi/Kconfig
> @@ -12,6 +12,14 @@ if ARCH_HISI
>  
>  menu "Hisilicon platform type"
>  
> +config ARCH_HI3519
> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
> +       select HAVE_ARM_ARCH_TIMER
> +       select ARCH_HAS_RESET_CONTROLLER
> +
> +       help
> +         Support for Hisilicon Hi3519 Soc
> +
>  config ARCH_HI3xxx
>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>         select CACHE_L2X0

Do those need to be separate? I would just extend the Hi36xx
to cover all Hi3xxx, if nothing in the platform code really
depends on this.

> +
> +static const char *const hi3519_compat[] __initconst = {
> +       "hisilicon,hi3519",
> +       NULL,
> +};
> +
> +DT_MACHINE_START(HI3519_DT, "Hisilicon Hi3519 (Flattened Device Tree)")
> +       .dt_compat      = hi3519_compat,
> +MACHINE_END

Also drop the "(Flattened Device Tree)" part of the name, we don't
support any other kind anyway.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-03  9:40   ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-03  9:40 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
> --- a/arch/arm/mach-hisi/Kconfig
> +++ b/arch/arm/mach-hisi/Kconfig
> @@ -12,6 +12,14 @@ if ARCH_HISI
>  
>  menu "Hisilicon platform type"
>  
> +config ARCH_HI3519
> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
> +       select HAVE_ARM_ARCH_TIMER
> +       select ARCH_HAS_RESET_CONTROLLER
> +
> +       help
> +         Support for Hisilicon Hi3519 Soc
> +
>  config ARCH_HI3xxx
>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>         select CACHE_L2X0

Do those need to be separate? I would just extend the Hi36xx
to cover all Hi3xxx, if nothing in the platform code really
depends on this.

> +
> +static const char *const hi3519_compat[] __initconst = {
> +       "hisilicon,hi3519",
> +       NULL,
> +};
> +
> +DT_MACHINE_START(HI3519_DT, "Hisilicon Hi3519 (Flattened Device Tree)")
> +       .dt_compat      = hi3519_compat,
> +MACHINE_END

Also drop the "(Flattened Device Tree)" part of the name, we don't
support any other kind anyway.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-03  9:40   ` Arnd Bergmann
@ 2015-12-04  4:07     ` xuejiancheng
  -1 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-04  4:07 UTC (permalink / raw)
  To: Arnd Bergmann, linux-arm-kernel
  Cc: linux, khilman, olof, xuwei5, haojian.zhuang, zhangfei.gao,
	bintian.wang, suwenping, linux-kernel, yanhaifeng, gaofei,
	ml.yang, yanghongwei

Hi Arnd,

On 2015/12/3 17:40, Arnd Bergmann wrote:
> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
>> --- a/arch/arm/mach-hisi/Kconfig
>> +++ b/arch/arm/mach-hisi/Kconfig
>> @@ -12,6 +12,14 @@ if ARCH_HISI
>>  
>>  menu "Hisilicon platform type"
>>  
>> +config ARCH_HI3519
>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
>> +       select HAVE_ARM_ARCH_TIMER
>> +       select ARCH_HAS_RESET_CONTROLLER
>> +
>> +       help
>> +         Support for Hisilicon Hi3519 Soc
>> +
>>  config ARCH_HI3xxx
>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>>         select CACHE_L2X0
> 
> Do those need to be separate? I would just extend the Hi36xx
> to cover all Hi3xxx, if nothing in the platform code really
> depends on this.

For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
belong to different product lines in hisilicon. HI35xx family also composes of various
architectures socs(single core, smp and big-little). So I think it may be clear to have
separate arch definitions.

Could you give me more suggestions about this?  Thank you!

>> +
>> +static const char *const hi3519_compat[] __initconst = {
>> +       "hisilicon,hi3519",
>> +       NULL,
>> +};
>> +
>> +DT_MACHINE_START(HI3519_DT, "Hisilicon Hi3519 (Flattened Device Tree)")
>> +       .dt_compat      = hi3519_compat,
>> +MACHINE_END
> 
> Also drop the "(Flattened Device Tree)" part of the name, we don't
> support any other kind anyway.

OK.

> 
> 	Arnd
> 
> .
> 


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-04  4:07     ` xuejiancheng
  0 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-04  4:07 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Arnd,

On 2015/12/3 17:40, Arnd Bergmann wrote:
> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
>> --- a/arch/arm/mach-hisi/Kconfig
>> +++ b/arch/arm/mach-hisi/Kconfig
>> @@ -12,6 +12,14 @@ if ARCH_HISI
>>  
>>  menu "Hisilicon platform type"
>>  
>> +config ARCH_HI3519
>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
>> +       select HAVE_ARM_ARCH_TIMER
>> +       select ARCH_HAS_RESET_CONTROLLER
>> +
>> +       help
>> +         Support for Hisilicon Hi3519 Soc
>> +
>>  config ARCH_HI3xxx
>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>>         select CACHE_L2X0
> 
> Do those need to be separate? I would just extend the Hi36xx
> to cover all Hi3xxx, if nothing in the platform code really
> depends on this.

For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
belong to different product lines in hisilicon. HI35xx family also composes of various
architectures socs(single core, smp and big-little). So I think it may be clear to have
separate arch definitions.

Could you give me more suggestions about this?  Thank you!

>> +
>> +static const char *const hi3519_compat[] __initconst = {
>> +       "hisilicon,hi3519",
>> +       NULL,
>> +};
>> +
>> +DT_MACHINE_START(HI3519_DT, "Hisilicon Hi3519 (Flattened Device Tree)")
>> +       .dt_compat      = hi3519_compat,
>> +MACHINE_END
> 
> Also drop the "(Flattened Device Tree)" part of the name, we don't
> support any other kind anyway.

OK.

> 
> 	Arnd
> 
> .
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-04  4:07     ` xuejiancheng
@ 2015-12-04 21:54       ` Arnd Bergmann
  -1 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-04 21:54 UTC (permalink / raw)
  To: xuejiancheng
  Cc: linux-arm-kernel, linux, khilman, olof, xuwei5, haojian.zhuang,
	zhangfei.gao, bintian.wang, suwenping, linux-kernel, yanhaifeng,
	gaofei, ml.yang, yanghongwei

On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
> On 2015/12/3 17:40, Arnd Bergmann wrote:
> > On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
> >> --- a/arch/arm/mach-hisi/Kconfig
> >> +++ b/arch/arm/mach-hisi/Kconfig
> >> @@ -12,6 +12,14 @@ if ARCH_HISI
> >>  
> >>  menu "Hisilicon platform type"
> >>  
> >> +config ARCH_HI3519
> >> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
> >> +       select HAVE_ARM_ARCH_TIMER
> >> +       select ARCH_HAS_RESET_CONTROLLER
> >> +
> >> +       help
> >> +         Support for Hisilicon Hi3519 Soc
> >> +
> >>  config ARCH_HI3xxx
> >>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
> >>         select CACHE_L2X0
> > 
> > Do those need to be separate? I would just extend the Hi36xx
> > to cover all Hi3xxx, if nothing in the platform code really
> > depends on this.
> 
> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
> belong to different product lines in hisilicon. HI35xx family also composes of various
> architectures socs(single core, smp and big-little). So I think it may be clear to have
> separate arch definitions.
> 
> Could you give me more suggestions about this?  Thank you!

For the most part, you already need to enable the device drivers for the
specific components on each chip, and the per-soc top-level options here
don't actually control the compilation of any particular code.

This is slightly different for some of the older platforms that for historic
reasons need fine-grained options. You could probably just make the device
drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
of classification is ok, in particular when the chips are not related at all.

In this case, my impression is that while HI3519 and HI36xx are made
by different business units, there is still a noticeable amount of shared
IP in them (e.g. the "sysctrl" node that seems to be shared with some of
the other chips as well), so grouping them together should make sense.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-04 21:54       ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-04 21:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
> On 2015/12/3 17:40, Arnd Bergmann wrote:
> > On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
> >> --- a/arch/arm/mach-hisi/Kconfig
> >> +++ b/arch/arm/mach-hisi/Kconfig
> >> @@ -12,6 +12,14 @@ if ARCH_HISI
> >>  
> >>  menu "Hisilicon platform type"
> >>  
> >> +config ARCH_HI3519
> >> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
> >> +       select HAVE_ARM_ARCH_TIMER
> >> +       select ARCH_HAS_RESET_CONTROLLER
> >> +
> >> +       help
> >> +         Support for Hisilicon Hi3519 Soc
> >> +
> >>  config ARCH_HI3xxx
> >>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
> >>         select CACHE_L2X0
> > 
> > Do those need to be separate? I would just extend the Hi36xx
> > to cover all Hi3xxx, if nothing in the platform code really
> > depends on this.
> 
> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
> belong to different product lines in hisilicon. HI35xx family also composes of various
> architectures socs(single core, smp and big-little). So I think it may be clear to have
> separate arch definitions.
> 
> Could you give me more suggestions about this?  Thank you!

For the most part, you already need to enable the device drivers for the
specific components on each chip, and the per-soc top-level options here
don't actually control the compilation of any particular code.

This is slightly different for some of the older platforms that for historic
reasons need fine-grained options. You could probably just make the device
drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
of classification is ok, in particular when the chips are not related at all.

In this case, my impression is that while HI3519 and HI36xx are made
by different business units, there is still a noticeable amount of shared
IP in them (e.g. the "sysctrl" node that seems to be shared with some of
the other chips as well), so grouping them together should make sense.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-04 21:54       ` Arnd Bergmann
@ 2015-12-07  6:58         ` xuejiancheng
  -1 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-07  6:58 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, linux, khilman, olof, xuwei5, haojian.zhuang,
	zhangfei.gao, bintian.wang, suwenping, linux-kernel, yanhaifeng,
	gaofei, ml.yang, yanghongwei

Hi Arnd,

On 2015/12/5 5:54, Arnd Bergmann wrote:
> On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
>> On 2015/12/3 17:40, Arnd Bergmann wrote:
>>> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
>>>> --- a/arch/arm/mach-hisi/Kconfig
>>>> +++ b/arch/arm/mach-hisi/Kconfig
>>>> @@ -12,6 +12,14 @@ if ARCH_HISI
>>>>  
>>>>  menu "Hisilicon platform type"
>>>>  
>>>> +config ARCH_HI3519
>>>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
>>>> +       select HAVE_ARM_ARCH_TIMER
>>>> +       select ARCH_HAS_RESET_CONTROLLER
>>>> +
>>>> +       help
>>>> +         Support for Hisilicon Hi3519 Soc
>>>> +
>>>>  config ARCH_HI3xxx
>>>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>>>>         select CACHE_L2X0
>>>
>>> Do those need to be separate? I would just extend the Hi36xx
>>> to cover all Hi3xxx, if nothing in the platform code really
>>> depends on this.
>>
>> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
>> belong to different product lines in hisilicon. HI35xx family also composes of various
>> architectures socs(single core, smp and big-little). So I think it may be clear to have
>> separate arch definitions.
>>
>> Could you give me more suggestions about this?  Thank you!
> 
> For the most part, you already need to enable the device drivers for the
> specific components on each chip, and the per-soc top-level options here
> don't actually control the compilation of any particular code.
> 
> This is slightly different for some of the older platforms that for historic
> reasons need fine-grained options. You could probably just make the device
> drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
> of classification is ok, in particular when the chips are not related at all.
> 
> In this case, my impression is that while HI3519 and HI36xx are made
> by different business units, there is still a noticeable amount of shared
> IP in them (e.g. the "sysctrl" node that seems to be shared with some of
> the other chips as well), so grouping them together should make sense.

HI35xx and HI36xx are designed totally independently, including IP selection.
The relation between HI35xx and HI36xx is just like the one between HI36xx
and HIP0x. In another word, HI35xx and HI36xx are not related except they all
belong to hisilicon. So I don't think it's proper to group them together.

Is it OK if I drop ARCH_HI3519 and use ARCH_HISI directly?

> 
> 	Arnd
> 
> .
> 


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-07  6:58         ` xuejiancheng
  0 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-07  6:58 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Arnd,

On 2015/12/5 5:54, Arnd Bergmann wrote:
> On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
>> On 2015/12/3 17:40, Arnd Bergmann wrote:
>>> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
>>>> --- a/arch/arm/mach-hisi/Kconfig
>>>> +++ b/arch/arm/mach-hisi/Kconfig
>>>> @@ -12,6 +12,14 @@ if ARCH_HISI
>>>>  
>>>>  menu "Hisilicon platform type"
>>>>  
>>>> +config ARCH_HI3519
>>>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
>>>> +       select HAVE_ARM_ARCH_TIMER
>>>> +       select ARCH_HAS_RESET_CONTROLLER
>>>> +
>>>> +       help
>>>> +         Support for Hisilicon Hi3519 Soc
>>>> +
>>>>  config ARCH_HI3xxx
>>>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>>>>         select CACHE_L2X0
>>>
>>> Do those need to be separate? I would just extend the Hi36xx
>>> to cover all Hi3xxx, if nothing in the platform code really
>>> depends on this.
>>
>> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
>> belong to different product lines in hisilicon. HI35xx family also composes of various
>> architectures socs(single core, smp and big-little). So I think it may be clear to have
>> separate arch definitions.
>>
>> Could you give me more suggestions about this?  Thank you!
> 
> For the most part, you already need to enable the device drivers for the
> specific components on each chip, and the per-soc top-level options here
> don't actually control the compilation of any particular code.
> 
> This is slightly different for some of the older platforms that for historic
> reasons need fine-grained options. You could probably just make the device
> drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
> of classification is ok, in particular when the chips are not related at all.
> 
> In this case, my impression is that while HI3519 and HI36xx are made
> by different business units, there is still a noticeable amount of shared
> IP in them (e.g. the "sysctrl" node that seems to be shared with some of
> the other chips as well), so grouping them together should make sense.

HI35xx and HI36xx are designed totally independently, including IP selection.
The relation between HI35xx and HI36xx is just like the one between HI36xx
and HIP0x. In another word, HI35xx and HI36xx are not related except they all
belong to hisilicon. So I don't think it's proper to group them together.

Is it OK if I drop ARCH_HI3519 and use ARCH_HISI directly?

> 
> 	Arnd
> 
> .
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-07  6:58         ` xuejiancheng
@ 2015-12-07  9:46           ` Arnd Bergmann
  -1 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-07  9:46 UTC (permalink / raw)
  To: xuejiancheng
  Cc: linux-arm-kernel, linux, khilman, olof, xuwei5, haojian.zhuang,
	zhangfei.gao, bintian.wang, suwenping, linux-kernel, yanhaifeng,
	gaofei, ml.yang, yanghongwei

On Monday 07 December 2015 14:58:14 xuejiancheng wrote:
> On 2015/12/5 5:54, Arnd Bergmann wrote:
> > On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
> >> On 2015/12/3 17:40, Arnd Bergmann wrote:
> >>> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
> >>>> --- a/arch/arm/mach-hisi/Kconfig
> >>>> +++ b/arch/arm/mach-hisi/Kconfig
> >>>> @@ -12,6 +12,14 @@ if ARCH_HISI
> >>>>  
> >>>>  menu "Hisilicon platform type"
> >>>>  
> >>>> +config ARCH_HI3519
> >>>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
> >>>> +       select HAVE_ARM_ARCH_TIMER
> >>>> +       select ARCH_HAS_RESET_CONTROLLER
> >>>> +
> >>>> +       help
> >>>> +         Support for Hisilicon Hi3519 Soc
> >>>> +
> >>>>  config ARCH_HI3xxx
> >>>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
> >>>>         select CACHE_L2X0
> >>>
> >>> Do those need to be separate? I would just extend the Hi36xx
> >>> to cover all Hi3xxx, if nothing in the platform code really
> >>> depends on this.
> >>
> >> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
> >> belong to different product lines in hisilicon. HI35xx family also composes of various
> >> architectures socs(single core, smp and big-little). So I think it may be clear to have
> >> separate arch definitions.
> >>
> >> Could you give me more suggestions about this?  Thank you!
> > 
> > For the most part, you already need to enable the device drivers for the
> > specific components on each chip, and the per-soc top-level options here
> > don't actually control the compilation of any particular code.
> > 
> > This is slightly different for some of the older platforms that for historic
> > reasons need fine-grained options. You could probably just make the device
> > drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
> > of classification is ok, in particular when the chips are not related at all.
> > 
> > In this case, my impression is that while HI3519 and HI36xx are made
> > by different business units, there is still a noticeable amount of shared
> > IP in them (e.g. the "sysctrl" node that seems to be shared with some of
> > the other chips as well), so grouping them together should make sense.
> 
> HI35xx and HI36xx are designed totally independently, including IP selection.
> The relation between HI35xx and HI36xx is just like the one between HI36xx
> and HIP0x. In another word, HI35xx and HI36xx are not related except they all
> belong to hisilicon. So I don't think it's proper to group them together.
> 
> Is it OK if I drop ARCH_HI3519 and use ARCH_HISI directly?

I think we should come up with a way to handle this in general for
ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
rather not have one for each SoC because I'm sure that hisilicon has
made dozens or possibly hundreds of ARM based SoCs that belong into
a couple of families.

The individual selection of IP blocks is not that important, because
those tend to just be generic device drivers that we can enable on
any platform using the defconfig files.

You said that ARCH_HI3519 and HIP04 have an identical system controller,
but it's different for Hi36xx, correct?

So maybe we can generalize the HIP04 option to include all chips with
that system controller as they appear to share a common ancestry regardless
of the target market?

The Hi35xx family includes some rather older chips as well based on ARM9
etc, correct? Are they closely related to the new one as well, or do they
just share the name?

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-07  9:46           ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-07  9:46 UTC (permalink / raw)
  To: linux-arm-kernel

On Monday 07 December 2015 14:58:14 xuejiancheng wrote:
> On 2015/12/5 5:54, Arnd Bergmann wrote:
> > On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
> >> On 2015/12/3 17:40, Arnd Bergmann wrote:
> >>> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
> >>>> --- a/arch/arm/mach-hisi/Kconfig
> >>>> +++ b/arch/arm/mach-hisi/Kconfig
> >>>> @@ -12,6 +12,14 @@ if ARCH_HISI
> >>>>  
> >>>>  menu "Hisilicon platform type"
> >>>>  
> >>>> +config ARCH_HI3519
> >>>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
> >>>> +       select HAVE_ARM_ARCH_TIMER
> >>>> +       select ARCH_HAS_RESET_CONTROLLER
> >>>> +
> >>>> +       help
> >>>> +         Support for Hisilicon Hi3519 Soc
> >>>> +
> >>>>  config ARCH_HI3xxx
> >>>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
> >>>>         select CACHE_L2X0
> >>>
> >>> Do those need to be separate? I would just extend the Hi36xx
> >>> to cover all Hi3xxx, if nothing in the platform code really
> >>> depends on this.
> >>
> >> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
> >> belong to different product lines in hisilicon. HI35xx family also composes of various
> >> architectures socs(single core, smp and big-little). So I think it may be clear to have
> >> separate arch definitions.
> >>
> >> Could you give me more suggestions about this?  Thank you!
> > 
> > For the most part, you already need to enable the device drivers for the
> > specific components on each chip, and the per-soc top-level options here
> > don't actually control the compilation of any particular code.
> > 
> > This is slightly different for some of the older platforms that for historic
> > reasons need fine-grained options. You could probably just make the device
> > drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
> > of classification is ok, in particular when the chips are not related at all.
> > 
> > In this case, my impression is that while HI3519 and HI36xx are made
> > by different business units, there is still a noticeable amount of shared
> > IP in them (e.g. the "sysctrl" node that seems to be shared with some of
> > the other chips as well), so grouping them together should make sense.
> 
> HI35xx and HI36xx are designed totally independently, including IP selection.
> The relation between HI35xx and HI36xx is just like the one between HI36xx
> and HIP0x. In another word, HI35xx and HI36xx are not related except they all
> belong to hisilicon. So I don't think it's proper to group them together.
> 
> Is it OK if I drop ARCH_HI3519 and use ARCH_HISI directly?

I think we should come up with a way to handle this in general for
ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
rather not have one for each SoC because I'm sure that hisilicon has
made dozens or possibly hundreds of ARM based SoCs that belong into
a couple of families.

The individual selection of IP blocks is not that important, because
those tend to just be generic device drivers that we can enable on
any platform using the defconfig files.

You said that ARCH_HI3519 and HIP04 have an identical system controller,
but it's different for Hi36xx, correct?

So maybe we can generalize the HIP04 option to include all chips with
that system controller as they appear to share a common ancestry regardless
of the target market?

The Hi35xx family includes some rather older chips as well based on ARM9
etc, correct? Are they closely related to the new one as well, or do they
just share the name?

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-07  9:46           ` Arnd Bergmann
@ 2015-12-08  1:55             ` xuejiancheng
  -1 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-08  1:55 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, linux, khilman, olof, xuwei5, haojian.zhuang,
	zhangfei.gao, bintian.wang, suwenping, linux-kernel, yanhaifeng,
	gaofei, ml.yang, yanghongwei



On 2015/12/7 17:46, Arnd Bergmann wrote:
> On Monday 07 December 2015 14:58:14 xuejiancheng wrote:
>> On 2015/12/5 5:54, Arnd Bergmann wrote:
>>> On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
>>>> On 2015/12/3 17:40, Arnd Bergmann wrote:
>>>>> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
>>>>>> --- a/arch/arm/mach-hisi/Kconfig
>>>>>> +++ b/arch/arm/mach-hisi/Kconfig
>>>>>> @@ -12,6 +12,14 @@ if ARCH_HISI
>>>>>>  
>>>>>>  menu "Hisilicon platform type"
>>>>>>  
>>>>>> +config ARCH_HI3519
>>>>>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
>>>>>> +       select HAVE_ARM_ARCH_TIMER
>>>>>> +       select ARCH_HAS_RESET_CONTROLLER
>>>>>> +
>>>>>> +       help
>>>>>> +         Support for Hisilicon Hi3519 Soc
>>>>>> +
>>>>>>  config ARCH_HI3xxx
>>>>>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>>>>>>         select CACHE_L2X0
>>>>>
>>>>> Do those need to be separate? I would just extend the Hi36xx
>>>>> to cover all Hi3xxx, if nothing in the platform code really
>>>>> depends on this.
>>>>
>>>> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
>>>> belong to different product lines in hisilicon. HI35xx family also composes of various
>>>> architectures socs(single core, smp and big-little). So I think it may be clear to have
>>>> separate arch definitions.
>>>>
>>>> Could you give me more suggestions about this?  Thank you!
>>>
>>> For the most part, you already need to enable the device drivers for the
>>> specific components on each chip, and the per-soc top-level options here
>>> don't actually control the compilation of any particular code.
>>>
>>> This is slightly different for some of the older platforms that for historic
>>> reasons need fine-grained options. You could probably just make the device
>>> drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
>>> of classification is ok, in particular when the chips are not related at all.
>>>
>>> In this case, my impression is that while HI3519 and HI36xx are made
>>> by different business units, there is still a noticeable amount of shared
>>> IP in them (e.g. the "sysctrl" node that seems to be shared with some of
>>> the other chips as well), so grouping them together should make sense.
>>
>> HI35xx and HI36xx are designed totally independently, including IP selection.
>> The relation between HI35xx and HI36xx is just like the one between HI36xx
>> and HIP0x. In another word, HI35xx and HI36xx are not related except they all
>> belong to hisilicon. So I don't think it's proper to group them together.
>>
>> Is it OK if I drop ARCH_HI3519 and use ARCH_HISI directly?
> 
> I think we should come up with a way to handle this in general for
> ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
> rather not have one for each SoC because I'm sure that hisilicon has
> made dozens or possibly hundreds of ARM based SoCs that belong into
> a couple of families.

Agree with you.

> 
> The individual selection of IP blocks is not that important, because
> those tend to just be generic device drivers that we can enable on
> any platform using the defconfig files.
> 
> You said that ARCH_HI3519 and HIP04 have an identical system controller,
> but it's different for Hi36xx, correct?

No. The system controller of HI3519 is also different from HIP04. Maybe I gave you
wrong descriptions. Sorry about that.

> 
> So maybe we can generalize the HIP04 option to include all chips with
> that system controller as they appear to share a common ancestry regardless
> of the target market?
> 

I agree that we generalize some options regardless of the product line and target market.

> The Hi35xx family includes some rather older chips as well based on ARM9
> etc, correct? Are they closely related to the new one as well, or do they
> just share the name?

Yes. It's correct. They may share some IP blocks. But they may be very different
from the new one for the arch code. I also don't think it's a good idea to make
them share the same name.

> 
> 	Arnd
> 
> .
> 


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-08  1:55             ` xuejiancheng
  0 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-08  1:55 UTC (permalink / raw)
  To: linux-arm-kernel



On 2015/12/7 17:46, Arnd Bergmann wrote:
> On Monday 07 December 2015 14:58:14 xuejiancheng wrote:
>> On 2015/12/5 5:54, Arnd Bergmann wrote:
>>> On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
>>>> On 2015/12/3 17:40, Arnd Bergmann wrote:
>>>>> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
>>>>>> --- a/arch/arm/mach-hisi/Kconfig
>>>>>> +++ b/arch/arm/mach-hisi/Kconfig
>>>>>> @@ -12,6 +12,14 @@ if ARCH_HISI
>>>>>>  
>>>>>>  menu "Hisilicon platform type"
>>>>>>  
>>>>>> +config ARCH_HI3519
>>>>>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
>>>>>> +       select HAVE_ARM_ARCH_TIMER
>>>>>> +       select ARCH_HAS_RESET_CONTROLLER
>>>>>> +
>>>>>> +       help
>>>>>> +         Support for Hisilicon Hi3519 Soc
>>>>>> +
>>>>>>  config ARCH_HI3xxx
>>>>>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>>>>>>         select CACHE_L2X0
>>>>>
>>>>> Do those need to be separate? I would just extend the Hi36xx
>>>>> to cover all Hi3xxx, if nothing in the platform code really
>>>>> depends on this.
>>>>
>>>> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
>>>> belong to different product lines in hisilicon. HI35xx family also composes of various
>>>> architectures socs(single core, smp and big-little). So I think it may be clear to have
>>>> separate arch definitions.
>>>>
>>>> Could you give me more suggestions about this?  Thank you!
>>>
>>> For the most part, you already need to enable the device drivers for the
>>> specific components on each chip, and the per-soc top-level options here
>>> don't actually control the compilation of any particular code.
>>>
>>> This is slightly different for some of the older platforms that for historic
>>> reasons need fine-grained options. You could probably just make the device
>>> drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
>>> of classification is ok, in particular when the chips are not related at all.
>>>
>>> In this case, my impression is that while HI3519 and HI36xx are made
>>> by different business units, there is still a noticeable amount of shared
>>> IP in them (e.g. the "sysctrl" node that seems to be shared with some of
>>> the other chips as well), so grouping them together should make sense.
>>
>> HI35xx and HI36xx are designed totally independently, including IP selection.
>> The relation between HI35xx and HI36xx is just like the one between HI36xx
>> and HIP0x. In another word, HI35xx and HI36xx are not related except they all
>> belong to hisilicon. So I don't think it's proper to group them together.
>>
>> Is it OK if I drop ARCH_HI3519 and use ARCH_HISI directly?
> 
> I think we should come up with a way to handle this in general for
> ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
> rather not have one for each SoC because I'm sure that hisilicon has
> made dozens or possibly hundreds of ARM based SoCs that belong into
> a couple of families.

Agree with you.

> 
> The individual selection of IP blocks is not that important, because
> those tend to just be generic device drivers that we can enable on
> any platform using the defconfig files.
> 
> You said that ARCH_HI3519 and HIP04 have an identical system controller,
> but it's different for Hi36xx, correct?

No. The system controller of HI3519 is also different from HIP04. Maybe I gave you
wrong descriptions. Sorry about that.

> 
> So maybe we can generalize the HIP04 option to include all chips with
> that system controller as they appear to share a common ancestry regardless
> of the target market?
> 

I agree that we generalize some options regardless of the product line and target market.

> The Hi35xx family includes some rather older chips as well based on ARM9
> etc, correct? Are they closely related to the new one as well, or do they
> just share the name?

Yes. It's correct. They may share some IP blocks. But they may be very different
from the new one for the arch code. I also don't think it's a good idea to make
them share the same name.

> 
> 	Arnd
> 
> .
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-08  1:55             ` xuejiancheng
@ 2015-12-08  3:03               ` xuejiancheng
  -1 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-08  3:03 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, linux, khilman, olof, xuwei5, haojian.zhuang,
	zhangfei.gao, bintian.wang, suwenping, linux-kernel, yanhaifeng,
	gaofei, ml.yang, yanghongwei



On 2015/12/8 9:55, xuejiancheng wrote:
> 
> 
> On 2015/12/7 17:46, Arnd Bergmann wrote:
>> On Monday 07 December 2015 14:58:14 xuejiancheng wrote:
>>> On 2015/12/5 5:54, Arnd Bergmann wrote:
>>>> On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
>>>>> On 2015/12/3 17:40, Arnd Bergmann wrote:
>>>>>> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
>>>>>>> --- a/arch/arm/mach-hisi/Kconfig
>>>>>>> +++ b/arch/arm/mach-hisi/Kconfig
>>>>>>> @@ -12,6 +12,14 @@ if ARCH_HISI
>>>>>>>  
>>>>>>>  menu "Hisilicon platform type"
>>>>>>>  
>>>>>>> +config ARCH_HI3519
>>>>>>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
>>>>>>> +       select HAVE_ARM_ARCH_TIMER
>>>>>>> +       select ARCH_HAS_RESET_CONTROLLER
>>>>>>> +
>>>>>>> +       help
>>>>>>> +         Support for Hisilicon Hi3519 Soc
>>>>>>> +
>>>>>>>  config ARCH_HI3xxx
>>>>>>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>>>>>>>         select CACHE_L2X0
>>>>>>
>>>>>> Do those need to be separate? I would just extend the Hi36xx
>>>>>> to cover all Hi3xxx, if nothing in the platform code really
>>>>>> depends on this.
>>>>>
>>>>> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
>>>>> belong to different product lines in hisilicon. HI35xx family also composes of various
>>>>> architectures socs(single core, smp and big-little). So I think it may be clear to have
>>>>> separate arch definitions.
>>>>>
>>>>> Could you give me more suggestions about this?  Thank you!
>>>>
>>>> For the most part, you already need to enable the device drivers for the
>>>> specific components on each chip, and the per-soc top-level options here
>>>> don't actually control the compilation of any particular code.
>>>>
>>>> This is slightly different for some of the older platforms that for historic
>>>> reasons need fine-grained options. You could probably just make the device
>>>> drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
>>>> of classification is ok, in particular when the chips are not related at all.
>>>>
>>>> In this case, my impression is that while HI3519 and HI36xx are made
>>>> by different business units, there is still a noticeable amount of shared
>>>> IP in them (e.g. the "sysctrl" node that seems to be shared with some of
>>>> the other chips as well), so grouping them together should make sense.
>>>
>>> HI35xx and HI36xx are designed totally independently, including IP selection.
>>> The relation between HI35xx and HI36xx is just like the one between HI36xx
>>> and HIP0x. In another word, HI35xx and HI36xx are not related except they all
>>> belong to hisilicon. So I don't think it's proper to group them together.
>>>
>>> Is it OK if I drop ARCH_HI3519 and use ARCH_HISI directly?
>>
>> I think we should come up with a way to handle this in general for
>> ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
>> rather not have one for each SoC because I'm sure that hisilicon has
>> made dozens or possibly hundreds of ARM based SoCs that belong into
>> a couple of families.
> 
> Agree with you.
> 
>>
>> The individual selection of IP blocks is not that important, because
>> those tend to just be generic device drivers that we can enable on
>> any platform using the defconfig files.
>>
>> You said that ARCH_HI3519 and HIP04 have an identical system controller,
>> but it's different for Hi36xx, correct?
> 
> No. The system controller of HI3519 is also different from HIP04. Maybe I gave you
> wrong descriptions. Sorry about that.
> 
>>
>> So maybe we can generalize the HIP04 option to include all chips with
>> that system controller as they appear to share a common ancestry regardless
>> of the target market?
>>
> 
> I agree that we generalize some options regardless of the product line and target market.
> 
>> The Hi35xx family includes some rather older chips as well based on ARM9
>> etc, correct? Are they closely related to the new one as well, or do they
>> just share the name?
> 
> Yes. It's correct. They may share some IP blocks. But they may be very different
> from the new one for the arch code. I also don't think it's a good idea to make
> them share the same name.

I will use ARCH_HISI instead of ARCH_HI3519.

> 
>>
>> 	Arnd
>>
>> .
>>


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-08  3:03               ` xuejiancheng
  0 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-08  3:03 UTC (permalink / raw)
  To: linux-arm-kernel



On 2015/12/8 9:55, xuejiancheng wrote:
> 
> 
> On 2015/12/7 17:46, Arnd Bergmann wrote:
>> On Monday 07 December 2015 14:58:14 xuejiancheng wrote:
>>> On 2015/12/5 5:54, Arnd Bergmann wrote:
>>>> On Friday 04 December 2015 12:07:58 xuejiancheng wrote:
>>>>> On 2015/12/3 17:40, Arnd Bergmann wrote:
>>>>>> On Thursday 03 December 2015 10:42:45 Jiancheng Xue wrote:
>>>>>>> --- a/arch/arm/mach-hisi/Kconfig
>>>>>>> +++ b/arch/arm/mach-hisi/Kconfig
>>>>>>> @@ -12,6 +12,14 @@ if ARCH_HISI
>>>>>>>  
>>>>>>>  menu "Hisilicon platform type"
>>>>>>>  
>>>>>>> +config ARCH_HI3519
>>>>>>> +       bool "Hisilicon Hi3519 Soc" if ARCH_MULTI_V7
>>>>>>> +       select HAVE_ARM_ARCH_TIMER
>>>>>>> +       select ARCH_HAS_RESET_CONTROLLER
>>>>>>> +
>>>>>>> +       help
>>>>>>> +         Support for Hisilicon Hi3519 Soc
>>>>>>> +
>>>>>>>  config ARCH_HI3xxx
>>>>>>>         bool "Hisilicon Hi36xx family" if ARCH_MULTI_V7
>>>>>>>         select CACHE_L2X0
>>>>>>
>>>>>> Do those need to be separate? I would just extend the Hi36xx
>>>>>> to cover all Hi3xxx, if nothing in the platform code really
>>>>>> depends on this.
>>>>>
>>>>> For HI3519, there is really no special platform code. But HI35xx and HI36xx soc families
>>>>> belong to different product lines in hisilicon. HI35xx family also composes of various
>>>>> architectures socs(single core, smp and big-little). So I think it may be clear to have
>>>>> separate arch definitions.
>>>>>
>>>>> Could you give me more suggestions about this?  Thank you!
>>>>
>>>> For the most part, you already need to enable the device drivers for the
>>>> specific components on each chip, and the per-soc top-level options here
>>>> don't actually control the compilation of any particular code.
>>>>
>>>> This is slightly different for some of the older platforms that for historic
>>>> reasons need fine-grained options. You could probably just make the device
>>>> drivers depend on "ARCH_HISI || COMPILE_TEST" in general, but some level
>>>> of classification is ok, in particular when the chips are not related at all.
>>>>
>>>> In this case, my impression is that while HI3519 and HI36xx are made
>>>> by different business units, there is still a noticeable amount of shared
>>>> IP in them (e.g. the "sysctrl" node that seems to be shared with some of
>>>> the other chips as well), so grouping them together should make sense.
>>>
>>> HI35xx and HI36xx are designed totally independently, including IP selection.
>>> The relation between HI35xx and HI36xx is just like the one between HI36xx
>>> and HIP0x. In another word, HI35xx and HI36xx are not related except they all
>>> belong to hisilicon. So I don't think it's proper to group them together.
>>>
>>> Is it OK if I drop ARCH_HI3519 and use ARCH_HISI directly?
>>
>> I think we should come up with a way to handle this in general for
>> ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
>> rather not have one for each SoC because I'm sure that hisilicon has
>> made dozens or possibly hundreds of ARM based SoCs that belong into
>> a couple of families.
> 
> Agree with you.
> 
>>
>> The individual selection of IP blocks is not that important, because
>> those tend to just be generic device drivers that we can enable on
>> any platform using the defconfig files.
>>
>> You said that ARCH_HI3519 and HIP04 have an identical system controller,
>> but it's different for Hi36xx, correct?
> 
> No. The system controller of HI3519 is also different from HIP04. Maybe I gave you
> wrong descriptions. Sorry about that.
> 
>>
>> So maybe we can generalize the HIP04 option to include all chips with
>> that system controller as they appear to share a common ancestry regardless
>> of the target market?
>>
> 
> I agree that we generalize some options regardless of the product line and target market.
> 
>> The Hi35xx family includes some rather older chips as well based on ARM9
>> etc, correct? Are they closely related to the new one as well, or do they
>> just share the name?
> 
> Yes. It's correct. They may share some IP blocks. But they may be very different
> from the new one for the arch code. I also don't think it's a good idea to make
> them share the same name.

I will use ARCH_HISI instead of ARCH_HI3519.

> 
>>
>> 	Arnd
>>
>> .
>>

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-08  3:03               ` xuejiancheng
@ 2015-12-09 15:32                 ` Arnd Bergmann
  -1 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-09 15:32 UTC (permalink / raw)
  To: xuejiancheng
  Cc: linux-arm-kernel, linux, khilman, olof, xuwei5, haojian.zhuang,
	zhangfei.gao, bintian.wang, suwenping, linux-kernel, yanhaifeng,
	gaofei, ml.yang, yanghongwei

On Tuesday 08 December 2015 11:03:20 xuejiancheng wrote:
> >>
> >> I think we should come up with a way to handle this in general for
> >> ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
> >> rather not have one for each SoC because I'm sure that hisilicon has
> >> made dozens or possibly hundreds of ARM based SoCs that belong into
> >> a couple of families.
> > 
> > Agree with you.
> > 
> >>
> >> The individual selection of IP blocks is not that important, because
> >> those tend to just be generic device drivers that we can enable on
> >> any platform using the defconfig files.
> >>
> >> You said that ARCH_HI3519 and HIP04 have an identical system controller,
> >> but it's different for Hi36xx, correct?
> > 
> > No. The system controller of HI3519 is also different from HIP04. Maybe I gave you
> > wrong descriptions. Sorry about that.
> > 
> >>
> >> So maybe we can generalize the HIP04 option to include all chips with
> >> that system controller as they appear to share a common ancestry regardless
> >> of the target market?
> >>
> > 
> > I agree that we generalize some options regardless of the product line and target market.
> > 
> >> The Hi35xx family includes some rather older chips as well based on ARM9
> >> etc, correct? Are they closely related to the new one as well, or do they
> >> just share the name?
> > 
> > Yes. It's correct. They may share some IP blocks. But they may be very different
> > from the new one for the arch code. I also don't think it's a good idea to make
> > them share the same name.
> 
> I will use ARCH_HISI instead of ARCH_HI3519.
> 
> 

Do you mean you want to remove the other options as well?

We should do this consistently at least within the Kconfig file.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-09 15:32                 ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-09 15:32 UTC (permalink / raw)
  To: linux-arm-kernel

On Tuesday 08 December 2015 11:03:20 xuejiancheng wrote:
> >>
> >> I think we should come up with a way to handle this in general for
> >> ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
> >> rather not have one for each SoC because I'm sure that hisilicon has
> >> made dozens or possibly hundreds of ARM based SoCs that belong into
> >> a couple of families.
> > 
> > Agree with you.
> > 
> >>
> >> The individual selection of IP blocks is not that important, because
> >> those tend to just be generic device drivers that we can enable on
> >> any platform using the defconfig files.
> >>
> >> You said that ARCH_HI3519 and HIP04 have an identical system controller,
> >> but it's different for Hi36xx, correct?
> > 
> > No. The system controller of HI3519 is also different from HIP04. Maybe I gave you
> > wrong descriptions. Sorry about that.
> > 
> >>
> >> So maybe we can generalize the HIP04 option to include all chips with
> >> that system controller as they appear to share a common ancestry regardless
> >> of the target market?
> >>
> > 
> > I agree that we generalize some options regardless of the product line and target market.
> > 
> >> The Hi35xx family includes some rather older chips as well based on ARM9
> >> etc, correct? Are they closely related to the new one as well, or do they
> >> just share the name?
> > 
> > Yes. It's correct. They may share some IP blocks. But they may be very different
> > from the new one for the arch code. I also don't think it's a good idea to make
> > them share the same name.
> 
> I will use ARCH_HISI instead of ARCH_HI3519.
> 
> 

Do you mean you want to remove the other options as well?

We should do this consistently at least within the Kconfig file.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-09 15:32                 ` Arnd Bergmann
@ 2015-12-10  6:13                   ` xuejiancheng
  -1 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-10  6:13 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, linux, khilman, olof, xuwei5, haojian.zhuang,
	zhangfei.gao, bintian.wang, suwenping, linux-kernel, yanhaifeng,
	gaofei, ml.yang, yanghongwei



On 2015/12/9 23:32, Arnd Bergmann wrote:
> On Tuesday 08 December 2015 11:03:20 xuejiancheng wrote:
>>>>
>>>> I think we should come up with a way to handle this in general for
>>>> ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
>>>> rather not have one for each SoC because I'm sure that hisilicon has
>>>> made dozens or possibly hundreds of ARM based SoCs that belong into
>>>> a couple of families.
>>>
>>> Agree with you.
>>>
>>>>
>>>> The individual selection of IP blocks is not that important, because
>>>> those tend to just be generic device drivers that we can enable on
>>>> any platform using the defconfig files.
>>>>
>>>> You said that ARCH_HI3519 and HIP04 have an identical system controller,
>>>> but it's different for Hi36xx, correct?
>>>
>>> No. The system controller of HI3519 is also different from HIP04. Maybe I gave you
>>> wrong descriptions. Sorry about that.
>>>
>>>>
>>>> So maybe we can generalize the HIP04 option to include all chips with
>>>> that system controller as they appear to share a common ancestry regardless
>>>> of the target market?
>>>>
>>>
>>> I agree that we generalize some options regardless of the product line and target market.
>>>
>>>> The Hi35xx family includes some rather older chips as well based on ARM9
>>>> etc, correct? Are they closely related to the new one as well, or do they
>>>> just share the name?
>>>
>>> Yes. It's correct. They may share some IP blocks. But they may be very different
>>> from the new one for the arch code. I also don't think it's a good idea to make
>>> them share the same name.
>>
>> I will use ARCH_HISI instead of ARCH_HI3519.
>>
>>
> 
> Do you mean you want to remove the other options as well?
> 
> We should do this consistently at least within the Kconfig file.

I think it is ideal if we can do that.  But I won't change it in HI3519 soc patch.

I will just use ARCH_HISI for HI3519 this time.

> 
> 	Arnd
> 
> .
> 


^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-10  6:13                   ` xuejiancheng
  0 siblings, 0 replies; 22+ messages in thread
From: xuejiancheng @ 2015-12-10  6:13 UTC (permalink / raw)
  To: linux-arm-kernel



On 2015/12/9 23:32, Arnd Bergmann wrote:
> On Tuesday 08 December 2015 11:03:20 xuejiancheng wrote:
>>>>
>>>> I think we should come up with a way to handle this in general for
>>>> ARCH_HISI. It's not problem to have a couple of sub-options, but I'd
>>>> rather not have one for each SoC because I'm sure that hisilicon has
>>>> made dozens or possibly hundreds of ARM based SoCs that belong into
>>>> a couple of families.
>>>
>>> Agree with you.
>>>
>>>>
>>>> The individual selection of IP blocks is not that important, because
>>>> those tend to just be generic device drivers that we can enable on
>>>> any platform using the defconfig files.
>>>>
>>>> You said that ARCH_HI3519 and HIP04 have an identical system controller,
>>>> but it's different for Hi36xx, correct?
>>>
>>> No. The system controller of HI3519 is also different from HIP04. Maybe I gave you
>>> wrong descriptions. Sorry about that.
>>>
>>>>
>>>> So maybe we can generalize the HIP04 option to include all chips with
>>>> that system controller as they appear to share a common ancestry regardless
>>>> of the target market?
>>>>
>>>
>>> I agree that we generalize some options regardless of the product line and target market.
>>>
>>>> The Hi35xx family includes some rather older chips as well based on ARM9
>>>> etc, correct? Are they closely related to the new one as well, or do they
>>>> just share the name?
>>>
>>> Yes. It's correct. They may share some IP blocks. But they may be very different
>>> from the new one for the arch code. I also don't think it's a good idea to make
>>> them share the same name.
>>
>> I will use ARCH_HISI instead of ARCH_HI3519.
>>
>>
> 
> Do you mean you want to remove the other options as well?
> 
> We should do this consistently at least within the Kconfig file.

I think it is ideal if we can do that.  But I won't change it in HI3519 soc patch.

I will just use ARCH_HISI for HI3519 this time.

> 
> 	Arnd
> 
> .
> 

^ permalink raw reply	[flat|nested] 22+ messages in thread

* Re: [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
  2015-12-10  6:13                   ` xuejiancheng
@ 2015-12-10  8:25                     ` Arnd Bergmann
  -1 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-10  8:25 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: xuejiancheng, suwenping, khilman, linux, linux-kernel, xuwei5,
	yanhaifeng, ml.yang, bintian.wang, gaofei, haojian.zhuang, olof,
	zhangfei.gao, yanghongwei

On Thursday 10 December 2015 14:13:46 xuejiancheng wrote:
> 
> On 2015/12/9 23:32, Arnd Bergmann wrote:
> > On Tuesday 08 December 2015 11:03:20 xuejiancheng wrote:
> >>>>

> >>> Yes. It's correct. They may share some IP blocks. But they may be very different
> >>> from the new one for the arch code. I also don't think it's a good idea to make
> >>> them share the same name.
> >>
> >> I will use ARCH_HISI instead of ARCH_HI3519.
> >>
> >>
> > 
> > Do you mean you want to remove the other options as well?
> > 
> > We should do this consistently at least within the Kconfig file.
> 
> I think it is ideal if we can do that.  But I won't change it in HI3519 soc patch.
> 
> I will just use ARCH_HISI for HI3519 this time.
> 

Ok, sounds good.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

* [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc
@ 2015-12-10  8:25                     ` Arnd Bergmann
  0 siblings, 0 replies; 22+ messages in thread
From: Arnd Bergmann @ 2015-12-10  8:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Thursday 10 December 2015 14:13:46 xuejiancheng wrote:
> 
> On 2015/12/9 23:32, Arnd Bergmann wrote:
> > On Tuesday 08 December 2015 11:03:20 xuejiancheng wrote:
> >>>>

> >>> Yes. It's correct. They may share some IP blocks. But they may be very different
> >>> from the new one for the arch code. I also don't think it's a good idea to make
> >>> them share the same name.
> >>
> >> I will use ARCH_HISI instead of ARCH_HI3519.
> >>
> >>
> > 
> > Do you mean you want to remove the other options as well?
> > 
> > We should do this consistently at least within the Kconfig file.
> 
> I think it is ideal if we can do that.  But I won't change it in HI3519 soc patch.
> 
> I will just use ARCH_HISI for HI3519 this time.
> 

Ok, sounds good.

	Arnd

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2015-12-10  8:26 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-03  2:42 [PATCH v2 3/9] ARM: hisi: enable Hi3519 soc Jiancheng Xue
2015-12-03  2:42 ` Jiancheng Xue
2015-12-03  9:40 ` Arnd Bergmann
2015-12-03  9:40   ` Arnd Bergmann
2015-12-04  4:07   ` xuejiancheng
2015-12-04  4:07     ` xuejiancheng
2015-12-04 21:54     ` Arnd Bergmann
2015-12-04 21:54       ` Arnd Bergmann
2015-12-07  6:58       ` xuejiancheng
2015-12-07  6:58         ` xuejiancheng
2015-12-07  9:46         ` Arnd Bergmann
2015-12-07  9:46           ` Arnd Bergmann
2015-12-08  1:55           ` xuejiancheng
2015-12-08  1:55             ` xuejiancheng
2015-12-08  3:03             ` xuejiancheng
2015-12-08  3:03               ` xuejiancheng
2015-12-09 15:32               ` Arnd Bergmann
2015-12-09 15:32                 ` Arnd Bergmann
2015-12-10  6:13                 ` xuejiancheng
2015-12-10  6:13                   ` xuejiancheng
2015-12-10  8:25                   ` Arnd Bergmann
2015-12-10  8:25                     ` Arnd Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.