[U-Boot] [PATCH v3 2/2] arm64: zynqmp: add support for Avnet UltraZed-EV Starter Kit

2019-06-11 Thread Luca Ceresoli
Avnet UltraZed-EV Starter Kit is composed by the UltraZed-EV SoM and the
only publicly-available compatible carrier card. The SoM is based on the EV
version of the Xilinx ZynqMP SoC+FPGA.

The psu_init_gpl.c file has been generated from the board definition files
at [0] using Vivado 2018.3 and then minimized by
tools/zynqmp_psu_init_minimize.sh. Manually removed serdes init code since
it is not mentioned in device tree and fixed a checkpatch error.

[0] 
https://github.com/Avnet/bdf/tree/3686c9ff7d2f0467fb4fcf39f861b8d6ff183b12/ultrazed_7ev_cc/1.1

Signed-off-by: Luca Ceresoli 

---

Changes v2 -> v3 (Michal):
- add board version to DT file names (v1 for both SoM and carrier)
- DT: add model and compatible properties to both SoM and CC
- DT: remove port-number property from uart0
- DT: fix compatible string for eeprom
- DT: fix ethernet phy nodes
- psu_init: replace "return (0)" -> "return 0"

Changes v1 -> v2:
 - remove serdes code from psu_init_gpl.c since no serdes is enabled in DT
   (Michal)
 - split DT in two files: SOM and carrier card (Michal)
 - improved DT comments, added product URLs
 - DT: add missing phy-handle under ethernet node (Michal)

Whole patchset tested on:
 - current u-boot/master, as is
 - current u-boot-microblaze/master
---
 arch/arm/dts/Makefile |   1 +
 ...ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts |  60 ++
 arch/arm/dts/avnet-ultrazedev-som-v1.0.dtsi   |  56 ++
 .../psu_init_gpl.c| 663 ++
 ...edev_cc_v1_0_ultrazedev_som_v1_0_defconfig |  64 ++
 5 files changed, 844 insertions(+)
 create mode 100644 
arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts
 create mode 100644 arch/arm/dts/avnet-ultrazedev-som-v1.0.dtsi
 create mode 100644 
board/xilinx/zynqmp/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0/psu_init_gpl.c
 create mode 100644 
configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index e0c54bfa767e..a6764ba53581 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -238,6 +238,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
zynq-zybo-z7.dtb
 dtb-$(CONFIG_ARCH_ZYNQMP) += \
avnet-ultra96-rev1.dtb  \
+   avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dtb\
zynqmp-mini.dtb \
zynqmp-mini-emmc0.dtb   \
zynqmp-mini-emmc1.dtb   \
diff --git a/arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts 
b/arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts
new file mode 100644
index ..9a05a9f7c37c
--- /dev/null
+++ b/arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts
@@ -0,0 +1,60 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+
+/*
+ * UltraZed-EV Carrier Card v1 (based on the UltraZed-EV SoM)
+ * http://ultrazed.org/product/ultrazed-ev-carrier-card
+ */
+
+/dts-v1/;
+
+#include "avnet-ultrazedev-som-v1.0.dtsi"
+
+/ {
+   model = "Avnet UltraZed EV Carrier Card v1.0";
+   compatible = "avnet,ultrazedev-cc-v1.0-ultrazedev-som-v1.0",
+"xlnx,zynqmp";
+   chosen {
+   stdout-path = "serial0:115200n8";
+   xlnx,eeprom = &eeprom;
+   };
+   aliases {
+   ethernet0 = &gem3;
+   serial0 = &uart0;
+   };
+};
+
+&uart0 {
+   device_type = "serial";
+   status = "okay";
+   u-boot,dm-pre-reloc;
+};
+
+&i2c_cc {
+   /* Microchip 24AA025E48T-I/OT: 2K I2C Serial EEPROM with EUI-48 */
+   eeprom: eeprom@51 {
+   compatible = "atmel,24c02";
+   reg = <0x51>;
+   };
+
+   /* IDT Versa Clock 5P49V5935B */
+   vc5: clock-generator@6a {
+   compatible = "idt,5p49v5935";
+   reg = <0x6a>;
+   #clock-cells = <1>;
+   };
+};
+
+/* Ethernet RJ-45 */
+&gem3 {
+   status = "okay";
+};
+
+/* microSD card slot */
+&sdhci1 {
+   status = "okay";
+   xlnx,mio_bank = <1>;
+   clock-frequency = <18000>;
+   max-frequency = <5000>;
+   no-1-8-v;
+   disable-wp;
+};
diff --git a/arch/arm/dts/avnet-ultrazedev-som-v1.0.dtsi 
b/arch/arm/dts/avnet-ultrazedev-som-v1.0.dtsi
new file mode 100644
index ..b635db649f43
--- /dev/null
+++ b/arch/arm/dts/avnet-ultrazedev-som-v1.0.dtsi
@@ -0,0 +1,56 @@
+// SPDX-License-Identifier: GPL-2.0+ OR X11
+
+/*
+ * UltraZed-EV SoM v1
+ * http://ultrazed.org/product/ultrazed-ev
+ */
+
+/dts-v1/;
+
+#include "zynqmp.dtsi"
+#include "zynqmp-clk-ccf.dtsi"
+
+/ {
+   model = "Avnet UltraZed EV SoM v1.0";
+   compatible = "avnet,ultrazedev-som-v1.0", "xlnx,zynqmp";
+   memory {
+   device_type = "memory";
+   reg = <0x0 0x0 0x0 0x8000>, /* 2 GB @ offset 0 */
+ <0x8 0x0 0x0 0x8000>; /* 2 GB @ offset 32GB */
+   };
+};
+
+&i2c1 {
+   clock-frequency = <40>;
+   status = "okay";
+
+  

Re: [U-Boot] [PATCH v3 2/2] arm64: zynqmp: add support for Avnet UltraZed-EV Starter Kit

2019-06-12 Thread Michal Simek
On 11. 06. 19 18:39, Luca Ceresoli wrote:
> Avnet UltraZed-EV Starter Kit is composed by the UltraZed-EV SoM and the
> only publicly-available compatible carrier card. The SoM is based on the EV
> version of the Xilinx ZynqMP SoC+FPGA.
> 
> The psu_init_gpl.c file has been generated from the board definition files
> at [0] using Vivado 2018.3 and then minimized by
> tools/zynqmp_psu_init_minimize.sh. Manually removed serdes init code since
> it is not mentioned in device tree and fixed a checkpatch error.
> 
> [0] 
> https://github.com/Avnet/bdf/tree/3686c9ff7d2f0467fb4fcf39f861b8d6ff183b12/ultrazed_7ev_cc/1.1
> 
> Signed-off-by: Luca Ceresoli 
> 
> ---
> 
> Changes v2 -> v3 (Michal):
> - add board version to DT file names (v1 for both SoM and carrier)
> - DT: add model and compatible properties to both SoM and CC
> - DT: remove port-number property from uart0
> - DT: fix compatible string for eeprom
> - DT: fix ethernet phy nodes
> - psu_init: replace "return (0)" -> "return 0"
> 
> Changes v1 -> v2:
>  - remove serdes code from psu_init_gpl.c since no serdes is enabled in DT
>(Michal)
>  - split DT in two files: SOM and carrier card (Michal)
>  - improved DT comments, added product URLs
>  - DT: add missing phy-handle under ethernet node (Michal)
> 
> Whole patchset tested on:
>  - current u-boot/master, as is
>  - current u-boot-microblaze/master
> ---
>  arch/arm/dts/Makefile |   1 +
>  ...ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts |  60 ++
>  arch/arm/dts/avnet-ultrazedev-som-v1.0.dtsi   |  56 ++
>  .../psu_init_gpl.c| 663 ++
>  ...edev_cc_v1_0_ultrazedev_som_v1_0_defconfig |  64 ++
>  5 files changed, 844 insertions(+)
>  create mode 100644 
> arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts
>  create mode 100644 arch/arm/dts/avnet-ultrazedev-som-v1.0.dtsi
>  create mode 100644 
> board/xilinx/zynqmp/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0/psu_init_gpl.c
>  create mode 100644 
> configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
> 
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index e0c54bfa767e..a6764ba53581 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -238,6 +238,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
>   zynq-zybo-z7.dtb
>  dtb-$(CONFIG_ARCH_ZYNQMP) += \
>   avnet-ultra96-rev1.dtb  \
> + avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dtb\
>   zynqmp-mini.dtb \
>   zynqmp-mini-emmc0.dtb   \
>   zynqmp-mini-emmc1.dtb   \
> diff --git a/arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts 
> b/arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts
> new file mode 100644
> index ..9a05a9f7c37c
> --- /dev/null
> +++ b/arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts
> @@ -0,0 +1,60 @@
> +// SPDX-License-Identifier: GPL-2.0+ OR X11
> +
> +/*
> + * UltraZed-EV Carrier Card v1 (based on the UltraZed-EV SoM)
> + * http://ultrazed.org/product/ultrazed-ev-carrier-card
> + */
> +
> +/dts-v1/;
> +
> +#include "avnet-ultrazedev-som-v1.0.dtsi"
> +
> +/ {
> + model = "Avnet UltraZed EV Carrier Card v1.0";
> + compatible = "avnet,ultrazedev-cc-v1.0-ultrazedev-som-v1.0",
> +  "xlnx,zynqmp";
> + chosen {
> + stdout-path = "serial0:115200n8";
> + xlnx,eeprom = &eeprom;
> + };
> + aliases {
> + ethernet0 = &gem3;
> + serial0 = &uart0;
> + };
> +};
> +
> +&uart0 {
> + device_type = "serial";
> + status = "okay";
> + u-boot,dm-pre-reloc;

I have removed this line and applied this patch.

Thanks,
Michal
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v3 2/2] arm64: zynqmp: add support for Avnet UltraZed-EV Starter Kit

2019-06-19 Thread Michal Simek
Hi Luca,

On 12. 06. 19 13:32, Michal Simek wrote:
> On 11. 06. 19 18:39, Luca Ceresoli wrote:
>> Avnet UltraZed-EV Starter Kit is composed by the UltraZed-EV SoM and the
>> only publicly-available compatible carrier card. The SoM is based on the EV
>> version of the Xilinx ZynqMP SoC+FPGA.
>>
>> The psu_init_gpl.c file has been generated from the board definition files
>> at [0] using Vivado 2018.3 and then minimized by
>> tools/zynqmp_psu_init_minimize.sh. Manually removed serdes init code since
>> it is not mentioned in device tree and fixed a checkpatch error.
>>
>> [0] 
>> https://github.com/Avnet/bdf/tree/3686c9ff7d2f0467fb4fcf39f861b8d6ff183b12/ultrazed_7ev_cc/1.1
>>
>> Signed-off-by: Luca Ceresoli 
>>
>> ---
>>
>> Changes v2 -> v3 (Michal):
>> - add board version to DT file names (v1 for both SoM and carrier)
>> - DT: add model and compatible properties to both SoM and CC
>> - DT: remove port-number property from uart0
>> - DT: fix compatible string for eeprom
>> - DT: fix ethernet phy nodes
>> - psu_init: replace "return (0)" -> "return 0"
>>
>> Changes v1 -> v2:
>>  - remove serdes code from psu_init_gpl.c since no serdes is enabled in DT
>>(Michal)
>>  - split DT in two files: SOM and carrier card (Michal)
>>  - improved DT comments, added product URLs
>>  - DT: add missing phy-handle under ethernet node (Michal)
>>
>> Whole patchset tested on:
>>  - current u-boot/master, as is
>>  - current u-boot-microblaze/master
>> ---
>>  arch/arm/dts/Makefile |   1 +
>>  ...ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts |  60 ++
>>  arch/arm/dts/avnet-ultrazedev-som-v1.0.dtsi   |  56 ++
>>  .../psu_init_gpl.c| 663 ++
>>  ...edev_cc_v1_0_ultrazedev_som_v1_0_defconfig |  64 ++
>>  5 files changed, 844 insertions(+)
>>  create mode 100644 
>> arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts
>>  create mode 100644 arch/arm/dts/avnet-ultrazedev-som-v1.0.dtsi
>>  create mode 100644 
>> board/xilinx/zynqmp/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0/psu_init_gpl.c
>>  create mode 100644 
>> configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
>>
>> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
>> index e0c54bfa767e..a6764ba53581 100644
>> --- a/arch/arm/dts/Makefile
>> +++ b/arch/arm/dts/Makefile
>> @@ -238,6 +238,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
>>  zynq-zybo-z7.dtb
>>  dtb-$(CONFIG_ARCH_ZYNQMP) += \
>>  avnet-ultra96-rev1.dtb  \
>> +avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dtb\
>>  zynqmp-mini.dtb \
>>  zynqmp-mini-emmc0.dtb   \
>>  zynqmp-mini-emmc1.dtb   \
>> diff --git a/arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts 
>> b/arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts
>> new file mode 100644
>> index ..9a05a9f7c37c
>> --- /dev/null
>> +++ b/arch/arm/dts/avnet-ultrazedev-cc-v1.0-ultrazedev-som-v1.0.dts
>> @@ -0,0 +1,60 @@
>> +// SPDX-License-Identifier: GPL-2.0+ OR X11
>> +
>> +/*
>> + * UltraZed-EV Carrier Card v1 (based on the UltraZed-EV SoM)
>> + * http://ultrazed.org/product/ultrazed-ev-carrier-card
>> + */
>> +
>> +/dts-v1/;
>> +
>> +#include "avnet-ultrazedev-som-v1.0.dtsi"
>> +
>> +/ {
>> +model = "Avnet UltraZed EV Carrier Card v1.0";
>> +compatible = "avnet,ultrazedev-cc-v1.0-ultrazedev-som-v1.0",
>> + "xlnx,zynqmp";
>> +chosen {
>> +stdout-path = "serial0:115200n8";
>> +xlnx,eeprom = &eeprom;
>> +};
>> +aliases {
>> +ethernet0 = &gem3;
>> +serial0 = &uart0;
>> +};
>> +};
>> +
>> +&uart0 {
>> +device_type = "serial";
>> +status = "okay";
>> +u-boot,dm-pre-reloc;
> 
> I have removed this line and applied this patch.

Can you please also send a patch to create maintainer fragment for this
board?

[u-boot](sdhci2)$ ./tools/genboardscfg.py -f
WARNING: no status info for 'avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0'
WARNING: no maintainers for 'avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0'

Please put it to board/xilinx/zynqmp/MAINTAINERS

Thanks,
Michal
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v3 2/2] arm64: zynqmp: add support for Avnet UltraZed-EV Starter Kit

2019-06-19 Thread Luca Ceresoli
Hi Michal,

On 19/06/19 09:20, Michal Simek wrote:
[...]
>> I have removed this line and applied this patch.
> 
> Can you please also send a patch to create maintainer fragment for this
> board?
> 
> [u-boot](sdhci2)$ ./tools/genboardscfg.py -f
> WARNING: no status info for 'avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0'
> WARNING: no maintainers for 'avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0'
> 
> Please put it to board/xilinx/zynqmp/MAINTAINERS

I had considered adding one in my original patch, but MAINTAINERS was
looking like it contains only maintainers for big stuff so I thought it
was a good idea not to add a simple board defconfig. I was wrong, sorry.
Patch incoming, thanks for reporting.

-- 
Luca
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot