Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

HTML
<!--
Add Basic Key Features of the design (should be tested)
 -->
Excerpt
  • PetaLinux
  • SD
  • ETH
  • I2C
  • RTC
  • FMeter
  • FSBL to enable I2C Buffer for PMIC(RTC) and external I2C
  • Special FSBL for QSPI programming

...

  1. Connect JTAG and power on carrier with module
  2. Open Vivado Project with "vivado_open_existing_project_guimode.cmd" or if not created, create with "vivado_create_project_guimode.cmd"
  3. Type on Vivado TCL Console: TE::pr_program_flash_binfile -swapp u-boot
    Note: To program with SDK/Vivado GUI, use special FSBL (zynqmp_fsbl_flash) on setup
             optional "TE::pr_program_flash_binfile -swapp hello_te0724" possible
  4. Set Boot Mode to QSPI.
    • Depends on Carrier, see carrier TRM.
  5. Copy image.ub on SD-Card
    • For correct prebuilt file location, see <design_name>/prebuilt/readme_file_location.txt
  6. Insert SD-Card

...

  1. Open Serial Console (e.g. putty)
    1. Speed: 115200
    2. COM Port: Win OS, see device manager, Linux OS see  dmesg |grep tty  (UART is *USB1)
  2. Linux Console:
    Note: Wait until Linux boot finished For Linux Login use:
    1. User Name: root
    2. Password: root
  3. You can use Linux shell now.
    1. I2C 0 Bus type: i2cdetect -y -r 0
    2. RTC check: dmesg | grep rtc
    3. ETH0 works with udhcpc

Vivado HW Manager

...

HTML
<!--
Description of Block Design, Constrains...
BD Pictures from Export...
  -->

Block Design

Image Modified

PS Interfaces

...

Source location: \sw_lib\sw_apps

zynqmp_fsbl

Xilinx default FSBL

...

zynq_fsbl

...

TE modified 2018.2 FSBL

Functions:

  • enable I2C Buffer over MIO38, needed for RTC and external I2C

Changes:

  • fsbl_hooks.c

zynqmp_fsbl_flash

TE modified 2018.2 FSBL

Changes:

  • Set FSBL Boot Set FSBL Boot Mode to JTAG
  • Disable Memory initialisation

...

Code Block
languagejs
/include/ "system-conf.dtsi"
/ {
};


Kernel

...


/* default */

/* QSPI PHY */
&qspi {
    #address-cells = <1>;
    #size-cells = <0>;
    status = "okay";
    flash0: flash@0 {
        compatible = "jedec,spi-nor";
        reg = <0x0>;
        #address-cells = <1>;
        #size-cells = <1>;
    };
};


/* ETH PHY */
&gem0 {
    phy-handle = <&phy0>;
    mdio {
        #address-cells = <1>;
        #size-cells = <0>;
        phy0: phy@0 {
            compatible = "marvell,88e1510";
            device_type = "ethernet-phy";
            reg = <1>;
        };
    };
};


/* I2C */
// EEPROM: 0x50. 0x53

//pmic
&i2c1 {
     pmic0: da9062@58 {
        compatible = "dlg,da9062";
        reg = <0x58>;    
         interrupt-parent = <&gpio0>;
        interrupts = <0 8>;
        interrupt-controller;
        rtc {
            compatible = "dlg,da9062-rtc";
        };
    };
};





Kernel

Activate:

  • CONFIG_REGMAP_IRQ
  • CONFIG_MFD_DA9062
  • CONFIG_RTC_DRV_DA9063

Deactivate:

  • CONFIG_DA9062_THERMAL
  • CONFIG_DA9062_WATCHDOG
  • CONFIG_REGULATOR_DA9062

Rootfs

Activate:

  • i2c-tools

Applications

...