diff options
| author | Greg Malysa <[email protected]> | 2025-12-11 03:03:57 -0500 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2026-01-23 14:20:59 -0600 |
| commit | 48a45b74aa56b65c6d5776e2c5c4fb3c4bda3ee8 (patch) | |
| tree | 7c6bf780caa6c07f1f516321e2296a8f36252c27 | |
| parent | b36007b01620905f16eff864a09140adcff670fa (diff) | |
board: adi: Add SOMCRR infrastructure
This adds infrastructure and shared library code for building targets
that use the ADI SOMCRR-EZKIT and SOMCRR-EZLITE carrier boards. These
are not used directly as board targets in their own right.
Co-developed-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Nathan Barrett-Morrison <[email protected]>
Signed-off-by: Vasileios Bimpikas <[email protected]>
Signed-off-by: Utsav Agarwal <[email protected]>
Signed-off-by: Arturs Artamonovs <[email protected]>
Signed-off-by: Greg Malysa <[email protected]>
| -rw-r--r-- | board/adi/carriers/Makefile | 8 | ||||
| -rw-r--r-- | board/adi/carriers/somcrr.h | 14 | ||||
| -rw-r--r-- | board/adi/carriers/somcrr_common.c | 19 | ||||
| -rw-r--r-- | board/adi/carriers/somcrr_ezkit.c | 38 | ||||
| -rw-r--r-- | board/adi/carriers/somcrr_ezlite.c | 24 |
5 files changed, 103 insertions, 0 deletions
diff --git a/board/adi/carriers/Makefile b/board/adi/carriers/Makefile new file mode 100644 index 00000000000..cefd2cc837f --- /dev/null +++ b/board/adi/carriers/Makefile @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# +# (C) Copyright 2024 - Analog Devices, Inc. +# + +obj-y += somcrr_common.o +obj-$(CONFIG_ADI_CARRIER_SOMCRR_EZKIT) += somcrr_ezkit.o +obj-$(CONFIG_ADI_CARRIER_SOMCRR_EZLITE) += somcrr_ezlite.o diff --git a/board/adi/carriers/somcrr.h b/board/adi/carriers/somcrr.h new file mode 100644 index 00000000000..01e908c67f8 --- /dev/null +++ b/board/adi/carriers/somcrr.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * (C) Copyright 2025 - Analog Devices, Inc. + * + */ + +#ifndef BOARD_ADI_CARRIERS_SOMCRR_H +#define BOARD_ADI_CARRIERS_SOMCRR_H + +void adi_somcrr_init_ethernet(void); +void adi_somcrr_enable_ethernet(void); +void adi_somcrr_disable_ethernet(void); + +#endif diff --git a/board/adi/carriers/somcrr_common.c b/board/adi/carriers/somcrr_common.c new file mode 100644 index 00000000000..34ae48f31d2 --- /dev/null +++ b/board/adi/carriers/somcrr_common.c @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * (C) Copyright 2025 - Analog Devices, Inc. + */ + +#include <asm/arch-adi/sc5xx/sc5xx.h> +#include <linux/delay.h> + +#include "somcrr.h" + +void adi_somcrr_init_ethernet(void) +{ + adi_somcrr_enable_ethernet(); + mdelay(20); + adi_somcrr_disable_ethernet(); + mdelay(90); + adi_somcrr_enable_ethernet(); + mdelay(20); +} diff --git a/board/adi/carriers/somcrr_ezkit.c b/board/adi/carriers/somcrr_ezkit.c new file mode 100644 index 00000000000..8b4d6a96c18 --- /dev/null +++ b/board/adi/carriers/somcrr_ezkit.c @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * (C) Copyright 2025 - Analog Devices, Inc. + */ + +#include <asm/gpio.h> + +#include "somcrr.h" + +void adi_somcrr_enable_ethernet(void) +{ + struct gpio_desc *eth1; + struct gpio_desc *eth1_reset; + struct gpio_desc *gige_reset; + + gpio_hog_lookup_name("eth1-en", ð1); + gpio_hog_lookup_name("eth1-reset", ð1_reset); + gpio_hog_lookup_name("gige-reset", &gige_reset); + + dm_gpio_set_value(eth1, 1); + dm_gpio_set_value(eth1_reset, 0); + dm_gpio_set_value(gige_reset, 0); +} + +void adi_somcrr_disable_ethernet(void) +{ + struct gpio_desc *eth1; + struct gpio_desc *eth1_reset; + struct gpio_desc *gige_reset; + + gpio_hog_lookup_name("eth1-en", ð1); + gpio_hog_lookup_name("eth1-reset", ð1_reset); + gpio_hog_lookup_name("gige-reset", &gige_reset); + + dm_gpio_set_value(eth1, 0); + dm_gpio_set_value(eth1_reset, 1); + dm_gpio_set_value(gige_reset, 1); +} diff --git a/board/adi/carriers/somcrr_ezlite.c b/board/adi/carriers/somcrr_ezlite.c new file mode 100644 index 00000000000..c0655574bab --- /dev/null +++ b/board/adi/carriers/somcrr_ezlite.c @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * (C) Copyright 2025 - Analog Devices, Inc. + */ + +#include <asm/gpio.h> + +#include "somcrr.h" + +void adi_somcrr_enable_ethernet(void) +{ + struct gpio_desc *gige_reset; + + gpio_hog_lookup_name("eth0-reset", &gige_reset); + dm_gpio_set_value(gige_reset, 0); +} + +void adi_somcrr_disable_ethernet(void) +{ + struct gpio_desc *gige_reset; + + gpio_hog_lookup_name("eth0-reset", &gige_reset); + dm_gpio_set_value(gige_reset, 1); +} |
