Quick Start Guide (S5P4418_convergence_daudio)

1. Introduce

This document describe about BSP download, build and update on the s5p4418_convergence_daudio board.
If you have the s5p4418_convergence_daudio] board, try it like below.

1.1. PC Environment

You have to setup your Linux machine for Linux(sumo) development.
Please refer to this site : [Nexell Yocto GUIDE]

1.2. BSP Download

Contact to Nexell Sales

 

2. Features

About Nexell BSP … : [About Nexell BSP]

 

3. Linux(Yocto)

3.1. Build

help

TOP $ ./tools/build.sh -h

build

TOP $ ./tools/build.sh s5p4418-convergence-daudio qt

result folder

[TOP]/yocto/out/result-s5p4418-convergence-daudio-qt

 

3.2. Fusing

Fusing USB boot mode

Set the target board to usb boot mode : Turn on switches 1 and 2 on the SW100 of the convergence-daudio board.

USB BOOT MODE  : Turn on switche 1 and 2.

Connect the Debug console to host PC.
Connect USB OTG to host PC.
Connect 12V power to the convergence-daudio board.
Make sure that the usb is connected on the host PC(2375: 4330 Digit @ lway, Inc.).
Run the following script.

TOP $ cd ./yocto/out/result-s5p4418-convergence-daudio-qt
./tools/standalone-uboot-by-usb-download.sh

After running the script, enter uboot in the debug console.

Execute the command “fastboot 0” in uboot.

s5p4418_convergence_daudio# fastboot 0

Make sure that the usb is connected on the host PC(18d1:0002 Google Inc.).
Run the following script on your host PC.

TOP $ cd ./yocto/out/result-s5p4418-convergence-daudio-qt
$ ./tools/standalone-fastboot-download.sh

Now fusing is in progress.
Set the eMMC boot mode after fusing is completed.
Please reset the target board.

Fusing eMMC boot mode

Set the target board to eMMC boot mode : Turn off switche 1 and 2 on the SW100 of the convergence-daudio board.

eMMC BOOT MODE : Turn off switche 1 and 2.

Connect the Debug console to host PC.
Connect USB OTG to host PC.
Connect 12V power to the convergence-daudio board.
Enter uboot in the debug console.
Execute the command “fastboot 0” in uboot.

s5p4418_convergence_daudio# fastboot 0

Make sure that the usb is connected on the host PC(18d1:0002 Google Inc.).
Run the following script on your host PC.

TOP $ cd ./yocto/out/result-s5p4418-convergence-daudio-qt
./tools/standalone-fastboot-download.sh

Now fusing is in progress.
Set the eMMC boot mode after fusing is completed.
Please reset the target board.

 

4. Howto use peripheral

4.1. QuickRearCam(Video decoder)

How to use QuickRearCam :

Change the S1 switch of the convergence-daudio board to Low.

4.1.1. TW9900(defaulted to BSP)

H/W settings

Turn off 1 and 2 on SW101 of the convergence-daudio board.

TW9900 : 1 Off, 2 Off
TP2825 : 1 On, 2 Off

Kernel Config

path : ./kernel/kernel-4.4.x/arch/arm/configs/s5p4418_convergence_daudio_defconfig

Device Drivers  —>
    <*> Multimedia support  —>
        Encoders, decoders, sensors and other helper chips  —>
            < > Techpoint TP2825 video decoder         // CONFIG_VIDEO_TP2825
            <*> Intersil TW9900 video decoder            //  CONFIG_VIDEO_TW9900

DTS

path : ./kernel/kernel-4.4.x/arch/arm/boot/dts/s5p4418-convergence_daudio-common.dtsi

/* for TW9900 */
&vip_1 {

       status = “okay”;
};
&clipper_1 {

       interface_type = ;
       pinctrl-names = “default”;
       pinctrl-0 = <&vid2_data_clk>;
       data_order = ;
       port = <1>;
       external_sync = <0>;
       interlace = <1>;
       status = “okay”;
       sensor {

            type = ;
            i2c_name = “tw9900”;
            i2c_adapter = <8>;
            addr = <0x44>;
        };
   };

Yocto(nx_init)

path : ./yocto/meta-nexell/meta-nexell-distro/recipes-extended/nexell-init/files/nx_init/nx_init.cpp

int main(int argc, char *argv[])
{
    … … …

    switch(pid)
    {
        … … …
        case 0:

        {
            access_ret = access(“/sbin/NxQuickRearCam”, 0);
            if (access_ret == 0)
                execl(“/sbin/NxQuickRearCam”, “NxQuickRearCam”, “-m1”, “-b1”, “-c26”, “-r704x480“, NULL);
            break;
        }

Displayaudio SDK(rearcam_config)

path : ./solutions/displayaudio-sdk/apps/NxRearCam/Package/rearcam_config_convergence_daudio.xml

<string name=”cam_width”>704</string>
<string name=”cam_height”>480</string>

 

4.1.2. TW2825

H/W settings

Turn on 1 and off 2 on SW101 of the convergence-daudio board.

TW9900 : 1 Off, 2 Off
TP2825 : 1 On, 2 Off

Kernel Config

path : ./kernel/kernel-4.4.x/arch/arm/configs/s5p4418_convergence_daudio_defconfig

Device Drivers  —>
    <*> Multimedia support  —>
        Encoders, decoders, sensors and other helper chips  —>
            <*> Techpoint TP2825 video decoder         // CONFIG_VIDEO_TP2825
            < > Intersil TW9900 video decoder            //  CONFIG_VIDEO_TW9900

DTS

path :./kernel/kernel-4.4.x/arch/arm/boot/dts/s5p4418-convergence_daudio-common.dtsi

/* for TP2825 */
&vip_1 {
      status = “okay”;
};
&clipper_1 {

      interface_type = ;
      pinctrl-names = “default”;
      pinctrl-0 = <&vid2_data_clk &tp2825_reset>;
      gpios = <&gpio_c 2 0>;
      data_order = ;
      port = <1>;
      external_sync = <0>;
      interlace = <1>;
      status = “okay”;
      sensor {

          type = ;
          i2c_name = “tp2825”;
          i2c_adapter = <7>;
          addr = <0x45>;
      };
      power {

          enable_seq = <
                  NX_ACTION_START NX_ACTION_TYPE_GPIO 0 1 1 NX_ACTION_END
          >;
      };
};

Yocto(nx_init)

path : ./yocto/meta-nexell/meta-nexell-distro/recipes-extended/nexell-init/files/nx_init/nx_init.cpp

int main(int argc, char *argv[])
{
    … … …

    switch(pid)
    {
        … … …
        case 0:

        {
            access_ret = access(“/sbin/NxQuickRearCam”, 0);
            if (access_ret == 0)
                execl(“/sbin/NxQuickRearCam”, “NxQuickRearCam”, “-m1”, “-b1”, “-c26”, “-r960x480“, NULL);
            break;
        }

Displayaudio SDK(rearcam_config)

path : ./solutions/displayaudio-sdk/apps/NxRearCam/Package/rearcam_config_convergence_daudio.xml

<string name=”cam_width”>960</string>
<string name=”cam_height”>480</string>

 

4.2. SDIO1

4.2.1. BT(defaulted to BSP)

H/W settings

Connect WIFI/BT combo module to CON15, CON16 on the convergence-daudio board.

Kernel Config

path : ./kernel/kernel-4.4.x/arch/arm/configs/s5p4418_convergence_daudio_defconfig

CONFIG_BT_BCM434545
CONFIG_BCMDHD
CONFIG_BCMDHD_SDIO

DTS

path :./kernel/kernel-4.4.x/arch/arm/boot/dts/s5p4418-convergence_daudio-common.dtsi

/* for bt/wifi */
&dw_mmc_1 {
    num-slots = <1>;
    bus-width = <4>;
    cap-sd-highspeed;
    cd-type-external;
    broken-cd;
    pm-ignore-notify;
    keep-power-in-suspend;
    powered-resumed-nonremovable-card;
    cd-type = <2>;
    clock-frequency = <100000000>;
    nexell,drive_dly = <0x0>;
    nexell,drive_shift = <0x02>;
    nexell,sample_dly = <0x00>;
    nexell,sample_shift = <0x01>;
    pinctrl-names = “default”;

    pinctrl-0 = <&sdmmc1_cclk &sdmmc1_cmd &sdmmc1_bus4
    &cfg_wlanen &cfg_wlanhostwake>;
    status = “okay”;

};

 

4.2.2. SDCARD

H/W settings

Connect SDCARD module to CON15, CON16 on the convergence-daudio board.

Kernel Config

path : ./kernel/kernel-4.4.x/arch/arm/configs/s5p4418_convergence_daudio_defconfig

DTS

path : ./kernel/kernel-4.4.x/arch/arm/boot/dts/s5p4418-convergence_daudio-common.dtsi

/* for sdcard */
&dw_mmc_1 {
    num-slots = <1>;
    bus-width = <4>;
    cap-sd-highspeed;
    clock-frequency = <100000000>;
    card-detect-delay = <200>;
    disable-wp;
    cd-gpios = <&gpio_e 31 0>;
    cd-inverted;
    nexell,drive_dly = <0x0>;
    nexell,drive_shift = <0x02>;
    nexell,sample_dly = <0x00>;
    nexell,sample_shift = <0x01>;
    status = “okay”;
};

 

4.3. Connectivity SDK

Please contact Sales Team or FAE Team of NEXELL.

After receiving the Connectivity SDK from NEXELL, please place it in the folder below.

TOP $ cp allgo-connectivity-sdk_xxx.tgz ./solutions/
TOP $ ./solutions/
$ tar xvzf allgo-connectivity-sdk_xxx.tgz
$ mv allgo-connectivity-sdk_xxx allgo-connectivity-sdk


Please add a feature to the target board.

yocto/meta-nexell/meta-nexell-distro/tools/configs/board/s5p4418-convergence-daudio.xml

… … …
<!– board specified features –>
    <feature text=’DISTRO_FEATURES_append = ” nexell-convergence-daudio
                                                                                      support-daudio
                                                                                      support-daudio-sdk
                                                                                      support-ffmpeg
                                                                                      support-azurewave-bt
                                                                                      support-allgo-connectivity
                                                                                      support-allgo-connectivity-sdk
                                                                                      support-nx-init
                                                                                      no-use-tslib”‘/>