User Tools

Site Tools


hw:zynq:linux:petalinux:boot_kernel_trenz

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
hw:zynq:linux:petalinux:boot_kernel_trenz [2019/06/05 12:00]
jakub.moron created
hw:zynq:linux:petalinux:boot_kernel_trenz [2019/08/01 12:39] (current)
jakub.moron
Line 19: Line 19:
                                                                               -> dtb image settings ​  : set ‘image storage media’ option to ‘primary sd’                                                                               -> dtb image settings ​  : set ‘image storage media’ option to ‘primary sd’
                                  -> SD/SDIO Settings ->  Primary SD/SDIO: set to '​psu_sd_1'​                                  -> SD/SDIO Settings ->  Primary SD/SDIO: set to '​psu_sd_1'​
-Image Packaging Configurations -> ‘Root filesystem type’: set to ‘SD card’ +                                  
-                               ​-> '​Device node of SD device':​ set to '/​dev/​mmcblk1p2'​ +Image Packaging Configurations ​  ​-> ‘Root filesystem type’: set to ‘SD card’ 
-                               ​-> 'Copy final images to tfpboot':​ uncheck +                                 ​-> '​Device node of SD device':​ set to '/​dev/​mmcblk1p2'​ 
 +                                 ​-> 'Copy final images to tfpboot':​ uncheck 
 +                              
 +Firmware Version Configuration ​  -> Set '​Hostname',​ '​Product name' and '​Firmware Version'​ according to your preferences
                               ​                               ​
 </​code>​ Select ''​Exit''​ to write the configuration.\\ \\ In case you want to reconfigure boot settings, run: <​code>​ </​code>​ Select ''​Exit''​ to write the configuration.\\ \\ In case you want to reconfigure boot settings, run: <​code>​
Line 29: Line 31:
   - Check whether all required drivers/​modules are enabled in kernel config: <​code>​   - Check whether all required drivers/​modules are enabled in kernel config: <​code>​
 petalinux-config -c kernel petalinux-config -c kernel
-</​code>​ Hint: you can use vim-like search ''/<​search_string>''​ to list all enabled drivers/​modules.\\ **Remember to __Save__ changes before exit -- it seems taht there is no autosave!** \\ +</​code>​ Hint: you can use vim-like search ''/<​search_string>''​ to list all enabled drivers/​modules.\\ **Remember to __Save__ changes before exit -- it seems taht there is no autosave!** \\ I.e. set hostname: <​code>​ 
-  - Make the I2C mul +General setup -> Default hostname: set the hostname 
-  - In order to use the generic UIO driver ''​uio_pdrv_genirq''​ enable kernel modules in kernel config: <​code>​ +</​code>​ 
-petalinux-config -c kernel +  - Make the I2C multiplexers drivers compiled as kernel module (not build up - there should be '<​M>',​ not '<​*>'​):​ <​code>​ 
-</​code> ​by navigating through settings tree and enabling modules (there should be '<​M>',​ not '<​*>'​):​ <​code>​+Device Drivers -> <*> I2C support -> Multiplexer I2C chip support -> <M> NXP PCA9541 I2C Master Selector 
 +                                                                     <​M>​ Philips PCA954x I2C Mux/​switches 
 +</​code>​ 
 +  - In order to use the generic UIO driver ''​uio_pdrv_genirq''​ enable kernel modules in kernel config by navigating through settings tree and enabling modules (there should be '<​M>',​ not '<​*>'​):​ <​code>​
 Device Drivers -> <*> Userspace I/O drivers -> <M> Userspace I/O platform driver with generic IRQ handling Device Drivers -> <*> Userspace I/O drivers -> <M> Userspace I/O platform driver with generic IRQ handling
                                                <​M>​ Userspace platform driver with generic irq and dynamic memory                                                <​M>​ Userspace platform driver with generic irq and dynamic memory
 +</​code>​
 +  - Fix device tree for TEBF0808. In file <​code>​
 +vim ./​project-spec/​meta-user/​recipes-bsp/​device-tree/​files/​system-user.dtsi
 +</​code>​ and add the entry at the end of this file: <​code>​
 +/* SD */
 +&sdhci1 {
 +    // disable-wp;
 +    no-1-8-v;
 +};
 + 
 +/* ETH PHY */
 +&gem3 {
 +    phy-handle = <&​phy0>;​
 +    phy0: phy0@1 {
 +        device_type = "​ethernet-phy";​
 +        reg = <1>;
 +    };
 +};
 + 
 +/* QSPI */
 +&qspi {
 +    #​address-cells = <1>;
 +    #size-cells = <0>;
 +    status = "​okay";​
 +    flash0: flash@0 {
 +        compatible = "​jedec,​spi-nor";​
 +        reg = <​0x0>;​
 +        #​address-cells = <1>;
 +        #size-cells = <1>;
 +    };
 +};
 + 
 +/* I2C */
 +&i2c0 {
 +    i2cswitch@73 { // u
 +        compatible = "​nxp,​pca9548";​
 +        #​address-cells = <1>;
 +        #size-cells = <0>;
 +        reg = <​0x73>;​
 +        i2c-mux-idle-disconnect;​
 + 
 +        i2c@2 { // PCIe
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <2>;
 +        };
 +        i2c@3 { // i2c SFP
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <3>;
 +        };
 +        i2c@4 { // i2c SFP
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <4>;
 +        };
 +        i2c@5 { // i2c EEPROM
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <5>;
 +        };
 +        i2c@6 { // i2c FMC
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <6>;
 + 
 +            si570_2: clock-generator3@5d {
 +                #​clock-cells = <0>;
 +                compatible = "​silabs,​si570";​
 +                reg = <​0x5d>;​
 +                temperature-stability = <50>;
 +                factory-fout = <​156250000>;​
 +                clock-frequency = <​78800000>;​
 +            };
 +        };
 +        i2c@7 { // i2c USB HUB
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <7>;
 +        };
 +    };
 +    i2cswitch@77 { // u
 +        compatible = "​nxp,​pca9548";​
 +        #​address-cells = <1>;
 +        #size-cells = <0>;
 +        reg = <​0x77>;​
 +        i2c-mux-idle-disconnect;​
 +        i2c@0 { // i2c PMOD
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <0>;
 +        };
 +        i2c@1 { // i2c Audio Codec
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <1>;
 +            /*
 +            adau1761: adau1761@38 {
 +                compatible = "​adi,​adau1761";​
 +                reg = <​0x38>;​
 +            };
 +            */
 +        };
 +        i2c@2 { // i2c FireFly A
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <2>;
 +        };
 +        i2c@3 { // i2c FireFly B
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <3>;
 +        };
 +        i2c@4 { // i2c PLL
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <4>;
 +        };
 +        i2c@5 { // i2c SC
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <5>;
 +        };
 +        i2c@6 { // i2c
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <6>;
 +        };
 +        i2c@7 { // i2c
 +            #​address-cells = <1>;
 +            #size-cells = <0>;
 +            reg = <7>;
 +        };
 +    };
 +};
 </​code>​ </​code>​
   - In order to use the generic UIO driver modify the device tree to assign the compatibility with this driver to your hardware: <​code>​   - In order to use the generic UIO driver modify the device tree to assign the compatibility with this driver to your hardware: <​code>​
Line 67: Line 207:
 </​code>​ </​code>​
   - Create ''​BOOT.BIN''​ image: <​code>​   - Create ''​BOOT.BIN''​ image: <​code>​
-petalinux-package --boot --format BIN --fsbl ./​images/​linux/​zynq_fsbl.elf --fpga ./​images/​linux/<​bit_filename>​.bit --u-boot+petalinux-package --boot --format BIN --fsbl ./​images/​linux/​zynqmp_fsbl.elf --fpga ./​images/​linux/<​bit_filename>​.bit --u-boot
 </​code> ​ </​code> ​
/services/www/http/wiki/data/attic/hw/zynq/linux/petalinux/boot_kernel_trenz.1559728820.txt.gz · Last modified: 2019/06/05 12:00 by jakub.moron