Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-03-04 Thread Chanwoo Choi
On 03/04/2015 06:38 PM, Arnd Bergmann wrote:
 On Wednesday 04 March 2015 15:59:55 Chanwoo Choi wrote:
 On 03/02/2015 06:22 AM, Arnd Bergmann wrote:
 On Saturday 28 February 2015 09:47:01 Chanwoo Choi wrote:
 earlycon=exynos4210,0x14C2 is correct bootparam. You can check
 it on Documentation/kernel-parameters.txt as following.

  exynos4210,addr
 Use early console provided by serial driver available
 on Samsung SoCs, requires selecting proper type and
 a correct base address of the selected UART port. The
 serial port must already be setup and configured.
 Options are not yet supported.



 But it's crazy to do this when you have a DT. Please fix the existing
 devicetree files that use this to just list 'earlycon'.

 The syntax above only makes sense for classic board files that we
 do not support for exynos any more.

 Following earlycon patch for exynos soc was merged in Linux 4.0-rc1.
 - commit-id: b94ba0328d3b36ff95f5074c0e9b44f90dc56bb5 (serial: samsung: Add 
 support for early console)
 Almost Exynos SoC use the same UART IP of Exynos4210.

 If you mean that earlycon=exynos4210 naming will be changed to 
 earlycon=exynos,
 we have to modify the drivers/tty/serial/samsung.c.
 
 No, what I mean is that you should use just earlycon instead of 
 earlycon=...
 when you have a DTB. You have the OF_EARLYCON_DECLARE() in the driver as
 well, so that should just work.
 
 EARLYCON_DECLARE() is really just a hack that allows users to override the
 early console from the command line without modifying the stdout-path
 property. Don't put that into a dts file.

OK, I understand. Thanks for your comment.

Regards,
Chanwoo Choi

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-03-04 Thread Arnd Bergmann
On Wednesday 04 March 2015 15:59:55 Chanwoo Choi wrote:
 On 03/02/2015 06:22 AM, Arnd Bergmann wrote:
  On Saturday 28 February 2015 09:47:01 Chanwoo Choi wrote:
  earlycon=exynos4210,0x14C2 is correct bootparam. You can check
  it on Documentation/kernel-parameters.txt as following.
 
   exynos4210,addr
  Use early console provided by serial driver available
  on Samsung SoCs, requires selecting proper type and
  a correct base address of the selected UART port. The
  serial port must already be setup and configured.
  Options are not yet supported.
 
 
  
  But it's crazy to do this when you have a DT. Please fix the existing
  devicetree files that use this to just list 'earlycon'.
  
  The syntax above only makes sense for classic board files that we
  do not support for exynos any more.
 
 Following earlycon patch for exynos soc was merged in Linux 4.0-rc1.
 - commit-id: b94ba0328d3b36ff95f5074c0e9b44f90dc56bb5 (serial: samsung: Add 
 support for early console)
 Almost Exynos SoC use the same UART IP of Exynos4210.
 
 If you mean that earlycon=exynos4210 naming will be changed to 
 earlycon=exynos,
 we have to modify the drivers/tty/serial/samsung.c.

No, what I mean is that you should use just earlycon instead of earlycon=...
when you have a DTB. You have the OF_EARLYCON_DECLARE() in the driver as
well, so that should just work.

EARLYCON_DECLARE() is really just a hack that allows users to override the
early console from the command line without modifying the stdout-path
property. Don't put that into a dts file.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-03-03 Thread Chanwoo Choi
On 03/02/2015 06:22 AM, Arnd Bergmann wrote:
 On Saturday 28 February 2015 09:47:01 Chanwoo Choi wrote:
 earlycon=exynos4210,0x14C2 is correct bootparam. You can check
 it on Documentation/kernel-parameters.txt as following.

  exynos4210,addr
 Use early console provided by serial driver available
 on Samsung SoCs, requires selecting proper type and
 a correct base address of the selected UART port. The
 serial port must already be setup and configured.
 Options are not yet supported.


 
 But it's crazy to do this when you have a DT. Please fix the existing
 devicetree files that use this to just list 'earlycon'.
 
 The syntax above only makes sense for classic board files that we
 do not support for exynos any more.

Following earlycon patch for exynos soc was merged in Linux 4.0-rc1.
- commit-id: b94ba0328d3b36ff95f5074c0e9b44f90dc56bb5 (serial: samsung: Add 
support for early console)
Almost Exynos SoC use the same UART IP of Exynos4210.

If you mean that earlycon=exynos4210 naming will be changed to 
earlycon=exynos,
we have to modify the drivers/tty/serial/samsung.c.

Thanks,
Chanwoo Choi
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-03-01 Thread Arnd Bergmann
On Saturday 28 February 2015 09:47:01 Chanwoo Choi wrote:
 earlycon=exynos4210,0x14C2 is correct bootparam. You can check
 it on Documentation/kernel-parameters.txt as following.
 
  exynos4210,addr
 Use early console provided by serial driver available
 on Samsung SoCs, requires selecting proper type and
 a correct base address of the selected UART port. The
 serial port must already be setup and configured.
 Options are not yet supported.
 
 

But it's crazy to do this when you have a DT. Please fix the existing
devicetree files that use this to just list 'earlycon'.

The syntax above only makes sense for classic board files that we
do not support for exynos any more.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-27 Thread Chanwoo Choi
On Fri, Feb 27, 2015 at 12:42 AM, Arnd Bergmann a...@arndb.de wrote:
 On Thursday 26 February 2015 17:18:41 Chanwoo Choi wrote:
 I add following aliases and serial_1/serial_3 dt node in board dtsi:
 I tested that change the alias of serial_x node.

 aliases {
 serial0 = serial_1;
 serial1 = serial_3;
 };

 /* Add 'linux,stdout-path' property to print kernel log by using 
 ealycon */
 chosen {
 linux,stdout-path = serial_1;
 };

 [snip]

 /* serial_1 is used for printing kernel log throught JIG cable */
 serial_1 {
 status = okay;
 };

 serial_3 {
 status = okay;
 };

 In result, serial driver create the /dev/ttySAC0 for serial_1 and 
 /dev/ttySAC1 for serial_3.
 But, I cannot complete the kernel booting and stop it with following kernel 
 log

 [0.00] Booting Linux on physical CPU 0x100
 [0.00] Initializing cgroup subsys cpuset
 [0.00] Initializing cgroup subsys cpu
 [0.00] Initializing cgroup subsys cpuacct
 [0.00] Linux version 4.0.0-rc1-00066-g49bfcec-dirty (cwchoi00@chan) 
 (gcc version 4.9.2 20140904 (prerelease) (crosstool-NG l5
 [snip]
 [0.00] Kernel command line: console=ttySAC1,115200 
 earlycon=exynos4210,0x14C2

 What is the earlycon=exynos4210,0x14C2 doing here? Should that not just 
 be
 earlycon=exynos or something like that when you set the correct stdout-path?

earlycon=exynos4210,0x14C2 is correct bootparam. You can check
it on Documentation/kernel-parameters.txt as following.

 exynos4210,addr
Use early console provided by serial driver available
on Samsung SoCs, requires selecting proper type and
a correct base address of the selected UART port. The
serial port must already be setup and configured.
Options are not yet supported.


 [snip]
 [0.651647] dma-pl330 1561.pdma: Loaded driver for PL330 DMAC-341330
 [0.651851] dma-pl330 1561.pdma: DBUFF-32x4bytes Num_Chans-8 
 Num_Peri-32 Num_Events-32
 [0.658566] dma-pl330 1560.pdma: Loaded driver for PL330 DMAC-341330
 [0.662872] dma-pl330 1560.pdma: DBUFF-32x4bytes Num_Chans-8 
 Num_Peri-32 Num_Events-32
 [0.672487] dma-pl330 1142.adma: Loaded driver for PL330 DMAC-341330
 [ 8466.414900] dma-pl330 1142.adma: DBUFF-8x8bytes Num_Chans-8 
 Num_Peri-16 Num_Events-8
 [ 8466.481648] 14c2.serial: ttySAC0 at MMIO 0x14c2 (irq = 21, 
 base_baud = 0) is a S3C6400/10
 (dont' print any kernel log)

 So, I change the kernel command line about ('console' bootparam) as 
 following:
 because tty framework must use the 'console' bootparam to print kernel log.
 - original : Kernel command line: console=ttySAC1,115200 ... (cannot the 
 kernel log from serial driver probed)
 - modification : Kernel command line: console=ttySAC0,115200 ... (got the 
 successful kernel booting)

 After modification, I got the successful kernel booting.

 If should use the serial_0 device and then modify the 'aliases' as following:
 I have to modify the commandline of bootloader if the commandline of 
 bootloader is used
 instad of default kernel command line.

 aliases {
 serial0 = serial_0;
 serial1 = serial_1;
 serial2 = serial_3;
 };

 If you need the numbers to match, maybe there is still a bug in the serial 
 port
 driver and it uses some arbitrary number (e.g. probe order, or ascending
 MMIO address) for the console instead of the alias?

The serial port driver request the 'tty' device information to print kernel log.
So, bootloader is supposed to pass the 'tty' device as upper example.
But, The bootloader could not get the the 'alias' information in board dtsi.

Thanks,
Chanwoo Choi
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-26 Thread Chanwoo Choi
On 02/24/2015 08:59 PM, Arnd Bergmann wrote:
 On Tuesday 24 February 2015 20:04:17 Chanwoo Choi wrote:
 On 02/24/2015 06:48 PM, Arnd Bergmann wrote:
 On Tuesday 24 February 2015 17:52:01 Chanwoo Choi wrote:

 But, I have a question.
 If we put the aliases into the board dts file instaed of SoC dtsi,
 each board dts file may use the different alias name about same phandle.

 Yes, that is the idea. In particular with the uarts, the intention is
 that the numbering of the device nodes in /dev is the same that is
 printed on the board (if any), which may be different from the numbering
 internal to the SoC.

 I check the uart device with Exynos5433 SoC based on Linux 4.0-rc1
 If some board use the serial_0 and serial_3 as following in board dtsi,

 serial_0 { -- UART 0 device
 status = okay;
 };

 serial_3 { -- UART 3 device
 status = okay;
 };

 The serial core driver create the follwoing /dev/ttySACx device node
 by using the number of alias. It maintain the same device number of internel 
 to the SoC.

 root@localhost:~# ls /dev/ttySAC
 ttySAC1  ttySAC3  

 
 I'm not completely following. So you have set the serial1 alias to
 the serial_0 device node and serial3 to serial_3?
 
 Why not use serial0=serial_0 and serial1=serial_3? Does the serial0
 alias have a special meaning?

I add following aliases and serial_1/serial_3 dt node in board dtsi:
I tested that change the alias of serial_x node.

aliases {
serial0 = serial_1;
serial1 = serial_3;
};

/* Add 'linux,stdout-path' property to print kernel log by using 
ealycon */
chosen {
linux,stdout-path = serial_1;
};

[snip]

/* serial_1 is used for printing kernel log throught JIG cable */
serial_1 {
status = okay;
};

serial_3 {
status = okay;
};

In result, serial driver create the /dev/ttySAC0 for serial_1 and /dev/ttySAC1 
for serial_3.
But, I cannot complete the kernel booting and stop it with following kernel log

[0.00] Booting Linux on physical CPU 0x100
[0.00] Initializing cgroup subsys cpuset
[0.00] Initializing cgroup subsys cpu
[0.00] Initializing cgroup subsys cpuacct
[0.00] Linux version 4.0.0-rc1-00066-g49bfcec-dirty (cwchoi00@chan) 
(gcc version 4.9.2 20140904 (prerelease) (crosstool-NG l5
[snip]
[0.00] Kernel command line: console=ttySAC1,115200 
earlycon=exynos4210,0x14C2
[snip]
[0.651647] dma-pl330 1561.pdma: Loaded driver for PL330 DMAC-341330
[0.651851] dma-pl330 1561.pdma: DBUFF-32x4bytes Num_Chans-8 
Num_Peri-32 Num_Events-32
[0.658566] dma-pl330 1560.pdma: Loaded driver for PL330 DMAC-341330
[0.662872] dma-pl330 1560.pdma: DBUFF-32x4bytes Num_Chans-8 
Num_Peri-32 Num_Events-32
[0.672487] dma-pl330 1142.adma: Loaded driver for PL330 DMAC-341330
[ 8466.414900] dma-pl330 1142.adma: DBUFF-8x8bytes Num_Chans-8 
Num_Peri-16 Num_Events-8
[ 8466.481648] 14c2.serial: ttySAC0 at MMIO 0x14c2 (irq = 21, base_baud 
= 0) is a S3C6400/10
(dont' print any kernel log)

So, I change the kernel command line about ('console' bootparam) as following:
because tty framework must use the 'console' bootparam to print kernel log.
- original : Kernel command line: console=ttySAC1,115200 ... (cannot the 
kernel log from serial driver probed)
- modification : Kernel command line: console=ttySAC0,115200 ... (got the 
successful kernel booting)

After modification, I got the successful kernel booting.

If should use the serial_0 device and then modify the 'aliases' as following:
I have to modify the commandline of bootloader if the commandline of bootloader 
is used
instad of default kernel command line.

aliases {
serial0 = serial_0;
serial1 = serial_1;
serial2 = serial_3;
};

Thanks,
Chanwoo Choi



--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-26 Thread Chanwoo Choi
Hi Arnd,

On 02/26/2015 05:18 PM, Chanwoo Choi wrote:
 On 02/24/2015 08:59 PM, Arnd Bergmann wrote:
 On Tuesday 24 February 2015 20:04:17 Chanwoo Choi wrote:
 On 02/24/2015 06:48 PM, Arnd Bergmann wrote:
 On Tuesday 24 February 2015 17:52:01 Chanwoo Choi wrote:

 But, I have a question.
 If we put the aliases into the board dts file instaed of SoC dtsi,
 each board dts file may use the different alias name about same phandle.

 Yes, that is the idea. In particular with the uarts, the intention is
 that the numbering of the device nodes in /dev is the same that is
 printed on the board (if any), which may be different from the numbering
 internal to the SoC.

 I check the uart device with Exynos5433 SoC based on Linux 4.0-rc1
 If some board use the serial_0 and serial_3 as following in board dtsi,

 serial_0 { -- UART 0 device
 status = okay;
 };

 serial_3 { -- UART 3 device
 status = okay;
 };

 The serial core driver create the follwoing /dev/ttySACx device node
 by using the number of alias. It maintain the same device number of 
 internel to the SoC.

 root@localhost:~# ls /dev/ttySAC
 ttySAC1  ttySAC3  



[snip]

 
 So, I change the kernel command line about ('console' bootparam) as following:
 because tty framework must use the 'console' bootparam to print kernel log.

I fix the my wrong expression. Some tty driver use the 'console' bootparam.

[snip]

Thanks,
Chanwoo Choi

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-25 Thread Arnd Bergmann
On Tuesday 24 February 2015 20:04:17 Chanwoo Choi wrote:
 On 02/24/2015 06:48 PM, Arnd Bergmann wrote:
  On Tuesday 24 February 2015 17:52:01 Chanwoo Choi wrote:
 
  But, I have a question.
  If we put the aliases into the board dts file instaed of SoC dtsi,
  each board dts file may use the different alias name about same phandle.
  
  Yes, that is the idea. In particular with the uarts, the intention is
  that the numbering of the device nodes in /dev is the same that is
  printed on the board (if any), which may be different from the numbering
  internal to the SoC.
 
 I check the uart device with Exynos5433 SoC based on Linux 4.0-rc1
 If some board use the serial_0 and serial_3 as following in board dtsi,
 
 serial_0 { -- UART 0 device
 status = okay;
 };
 
 serial_3 { -- UART 3 device
 status = okay;
 };
 
 The serial core driver create the follwoing /dev/ttySACx device node
 by using the number of alias. It maintain the same device number of internel 
 to the SoC.
 
 root@localhost:~# ls /dev/ttySAC
 ttySAC1  ttySAC3  
 

I'm not completely following. So you have set the serial1 alias to
the serial_0 device node and serial3 to serial_3?

Why not use serial0=serial_0 and serial1=serial_3? Does the serial0
alias have a special meaning?

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-24 Thread Arnd Bergmann
On Tuesday 24 February 2015 17:52:01 Chanwoo Choi wrote:
 
 But, I have a question.
 If we put the aliases into the board dts file instaed of SoC dtsi,
 each board dts file may use the different alias name about same phandle.

Yes, that is the idea. In particular with the uarts, the intention is
that the numbering of the device nodes in /dev is the same that is
printed on the board (if any), which may be different from the numbering
internal to the SoC.

Arnd 
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-24 Thread Arnd Bergmann
On Tuesday 24 February 2015 14:16:45 Chanwoo Choi wrote:
 This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC based on
 Octal core CPUs (quad Cortex-A57 and quad Cortex-A53). And Exynos5433 supports
 PSCI (Power State Coordination Interface) v0.1.
 
 This patch includes following dt node to support Exynos5433 SoC:
 1. Octa core for big.LITTLE architecture
 - Cortex-A53 LITTLE Quad-core
 - Cortex-A57 big Quad-core
 - Support PSCI v0.1

Should we try to come up with a way to better share parts of this with the
exynos5 dtsi files you already have in arm32? I suspect that there is a
significant overlap.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-24 Thread Chanwoo Choi
On 02/24/2015 05:35 PM, Arnd Bergmann wrote:
 On Tuesday 24 February 2015 14:16:45 Chanwoo Choi wrote:
 +   aliases {
 +   pinctrl0 = pinctrl_alive;
 +   pinctrl1 = pinctrl_aud;
 +   pinctrl2 = pinctrl_cpif;
 +   pinctrl3 = pinctrl_ese;
 +   pinctrl4 = pinctrl_finger;
 +   pinctrl5 = pinctrl_fsys;
 +   pinctrl6 = pinctrl_imem;
 +   pinctrl7 = pinctrl_nfc;
 +   pinctrl8 = pinctrl_peric;
 +   pinctrl9 = pinctrl_touch;
 +   serial0 = serial_0;
 +   serial1 = serial_1;
 +   serial2 = serial_2;
 +   i2c0 = hsi2c_0;
 +   i2c1 = hsi2c_1;
 +   i2c2 = hsi2c_2;
 +   i2c3 = hsi2c_3;
 +   i2c4 = hsi2c_4;
 +   i2c5 = hsi2c_5;
 +   i2c6 = hsi2c_6;
 +   i2c7 = hsi2c_7;
 +   i2c8 = hsi2c_8;
 +   i2c9 = hsi2c_9;
 +   i2c10 = hsi2c_10;
 +   i2c11 = hsi2c_11;
 +   };
 +

 
 Can you put the aliases into the per-board files? There might be boards that
 do not support all the uarts and all the i2c controllers but only want to
 provide aliases for a subset of them, without holes in the numbering.

OK, I'm not opposite with you opinion.

But, I have a question.
If we put the aliases into the board dts file instaed of SoC dtsi,
each board dts file may use the different alias name about same phandle.

Thanks,
Chanwoo Choi

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-24 Thread Chanwoo Choi
On 02/24/2015 05:33 PM, Arnd Bergmann wrote:
 On Tuesday 24 February 2015 14:16:45 Chanwoo Choi wrote:
 This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC based on
 Octal core CPUs (quad Cortex-A57 and quad Cortex-A53). And Exynos5433 
 supports
 PSCI (Power State Coordination Interface) v0.1.

 This patch includes following dt node to support Exynos5433 SoC:
 1. Octa core for big.LITTLE architecture
 - Cortex-A53 LITTLE Quad-core
 - Cortex-A57 big Quad-core
 - Support PSCI v0.1
 
 Should we try to come up with a way to better share parts of this with the
 exynos5 dtsi files you already have in arm32? I suspect that there is a
 significant overlap.

Currently, 32-bit Exynos5 SoC (which is included in arch/arm/boot/dts)
didn't support the Cortex-A53/A57 and PSCI.

The 32-bit Exynos5 SoC support the Coretex-A7 or A15 and big.LITTLE Exynos5 SoC
use the MCPM (Multi-Cluster PM) driver for secondary cpu on/off instead of PSCI.

Thanks,
Chanwoo Choi

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-24 Thread Arnd Bergmann
On Tuesday 24 February 2015 18:01:27 Chanwoo Choi wrote:
 On 02/24/2015 05:33 PM, Arnd Bergmann wrote:
  On Tuesday 24 February 2015 14:16:45 Chanwoo Choi wrote:
  This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC based 
  on
  Octal core CPUs (quad Cortex-A57 and quad Cortex-A53). And Exynos5433 
  supports
  PSCI (Power State Coordination Interface) v0.1.
 
  This patch includes following dt node to support Exynos5433 SoC:
  1. Octa core for big.LITTLE architecture
  - Cortex-A53 LITTLE Quad-core
  - Cortex-A57 big Quad-core
  - Support PSCI v0.1
  
  Should we try to come up with a way to better share parts of this with the
  exynos5 dtsi files you already have in arm32? I suspect that there is a
  significant overlap.
 
 Currently, 32-bit Exynos5 SoC (which is included in arch/arm/boot/dts)
 didn't support the Cortex-A53/A57 and PSCI.
 
 The 32-bit Exynos5 SoC support the Coretex-A7 or A15 and big.LITTLE Exynos5 
 SoC
 use the MCPM (Multi-Cluster PM) driver for secondary cpu on/off instead of 
 PSCI.
 

Yes, I understand that. What I meant is sharing the nodes that are identical
between e.g. all exynos54xx by using a common .dtsi file that can be included
by 5420, 5433 and 5440.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-24 Thread Arnd Bergmann
On Tuesday 24 February 2015 14:16:45 Chanwoo Choi wrote:
 +   aliases {
 +   pinctrl0 = pinctrl_alive;
 +   pinctrl1 = pinctrl_aud;
 +   pinctrl2 = pinctrl_cpif;
 +   pinctrl3 = pinctrl_ese;
 +   pinctrl4 = pinctrl_finger;
 +   pinctrl5 = pinctrl_fsys;
 +   pinctrl6 = pinctrl_imem;
 +   pinctrl7 = pinctrl_nfc;
 +   pinctrl8 = pinctrl_peric;
 +   pinctrl9 = pinctrl_touch;
 +   serial0 = serial_0;
 +   serial1 = serial_1;
 +   serial2 = serial_2;
 +   i2c0 = hsi2c_0;
 +   i2c1 = hsi2c_1;
 +   i2c2 = hsi2c_2;
 +   i2c3 = hsi2c_3;
 +   i2c4 = hsi2c_4;
 +   i2c5 = hsi2c_5;
 +   i2c6 = hsi2c_6;
 +   i2c7 = hsi2c_7;
 +   i2c8 = hsi2c_8;
 +   i2c9 = hsi2c_9;
 +   i2c10 = hsi2c_10;
 +   i2c11 = hsi2c_11;
 +   };
 +
 

Can you put the aliases into the per-board files? There might be boards that
do not support all the uarts and all the i2c controllers but only want to
provide aliases for a subset of them, without holes in the numbering.

Arnd
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-24 Thread Chanwoo Choi
On 02/24/2015 06:50 PM, Arnd Bergmann wrote:
 On Tuesday 24 February 2015 18:01:27 Chanwoo Choi wrote:
 On 02/24/2015 05:33 PM, Arnd Bergmann wrote:
 On Tuesday 24 February 2015 14:16:45 Chanwoo Choi wrote:
 This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC based 
 on
 Octal core CPUs (quad Cortex-A57 and quad Cortex-A53). And Exynos5433 
 supports
 PSCI (Power State Coordination Interface) v0.1.

 This patch includes following dt node to support Exynos5433 SoC:
 1. Octa core for big.LITTLE architecture
 - Cortex-A53 LITTLE Quad-core
 - Cortex-A57 big Quad-core
 - Support PSCI v0.1

 Should we try to come up with a way to better share parts of this with the
 exynos5 dtsi files you already have in arm32? I suspect that there is a
 significant overlap.

 Currently, 32-bit Exynos5 SoC (which is included in arch/arm/boot/dts)
 didn't support the Cortex-A53/A57 and PSCI.

 The 32-bit Exynos5 SoC support the Coretex-A7 or A15 and big.LITTLE Exynos5 
 SoC
 use the MCPM (Multi-Cluster PM) driver for secondary cpu on/off instead of 
 PSCI.

 
 Yes, I understand that. What I meant is sharing the nodes that are identical
 between e.g. all exynos54xx by using a common .dtsi file that can be included
 by 5420, 5433 and 5440.

Exynos5433 use the quite different base address of each IP from 
Exynos5250/5420/5800.
Exynos5433 SoC cannot use the devicetree node in Exynos5 dtsi 
(arch/arm/boot/dts/exynos5.dtsi).

Thanks,
Chanwoo Choi
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-24 Thread Chanwoo Choi
On 02/24/2015 06:48 PM, Arnd Bergmann wrote:
 On Tuesday 24 February 2015 17:52:01 Chanwoo Choi wrote:

 But, I have a question.
 If we put the aliases into the board dts file instaed of SoC dtsi,
 each board dts file may use the different alias name about same phandle.
 
 Yes, that is the idea. In particular with the uarts, the intention is
 that the numbering of the device nodes in /dev is the same that is
 printed on the board (if any), which may be different from the numbering
 internal to the SoC.

I check the uart device with Exynos5433 SoC based on Linux 4.0-rc1
If some board use the serial_0 and serial_3 as following in board dtsi,

serial_0 { -- UART 0 device
status = okay;
};

serial_3 { -- UART 3 device
status = okay;
};

The serial core driver create the follwoing /dev/ttySACx device node
by using the number of alias. It maintain the same device number of internel to 
the SoC.

root@localhost:~# ls /dev/ttySAC
ttySAC1  ttySAC3  

Thanks,
Chanwoo Choi


--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v4 2/8] arm64: dts: exynos: Add dts files for 64-bit Exynos5433 SoC

2015-02-23 Thread Chanwoo Choi
This patch adds new Exynos5433 dtsi to support 64-bit Exynos5433 SoC based on
Octal core CPUs (quad Cortex-A57 and quad Cortex-A53). And Exynos5433 supports
PSCI (Power State Coordination Interface) v0.1.

This patch includes following dt node to support Exynos5433 SoC:
1. Octa core for big.LITTLE architecture
- Cortex-A53 LITTLE Quad-core
- Cortex-A57 big Quad-core
- Support PSCI v0.1

2. clock controller node:
- CMU_TOP   : clocks for IMEM/FSYS/G3D/GSCL/HEVC/MSCL/G2D/MFC/PERIC/PERIS
- CMU_CPIF  : clocks for LLI (Low Latency Interface)
- CMU_MIF   : clocks for DRAM Memory Controller
- CMU_PERIC : clocks for UART/I2C/SPI/I2S/PCM/SPDIF/PWM/SLIMBUS
- CMU_PERIS : clocks for PMU/TMU/MCT/WDT/RTC/SECKEY/TZPC
- CMU_FSYS  : clocks for USB/UFS/SDMMC/TSI/PDMA
- CMU_G2D   : clocks for G2D/MDMA
- CMU_DISP  : clocks for DECON/HDMI/DSIM/MIXER
- CMU_AUD   : clocks for Cortex-A5/BUS/AUDIO
- CMU_BUS{0|1|2} : clocks for global data buses and global peripheral buses
- CMU_G3D   : clocks for 3D Graphics Engine
- CMU_GSCL  : clocks for GSCALER
- CMU_APOLLO: clocks for Cortex-A53 Quad-core processor.
- CMU_ATLAS : clocks for Cortex-A57 Quad-core processor,
  CoreSight and L2 cache controller.
- CMU_MSCL  : clocks for M2M (Memory to Memory) scaler and JPEG IPs.
- CMU_MFC   : clocks for MFC (Multi-Format Codec) IP.
- CMU_HEVC  : clocks for HEVC(High Efficiency Video Codec) decoder IP.
- CMU_ISP   : clocks for FIMC-ISP/DRC/SCLC/DIS/3DNR IPs.
- CMU_CAM0  : clocks for MIPI_CSIS{0|1}/FIMC_LITE_{A|B|D}/FIMC_3AA{0|1} IPs.
- CMU_CAM1  : clocks for COrtex-A5/MIPI_CSIS2/FIMC_LITE_C/FIMC-FD IPs.

3. pinctrl node for GPIO:
- alive/aud/cpif/ese/finger/fsys/imem/nfc/peric/touch pad

4. HS (High-Speed) I2C device
5. Serial device
6. ARCH timer (arm,armv8-timer)
7. Interrupt controller (arm,gic-400)

Cc: Kukjin Kim kg...@kernel.org
Cc: Mark Rutland mark.rutl...@arm.com
Cc: Marc Zyngier marc.zyng...@arm.com
Cc: Arnd Bergmann a...@arndb.de
Cc: Olof Johansson o...@lixom.net
Cc: Catalin Marinas catalin.mari...@arm.com
Cc: Will Deacon will.dea...@arm.com
Signed-off-by: Chanwoo Choi cw00.c...@samsung.com
Acked-by: Inki Dae inki@samsung.com
---
 arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi | 698 +
 arch/arm64/boot/dts/exynos/exynos5433.dtsi | 696 
 2 files changed, 1394 insertions(+)
 create mode 100644 arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi
 create mode 100644 arch/arm64/boot/dts/exynos/exynos5433.dtsi

diff --git a/arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi 
b/arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi
new file mode 100644
index 000..c56bbf8
--- /dev/null
+++ b/arch/arm64/boot/dts/exynos/exynos5433-pinctrl.dtsi
@@ -0,0 +1,698 @@
+/*
+ * Samsung's Exynos5433 SoC pin-mux and pin-config device tree source
+ *
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * http://www.samsung.com
+ *
+ * Samsung's Exynos5433 SoC pin-mux and pin-config options are listed as device
+ * tree nodes are listed in this file.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+pinctrl_alive {
+   gpa0: gpa0 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   interrupt-parent = gic;
+   interrupts = 0 0 0, 0 1 0, 0 2 0, 0 3 0,
+0 4 0, 0 5 0, 0 6 0, 0 7 0;
+   #interrupt-cells = 2;
+   };
+
+   gpa1: gpa1 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   interrupt-parent = gic;
+   interrupts = 0 8 0, 0 9 0, 0 10 0, 0 11 0,
+0 12 0, 0 13 0, 0 14 0, 0 15 0;
+   #interrupt-cells = 2;
+   };
+
+   gpa2: gpa2 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpa3: gpa3 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+};
+
+pinctrl_aud {
+   gpz0: gpz0 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   gpz1: gpz1 {
+   gpio-controller;
+   #gpio-cells = 2;
+
+   interrupt-controller;
+   #interrupt-cells = 2;
+   };
+
+   i2s0_bus: i2s0-bus {
+   samsung,pins = gpz0-0, gpz0-1, gpz0-2, gpz0-3,
+   gpz0-4, gpz0-5, gpz0-6;
+   samsung,pin-function = 2;
+   samsung,pin-pud = 1;
+   samsung,pin-drv = 0;
+   };
+
+   pcm0_bus: pcm0-bus {
+   samsung,pins = gpz1-0,