11 Mar, 2019

1 commit

  • Detection of board revision is done early - before power setup. In case of
    Odroid XU3/XU4/HC1 family, the detection is done using ADC which
    is supplied by LDO4/VDD_ADC regulator. This regulator could be turned
    off (e.g. by kernel before reboot). If ADC is used early, the
    regulators are not yet available and the detection won't work.

    Split the revision detection out of set_board_type() into separate
    function called later - either when displaying board info (in late mode)
    or during misc_init_r. The idea is that set_board_type() will be called
    early so its method of detection are limited to flattened device tree
    (exynos5-dt-types.c for Exynos5) or GPIO (odroid.c for Exynos4412). The
    newly added set_board_revision() can be called only later, when
    resources like regulator are available.

    This is necessary to fix the detection of Odroid HC1 after reboot, if
    kernel turned off the LDO4 regulator.

    Signed-off-by: Krzysztof Kozlowski
    Reviewed-by: Lukasz Majewski
    Tested-by: Anand Moon
    Signed-off-by: Minkyu Kang

    Krzysztof Kozlowski
     

10 Feb, 2019

1 commit


23 Oct, 2018

1 commit

  • Odroid HC2 board is based on Odroid XU4 board, like the Odroid HC1.

    The linux kernel does not provide a hc2 DTB so the hc1 DTB is also used
    for the Odroid HC2.

    Resend because MUA changed whitespace.

    Signed-off-by: Dirk Meul
    Acked-by: Marek Szyprowski
    Reviewed-by: Lukasz Majewski
    Signed-off-by: Minkyu Kang

    Dirk Meul
     

05 Dec, 2017

1 commit

  • Odroid HC1 board is based on Odroid XU4 board, but it has no HDMI,
    no eMMC, no build-in USB3.0 hub, no extension port pins, and no GPIO
    button. USB3.0 ports are used for build-in JMicron USB to SATA bridge
    and Gigabit R8152 ethernet chips. HC1 uses only passive cooling.

    This patch also updates Odroid's ADCmax array and reduces ADC tolerance
    to 1% to ensure that XU4 and HC1 revisions are properly detected.

    I've tested this with XU3, XU3-lite, XU4 and HC1 boards. In case of my test
    boards I got following values from ADC register: 372, 370, 1281 and 1313.

    Signed-off-by: Marek Szyprowski
    Reviewed-by: Lukasz Majewski
    Tested-by: Krzysztof Kozlowski
    Signed-off-by: Minkyu Kang

    Marek Szyprowski
     

02 Nov, 2015

1 commit

  • This commit adds additional file with implementation of board
    detection code for Odroid-XU3/XU4.

    The detection depends on compatible found in fdt:
    - "samsung,exynos5" - uses Exynos5 generic code
    - "samsung,odroidxu3" - try detect XU3 revision

    There are few revisions of Odroid XU3/XU4, each can be detected
    by checking the value of channel 9 of built-in ADC:
    Rev ADC Board
    0.1 0 XU3 0.1
    0.2 372 XU3 0.2 | XU3L - no DISPLAYPORT
    0.3 1280 XU4 0.1

    The detection code depends on the ADC+10% value.

    Implementation of functions:
    - set_board_type() - read ADC and set type
    - get_board_rev() - returns board revision: 1..3
    - get_board_type() - returns board type string

    Additional functions with return values of bool:
    - board_is_generic() - true if found compatible "samsung,exynos5"
    but not "samsung,odroidxu3"
    - board_is_odroidxu3() - true if found compatible "samsung,odroidxu3"
    and one of XU3 revision.
    - board_is_odroidxu4() - true if found compatible "samsung,odroidxu3"
    and XU4 revision.

    After I2C controller init, the get_board_type() can check
    if the XU3 board is a "Lite" variant, by probing chip
    0x40 on I2C0 (INA231 - exists only on non-lite).
    This is useful for setting fdt file name at misc_init_r().

    Enabled configs:
    - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
    - CONFIG_ODROID_REV_AIN
    - CONFIG_REVISION_TAG
    - CONFIG_BOARD_TYPES

    Signed-off-by: Przemyslaw Marczak
    Cc: Minkyu Kang
    Cc: Simon Glass
    Tested-by: Anand Moon
    Signed-off-by: Minkyu Kang

    Przemyslaw Marczak
     

26 Feb, 2015

1 commit


05 Sep, 2014

2 commits

  • This change adds declaration of functions:
    - set_board_type() - called at board_early_init_f()
    - get_board_type() - called at checkboard()

    For supporting multiple board types in a one config - it is welcome
    to display the current board model. This is what get_board_type()
    should return.

    Signed-off-by: Przemyslaw Marczak
    Cc: Minkyu Kang
    Signed-off-by: Minkyu Kang

    Przemyslaw Marczak
     
  • This change introduces new common function:
    - set_dfu_alt_info() - put dfu system and bootloader setting
    into $dfu_alt_info.
    functions declaration:
    - char *get_dfu_alt_system(void)
    - char *get_dfu_alt_boot(void)
    - void set_dfu_alt_info(void)
    and new config:
    - CONFIG_SET_DFU_ALT_INFO

    This function can be used for auto setting dfu configuration on boot.
    Such feature is useful for multi board support by one u-boot binary.
    Each board should define two functions:
    - get_dfu_alt_system()
    - get_dfu_alt_boot()

    Signed-off-by: Przemyslaw Marczak
    Cc: Minkyu Kang
    Signed-off-by: Minkyu Kang

    Przemyslaw Marczak
     

07 May, 2014

2 commits

  • This change allows reset device environment to default without using u-boot
    console, which is useful for system developers.

    Signed-off-by: Inha Song
    Acked-by: Przemyslaw Marczak
    Cc: Minkyu Kang
    Signed-off-by: Minkyu Kang

    Inha Song
     
  • This menu option allows restore gpt.
    This is usefull and no needs access to the u-boot console.
    For proper operation:
    - each partition uuid should be set in environment or
    - CONFIG_RANDOM_UUID should be defined for automatically uuid setting

    After operation success device is going to be reset.

    Signed-off-by: Przemyslaw Marczak
    Cc: Minkyu Kang
    Signed-off-by: Minkyu Kang

    Przemyslaw Marczak
     

07 Feb, 2014

1 commit

  • This patch sets envs that describe board information.
    The following envs are set: soc_id, soc_rev, board_rev.
    Based on this information, if CONFIG_OF_LIBFDT is enabled,
    the 'fdtfile' env is set as:
    fdtfile=${soc_family}${soc_id}-${board}.dtb

    The generated envs are intenionally not saved to persistent storage.

    Signed-off-by: Piotr Wilczek
    Signed-off-by: Kyungmin Park
    Signed-off-by: Minkyu Kang

    Piotr Wilczek
     

03 Feb, 2014

2 commits

  • This simple LCD menu allows run one of download mode on device
    without writing on console or for fast and easy upgrade.

    This feature check user keys combination at boot:
    - power key + volume up - download menu
    - power key + volume down - thor mode (without menu)

    New configs:
    - CONFIG_LCD_MENU
    - CONFIG_LCD_MENU_BOARD

    For proper effect this feature needs following definitions:

    Power key:
    - KEY_PWR_PMIC_NAME - (string) pmic which supports power key check

    Register address:
    - KEY_PWR_STATUS_REG
    - KEY_PWR_INTERRUPT_REG

    Register power key mask:
    - KEY_PWR_STATUS_MASK
    - KEY_PWR_INTERRUPT_MASK

    Gpio numbers:
    - KEY_PWR_INTERRUPT_MASK
    - KEY_VOL_DOWN_GPIO

    Functions needs to be called:
    - keys_init() - for set proper gpio direction
    - check_boot_mode() - menu - main function

    Signed-off-by: Przemyslaw Marczak
    Signed-off-by: Minkyu Kang

    Przemyslaw Marczak
     
  • Changes:

    new file:
    - board/samsung/common/misc.c
    depends on: CONFIG_MISC_COMMON
    - move draw_logo() to misc.c

    configs: trats, trats2, universal:
    - enable CONFIG_MISC_COMMON,
    - enable CONFIG_MISC_INIT_R,
    - add misc_init_r() and call draw_logo() in it.

    Signed-off-by: Przemyslaw Marczak
    Signed-off-by: Minkyu Kang

    Przemyslaw Marczak