How to build MFG Firmware for MarS Board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to build MFG Firmware for MarS Board

Jump to solution
1,696 Views
puttasukesh
Contributor II

I'm working on a MarS Board and want to know how to customize MFGtool to flash for Linux.

Add Mfgtool configuration in Linux:

1) CONFIG_FSL_UTP=y

2) initramfs support

3) CONFIG_WATCHDOG=y

           CONFIG_SOFT_WATCHDOG=y

compiled the kernel and pleased uImage  in profiles/mx6q linux update/osfirmware.

by using mgf tool i flashed to MarS board and getting error at time of flashing.

please share MFF configurations if any??

please find the logs bellow.

**************************************************************************************************************

Hit any key to stop autoboot:  0

## Booting kernel from Legacy Image at 10800000 ...

   Image Name:   Linux-3.0.35-02887-g731b440-dirt

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    8649196 Bytes =  8.2 MB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... Bad Data CRC

ERROR: can't get kernel image!

MX6Q SABRELITE-MFG U-Boot >

U-Boot 2009.08 (Dec 12 2012 - 12:06:05)

CPU:   Freescale i.MX 6 family 0.0V at 792 MHz

Temperature:   44 C, calibration data 0x5504be69

mx6q pll1: 792MHz

mx6q pll2: 528MHz

mx6q pll3: 480MHz

mx6q pll8: 50MHz

ipg clock     : 66000000Hz

ipg per clock : 66000000Hz

uart clock    : 80000000Hz

cspi clock    : 60000000Hz

ahb clock     : 132000000Hz

axi clock   : 264000000Hz

emi_slow clock: 29333333Hz

ddr clock     : 528000000Hz

usdhc1 clock  : 200000000Hz

usdhc2 clock  : 200000000Hz

usdhc3 clock  : 200000000Hz

usdhc4 clock  : 200000000Hz

nfc clock     : 24000000Hz

Board: MX6Q-SABRELITE:[ POR]

Boot Device: I2C

I2C:   ready

DRAM:   1 GB

MMC:   FSL_USDHC: 0,FSL_USDHC: 1

Using default environment

In:    serial

Out:   serial

Err:   serial

Net:   got MAC address from IIM: 00:00:00:00:00:00

FEC0 [PRIME]

Hit any key to stop autoboot:  0

## Booting kernel from Legacy Image at 10800000 ...

   Image Name:   Linux-3.0.35-02887-g731b440-dirt

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    3929484 Bytes =  3.7 MB

   Load Address: 10008000

   Entry Point:  10008000

   Verifying Checksum ... OK

## Loading init Ramdisk from Legacy Image at 10c00000 ...

   Image Name:   uboot initramfs rootfs

   Image Type:   ARM Linux RAMDisk Image (gzip compressed)

   Data Size:    4737975 Bytes =  4.5 MB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

   Loading Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Linux version 3.0.35-02887-g731b440-dirty (root@nand-test) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #2 SMP PREEMPT Thu May 19 12:27:21 IST

2016

CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d

CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine: Freescale i.MX 6Quad Sabre-Lite Board

Memory policy: ECC disabled, Data cache writealloc

CPU identified as i.MX6Q, silicon rev 1.2

PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 227328

Kernel command line: console=ttymxc1,115200 rdinit=/linuxrc

PID hash table entries: 4096 (order: 2, 16384 bytes)

Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

Memory: 640MB 256MB = 896MB total

Memory: 892116k/892116k available, 156460k reserved, 0K highmem

Virtual kernel memory layout:

    vector  : 0xffff0000 - 0xffff1000   (   4 kB)

    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

    DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)

    vmalloc : 0xc0800000 - 0xf2000000   ( 792 MB)

    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)

    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)

    modules : 0x7f000000 - 0x7fe00000   (  14 MB)

      .init : 0x80008000 - 0x8003e000   ( 216 kB)

      .text : 0x8003e000 - 0x80aa8114   (10665 kB)

      .data : 0x80aaa000 - 0x80b1a660   ( 450 kB)

       .bss : 0x80b1a684 - 0x80b6880c   ( 313 kB)

SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1

Preemptible hierarchical RCU implementation.

NR_IRQS:624

MXC GPIO hardware

sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms

arm_max_freq=1GHz

MXC_Early serial console at MMIO 0x21e8000 (options '115200')

bootconsole [ttymxc1] enabled

Console: colour dummy device 80x30

Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available

CPU1: Booted secondary processor

Brought up 2 CPUs

SMP: Total of 2 processors activated (3162.11 BogoMIPS).

print_constraints: dummy:

NET: Registered protocol family 16

print_constraints: vddpu: 725 <--> 1300 mV at 1150 mV fast normal

print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal

print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal

print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal

print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal

print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal

hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.

hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.

hw-breakpoint: maximum watchpoint size is 4 bytes.

L310 cache controller enabled

l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache size: 1048576 B

bio: create slab <bio-0> at 0

mxs-dma mxs-dma-apbh: initialized

print_constraints: VDDA: 2500 mV

print_constraints: VDDIO: 3300 mV

machine_constraints_voltage: VDDD: unsupportable voltage constraints

reg-fixed-voltage reg-fixed-voltage.2: Failed to register regulator: -22

reg-fixed-voltage: probe of reg-fixed-voltage.2 failed with error -22

print_constraints: vmmc: 3300 mV

SCSI subsystem initialized

spi_imx imx6q-ecspi.0: probed

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

Freescale USB OTG Driver loaded, $Revision: 1.55 $

imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)

mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver probed

mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy version is 0x3130302a

MIPI CSI2 driver module loaded

Advanced Linux Sound Architecture Driver Version 1.0.24.

Bluetooth: Core ver 2.16

NET: Registered protocol family 31

Bluetooth: HCI device and connection manager initialized

Bluetooth: HCI socket layer initialized

Bluetooth: L2CAP socket layer initialized

Bluetooth: SCO socket layer initialized

cfg80211: Calling CRDA to update world regulatory domain

i2c-core: driver [max17135] using legacy suspend method

i2c-core: driver [max17135] using legacy resume method

Switching to clocksource mxc_timer1

NET: Registered protocol family 2

IP route cache hash table entries: 32768 (order: 5, 131072 bytes)

TCP established hash table entries: 131072 (order: 8, 1048576 bytes)

TCP bind hash table entries: 65536 (order: 7, 786432 bytes)

TCP: Hash tables configured (established 131072 bind 65536)

TCP reno registered

UDP hash table entries: 512 (order: 2, 16384 bytes)

UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)

NET: Registered protocol family 1

RPC: Registered named UNIX socket transport module.

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

RPC: Registered tcp NFSv4.1 backchannel transport module.

Unpacking initramfs...

Initramfs unpacking failed: junk in compressed archive

Freeing initrd memory: 4624K

Static Power Management for Freescale i.MX6

wait mode is enabled for i.MX6

cpaddr = c0880000 suspend_iram_base=c0918000

PM driver module loaded

IMX usb wakeup probe

add wake up source irq 75

IMX usb wakeup probe

cpu regulator mode:ldo_enable

i.MXC CPU frequency driver

JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.

msgmni has been set to 1751

alg: No test for stdrng (krng)

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

MIPI DSI driver module loaded

mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver ldb

_regulator_get: get() with no identifier

imx-ipuv3 imx-ipuv3.1: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)

Console: switching to colour frame buffer device 128x48

mxc_sdc_fb mxc_sdc_fb.1: register mxc display driver lcd

mxc_sdc_fb mxc_sdc_fb.2: register mxc display driver ldb

mxc_sdc_fb mxc_sdc_fb.3: register mxc display driver ldb

mxc_sdc_fb mxc_sdc_fb.3: ipu1-di1 already in use

mxc_sdc_fb: probe of mxc_sdc_fb.3 failed with error -16

imx-sdma imx-sdma: loaded firmware 1.1

imx-sdma imx-sdma: initialized

Serial: IMX driver

imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX

imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX

console [ttymxc1] enabled, bootconsole disabled

console [ttymxc1] enabled, bootconsole disabled

loop: module loaded

No sata disk.

m25p80 spi0.0: found m25p05-nonjedec, expected sst25vf016b

m25p80 spi0.0: m25p05-nonjedec (64 Kbytes)

Creating 2 MTD partitions on "m25p80":

0x000000000000-0x000000100000 : "bootloader"

mtd: partition "bootloader" extends beyond the end of device "m25p80" -- size truncated to 0x10000

0x000000010000-0x000000010000 : "kernel"

mtd: partition "kernel" is out of reach -- disabled

GPMI NAND driver registered. (IMX)

vcan: Virtual CAN interface driver

CAN device driver interface

flexcan netdevice driver

flexcan imx6q-flexcan.0: device registered (reg_base=c09b8000, irq=142)

FEC Ethernet Driver

fec_enet_mii_bus: probed

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1

fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000

fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 1 port detected

add wake up source irq 72

fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller

fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2

fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200

fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 1 port detected

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

ARC USBOTG Device Controller driver (1 August 2005)

g_file_storage gadget: controller 'fsl-usb2-udc' not recognized

check_parameters:UTP settings are in place now, overriding defaults

g_file_storage gadget: No serial-number string provided!

g_file_storage gadget: File-backed Storage Gadget, version: 1 September 2010

g_file_storage gadget: Number of LUNs=1

Suspend udc for OTG auto detect

fsl-usb2-udc: bind to driver g_file_storage

mousedev: PS/2 mouse device common for all mice

input: gpio-keys as /devices/platform/gpio-keys/input/input0

egalax_ts 2-0004: egalax_ts: failed to read firmware version

egalax_ts: probe of 2-0004 failed with error -5

generic touchscreen driver, <@>.

usb 2-1: new high speed USB device number 2 using fsl-ehci

g_file_storage gadget: high speed config #1

hub 2-1:1.0: USB hub found

hub 2-1:1.0: 4 ports detected

>>>>> ct365_get_vendor() called <<<<<

Chip ID: 0x0

Chip data allocation failed: 0x0

i2c-core: driver [generic_ts] using legacy suspend method

i2c-core: driver [generic_ts] using legacy resume method

i2c-core: driver [isl29023] using legacy suspend method

i2c-core: driver [isl29023] using legacy resume method

snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0

i2c /dev entries driver

i2c-core: driver [ch7033] using legacy suspend method

i2c-core: driver [ch7033] using legacy resume method

Linux video capture interface: v2.00

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video18

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video19

mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video20

i2c-core: driver [mag3110] using legacy suspend method

i2c-core: driver [mag3110] using legacy resume method

imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)

SoftDog: cannot register miscdev on minor=130 (err=-16)

Bluetooth: Virtual HCI driver ver 1.3

Bluetooth: HCI UART driver ver 2.2

Bluetooth: HCIATH3K protocol initialized

Bluetooth: Generic Bluetooth USB driver ver 0.6

usbcore: registered new interface driver btusb

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

mmc0: SDHCI controller on platform [sdhci-esdhc-imx.3] using DMA

mmc1: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA

mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed

VPU initialized

mxc_asrc registered

Thermal calibration data is 0x5504be69

Thermal sensor with ratio = 174

Anatop Thermal registered as thermal_zone0

anatop_thermal_probe: default cooling device is cpufreq!

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

usbcore: registered new interface driver snd-usb-audio

mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio

Cirrus Logic CS42888 ALSA SoC Codec Driver

i2c-core: driver [cs42888] using legacy suspend method

i2c-core: driver [cs42888] using legacy resume method

imx-hdmi-soc-dai imx-hdmi-soc-dai.0: Failed: Load HDMI-video first.

sgtl5000 0-000a: Failed to get supply 'VDDD': -19

print_constraints: 0-000a: 850 <--> 1600 mV at 1200 mV normal

sgtl5000 0-000a: Device with ID register 0 is not a sgtl5000

sgtl5000 0-000a: asoc: failed to probe CODEC sgtl5000.0-000a: -19

asoc: failed to instantiate card sgtl5000-audio: -19

imx_3stack asoc driver

Initialize HDMI-audio failed. Load HDMI-video first!

ALSA device list:

  No soundcards found.

NET: Registered protocol family 26

TCP cubic registered

NET: Registered protocol family 17

can: controller area network core (rev 20090105 abi 8)

NET: Registered protocol family 29

can: raw protocol (rev 20090105)

can: broadcast manager protocol (rev 20090105 t)

Bluetooth: RFCOMM TTY layer initialized

Bluetooth: RFCOMM socket layer initialized

Bluetooth: RFCOMM ver 1.11

Bluetooth: BNEP (Ethernet Emulation) ver 1.3

Bluetooth: BNEP filters: protocol multicast

Bluetooth: HIDP (Human Interface Emulation) ver 1.2

lib80211: common routines for IEEE802.11 drivers

VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4

Bus freq driver module loaded

Bus freq driver Enabled

mxc_dvfs_core_probe

DVFS driver module loaded

regulator_init_complete: VDDIO: incomplete constraints, leaving on

regulator_init_complete: VDDA: incomplete constraints, leaving on

snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:35:42 UTC (2142)

VFS: Cannot open root device "(null)" or unknown-block(0,0)

Please append a correct "root=" boot option; here are the available partitions:

1f00              64 mtdblock0  (driver?)

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

[<8004a834>] (unwind_backtrace+0x0/0xf8) from [<8051d6b4>] (panic+0x74/0x18c)

[<8051d6b4>] (panic+0x74/0x18c) from [<80008d3c>] (mount_block_root+0x170/0x224)

[<80008d3c>] (mount_block_root+0x170/0x224) from [<80008ed8>] (mount_root+0xe8/0x108)

[<80008ed8>] (mount_root+0xe8/0x108) from [<80009024>] (prepare_namespace+0x12c/0x184)

[<80009024>] (prepare_namespace+0x12c/0x184) from [<80008a04>] (kernel_init+0x108/0x13c)

[<80008a04>] (kernel_init+0x108/0x13c) from [<80044aa4>] (kernel_thread_exit+0x0/0x8)

CPU1: stopping

[<8004a834>] (unwind_backtrace+0x0/0xf8) from [<8003e324>] (do_IPI+0x150/0x17c)

[<8003e324>] (do_IPI+0x150/0x17c) from [<80043a0c>] (__irq_svc+0x4c/0xe8)

Exception stack(0xbffa7f90 to 0xbffa7fd8)

7f80:                                     80b21bc0 80000093 00000001 00000000

7fa0: bffa6000 80b1a744 8052643c 80ac2e7c 1000406a 412fc09a 00000000 00000000

7fc0: 00000000 bffa7fd8 80052708 80044b04 40000013 ffffffff

[<80043a0c>] (__irq_svc+0x4c/0xe8) from [<80044b04>] (default_idle+0x24/0x28)

[<80044b04>] (default_idle+0x24/0x28) from [<80044d08>] (cpu_idle+0xc8/0x108)

[<80044d08>] (cpu_idle+0xc8/0x108) from [<1051a4f4>] (0x1051a4f4)

******************************************************************************************************************* 

0 Kudos
1 Solution
938 Views
puttasukesh
Contributor II

hi igor

thanks for support,

i had compiled kernel for MGF tool and it was working fine but while flashing getting error like shown below.

kernel is unable to detect mmc

------------------------------------------------------------------------------------------------------------------------------------------------------

snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)

Freeing init memory: 204K

Starting UTP

ln: /etc/mtab: File exists

disable turn off display

Starting the hotplug events dispatcher udevd

udevd (1968): /proc/1968/oom_adj is deprecated, please use /proc/1968/oom_score_adj instead.

Synthesizing initial hotplug events

uuc 0.4 [built May  1 2012 02:47:36]

UTP: Waiting for device to appear

UTP: file/device node /dev/utp already exists

cpu_id is 0

UTP: received command 'send'

UTP: sending Success to kernel for command send.

UTP: received command '$ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync'

UTP: executing "dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync"

3+1 records in

3+1 records out

3909188 bytes (3.7MB) copied, 0.026469 seconds, 140.8MB/s

UTP: sending Success to kernel for command $ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync.

utp_poll: pass returned.

UTP: received command '$ mkfs.ext3 -j /dev/mmcblk0p1'

UTP: executing "mkfs.ext3 -j /dev/mmcblk0p1"

mke2fs 1.41.4 (27-Jan-2009)

Could not stat /dev/mmcblk0p1 --- No such file or directory

The device apparently does not exist; did you specify it correctly?

UTP: sending Non-success to kernel for command $ mkfs.ext3 -j /dev/mmcblk0p1.

utp_poll: exit with status 256

------------------------------------------------------------------------------------------------------------------------------------------------------------------

please do the needful

View solution in original post

0 Kudos
2 Replies
939 Views
puttasukesh
Contributor II

hi igor

thanks for support,

i had compiled kernel for MGF tool and it was working fine but while flashing getting error like shown below.

kernel is unable to detect mmc

------------------------------------------------------------------------------------------------------------------------------------------------------

snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:00 UTC (0)

Freeing init memory: 204K

Starting UTP

ln: /etc/mtab: File exists

disable turn off display

Starting the hotplug events dispatcher udevd

udevd (1968): /proc/1968/oom_adj is deprecated, please use /proc/1968/oom_score_adj instead.

Synthesizing initial hotplug events

uuc 0.4 [built May  1 2012 02:47:36]

UTP: Waiting for device to appear

UTP: file/device node /dev/utp already exists

cpu_id is 0

UTP: received command 'send'

UTP: sending Success to kernel for command send.

UTP: received command '$ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync'

UTP: executing "dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync"

3+1 records in

3+1 records out

3909188 bytes (3.7MB) copied, 0.026469 seconds, 140.8MB/s

UTP: sending Success to kernel for command $ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync.

utp_poll: pass returned.

UTP: received command '$ mkfs.ext3 -j /dev/mmcblk0p1'

UTP: executing "mkfs.ext3 -j /dev/mmcblk0p1"

mke2fs 1.41.4 (27-Jan-2009)

Could not stat /dev/mmcblk0p1 --- No such file or directory

The device apparently does not exist; did you specify it correctly?

UTP: sending Non-success to kernel for command $ mkfs.ext3 -j /dev/mmcblk0p1.

utp_poll: exit with status 256

------------------------------------------------------------------------------------------------------------------------------------------------------------------

please do the needful

0 Kudos
938 Views
igorpadykov
NXP Employee
NXP Employee

Hi putta

for configuration of building MFGTools one can refer to attached Linux Guide

sect.3.9 Building Manufacturing Firmware and documentation included in its package.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos