11-06-2018 03:31 AM
Hello,
I know this is a really noob-like question.
But yes indeed my kernel hangs at starting kernel... This happend suddenly cause before it was working then i made my rootfs size bigger and it stopped.
My partitions
Name ADDR SIZE
BOOT.BIN 0x0 0x600000
uImage 0x620000 0x400000
system.dtb 0x1020000 0x50000
uramdisk.image.gz 0x1070000 0x2000000
POC.bit 0x3070000 0x200000
To clarify; the POC.bit is my bitstream. I cheated this in in the QSPIboot configuration in zynq-common.h in u-boot-xlnx to fpga loadb it into the system. Back then this worked cause when I would add it into the BOOT.BIN it wouldn't work so this was my work-around.
Now when I updated to this partitions, WITH THE SAME FILES, it stopped working and also the fpga loadb did not work anymore. I don´t think (yes i'm sorry i think, a lot happened in the meanwhile.) I changed any configurations.
Also to say the filesystem is made with buildroot but this has never given any problems.
I will include my zynq-zc702.dts, if you guys need anything else just ask me :) I hope someone knows why this is happening. Also I did first look in 100 posts to find my solution but also because I had this once before and then I actually did find the answer there I find this one so strange.
The last thing is that I know my partitions are wrong but that is because I modified zynq-common.h to work. I also included that file, I changed the qspiboot= part and also the addresses and sizes of the different components.
Greetings,
Senkoo
11-06-2018 03:32 AM
Here is the device tree, it kept giving errors.
// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2011 - 2015 Xilinx * Copyright (C) 2012 National Instruments Corp. */ /dts-v1/; /include/ "zynq-7000.dtsi" / { model = "Zynq ZC702 Development Board"; compatible = "xlnx,zynq-zc702", "xlnx,zynq-7000"; aliases { ethernet0 = &gem0; i2c0 = &i2c0; serial0 = &uart1; spi0 = &qspi; mmc0 = &sdhci0; usb0 = &usb0; }; memory@0 { device_type = "memory"; reg = <0x0 0x40000000>; }; chosen { bootargs = "console=ttyPS0,115200 root/dev/ram rw earlyprintk clk_ignore_unused"; linux,stdout-path = "serial0:115200n8"; }; gpio-keys { compatible = "gpio-keys"; autorepeat; sw14 { label = "sw14"; gpios = <&gpio0 12 0>; linux,code = <108>; /* down */ wakeup-source; autorepeat; }; sw13 { label = "sw13"; gpios = <&gpio0 14 0>; linux,code = <103>; /* up */ wakeup-source; autorepeat; }; }; leds { compatible = "gpio-leds"; ds23 { label = "ds23"; gpios = <&gpio0 10 0>; linux,default-trigger = "heartbeat"; }; }; usb_phy0: phy0@e0002000 { compatible = "ulpi-phy"; #phy-cells = <0>; reg = <0xe0002000 0x1000>; view-port = <0x0170>; drv-vbus; }; }; &amba { ocm: sram@fffc0000 { compatible = "mmio-sram"; reg = <0xfffc0000 0x10000>; }; }; &can0 { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_can0_default>; }; &clkc { ps-clk-frequency = <33333333>; }; &gem0 { status = "okay"; phy-mode ="moca"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gem0_default>; phy-reset-gpio = <&gpio0 11 0>; phy-reset-active-low; fixed-link { speed = <1000>; full-duplex; }; }; &gpio0 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio0_default>; }; &i2c0 { status = "okay"; clock-frequency = <400000>; pinctrl-names = "default", "gpio"; pinctrl-0 = <&pinctrl_i2c0_default>; pinctrl-1 = <&pinctrl_i2c0_gpio>; scl-gpios = <&gpio0 50 0>; sda-gpios = <&gpio0 51 0>; i2c-mux@74 { compatible = "nxp,pca9548"; #address-cells = <1>; #size-cells = <0>; reg = <0x74>; i2c@0 { #address-cells = <1>; #size-cells = <0>; reg = <0>; si570: clock-generator@5d { #clock-cells = <0>; compatible = "silabs,si570"; temperature-stability = <50>; reg = <0x5d>; factory-fout = <156250000>; clock-frequency = <148500000>; }; }; i2c@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; adv7511: hdmi-tx@39 { compatible = "adi,adv7511"; reg = <0x39>; adi,input-depth = <8>; adi,input-colorspace = "yuv422"; adi,input-clock = "1x"; adi,input-style = <3>; adi,input-justification = "right"; }; }; i2c@2 { #address-cells = <1>; #size-cells = <0>; reg = <2>; eeprom@54 { compatible = "atmel,24c08"; reg = <0x54>; }; }; i2c@3 { #address-cells = <1>; #size-cells = <0>; reg = <3>; gpio@21 { compatible = "ti,tca6416"; reg = <0x21>; gpio-controller; #gpio-cells = <2>; }; }; i2c@4 { #address-cells = <1>; #size-cells = <0>; reg = <4>; rtc@51 { compatible = "nxp,pcf8563"; reg = <0x51>; }; }; i2c@7 { #address-cells = <1>; #size-cells = <0>; reg = <7>; hwmon@52 { compatible = "ti,ucd9248"; reg = <52>; }; hwmon@53 { compatible = "ti,ucd9248"; reg = <53>; }; hwmon@54 { compatible = "ti,ucd9248"; reg = <54>; }; }; }; }; &pinctrl0 { pinctrl_can0_default: can0-default { mux { function = "can0"; groups = "can0_9_grp"; }; conf { groups = "can0_9_grp"; slew-rate = <0>; io-standard = <1>; }; conf-rx { pins = "MIO46"; bias-high-impedance; }; conf-tx { pins = "MIO47"; bias-disable; }; }; pinctrl_gem0_default: gem0-default { mux { function = "ethernet0"; groups = "ethernet0_0_grp"; }; conf { groups = "ethernet0_0_grp"; slew-rate = <0>; io-standard = <4>; }; conf-rx { pins = "MIO22", "MIO23", "MIO24", "MIO25", "MIO26", "MIO27"; bias-high-impedance; low-power-disable; }; conf-tx { pins = "MIO16", "MIO17", "MIO18", "MIO19", "MIO20", "MIO21"; bias-disable; low-power-enable; }; mux-mdio { function = "mdio0"; groups = "mdio0_0_grp"; }; conf-mdio { groups = "mdio0_0_grp"; slew-rate = <0>; io-standard = <1>; bias-disable; }; }; pinctrl_gpio0_default: gpio0-default { mux { function = "gpio0"; groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp", "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp", "gpio0_13_grp", "gpio0_14_grp"; }; conf { groups = "gpio0_7_grp", "gpio0_8_grp", "gpio0_9_grp", "gpio0_10_grp", "gpio0_11_grp", "gpio0_12_grp", "gpio0_13_grp", "gpio0_14_grp"; slew-rate = <0>; io-standard = <1>; }; conf-pull-up { pins = "MIO9", "MIO10", "MIO11", "MIO12", "MIO13", "MIO14"; bias-pull-up; }; conf-pull-none { pins = "MIO7", "MIO8"; bias-disable; }; }; pinctrl_i2c0_default: i2c0-default { mux { groups = "i2c0_10_grp"; function = "i2c0"; }; conf { groups = "i2c0_10_grp"; bias-pull-up; slew-rate = <0>; io-standard = <1>; }; }; pinctrl_i2c0_gpio: i2c0-gpio { mux { groups = "gpio0_50_grp", "gpio0_51_grp"; function = "gpio0"; }; conf { groups = "gpio0_50_grp", "gpio0_51_grp"; slew-rate = <0>; io-standard = <1>; }; }; pinctrl_sdhci0_default: sdhci0-default { mux { groups = "sdio0_2_grp"; function = "sdio0"; }; conf { groups = "sdio0_2_grp"; slew-rate = <0>; io-standard = <1>; bias-disable; }; mux-cd { groups = "gpio0_0_grp"; function = "sdio0_cd"; }; conf-cd { groups = "gpio0_0_grp"; bias-high-impedance; bias-pull-up; slew-rate = <0>; io-standard = <1>; }; mux-wp { groups = "gpio0_15_grp"; function = "sdio0_wp"; }; conf-wp { groups = "gpio0_15_grp"; bias-high-impedance; bias-pull-up; slew-rate = <0>; io-standard = <1>; }; }; pinctrl_uart1_default: uart1-default { mux { groups = "uart1_10_grp"; function = "uart1"; }; conf { groups = "uart1_10_grp"; slew-rate = <0>; io-standard = <1>; }; conf-rx { pins = "MIO49"; bias-high-impedance; }; conf-tx { pins = "MIO48"; bias-disable; }; }; pinctrl_usb0_default: usb0-default { mux { groups = "usb0_0_grp"; function = "usb0"; }; conf { groups = "usb0_0_grp"; slew-rate = <0>; io-standard = <1>; }; conf-rx { pins = "MIO29", "MIO31", "MIO36"; bias-high-impedance; }; conf-tx { pins = "MIO28", "MIO30", "MIO32", "MIO33", "MIO34", "MIO35", "MIO37", "MIO38", "MIO39"; bias-disable; }; }; }; &qspi { u-boot,dm-pre-reloc; status = "okay"; is-dual = <0>; num-cs = <1>; flash@0 { compatible = "n25q128a11"; reg = <0x0>; spi-tx-bus-width = <1>; spi-rx-bus-width = <4>; spi-max-frequency = <50000000>; #address-cells = <1>; #size-cells = <1>; partition@qspi-fsbl-uboot { label = "qspi-fsbl-uboot"; reg = <0x0 0x100000>; }; partition@qspi-linux { label = "qspi-linux"; reg = <0x100000 0x500000>; }; partition@qspi-device-tree { label = "qspi-device-tree"; reg = <0x600000 0x20000>; }; partition@qspi-rootfs { label = "qspi-rootfs"; reg = <0x620000 0x5E0000>; }; partition@qspi-bitstream { label = "qspi-bitstream"; reg = <0xC00000 0x400000>; }; }; }; &sdhci0 { u-boot,dm-pre-reloc; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_sdhci0_default>; }; &uart1 { u-boot,dm-pre-reloc; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1_default>; }; &usb0 { status = "okay"; dr_mode = "host"; usb-phy = <&usb_phy0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb0_default>; };
11-06-2018 03:56 AM
Hello again,
I've tried another uImage I made in the past and this one hangs at the following:
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready mmcblk0: mmc0:0001 HAG2e 14.7 GiB mmcblk0boot0: mmc0:0001 HAG2e partition 1 4.00 MiB Initializing random number generator... mmcblk0boot1: mmc0:0001 HAG2e partition 2 4.00 MiB mmcblk0rpmb: mmc0:0001 HAG2e partition 3 4.00 MiB mmcblk0: PuTTYPuTTYPuTTYPuTTYdone. Starting CAN Starting network:
I don't know why...
11-06-2018 04:01 AM
Hi @senkoo
If you think rootfs size is bigger and is greater than 128 MB, you can make below changes to petalinux project:
1. Mention the Bootm length in platform-top.h #define CONFIG_SYS_BOOTM_LEN
2. Undef the CONFIG_SYS_BOOTMAPSZ in platform-top.h
11-06-2018 04:03 AM
Hi @shabbirk,
The size of my uramdisk.image.gz is 14,0 MB so I don't think I'll need to worry about it being bigger or greater then 128MB.
Thanks for your response :)
Greetings,
Senkoo