summaryrefslogtreecommitdiff
path: root/board/samsung
Commit message (Collapse)AuthorAgeLines
* ARM: remove redudant information from Kconfig filesMasahiro Yamada2015-01-12-3/+0
| | | | | | | | | - "string" type for SYS_* is defined in arch/Kconfig - SYS_CPU "armv7" has been replaced with "select CPU_V7" - SYS_SOC "tegra124" is already defined in tegra124/Kconfig Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Bo Shen <voice.shen@atmel.com>
* ARM: exynos5420: Leave VBUS GPIO configuration up to common codeSjoerd Simons2014-12-22-16/+0
| | | | | | | | | | | | Since commit 4a271cb1b4ffdf330 (exynos: usb: Switch USB VBUS GPIOs to be device tree configured) it's not needed for the board specific files to turn on the VBUS GPIO by hand as that gets done based on device tree. So drop the redundant code from the SMDK5420 board file. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* exynos5420: fix compilation without parade videoSjoerd Simons2014-12-22-0/+1
| | | | | | | | | | | | Not all exynos 5420 based devices with an LCD also have a parade LVDS bridge. So make sure compilation doesn't break if CONFIG_LCD is enabled and CONFIG_VIDEO_PARADE is not. As a side-effect move the parade functions from the exynos system header file to its own file. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* Odroid-XU3: Add support for Odroid-XU3Hyungwon Hwang2014-12-22-0/+13
| | | | | | | | | | | This patch adds support for Odroid-XU3. Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com> Reviewed-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Tested-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* odroid: Turn blue LED onSuriyan Ramasami2014-11-24-0/+5
| | | | | | | | To indicate that U-Boot is active, turn on the blue LED. Signed-off-by: Suriyan Ramasami <suriyan.r@gmail.com> Acked-by: Przemyslaw Marczak <p.marczak@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* odroid: usbhost - Add missing gpio_request callSuriyan Ramasami2014-11-24-2/+11
| | | | | | | | | | | | | | | | The USB host code was missing gpio_request() calls before using the gpio functions, causing errors to be printed out. As a side note calls to max77686_set_buck_mode(OPMODE_OFF/OPMODE_ON) have been removed, as they did not have any effect. This is as per Przemyslaw: I looked into the documentation and there is a "ENB8" pin in PMIC package. This pin allows steering BUCK8 ON/OFF by the hardware. If ENB8 is set to low then you can do on/off. If high, then you cannot change its state by I2C write, which seems to be the case with the Odroids. Signed-off-by: Suriyan Ramasami <suriyan.r@gmail.com> Acked-by: Przemyslaw Marczak <p.marczak@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* arm: odroid: usb: add support for usb host including ethernetSuriyan Ramasami2014-11-17-0/+32
| | | | | | | | | This change adds support for enabling the USB host features of the board. This includes the USB3503A hub and the SMC LAN9730 ethernet controller as well. Signed-off-by: Suriyan Ramasami <suriyan.r@gmail.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* Config: Exynos5800: Enable build for Peach-PiAkshay Saraswat2014-11-17-0/+18
| | | | | | | | | | | | | This adds following things : - New config and defconfig for Peach-Pi board. - Alterations in Kconfig and MAINTAINERS. - Addition of CONFIG_EXYNOS5800. - ADdition of exynos5800-peach-pi in dts list. Signed-off-by: Akshay Saraswat <akshay.s@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* odroid: adjust gpio calls to dm gpio apiPrzemyslaw Marczak2014-10-30-1/+10
| | | | | | | | | | | | Setting gpio value before dm gpio init has no effect, so now, odroid gpio settings are moved after the gpio uclass init. Using non-requested gpio pin cases printing error messages. To avoid this, gpio_request() is added for those gpios. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* kconfig: arm: introduce symbol for ARM CPUsGeorges Savoundararadj2014-10-29-9/+0
| | | | | | | | | | | | | | | | | This commit introduces a Kconfig symbol for each ARM CPU: CPU_ARM720T, CPU_ARM920T, CPU_ARM926EJS, CPU_ARM946ES, CPU_ARM1136, CPU_ARM1176, CPU_V7, CPU_PXA, CPU_SA1100. Also, it adds the CPU feature Kconfig symbol HAS_VBAR which is selected for CPU_ARM1176 and CPU_V7. For each target, the corresponding CPU is selected and the definition of SYS_CPU in the corresponding Kconfig file is removed. Also, it removes redundant "string" type in some Kconfig files. Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Masahiro Yamada <yamada.m@jp.panasonic.com>
* universal: request soft i2c gpioPrzemyslaw Marczak2014-10-27-0/+9
| | | | | Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* samsung: board: use __weakJeroen Hofstee2014-10-25-6/+2
| | | | Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
* exynos: universal_c210: Move to driver model soft_spiSimon Glass2014-10-22-52/+0
| | | | | | | Adjust this board to use the driver model soft_spi implementation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
* dm: exynos: Convert SPI to driver modelSimon Glass2014-10-22-3/+0
| | | | | | | | | | Move the exynos SPI driver over to driver model. This removes quite a bit of boilerplate from the driver, although it adds some for driver model. A few device tree additions are needed to make the SPI flash available. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com>
* dm: exynos: Make sure that GPIOs are requestedSimon Glass2014-10-22-8/+53
| | | | | | | | | | With driver model GPIOs must be requested before use. Make sure this is done correctly. (Note that the soft SPI part of universal is omitted, since this driver is about to be replaced with a driver-model-aware version) Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: exynos: Tidy up GPIO headersSimon Glass2014-10-22-10/+9
| | | | | | | | | The wrong header is being included, thus requiring the code to re-declare the generic GPIO interface in each GPIO header. Fix this. Signed-off-by: Simon Glass <sjg@chromium.org>
* arm: goni: add i2c_init_board()Robert Baldyga2014-10-22-0/+10
| | | | | | | Add proper initialization of GPIO pins used by software i2c. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com> Acked-by: Simon Glass <sjg@chromium.org>
* odroid: clock: set aclk_cores to 200MHzPrzemyslaw Marczak2014-10-08-2/+2
| | | | | | | | | This change fixes suspend/resume issue in the kernel caused by the wrong 'aclk_cores' clock value expected by the kernel. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* exynos: update maintainer of Snow and SMDK5420 boardMasahiro Yamada2014-10-08-5/+1
| | | | | | | | | | | | | The email address of Rajeshwari Shinde <rajeshwari.s@samsung.com> is not working. This commit gives Akshay the maintainership of Snow and SMDK5420 boards. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Akshay Saraswat <akshay.s@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* Merge branch 'master' of http://git.denx.de/u-boot-samsungMinkyu Kang2014-10-07-30/+30
|\
| * Revert "odroid: set MPLL clock to 880MHz"Minkyu Kang2014-09-11-30/+30
| | | | | | | | This reverts commit b09200639d4c052e2bdf0df6fe843b7a8bcf01cc.
* | kconfig: remove redundant "string" type in arch and board KconfigsMasahiro Yamada2014-09-13-48/+0
|/ | | | | | | | | | | | | | | | | | Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME} are specified in arch/Kconfig. We can delete the ones in arch and board Kconfig files. This commit can be easily reproduced by the following command: find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e ' /config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ { N s/\n[[:space:]]*string// } ' Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
* exynos5420: add callbacks needed for exynos_fb driverAjay Kumar2014-09-05-82/+47
| | | | | | | | | | Add initialization code for peach_pit panel, parade bridge chip, and backlight. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* exynos_fb: Remove usage of static definesAjay Kumar2014-09-05-0/+16
| | | | | | | | | | | | | | Previously, we used to statically assign values for vl_col, vl_row and vl_bpix using #defines like LCD_XRES, LCD_YRES and LCD_COLOR16. Introducing the function exynos_lcd_early_init() would take care of this assignment on the fly by parsing FIMD DT properties, thereby allowing us to remove LCD_XRES and LCD_YRES from the main config file. Signed-off-by: Ajay Kumar <ajaykumar.rs@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* odroid: set MPLL clock to 880MHzPrzemyslaw Marczak2014-09-05-30/+30
| | | | | | | This patch changes MPLL from 800MHz to 880MHz on Odroid. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* MAINTAINERS: update the maintainer of Arndale boardMasahiro Yamada2014-09-05-1/+1
| | | | | | | | | | Inderpal's email address is not working any more. Chander will be a new maintainer. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Chander Kashyap <k.chander@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* odroid: kconfig: add odroid_defconfigPrzemyslaw Marczak2014-09-05-0/+21
| | | | | | | | | | | This config is valid for two devices: - Odroid X2, - Odroid U3. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Tom Rini <trini@ti.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* odroid: add board file for Odroid X2/U3 based on Samsung Exynos4412Przemyslaw Marczak2014-09-05-0/+733
| | | | | | | | | | | | | | | This board file supports standard features of Odroid X2 and U3 boards: - Exynos4412 core clock set to 1000MHz and MPLL peripherial clock set to 800MHz, - MAX77686 power regulator, - USB PHY, - enable XCL205 - power for board peripherials - check board type: U3 or X2. - enable Odroid U3 FAN cooler Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Tom Rini <trini@ti.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* samsung: misc: use board specific functions to set env board infoPrzemyslaw Marczak2014-09-05-2/+10
| | | | | | | | | | | | This change adds setup of environmental board info using get_board_name() and get_board_type() functions for config CONFIG_BOARD_TYPES. This is useful in case of running many boards with just one config. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* samsung: board: enable support of multiple board typesPrzemyslaw Marczak2014-09-05-5/+10
| | | | | | | | | | | | | | 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 <p.marczak@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* samsung:board: misc_init_r: call set_dfu_alt_info()Przemyslaw Marczak2014-09-05-0/+3
| | | | | | | | | This change enable automatic setting of dfu alt info on every boot. This is useful in case of booting one u-boot binary from multiple media. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* samsung: misc: add function for setting $dfu_alt_infoPrzemyslaw Marczak2014-09-05-0/+41
| | | | | | | | | | | | | | | | | | | | | | 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 <p.marczak@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* board:samsung: check the boot device and init the right mmc driver.Przemyslaw Marczak2014-09-05-10/+27
| | | | | | | | | | It is possible to boot device using a micro SD or eMMC slots. In this situation, boot device should be registered as a block device 0 in the MMC framework, because CONFIG_SYS_MMC_ENV_DEV is usually set to "0" in the most config cases. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* samsung: misc: fix soc revision setting in the set_board_info()Przemyslaw Marczak2014-09-05-2/+2
| | | | | | | | The byte order of soc revision was inverted, now it is fixed. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* exynos: kconfig: move board select menu and common settingsMasahiro Yamada2014-08-30-80/+0
| | | | | | | | | | | Becuase the board select menu in arch/arm/Kconfig is too big, move the Exynos board select menu to exynos/Kconfig. Consolidate also common settings (CONFIG_SYS_CPU="armv7" and CONFIG_SYS_SOC="exynos"). Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Minkyu Kang <mk7.kang@samsung.com>
* arm: Add missing .vectors section to linker scriptsBenoît Thébaudeau2014-08-30-0/+1
| | | | | | | | | | Commit 41623c9 'arm: move exception handling out of start.S files' missed some linker scripts. Hence, some boards no longer had exception handling linked since this commit. Restore the original behavior by adding the .vectors section to these linker scripts. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
* ARM: enable ARMv7 virt support for the Arndale boardAndre Przywara2014-08-30-0/+10
| | | | | | | | | | | | | To enable hypervisors utilizing the ARMv7 virtualization extension on the Arndale board, add the simple SMP pen address writer function and add the required configuration variables to switch all cores to HYP mode before launching the OS. This allows booting KVM and Xen directly from u-boot. Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Andre Przywara <andre.przywara@linaro.org> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
* samsung: dfu: Provide correct Vendor and Product IDs for UMS gadgetLukasz Majewski2014-08-20-1/+4
| | | | | | | | | | It is necessary to provide the same Vendor and Product IDs as the one in the original Linux kernel code. Without this change the USB mass storage gadget is not working with Windows7. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Acked-by: Minkyu Kang <mk7.kang@samsung.com>
* Add board MAINTAINERS filesMasahiro Yamada2014-07-30-0/+78
| | | | | | | | | | | | | | | | | | | | We have switched to Kconfig and the boards.cfg file is going to be removed. We have to retrieve the board status and maintainers information from it. The MAINTAINERS format as in Linux Kernel would be nice because we can crib the scripts/get_maintainer.pl script. After some discussion, we chose to put a MAINTAINERS file under each board directory, not the top-level one because we want to collect relevant information for a board into a single place. TODO: Modify get_maintainer.pl to scan multiple MAINTAINERS files. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Suggested-by: Tom Rini <trini@ti.com> Acked-by: Simon Glass <sjg@chromium.org>
* kconfig: add board Kconfig and defconfig filesMasahiro Yamada2014-07-30-0/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds: - arch/${ARCH}/Kconfig provide a menu to select target boards - board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig set CONFIG macros to the appropriate values for each board - configs/${TARGET_BOARD}_defconfig default setting of each board (This commit was automatically generated by a conversion script based on boards.cfg) In Linux Kernel, defconfig files are located under arch/${ARCH}/configs/ directory. It works in Linux Kernel since ARCH is always given from the command line for cross compile. But in U-Boot, ARCH is not given from the command line. Which means we cannot know ARCH until the board configuration is done. That is why all the "*_defconfig" files should be gathered into a single directory ./configs/. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
* trats/trats2: exynos_power_init: return 0 if no battery detected.Przemyslaw Marczak2014-06-19-2/+2
| | | | | | | | | | | | | | | | Generic board support is now enabled for Exynos 4, and if any init function returns an error then the init process is stopped. This makes a boot issue on the Trats and Trats2 devices. If the device is supplied by USB cable or an external power supply then it can't boot because function exynos_power_init returns an error. Now this function returns 0 if battery is not connected. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Cc: Lukasz Majewski <l.majewski@samsung.com> Cc: Piotr Wilczek <p.wilczek@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'Albert ARIBAUD2014-06-02-378/+251
|\
| * exynos: Enable the LCD backlight for snowSimon Glass2014-05-28-1/+99
| | | | | | | | | | | | | | | | | | The backlight uses FETs on the TPS65090. Enable this so that the display is visible. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * exynos5: support tps65090 pmicAaron Durbin2014-05-28-0/+13
| | | | | | | | | | | | | | | | | | | | | | The TSP65090 is a PMIC on some exynos5 boards. The init function is called for the TPS65090 pmic. If that device is not a part of the device tree (returns -ENODEV) then continue. Otherwise return a failure. Signed-off-by: Aaron Durbin <adurbin@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * exynos: Drop old smdk5250.c fileSimon Glass2014-05-28-367/+125
| | | | | | | | | | | | | | This is not used by any boards now. Drop it to avoid confusion. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * ARM: exynos5420: removed undefined gpio structureJaehoon Chung2014-05-16-3/+0
| | | | | | | | | | | | | | It's removed the exynos5_gpio_part1. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * ARM: exynos: board: change the mmc/sd init sequenceJaehoon Chung2014-05-16-7/+6
| | | | | | | | | | | | | | | | | | | | | | Exynos4 can be used the dwmmc controller for eMMC. Then it needs to check dwmmc_init() at first. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com> Tested-by: Lukasz Majewski <l.majewski@samsung.com> Acked-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * arm: goni: dfu: Add support for DFU to Goni targetMateusz Zalega2014-05-16-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Proper adjustment for supporting DFU at GONI target has been made. The s5p_goni.h file has been updated. Moreover the code for low level USB initialization has been added to GONI board code. The malloc pool has been enlarged in order to support larger buffer sizes needed by DFU implementation. Signed-off-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mateusz Zalega <m.zalega@samsung.com> Tested-by: Arkadiusz Wlodarczyk <a.wlodarczyk@samsung.com> Tested-by: Mateusz Zalega <m.zalega@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini2014-05-22-243/+172
|\ \ | |/
| * Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'Albert ARIBAUD2014-05-15-243/+172
| |\