Re: [PATCH v5 3/3] arm64: dts: meson: Add minimal support for Odroid-N2

2019-06-05 Thread Kevin Hilman
Neil Armstrong  writes:

> On 03/06/2019 14:00, Anand Moon wrote:
>> Hi Niel,
>> 
>> On Mon, 3 Jun 2019 at 14:41, Neil Armstrong  wrote:
>>>
>>> This patch adds basic support for :
>>> - Amlogic G12B, which is very similar to G12A
>>> - The HardKernel Odroid-N2 based on the S922X SoC
>>>
>>> The Amlogic G12B SoC is very similar with the G12A SoC, sharing
>>> most of the features and architecture, but with these differences :
>>> - The first CPU cluster only has 2xCortex-A53 instead of 4
>>> - G12B has a second cluster of 4xCortex-A73
>>> - Both cluster can achieve 2GHz instead of 1,8GHz for G12A
>>> - CPU Clock architecture is difference, thus needing a different
>>>   compatible to handle this slight difference
>>> - Supports a MIPI CSI input
>>> - Embeds a Mali-G52 instead of a Mali-G31, but integration is the same
>>>
>>> Actual support is done in the same way as for the GXM support, including
>>> the G12A dtsi and redefining the CPU clusters.
>>> Unlike GXM, the first cluster is different, thus needing to remove
>>> the last 2 cpu nodes of the first cluster.
>>>
>>> Signed-off-by: Neil Armstrong 
>>> Reviewed-by: Martin Blumenstingl 
>>> ---
>>>  arch/arm64/boot/dts/amlogic/Makefile  |   1 +
>>>  .../boot/dts/amlogic/meson-g12b-odroid-n2.dts | 289 ++
>>>  arch/arm64/boot/dts/amlogic/meson-g12b.dtsi   |  82 +
>>>  3 files changed, 372 insertions(+)
>>>  create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
>>>  create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
>>>
>>> diff --git a/arch/arm64/boot/dts/amlogic/Makefile 
>>> b/arch/arm64/boot/dts/amlogic/Makefile
>>> index e129c03ced14..07b861fe5fa5 100644
>>> --- a/arch/arm64/boot/dts/amlogic/Makefile
>>> +++ b/arch/arm64/boot/dts/amlogic/Makefile
>>> @@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
>>>  dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
>>>  dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
>>>  dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb
>>> +dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
>>>  dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb
>>>  dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb
>>>  dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb
>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts 
>>> b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
>>> new file mode 100644
>>> index ..161d8f0ff4f3
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
>>> @@ -0,0 +1,289 @@
>>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>>> +/*
>>> + * Copyright (c) 2019 BayLibre, SAS
>>> + * Author: Neil Armstrong 
>>> + */
>>> +
>>> +/dts-v1/;
>>> +
>>> +#include "meson-g12b.dtsi"
>>> +#include 
>>> +#include 
>>> +
>>> +/ {
>>> +   compatible = "hardkernel,odroid-n2", "amlogic,g12b";
>>> +   model = "Hardkernel ODROID-N2";
>>> +
>>> +   aliases {
>>> +   serial0 = _AO;
>>> +   ethernet0 = 
>>> +   };
>>> +
>
> [...]
>
>>> +
>>> +   main_12v: regulator-main_12v {
>>> +   compatible = "regulator-fixed";
>>> +   regulator-name = "12V";
>>> +   regulator-min-microvolt = <1200>;
>>> +   regulator-max-microvolt = <1200>;
>>> +   regulator-always-on;
>>> +   };
>>> +
>>> +   vcc_5v: regulator-vcc_5v {
>>> +   compatible = "regulator-fixed";
>>> +   regulator-name = "5V";
>>> +   regulator-min-microvolt = <500>;
>>> +   regulator-max-microvolt = <500>;
>>> +   regulator-always-on;
>> 
>> As per odroid-n2_rev0.4_20190307 schematic its missing.
>>   vin-supply =  <_12v>;
>> 
>> With this please add my.
>> Tested-by: Anand Moon 
>
> Good catch, thanks Anand.
>
> @Kevin, should I resend ?

No need, I've fixed it up locally,

Thanks,

Kevin


Re: [PATCH v5 3/3] arm64: dts: meson: Add minimal support for Odroid-N2

2019-06-05 Thread Neil Armstrong
On 03/06/2019 14:00, Anand Moon wrote:
> Hi Niel,
> 
> On Mon, 3 Jun 2019 at 14:41, Neil Armstrong  wrote:
>>
>> This patch adds basic support for :
>> - Amlogic G12B, which is very similar to G12A
>> - The HardKernel Odroid-N2 based on the S922X SoC
>>
>> The Amlogic G12B SoC is very similar with the G12A SoC, sharing
>> most of the features and architecture, but with these differences :
>> - The first CPU cluster only has 2xCortex-A53 instead of 4
>> - G12B has a second cluster of 4xCortex-A73
>> - Both cluster can achieve 2GHz instead of 1,8GHz for G12A
>> - CPU Clock architecture is difference, thus needing a different
>>   compatible to handle this slight difference
>> - Supports a MIPI CSI input
>> - Embeds a Mali-G52 instead of a Mali-G31, but integration is the same
>>
>> Actual support is done in the same way as for the GXM support, including
>> the G12A dtsi and redefining the CPU clusters.
>> Unlike GXM, the first cluster is different, thus needing to remove
>> the last 2 cpu nodes of the first cluster.
>>
>> Signed-off-by: Neil Armstrong 
>> Reviewed-by: Martin Blumenstingl 
>> ---
>>  arch/arm64/boot/dts/amlogic/Makefile  |   1 +
>>  .../boot/dts/amlogic/meson-g12b-odroid-n2.dts | 289 ++
>>  arch/arm64/boot/dts/amlogic/meson-g12b.dtsi   |  82 +
>>  3 files changed, 372 insertions(+)
>>  create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
>>  create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/amlogic/Makefile 
>> b/arch/arm64/boot/dts/amlogic/Makefile
>> index e129c03ced14..07b861fe5fa5 100644
>> --- a/arch/arm64/boot/dts/amlogic/Makefile
>> +++ b/arch/arm64/boot/dts/amlogic/Makefile
>> @@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
>>  dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
>>  dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
>>  dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb
>> +dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
>>  dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb
>>  dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb
>>  dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb
>> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts 
>> b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
>> new file mode 100644
>> index ..161d8f0ff4f3
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
>> @@ -0,0 +1,289 @@
>> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
>> +/*
>> + * Copyright (c) 2019 BayLibre, SAS
>> + * Author: Neil Armstrong 
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include "meson-g12b.dtsi"
>> +#include 
>> +#include 
>> +
>> +/ {
>> +   compatible = "hardkernel,odroid-n2", "amlogic,g12b";
>> +   model = "Hardkernel ODROID-N2";
>> +
>> +   aliases {
>> +   serial0 = _AO;
>> +   ethernet0 = 
>> +   };
>> +

[...]

>> +
>> +   main_12v: regulator-main_12v {
>> +   compatible = "regulator-fixed";
>> +   regulator-name = "12V";
>> +   regulator-min-microvolt = <1200>;
>> +   regulator-max-microvolt = <1200>;
>> +   regulator-always-on;
>> +   };
>> +
>> +   vcc_5v: regulator-vcc_5v {
>> +   compatible = "regulator-fixed";
>> +   regulator-name = "5V";
>> +   regulator-min-microvolt = <500>;
>> +   regulator-max-microvolt = <500>;
>> +   regulator-always-on;
> 
> As per odroid-n2_rev0.4_20190307 schematic its missing.
>   vin-supply =  <_12v>;
> 
> With this please add my.
> Tested-by: Anand Moon 

Good catch, thanks Anand.

@Kevin, should I resend ?

Neil

> 
> Best Regards
> -Anand
>> +   };
>> +
>> +   vcc_1v8: regulator-vcc_1v8 {
>> +   compatible = "regulator-fixed";
>> +   regulator-name = "VCC_1V8";
>> +   regulator-min-microvolt = <180>;
>> +   regulator-max-microvolt = <180>;
>> +   vin-supply = <_3v3>;
>> +   regulator-always-on;
>> +   };
>> +

[...]

>> +
>> + {
>> +   compatible = "amlogic,g12b-clkc";
>> +};
>> --
>> 2.21.0
>>
>>
>> ___
>> linux-amlogic mailing list
>> linux-amlo...@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-amlogic



Re: [PATCH v5 3/3] arm64: dts: meson: Add minimal support for Odroid-N2

2019-06-03 Thread Anand Moon
Hi Niel,

On Mon, 3 Jun 2019 at 14:41, Neil Armstrong  wrote:
>
> This patch adds basic support for :
> - Amlogic G12B, which is very similar to G12A
> - The HardKernel Odroid-N2 based on the S922X SoC
>
> The Amlogic G12B SoC is very similar with the G12A SoC, sharing
> most of the features and architecture, but with these differences :
> - The first CPU cluster only has 2xCortex-A53 instead of 4
> - G12B has a second cluster of 4xCortex-A73
> - Both cluster can achieve 2GHz instead of 1,8GHz for G12A
> - CPU Clock architecture is difference, thus needing a different
>   compatible to handle this slight difference
> - Supports a MIPI CSI input
> - Embeds a Mali-G52 instead of a Mali-G31, but integration is the same
>
> Actual support is done in the same way as for the GXM support, including
> the G12A dtsi and redefining the CPU clusters.
> Unlike GXM, the first cluster is different, thus needing to remove
> the last 2 cpu nodes of the first cluster.
>
> Signed-off-by: Neil Armstrong 
> Reviewed-by: Martin Blumenstingl 
> ---
>  arch/arm64/boot/dts/amlogic/Makefile  |   1 +
>  .../boot/dts/amlogic/meson-g12b-odroid-n2.dts | 289 ++
>  arch/arm64/boot/dts/amlogic/meson-g12b.dtsi   |  82 +
>  3 files changed, 372 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
>  create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b.dtsi
>
> diff --git a/arch/arm64/boot/dts/amlogic/Makefile 
> b/arch/arm64/boot/dts/amlogic/Makefile
> index e129c03ced14..07b861fe5fa5 100644
> --- a/arch/arm64/boot/dts/amlogic/Makefile
> +++ b/arch/arm64/boot/dts/amlogic/Makefile
> @@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
>  dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
>  dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
>  dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb
> +dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
>  dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb
>  dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb
>  dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb
> diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts 
> b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
> new file mode 100644
> index ..161d8f0ff4f3
> --- /dev/null
> +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
> @@ -0,0 +1,289 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2019 BayLibre, SAS
> + * Author: Neil Armstrong 
> + */
> +
> +/dts-v1/;
> +
> +#include "meson-g12b.dtsi"
> +#include 
> +#include 
> +
> +/ {
> +   compatible = "hardkernel,odroid-n2", "amlogic,g12b";
> +   model = "Hardkernel ODROID-N2";
> +
> +   aliases {
> +   serial0 = _AO;
> +   ethernet0 = 
> +   };
> +
> +   chosen {
> +   stdout-path = "serial0:115200n8";
> +   };
> +
> +   memory@0 {
> +   device_type = "memory";
> +   reg = <0x0 0x0 0x0 0x4000>;
> +   };
> +
> +   emmc_pwrseq: emmc-pwrseq {
> +   compatible = "mmc-pwrseq-emmc";
> +   reset-gpios = < BOOT_12 GPIO_ACTIVE_LOW>;
> +   };
> +
> +   leds {
> +   compatible = "gpio-leds";
> +
> +   blue {
> +   label = "n2:blue";
> +   gpios = <_ao GPIOAO_11 GPIO_ACTIVE_HIGH>;
> +   linux,default-trigger = "heartbeat";
> +   };
> +   };
> +
> +   tflash_vdd: regulator-tflash_vdd {
> +   compatible = "regulator-fixed";
> +
> +   regulator-name = "TFLASH_VDD";
> +   regulator-min-microvolt = <330>;
> +   regulator-max-microvolt = <330>;
> +
> +   gpio = <_ao GPIOAO_8 GPIO_ACTIVE_HIGH>;
> +   enable-active-high;
> +   };
> +
> +   tf_io: gpio-regulator-tf_io {
> +   compatible = "regulator-gpio";
> +
> +   regulator-name = "TF_IO";
> +   regulator-min-microvolt = <180>;
> +   regulator-max-microvolt = <330>;
> +
> +   gpios = <_ao GPIOAO_9 GPIO_ACTIVE_HIGH>;
> +   gpios-states = <0>;
> +
> +   states = <330 0
> + 180 1>;
> +   };
> +
> +   flash_1v8: regulator-flash_1v8 {
> +   compatible = "regulator-fixed";
> +   regulator-name = "FLASH_1V8";
> +   regulator-min-microvolt = <180>;
> +   regulator-max-microvolt = <180>;
> +   vin-supply = <_3v3>;
> +   regulator-always-on;
> +   };
> +
> +   main_12v: regulator-main_12v {
> +   compatible = "regulator-fixed";
> +   regulator-name = "12V";
> +   regulator-min-microvolt = <1200>;
> +   regulator-max-microvolt = <1200>;
> +   regulator-always-on;
> +   };
> +
> +   vcc_5v: regulator-vcc_5v {
> +

[PATCH v5 3/3] arm64: dts: meson: Add minimal support for Odroid-N2

2019-06-03 Thread Neil Armstrong
This patch adds basic support for :
- Amlogic G12B, which is very similar to G12A
- The HardKernel Odroid-N2 based on the S922X SoC

The Amlogic G12B SoC is very similar with the G12A SoC, sharing
most of the features and architecture, but with these differences :
- The first CPU cluster only has 2xCortex-A53 instead of 4
- G12B has a second cluster of 4xCortex-A73
- Both cluster can achieve 2GHz instead of 1,8GHz for G12A
- CPU Clock architecture is difference, thus needing a different
  compatible to handle this slight difference
- Supports a MIPI CSI input
- Embeds a Mali-G52 instead of a Mali-G31, but integration is the same

Actual support is done in the same way as for the GXM support, including
the G12A dtsi and redefining the CPU clusters.
Unlike GXM, the first cluster is different, thus needing to remove
the last 2 cpu nodes of the first cluster.

Signed-off-by: Neil Armstrong 
Reviewed-by: Martin Blumenstingl 
---
 arch/arm64/boot/dts/amlogic/Makefile  |   1 +
 .../boot/dts/amlogic/meson-g12b-odroid-n2.dts | 289 ++
 arch/arm64/boot/dts/amlogic/meson-g12b.dtsi   |  82 +
 3 files changed, 372 insertions(+)
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
 create mode 100644 arch/arm64/boot/dts/amlogic/meson-g12b.dtsi

diff --git a/arch/arm64/boot/dts/amlogic/Makefile 
b/arch/arm64/boot/dts/amlogic/Makefile
index e129c03ced14..07b861fe5fa5 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -3,6 +3,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-axg-s400.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-g12a-sei510.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-g12a-u200.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-g12a-x96-max.dtb
+dtb-$(CONFIG_ARCH_MESON) += meson-g12b-odroid-n2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nanopi-k2.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-nexbox-a95x.dtb
 dtb-$(CONFIG_ARCH_MESON) += meson-gxbb-odroidc2.dtb
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts 
b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
new file mode 100644
index ..161d8f0ff4f3
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts
@@ -0,0 +1,289 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2019 BayLibre, SAS
+ * Author: Neil Armstrong 
+ */
+
+/dts-v1/;
+
+#include "meson-g12b.dtsi"
+#include 
+#include 
+
+/ {
+   compatible = "hardkernel,odroid-n2", "amlogic,g12b";
+   model = "Hardkernel ODROID-N2";
+
+   aliases {
+   serial0 = _AO;
+   ethernet0 = 
+   };
+
+   chosen {
+   stdout-path = "serial0:115200n8";
+   };
+
+   memory@0 {
+   device_type = "memory";
+   reg = <0x0 0x0 0x0 0x4000>;
+   };
+
+   emmc_pwrseq: emmc-pwrseq {
+   compatible = "mmc-pwrseq-emmc";
+   reset-gpios = < BOOT_12 GPIO_ACTIVE_LOW>;
+   };
+
+   leds {
+   compatible = "gpio-leds";
+
+   blue {
+   label = "n2:blue";
+   gpios = <_ao GPIOAO_11 GPIO_ACTIVE_HIGH>;
+   linux,default-trigger = "heartbeat";
+   };
+   };
+
+   tflash_vdd: regulator-tflash_vdd {
+   compatible = "regulator-fixed";
+
+   regulator-name = "TFLASH_VDD";
+   regulator-min-microvolt = <330>;
+   regulator-max-microvolt = <330>;
+
+   gpio = <_ao GPIOAO_8 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
+   };
+
+   tf_io: gpio-regulator-tf_io {
+   compatible = "regulator-gpio";
+
+   regulator-name = "TF_IO";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <330>;
+
+   gpios = <_ao GPIOAO_9 GPIO_ACTIVE_HIGH>;
+   gpios-states = <0>;
+
+   states = <330 0
+ 180 1>;
+   };
+
+   flash_1v8: regulator-flash_1v8 {
+   compatible = "regulator-fixed";
+   regulator-name = "FLASH_1V8";
+   regulator-min-microvolt = <180>;
+   regulator-max-microvolt = <180>;
+   vin-supply = <_3v3>;
+   regulator-always-on;
+   };
+
+   main_12v: regulator-main_12v {
+   compatible = "regulator-fixed";
+   regulator-name = "12V";
+   regulator-min-microvolt = <1200>;
+   regulator-max-microvolt = <1200>;
+   regulator-always-on;
+   };
+
+   vcc_5v: regulator-vcc_5v {
+   compatible = "regulator-fixed";
+   regulator-name = "5V";
+   regulator-min-microvolt = <500>;
+   regulator-max-microvolt = <500>;
+   regulator-always-on;
+   };
+
+   vcc_1v8: regulator-vcc_1v8 {
+   compatible = "regulator-fixed";
+