Skip to contentSkip to conversation

ARM: dra7: Add support for dra76-evm

PATCH New Lokesh Vutla 2 participants 31 messages Aug 21, 2017 – Sep 12, 2017

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

v2 cover ARM: dra7: Add support for dra76-evm

dra76 family is a high-performance, infotainment application device, based on OMAP architecture on a 28-nm technology. This contains most of the subsystems, peripherals that are available on dra74, dra72 family. This SoC mainly features Subsystems:
- 2 x Cortex-A15 with max speed of 1.8GHz
- 2 X DSP
- 2 X Cortex-M4 IPU
- ISS
- CAL
- DSS
- VPE
- VIP
Connectivity peripherals:
- 1 USB3.0 and 3 USB2.0 subsystems
- 1 x SATA
- 2 x PCI Express Gen2
- 3-port Gigabit ethernet switch
- 2 x CAN
- MCAN

This series adds support for dra76-evm.

Tested on dra76-evm:
MMC boot: http://pastebin.ubuntu.com/25361009/
eMMC boot: http://pastebin.ubuntu.com/25361014/
SPI boot: http://pastebin.ubuntu.com/25361015/

Changes since v1:
- Separated out u-boot specific compatibles
- Sync all dra7* am57* dts with latest Linux queued for 4.14
- Imply dra76x specific PMIC compatibles.
- Rebased on top of latest master
- Added Reviewed-by from Tom
- Fixed few checkpatch warnings.

Keerthy (1):
board: ti: dra76-evm: Add the pmic data

Lokesh Vutla (11):
arm: omap5+: Add board specific ldo powering
palmas: Add support for powering different ldos
arm: dra7: Kconfig: Select LP87565 related configs
board: ti: dra76-evm: Add epprom support
board: ti: dra76-evm: Add DDR data
board: ti: dra76-evm: Add the pinmux data
board: ti: dra76-evm: Add support for powering on mmc ldo
env: ti: boot: Select dtb name for dra76
arm: dts: dra7: sync DT with latest Linux
arm: dts: Add u-boot specific compatibles
board: ti: dra76: Add dt support

Praneeth Bajjuri (1):
arm: dra76: Add support for ES1.0 detection

 arch/arm/dts/Makefile                      |   2 +-
 arch/arm/dts/am571x-idk.dts                |  56 ++-
 arch/arm/dts/am572x-idk.dts                |  64 ++-
 arch/arm/dts/am57xx-beagle-x15-common.dtsi |  61 ++-
 arch/arm/dts/am57xx-beagle-x15-revb1.dts   |  22 +-
 arch/arm/dts/am57xx-beagle-x15-revc.dts    |  39 ++
 arch/arm/dts/am57xx-beagle-x15.dts         |  16 +
 arch/arm/dts/am57xx-cl-som-am57x.dts       | 617 +++++++++++++++++++++++++++
 arch/arm/dts/am57xx-idk-common.dtsi        | 118 +++++-
 arch/arm/dts/am57xx-sbc-am57x.dts          | 179 ++++++++
 arch/arm/dts/dra7-evm-common.dtsi          | 258 ++++++++++++
 arch/arm/dts/dra7-evm.dts                  | 558 +++----------------------
 arch/arm/dts/dra7.dtsi                     | 101 ++++-
 arch/arm/dts/dra71-evm-u-boot.dtsi         |  23 +
 arch/arm/dts/dra71-evm.dts                 |  45 +-
 arch/arm/dts/dra72-evm-common.dtsi         |  31 +-
 arch/arm/dts/dra72-evm-revc-u-boot.dtsi    |  23 +
 arch/arm/dts/dra72-evm-revc.dts            |  42 +-
 arch/arm/dts/dra72-evm-tps65917.dtsi       |  16 +
 arch/arm/dts/dra72-evm.dts                 |  32 ++
 arch/arm/dts/dra72x-mmc-iodelay.dtsi       | 350 ++++++++++++++++
 arch/arm/dts/dra72x.dtsi                   |  37 +-
 arch/arm/dts/dra74x-mmc-iodelay.dtsi       | 647 +++++++++++++++++++++++++++++
 arch/arm/dts/dra74x.dtsi                   |  92 ++--
 arch/arm/dts/dra76-evm-u-boot.dtsi         |  15 +
 arch/arm/dts/dra76-evm.dts                 | 423 +++++++++++++++++++
 arch/arm/dts/dra76x.dtsi                   |  19 +
 arch/arm/dts/dra7xx-clocks.dtsi            |  20 +
 arch/arm/dts/omap5-u-boot.dtsi             |   7 +
 arch/arm/include/asm/arch-omap5/clock.h    |   9 +
 arch/arm/include/asm/arch-omap5/omap.h     |   1 +
 arch/arm/include/asm/omap_common.h         |   9 +
 arch/arm/include/asm/omap_mmc.h            |   1 +
 arch/arm/mach-omap2/omap5/Kconfig          |   4 +
 arch/arm/mach-omap2/omap5/hw_data.c        |  44 ++
 arch/arm/mach-omap2/omap5/hwinit.c         |  19 +-
 arch/arm/mach-omap2/omap5/sdram.c          |   2 +
 board/ti/dra7xx/evm.c                      | 141 ++++++-
 board/ti/dra7xx/mux_data.h                 | 294 +++++++++++++
 configs/dra7xx_evm_defconfig               |   2 +-
 configs/dra7xx_hs_evm_defconfig            |   2 +-
 drivers/power/palmas.c                     |  11 +-
 include/dt-bindings/pinctrl/dra.h          |   3 +
 include/environment/ti/boot.h              |   2 +
 include/palmas.h                           |   6 +-
 45 files changed, 3803 insertions(+), 660 deletions(-)
 create mode 100644 arch/arm/dts/am57xx-beagle-x15-revc.dts
 create mode 100644 arch/arm/dts/am57xx-cl-som-am57x.dts
 create mode 100644 arch/arm/dts/am57xx-sbc-am57x.dts
 create mode 100644 arch/arm/dts/dra7-evm-common.dtsi
 create mode 100644 arch/arm/dts/dra71-evm-u-boot.dtsi
 create mode 100644 arch/arm/dts/dra72-evm-revc-u-boot.dtsi
 create mode 100644 arch/arm/dts/dra72x-mmc-iodelay.dtsi
 create mode 100644 arch/arm/dts/dra74x-mmc-iodelay.dtsi
 create mode 100644 arch/arm/dts/dra76-evm-u-boot.dtsi
 create mode 100644 arch/arm/dts/dra76-evm.dts
 create mode 100644 arch/arm/dts/dra76x.dtsi
Signature · 1 line
2.13.0
#1 lore raw

PATCH v2 1/13 arm: omap5+: Add board specific ldo powering

It is not necessary all omap5+ based uses the same PMIC to poweron mmc. So add support for enabling mmc based on board.

---
 arch/arm/include/asm/omap_mmc.h    |  1 +
 arch/arm/mach-omap2/omap5/hwinit.c | 16 ++++++----------
 board/ti/dra7xx/evm.c              | 13 +++++++++++++
 3 files changed, 20 insertions(+), 10 deletions(-)
arch/arm/include/asm/omap_mmc.h +1 -0
index f6eb51ee3c..fd33408622 100644
@@ -174,4 +174,5 @@ int omap_mmc_init(int dev_index, uint host_caps_mask, uint f_max, int cd_gpio,
 		int wp_gpio);
 
 void vmmc_pbias_config(uint voltage);
+void board_mmc_poweron_ldo(uint voltage);
 #endif /* OMAP_MMC_H_ */
arch/arm/mach-omap2/omap5/hwinit.c +6 -10
index afe59e0b58..cb2a5ab7ea 100644
@@ -455,10 +455,14 @@ void v7_arch_cp15_set_acr(u32 acr, u32 cpu_midr, u32 cpu_rev_comb,
 }
 
 #if defined(CONFIG_PALMAS_POWER)
+__weak void board_mmc_poweron_ldo(uint voltage)
+{
+	palmas_mmc1_poweron_ldo(voltage);
+}
+
 void vmmc_pbias_config(uint voltage)
 {
 	u32 value = 0;
-	struct vcores_data const *vcores = *omap_vcores;
 
 	value = readl((*ctrl)->control_pbias);
 	value &= ~SDCARD_PWRDNZ;
@@ -467,15 +471,7 @@ void vmmc_pbias_config(uint voltage)
 	value &= ~SDCARD_BIAS_PWRDNZ;
 	writel(value, (*ctrl)->control_pbias);
 
-	if (vcores->core.pmic->i2c_slave_addr == 0x60) {
-		if (voltage == LDO_VOLT_3V0)
-			voltage = 0x19;
-		else if (voltage == LDO_VOLT_1V8)
-			voltage = 0xa;
-		lp873x_mmc1_poweron_ldo(voltage);
-	} else {
-		palmas_mmc1_poweron_ldo(voltage);
-	}
+	board_mmc_poweron_ldo(voltage);
 
 	value = readl((*ctrl)->control_pbias);
 	value |= SDCARD_BIAS_PWRDNZ;
board/ti/dra7xx/evm.c +13 -0
index 93d3d0b54e..6767fd2179 100644
@@ -710,6 +710,19 @@ int board_mmc_init(bd_t *bis)
 	omap_mmc_init(1, 0, 0, -1, -1);
 	return 0;
 }
+
+void board_mmc_poweron_ldo(uint voltage)
+{
+	if (board_is_dra71x_evm()) {
+		if (voltage == LDO_VOLT_3V0)
+			voltage = 0x19;
+		else if (voltage == LDO_VOLT_1V8)
+			voltage = 0xa;
+		lp873x_mmc1_poweron_ldo(voltage);
+	} else {
+		palmas_mmc1_poweron_ldo(voltage);
+	}
+}
 #endif
 
 #ifdef CONFIG_USB_DWC3
Signature · 1 line
2.13.0
#2 lore raw

PATCH v2 1/13 arm: omap5+: Add board specific ldo powering

Quoted 5 lines · Lokesh Vutla

It is not necessary all omap5+ based uses the same PMIC to poweron mmc. So add support for enabling mmc based on board.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/d88ec48d/attachment.sig>
#3 lore raw

PATCH v2 2/13 palmas: Add support for powering different ldos

In reply to Lokesh Vutla

It is not necessary that ldo1 is used to power on mmc. So, add support for passing ldo registers for powering on mmc.

---
 arch/arm/mach-omap2/omap5/hwinit.c |  2 +-
 board/ti/dra7xx/evm.c              |  2 +-
 drivers/power/palmas.c             | 11 ++++-------
 include/palmas.h                   |  2 +-
 4 files changed, 7 insertions(+), 10 deletions(-)
arch/arm/mach-omap2/omap5/hwinit.c +1 -1
index cb2a5ab7ea..85d3518e94 100644
@@ -457,7 +457,7 @@ void v7_arch_cp15_set_acr(u32 acr, u32 cpu_midr, u32 cpu_rev_comb,
 #if defined(CONFIG_PALMAS_POWER)
 __weak void board_mmc_poweron_ldo(uint voltage)
 {
-	palmas_mmc1_poweron_ldo(voltage);
+	palmas_mmc1_poweron_ldo(LDO1_VOLTAGE, LDO1_CTRL, voltage);
 }
 
 void vmmc_pbias_config(uint voltage)
board/ti/dra7xx/evm.c +1 -1
index 6767fd2179..1c0a1eb052 100644
@@ -720,7 +720,7 @@ void board_mmc_poweron_ldo(uint voltage)
 			voltage = 0xa;
 		lp873x_mmc1_poweron_ldo(voltage);
 	} else {
-		palmas_mmc1_poweron_ldo(voltage);
+		palmas_mmc1_poweron_ldo(LDO1_VOLTAGE, LDO1_CTRL, voltage);
 	}
 }
 #endif
drivers/power/palmas.c +4 -7
index 4e9895987c..ddf777c26b 100644
@@ -42,24 +42,21 @@ int lp873x_mmc1_poweron_ldo(uint voltage)
 }
 #endif
 
-int palmas_mmc1_poweron_ldo(uint voltage)
+int palmas_mmc1_poweron_ldo(uint ldo_volt, uint ldo_ctrl, uint voltage)
 {
 	u8 val = 0;
 
 #if defined(CONFIG_DRA7XX)
 	int ret;
-	/*
-	 * Currently valid for the dra7xx_evm board:
-	 * Set TPS659038 LDO1 to 3.0 V or 1.8V
-	 */
-	ret = palmas_i2c_write_u8(TPS65903X_CHIP_P1, LDO1_VOLTAGE, voltage);
+
+	ret = palmas_i2c_write_u8(TPS65903X_CHIP_P1, ldo_volt, voltage);
 	if (ret) {
 		printf("tps65903x: could not set LDO1 voltage.\n");
 		return ret;
 	}
 	/* TURN ON LDO1 */
 	val = RSC_MODE_SLEEP | RSC_MODE_ACTIVE;
-	ret = palmas_i2c_write_u8(TPS65903X_CHIP_P1, LDO1_CTRL, val);
+	ret = palmas_i2c_write_u8(TPS65903X_CHIP_P1, ldo_ctrl, val);
 	if (ret) {
 		printf("tps65903x: could not turn on LDO1.\n");
 		return ret;
include/palmas.h +1 -1
index d676617344..404c2b3ca7 100644
@@ -129,7 +129,7 @@ static inline int palmas_i2c_read_u8(u8 chip_no, u8 reg, u8 *val)
 }
 
 void palmas_init_settings(void);
-int palmas_mmc1_poweron_ldo(uint voltage);
+int palmas_mmc1_poweron_ldo(uint ldo_volt, uint ldo_ctrl, uint voltage);
 int lp873x_mmc1_poweron_ldo(uint voltage);
 int twl603x_mmc1_set_ldo9(u8 vsel);
 int twl603x_audio_power(u8 on);
Signature · 1 line
2.13.0
#4 lore raw

PATCH v2 2/13 palmas: Add support for powering different ldos

Quoted 5 lines · Lokesh Vutla

It is not necessary that ldo1 is used to power on mmc. So, add support for passing ldo registers for powering on mmc.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/692e75d4/attachment.sig>
#5 lore raw

PATCH v2 3/13 arm: dra7: Kconfig: Select LP87565 related configs

In reply to Lokesh Vutla

LP87565 is present on dra76-evm. Select it for
TARGET_DRA7XX_EVM.

---
 arch/arm/mach-omap2/omap5/Kconfig | 4 ++++
 1 file changed, 4 insertions(+)
arch/arm/mach-omap2/omap5/Kconfig +4 -0
index 30a9ff9c7b..8f58235baf 100644
@@ -26,6 +26,10 @@ config TARGET_DRA7XX_EVM
 	select TI_I2C_BOARD_DETECT
 	select PHYS_64BIT
 	imply SCSI
+	imply DM_PMIC
+	imply PMIC_LP87565
+	imply DM_REGULATOR
+	imply DM_REGULATOR_LP87565
 
 config TARGET_AM57XX_EVM
 	bool "AM57XX"
Signature · 1 line
2.13.0
#6 lore raw

PATCH v2 3/13 arm: dra7: Kconfig: Select LP87565 related configs

Quoted 4 lines · Lokesh Vutla

LP87565 is present on dra76-evm. Select it for
TARGET_DRA7XX_EVM.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170823/1feb6dce/attachment.sig>
#7 lore raw

PATCH v2 3/13 arm: dra7: Kconfig: Select LP87565 related configs

In reply to Lokesh Vutla
Quoted 5 lines · Lokesh Vutla

LP87565 is present on dra76-evm. Select it for
TARGET_DRA7XX_EVM.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/2a7ae81a/attachment.sig>
#8 lore raw

PATCH v2 4/13 arm: dra76: Add support for ES1.0 detection

In reply to Lokesh Vutla

From: Praneeth Bajjuri <[email protected]>

dra76 family is a high-performance, infotainment application device, based on OMAP architecture on a 28-nm technology. This contains most of the subsystems, peripherals that are available on dra74, dra72 family. This SoC mainly features Subsystems:
- 2 x Cortex-A15 with max speed of 1.8GHz
- 2 X DSP
- 2 X Cortex-M4 IPU
- ISS
- CAL
- DSS
- VPE
- VIP
Connectivity peripherals:
- 1 USB3.0 and 3 USB2.0 subsystems
- 1 x SATA
- 2 x PCI Express Gen2
- 3-port Gigabit ethernet switch
- 2 x CAN
- MCAN

Adding CPU detection support for the dra76 ES1.0 soc and update prcm, control module, dplls data.

---
 arch/arm/include/asm/arch-omap5/omap.h |  1 +
 arch/arm/include/asm/omap_common.h     |  8 ++++++++
 arch/arm/mach-omap2/omap5/hw_data.c    | 27 +++++++++++++++++++++++++++
 arch/arm/mach-omap2/omap5/hwinit.c     |  3 +++
 4 files changed, 39 insertions(+)
arch/arm/include/asm/arch-omap5/omap.h +1 -0
index b047f0d650..87a3d23ecb 100644
@@ -58,6 +58,7 @@
 #define OMAP5430_CONTROL_ID_CODE_ES2_0          0x1B94202F
 #define OMAP5432_CONTROL_ID_CODE_ES1_0		0x0B99802F
 #define OMAP5432_CONTROL_ID_CODE_ES2_0          0x1B99802F
+#define DRA762_CONTROL_ID_CODE_ES1_0		0x0BB5002F
 #define DRA752_CONTROL_ID_CODE_ES1_0		0x0B99002F
 #define DRA752_CONTROL_ID_CODE_ES1_1		0x1B99002F
 #define DRA752_CONTROL_ID_CODE_ES2_0		0x2B99002F
arch/arm/include/asm/omap_common.h +8 -0
index ef5c481349..e951b232d6 100644
@@ -722,6 +722,7 @@ static inline u8 is_omap54xx(void)
 
 #define DRA7XX		0x07000000
 #define DRA72X		0x07200000
+#define DRA76X		0x07600000
 
 static inline u8 is_dra7xx(void)
 {
@@ -734,6 +735,12 @@ static inline u8 is_dra72x(void)
 	extern u32 *const omap_si_rev;
 	return (*omap_si_rev & 0xFFF00000) == DRA72X;
 }
+
+static inline u8 is_dra76x(void)
+{
+	extern u32 *const omap_si_rev;
+	return (*omap_si_rev & 0xFFF00000) == DRA76X;
+}
 #endif
 
 /*
@@ -761,6 +768,7 @@ static inline u8 is_dra72x(void)
 #define OMAP5432_ES2_0  0x54320200
 
 /* DRA7XX */
+#define DRA762_ES1_0	0x07620100
 #define DRA752_ES1_0	0x07520100
 #define DRA752_ES1_1	0x07520110
 #define DRA752_ES2_0	0x07520200
arch/arm/mach-omap2/omap5/hw_data.c +27 -0
index 4ad6b530d2..19a8d10cef 100644
@@ -113,6 +113,16 @@ static const struct dpll_params per_dpll_params_768mhz_dra7xx[NUM_SYS_CLKS] = {
 	{10, 0, 4, 1, 3, 4, 4, 2, -1, -1, -1, -1},		/* 38.4 MHz */
 };
 
+static const struct dpll_params per_dpll_params_768mhz_dra76x[NUM_SYS_CLKS] = {
+	{32, 0, 4, 1, 3, 4, 8, 2, -1, -1, -1, -1},		/* 12 MHz   */
+	{96, 4, 4, 1, 3, 4, 8, 2, -1, -1, -1, -1},		/* 20 MHz   */
+	{160, 6, 4, 1, 3, 4, 8, 2, -1, -1, -1, -1},		/* 16.8 MHz */
+	{20, 0, 4, 1, 3, 4, 8, 2, -1, -1, -1, -1},		/* 19.2 MHz */
+	{192, 12, 4, 1, 3, 4, 8, 2, -1, -1, -1, -1},		/* 26 MHz   */
+	{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},	/* 27 MHz   */
+	{10, 0, 4, 1, 3, 4, 8, 2, -1, -1, -1, -1},		/* 38.4 MHz */
+};
+
 static const struct dpll_params iva_dpll_params_2330mhz[NUM_SYS_CLKS] = {
 	{1165, 11, -1, -1, 5, 6, -1, -1, -1, -1, -1, -1},	/* 12 MHz   */
 	{-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},	/* 13 MHz   */
@@ -234,6 +244,17 @@ struct dplls omap5_dplls_es2 = {
 	.ddr = NULL
 };
 
+struct dplls dra76x_dplls = {
+	.mpu = mpu_dpll_params_1ghz,
+	.core = core_dpll_params_2128mhz_dra7xx,
+	.per = per_dpll_params_768mhz_dra76x,
+	.abe = abe_dpll_params_sysclk2_361267khz,
+	.iva = iva_dpll_params_2330mhz_dra7xx,
+	.usb = usb_dpll_params_1920mhz,
+	.ddr =	ddr_dpll_params_2664mhz,
+	.gmac = gmac_dpll_params_2000mhz,
+};
+
 struct dplls dra7xx_dplls = {
 	.mpu = mpu_dpll_params_1ghz,
 	.core = core_dpll_params_2128mhz_dra7xx,
@@ -709,6 +730,12 @@ void __weak hw_data_init(void)
 	*ctrl = &omap5_ctrl;
 	break;
 
+	case DRA762_ES1_0:
+	*prcm = &dra7xx_prcm;
+	*dplls_data = &dra76x_dplls;
+	*ctrl = &dra7xx_ctrl;
+	break;
+
 	case DRA752_ES1_0:
 	case DRA752_ES1_1:
 	case DRA752_ES2_0:
arch/arm/mach-omap2/omap5/hwinit.c +3 -0
index 85d3518e94..c520a633c4 100644
@@ -362,6 +362,9 @@ void init_omap_revision(void)
 	case OMAP5432_CONTROL_ID_CODE_ES2_0:
 		*omap_si_rev = OMAP5432_ES2_0;
 		break;
+	case DRA762_CONTROL_ID_CODE_ES1_0:
+		*omap_si_rev = DRA762_ES1_0;
+		break;
 	case DRA752_CONTROL_ID_CODE_ES1_0:
 		*omap_si_rev = DRA752_ES1_0;
 		break;
Signature · 1 line
2.13.0
#9 lore raw

PATCH v2 4/13 arm: dra76: Add support for ES1.0 detection

Quoted 23 lines · Lokesh Vutla

From: Praneeth Bajjuri <[email protected]>

dra76 family is a high-performance, infotainment application device, based on OMAP architecture on a 28-nm technology. This contains most of the subsystems, peripherals that are available on dra74, dra72 family. This SoC mainly features Subsystems:
- 2 x Cortex-A15 with max speed of 1.8GHz
- 2 X DSP
- 2 X Cortex-M4 IPU
- ISS
- CAL
- DSS
- VPE
- VIP
Connectivity peripherals:
- 1 USB3.0 and 3 USB2.0 subsystems
- 1 x SATA
- 2 x PCI Express Gen2
- 3-port Gigabit ethernet switch
- 2 x CAN
- MCAN

Quoted 6 lines

Adding CPU detection support for the dra76 ES1.0 soc and update prcm, control module, dplls data.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/7ce0e007/attachment.sig>
#10 lore raw

PATCH v2 5/13 board: ti: dra76-evm: Add epprom support

In reply to Lokesh Vutla

The dra76-evm is a board based on TI's DRA76 processor Add eeprom support

---
 board/ti/dra7xx/evm.c | 5 +++++
 1 file changed, 5 insertions(+)
board/ti/dra7xx/evm.c +5 -0
index 1c0a1eb052..ee6d5251d5 100644
@@ -34,6 +34,7 @@
 #include "mux_data.h"
 #include "../common/board_detect.h"
 
+#define board_is_dra76x_evm()		board_ti_is("DRA76/7x")
 #define board_is_dra74x_evm()		board_ti_is("5777xCPU")
 #define board_is_dra72x_evm()		board_ti_is("DRA72x-T")
 #define board_is_dra71x_evm()		board_ti_is("DRA79x,D")
@@ -547,6 +548,8 @@ int board_late_init(void)
 			name = "dra71x";
 		else
 			name = "dra72x";
+	} else if (is_dra76x()) {
+		name = "dra76x";
 	} else {
 		name = "dra7xx";
 	}
@@ -595,6 +598,8 @@ void do_board_detect(void)
 		bname = "DRA72x EVM";
 	} else if (board_is_dra71x_evm()) {
 		bname = "DRA71x EVM";
+	} else if (board_is_dra76x_evm()) {
+		bname = "DRA76x EVM";
 	} else {
 		/* If EEPROM is not populated */
 		if (is_dra72x())
Signature · 1 line
2.13.0
#11 lore raw

PATCH v2 5/13 board: ti: dra76-evm: Add epprom support

Quoted 5 lines · Lokesh Vutla

The dra76-evm is a board based on TI's DRA76 processor Add eeprom support

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/b4c2391f/attachment.sig>
#12 lore raw

PATCH v2 6/13 board: ti: dra76-evm: Add the pmic data

In reply to Lokesh Vutla

From: Keerthy <[email protected]>

dra76-evm uses lp8736 and tps65917 pmic for powering on various peripherals. Add data for these pmics and register for dra76-evm.

---
 arch/arm/include/asm/arch-omap5/clock.h |  9 ++++++
 arch/arm/include/asm/omap_common.h      |  1 +
 arch/arm/mach-omap2/omap5/hw_data.c     | 16 +++++++++++
 board/ti/dra7xx/evm.c                   | 50 +++++++++++++++++++++++++++++++++
 4 files changed, 76 insertions(+)
arch/arm/include/asm/arch-omap5/clock.h +9 -0
index dbe340d23e..ee2e78b99b 100644
@@ -340,6 +340,9 @@
 /* Offset is 0.73V for LP873x */
 #define LP873X_BUCK_BASE_VOLT_UV		730000
 
+/* Offset is 0.73V for LP87565 */
+#define LP87565_BUCK_BASE_VOLT_UV		730000
+
 /* TPS659038 */
 #define TPS659038_I2C_SLAVE_ADDR		0x58
 #define TPS659038_REG_ADDR_SMPS12		0x23
@@ -353,6 +356,7 @@
 #define TPS65917_REG_ADDR_SMPS1		0x23
 #define TPS65917_REG_ADDR_SMPS2		0x27
 #define TPS65917_REG_ADDR_SMPS3		0x2F
+#define TPS65917_REG_ADDR_SMPS4		0x33
 
 /* LP873X */
 #define LP873X_I2C_SLAVE_ADDR		0x60
@@ -360,6 +364,11 @@
 #define LP873X_REG_ADDR_BUCK1		0x7
 #define LP873X_REG_ADDR_LDO1		0xA
 
+/* LP87565 */
+#define LP87565_I2C_SLAVE_ADDR		0x61
+#define LP87565_REG_ADDR_BUCK01		0xA
+#define LP87565_REG_ADDR_BUCK23		0xE
+
 /* TPS */
 #define TPS62361_I2C_SLAVE_ADDR		0x60
 #define TPS62361_REG_ADDR_SET0		0x0
arch/arm/include/asm/omap_common.h +1 -0
index e951b232d6..b34ad41325 100644
@@ -607,6 +607,7 @@ extern struct omap_sys_ctrl_regs const dra7xx_ctrl;
 
 extern struct pmic_data tps659038;
 extern struct pmic_data lp8733;
+extern struct pmic_data lp87565;
 
 void hw_data_init(void);
 
arch/arm/mach-omap2/omap5/hw_data.c +16 -0
index 19a8d10cef..7aaf379357 100644
@@ -306,6 +306,22 @@ struct pmic_data tps659038 = {
 	.gpio_en = 0,
 };
 
+/* The LP87565*/
+struct pmic_data lp87565 = {
+	.base_offset = LP873X_BUCK_BASE_VOLT_UV,
+	.step = 5000, /* 5 mV represented in uV */
+	/*
+	 * Offset codes 0 - 0x13 Invalid.
+	 * Offset codes 0x14 0x17 give 10mV steps
+	 * Offset codes 0x17 through 0x9D give 5mV steps
+	 * So let us start with our operating range from .73V
+	 */
+	.start_code = 0x17,
+	.i2c_slave_addr = 0x60,
+	.pmic_bus_init  = gpi2c_init,
+	.pmic_write     = palmas_i2c_write_u8,
+};
+
 /* The LP8732 and LP8733 are software-compatible, use common struct */
 struct pmic_data lp8733 = {
 	.base_offset = LP873X_BUCK_BASE_VOLT_UV,
board/ti/dra7xx/evm.c +50 -0

62 lines not on this page · raw message

Signature · 1 line
2.13.0
#13 lore raw

PATCH v2 6/13 board: ti: dra76-evm: Add the pmic data

Quoted 9 lines · Lokesh Vutla

From: Keerthy <[email protected]>

dra76-evm uses lp8736 and tps65917 pmic for powering on various peripherals. Add data for these pmics and register for dra76-evm.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/5c2cde18/attachment.sig>
#14 lore raw

PATCH v2 7/13 board: ti: dra76-evm: Add DDR data

In reply to Lokesh Vutla

dra76-evm has the ddr parts connectedi running at 666MHz:
EMIF1: MT41K512M16HA-125 AIT:A x 2
EMIF2: MT41K512M8RH-125-AAT:E x 4
Add support for configuring the above DDR parts.

---
 arch/arm/mach-omap2/omap5/hw_data.c |  1 +
 arch/arm/mach-omap2/omap5/sdram.c   |  2 ++
 board/ti/dra7xx/evm.c               | 61 +++++++++++++++++++++++++++++++++++--
 3 files changed, 62 insertions(+), 2 deletions(-)
arch/arm/mach-omap2/omap5/hw_data.c +1 -0
index 7aaf379357..147eafa71e 100644
@@ -790,6 +790,7 @@ void get_ioregs(const struct ctrl_ioregs **regs)
 	case DRA752_ES1_0:
 	case DRA752_ES1_1:
 	case DRA752_ES2_0:
+	case DRA762_ES1_0:
 		*regs = &ioregs_dra7xx_es1;
 		break;
 	case DRA722_ES1_0:
arch/arm/mach-omap2/omap5/sdram.c +2 -0
index 7712923d85..67ff63b9f6 100644
@@ -480,6 +480,7 @@ void __weak emif_get_ext_phy_ctrl_const_regs(u32 emif_nr,
 		*regs = dra_ddr3_ext_phy_ctrl_const_base_666MHz;
 		*size = ARRAY_SIZE(dra_ddr3_ext_phy_ctrl_const_base_666MHz);
 		break;
+	case DRA762_ES1_0:
 	case DRA722_ES2_0:
 		*regs = dra_ddr3_ext_phy_ctrl_const_base_666MHz_es2;
 		*size = ARRAY_SIZE(dra_ddr3_ext_phy_ctrl_const_base_666MHz_es2);
@@ -709,6 +710,7 @@ const struct read_write_regs *get_bug_regs(u32 *iterations)
 		*iterations = sizeof(omap5_bug_00339_regs)/
 			     sizeof(omap5_bug_00339_regs[0]);
 		break;
+	case DRA762_ES1_0:
 	case DRA752_ES1_0:
 	case DRA752_ES1_1:
 	case DRA752_ES2_0:
board/ti/dra7xx/evm.c +59 -2

85 lines not on this page · raw message

Signature · 1 line
2.13.0
#15 lore raw

PATCH v2 7/13 board: ti: dra76-evm: Add DDR data

Quoted 7 lines · Lokesh Vutla

dra76-evm has the ddr parts connectedi running at 666MHz:
EMIF1: MT41K512M16HA-125 AIT:A x 2
EMIF2: MT41K512M8RH-125-AAT:E x 4
Add support for configuring the above DDR parts.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/544fc1e6/attachment.sig>
#16 lore raw

PATCH v2 8/13 board: ti: dra76-evm: Add the pinmux data

In reply to Lokesh Vutla

Adding pinmux and IODELAY data for dra76-evm.

---
 board/ti/dra7xx/evm.c      |   6 +
 board/ti/dra7xx/mux_data.h | 294 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 300 insertions(+)
board/ti/dra7xx/evm.c +6 -0
index 53226f3167..ad63abd759 100644
@@ -783,6 +783,12 @@ void recalibrate_iodelay(void)
 		iodelay = dra742_es1_1_iodelay_cfg_array;
 		niodelays = ARRAY_SIZE(dra742_es1_1_iodelay_cfg_array);
 		break;
+	case DRA762_ES1_0:
+		pads = dra76x_core_padconf_array;
+		npads = ARRAY_SIZE(dra76x_core_padconf_array);
+		iodelay = dra76x_es1_0_iodelay_cfg_array;
+		niodelays = ARRAY_SIZE(dra76x_es1_0_iodelay_cfg_array);
+		break;
 	default:
 	case DRA752_ES2_0:
 		pads = dra74x_core_padconf_array;
board/ti/dra7xx/mux_data.h +294 -0

306 lines not on this page · raw message

Signature · 1 line
2.13.0
#17 lore raw

PATCH v2 8/13 board: ti: dra76-evm: Add the pinmux data

Quoted 5 lines · Lokesh Vutla

Adding pinmux and IODELAY data for dra76-evm.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/dd54fd35/attachment.sig>
#18 lore raw

PATCH v2 9/13 board: ti: dra76-evm: Add support for powering on mmc ldo

In reply to Lokesh Vutla

ldo4 is used to poweron mmc on dra76-evm. Enable it.

---
 board/ti/dra7xx/evm.c | 2 ++
 include/palmas.h      | 4 ++++
 2 files changed, 6 insertions(+)
board/ti/dra7xx/evm.c +2 -0
index ad63abd759..87b7403070 100644
@@ -837,6 +837,8 @@ void board_mmc_poweron_ldo(uint voltage)
 		else if (voltage == LDO_VOLT_1V8)
 			voltage = 0xa;
 		lp873x_mmc1_poweron_ldo(voltage);
+	} else if (board_is_dra76x_evm()) {
+		palmas_mmc1_poweron_ldo(LDO4_VOLTAGE, LDO4_CTRL, voltage);
 	} else {
 		palmas_mmc1_poweron_ldo(LDO1_VOLTAGE, LDO1_CTRL, voltage);
 	}
include/palmas.h +4 -0
index 404c2b3ca7..d366c98d22 100644
@@ -38,6 +38,10 @@
 #define LDO2_CTRL		0x52
 #define LDO2_VOLTAGE		0x53
 
+/* LDO2 control/voltage */
+#define LDO4_CTRL		0x5e
+#define LDO4_VOLTAGE		0x5f
+
 /* LDO9 control/voltage */
 #define LDO9_CTRL		0x60
 #define LDO9_VOLTAGE		0x61
Signature · 1 line
2.13.0
#19 lore raw

PATCH v2 9/13 board: ti: dra76-evm: Add support for powering on mmc ldo

Quoted 4 lines · Lokesh Vutla

ldo4 is used to poweron mmc on dra76-evm. Enable it.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/31d2f043/attachment.sig>
#20 lore raw

PATCH v2 10/13 env: ti: boot: Select dtb name for dra76

In reply to Lokesh Vutla

Select dtb name for dra76-evm.

---
 include/environment/ti/boot.h | 2 ++
 1 file changed, 2 insertions(+)
include/environment/ti/boot.h +2 -0
index 1c3ae40a99..01f7f7a300 100644
@@ -44,6 +44,8 @@
 			"setenv fdtfile dra72-evm.dtb; fi;" \
 		"if test $board_name = dra71x; then " \
 			"setenv fdtfile dra71-evm.dtb; fi;" \
+		"if test $board_name = dra76x; then " \
+			"setenv fdtfile dra76-evm.dtb; fi;" \
 		"if test $board_name = beagle_x15; then " \
 			"setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
 		"if test $board_name = beagle_x15_revb1; then " \
Signature · 1 line
2.13.0
#21 lore raw

PATCH v2 10/13 env: ti: boot: Select dtb name for dra76

Quoted 4 lines · Lokesh Vutla

Select dtb name for dra76-evm.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/db5f9319/attachment.sig>
#22 lore raw

PATCH v2 11/13 arm: dts: dra7: sync DT with latest Linux

In reply to Lokesh Vutla

Sync all dra7* specific dts files with the upstream kernel including changes queued for 4.14

https://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git/log/?h=omap-for-v4.14/dt-v3

---
 arch/arm/dts/am571x-idk.dts                |  56 ++-
 arch/arm/dts/am572x-idk.dts                |  64 ++-
 arch/arm/dts/am57xx-beagle-x15-common.dtsi |  61 ++-
 arch/arm/dts/am57xx-beagle-x15-revb1.dts   |  22 +-
 arch/arm/dts/am57xx-beagle-x15-revc.dts    |  39 ++
 arch/arm/dts/am57xx-beagle-x15.dts         |  16 +
 arch/arm/dts/am57xx-cl-som-am57x.dts       | 617 +++++++++++++++++++++++++++
 arch/arm/dts/am57xx-idk-common.dtsi        | 118 +++++-
 arch/arm/dts/am57xx-sbc-am57x.dts          | 179 ++++++++
 arch/arm/dts/dra7-evm-common.dtsi          | 258 ++++++++++++
 arch/arm/dts/dra7-evm.dts                  | 558 +++----------------------
 arch/arm/dts/dra7.dtsi                     | 101 ++++-
 arch/arm/dts/dra71-evm.dts                 |  45 +-
 arch/arm/dts/dra72-evm-common.dtsi         |  31 +-
 arch/arm/dts/dra72-evm-revc.dts            |  42 +-
 arch/arm/dts/dra72-evm-tps65917.dtsi       |  16 +
 arch/arm/dts/dra72-evm.dts                 |  32 ++
 arch/arm/dts/dra72x-mmc-iodelay.dtsi       | 350 ++++++++++++++++
 arch/arm/dts/dra72x.dtsi                   |  37 +-
 arch/arm/dts/dra74x-mmc-iodelay.dtsi       | 647 +++++++++++++++++++++++++++++
 arch/arm/dts/dra74x.dtsi                   |  92 ++--
 arch/arm/dts/dra76-evm.dts                 | 423 +++++++++++++++++++
 arch/arm/dts/dra76x.dtsi                   |  19 +
 arch/arm/dts/dra7xx-clocks.dtsi            |  20 +
 include/dt-bindings/pinctrl/dra.h          |   3 +
 25 files changed, 3210 insertions(+), 636 deletions(-)
 create mode 100644 arch/arm/dts/am57xx-beagle-x15-revc.dts
 create mode 100644 arch/arm/dts/am57xx-cl-som-am57x.dts
 create mode 100644 arch/arm/dts/am57xx-sbc-am57x.dts
 create mode 100644 arch/arm/dts/dra7-evm-common.dtsi
 create mode 100644 arch/arm/dts/dra72x-mmc-iodelay.dtsi
 create mode 100644 arch/arm/dts/dra74x-mmc-iodelay.dtsi
 create mode 100644 arch/arm/dts/dra76-evm.dts
 create mode 100644 arch/arm/dts/dra76x.dtsi
arch/arm/dts/am571x-idk.dts +47 -9
index ac69bb0616..debf946440 100644
@@ -11,6 +11,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include "am57xx-idk-common.dtsi"
+#include "dra72x-mmc-iodelay.dtsi"
 
 / {
 	model = "TI AM5718 IDK";
@@ -62,20 +63,57 @@
 			linux,default-trigger = "mmc0";
 		};
 	};
+};
+
+&omap_dwc3_2 {
+	extcon = <&extcon_usb2>;
+};
 
-	extcon_usb2: extcon_usb2 {
-	     compatible = "linux,extcon-usb-gpio";
-	     id-gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
+&extcon_usb2 {
+	id-gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
+	vbus-gpio = <&gpio7 22 GPIO_ACTIVE_HIGH>;
+};
+
+&mailbox5 {
+	status = "okay";
+	mbox_ipu1_ipc3x: mbox_ipu1_ipc3x {
+		status = "okay";
+	};
+	mbox_dsp1_ipc3x: mbox_dsp1_ipc3x {
+		status = "okay";
 	};
 };
 
-&mmc1 {
+&mailbox6 {
 	status = "okay";
-	vmmc-supply = <&ldo1_reg>;
-	bus-width = <4>;
-	cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; /* gpio 219 */
+	mbox_ipu2_ipc3x: mbox_ipu2_ipc3x {
+		status = "okay";
+	};
 };
 
-&omap_dwc3_2 {
-	extcon = <&extcon_usb2>;
+&pcie1_rc {
+	status = "okay";
+	gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
+};
+
+&pcie1_ep {
+	gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
+};
+
+&mmc1 {
+	pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
+	pinctrl-0 = <&mmc1_pins_default>;
+	pinctrl-1 = <&mmc1_pins_hs>;
+	pinctrl-2 = <&mmc1_pins_sdr12>;
+	pinctrl-3 = <&mmc1_pins_sdr25>;
+	pinctrl-4 = <&mmc1_pins_sdr50>;
+	pinctrl-5 = <&mmc1_pins_ddr50_rev20 &mmc1_iodelay_ddr50_conf>;
+	pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
+};
+
+&mmc2 {
+	pinctrl-names = "default", "hs", "ddr_1_8v";
+	pinctrl-0 = <&mmc2_pins_default>;
+	pinctrl-1 = <&mmc2_pins_hs>;
+	pinctrl-2 = <&mmc2_pins_ddr_rev20 &mmc2_iodelay_ddr_conf>;
 };
arch/arm/dts/am572x-idk.dts +54 -10

85 lines not on this page · raw message

arch/arm/dts/am57xx-beagle-x15-common.dtsi +25 -36

120 lines not on this page · raw message

arch/arm/dts/am57xx-beagle-x15-revb1.dts +21 -1
index ca85570629..5a77b33492 100644
@@ -19,6 +19,26 @@
 };
 
 &mmc1 {
+	pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
+	pinctrl-0 = <&mmc1_pins_default>;
+	pinctrl-1 = <&mmc1_pins_hs>;
+	pinctrl-2 = <&mmc1_pins_sdr12>;
+	pinctrl-3 = <&mmc1_pins_sdr25>;
+	pinctrl-4 = <&mmc1_pins_sdr50>;
+	pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev11_conf>;
+	pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev11_conf>;
 	vmmc-supply = <&vdd_3v3>;
-	vmmc-aux-supply = <&ldo1_reg>;
+	vqmmc-supply = <&ldo1_reg>;
+};
+
+&mmc2 {
+	pinctrl-names = "default", "hs", "ddr_1_8v";
+	pinctrl-0 = <&mmc2_pins_default>;
+	pinctrl-1 = <&mmc2_pins_hs>;
+	pinctrl-2 = <&mmc2_pins_ddr_3_3v_rev11 &mmc2_iodelay_ddr_3_3v_rev11_conf>;
+};
+
+/* errata i880 "Ethernet RGMII2 Limited to 10/100 Mbps" */
+&phy1 {
+	max-speed = <100>;
 };
arch/arm/dts/am57xx-beagle-x15-revc.dts new file +39 -0
new file mode 100644
index 0000000000..17c41da3b5
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2014-2017 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include "am57xx-beagle-x15-common.dtsi"
+
+/ {
+	model = "TI AM5728 BeagleBoard-X15 rev C";
+};
+
+&tpd12s015 {
+	gpios = <&gpio7 10 GPIO_ACTIVE_HIGH>,	/* gpio7_10, CT CP HPD */
+		<&gpio2 30 GPIO_ACTIVE_HIGH>,	/* gpio2_30, LS OE */
+		<&gpio7 12 GPIO_ACTIVE_HIGH>;	/* gpio7_12/sp1_cs2, HPD */
+};
+
+&mmc1 {
+	pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
+	pinctrl-0 = <&mmc1_pins_default>;
+	pinctrl-1 = <&mmc1_pins_hs>;
+	pinctrl-2 = <&mmc1_pins_sdr12>;
+	pinctrl-3 = <&mmc1_pins_sdr25>;
+	pinctrl-4 = <&mmc1_pins_sdr50>;
+	pinctrl-5 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr_rev20_conf>;
+	pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev20_conf>;
+	vmmc-supply = <&vdd_3v3>;
+	vqmmc-supply = <&ldo1_reg>;
+};
+
+&mmc2 {
+	pinctrl-names = "default", "hs", "ddr_1_8v";
+	pinctrl-0 = <&mmc2_pins_default>;
+	pinctrl-1 = <&mmc2_pins_hs>;
+	pinctrl-2 = <&mmc2_pins_ddr_rev20>;
+};
arch/arm/dts/am57xx-beagle-x15.dts +16 -0
index 8c66f2efd2..d6689106d2 100644
@@ -20,5 +20,21 @@
 };
 
 &mmc1 {
+	pinctrl-names = "default", "hs";
+	pinctrl-0 = <&mmc1_pins_default>;
+	pinctrl-1 = <&mmc1_pins_hs>;
+
 	vmmc-supply = <&ldo1_reg>;
 };
+
+&mmc2 {
+	pinctrl-names = "default", "hs", "ddr_1_8v";
+	pinctrl-0 = <&mmc2_pins_default>;
+	pinctrl-1 = <&mmc2_pins_hs>;
+	pinctrl-2 = <&mmc2_pins_ddr_3_3v_rev11 &mmc2_iodelay_ddr_3_3v_rev11_conf>;
+};
+
+/* errata i880 "Ethernet RGMII2 Limited to 10/100 Mbps" */
+&phy1 {
+	max-speed = <100>;
+};
arch/arm/dts/am57xx-cl-som-am57x.dts new file +617 -0

617 lines not on this page · raw message

arch/arm/dts/am57xx-idk-common.dtsi +116 -2

153 lines not on this page · raw message

arch/arm/dts/am57xx-sbc-am57x.dts new file +179 -0

179 lines not on this page · raw message

arch/arm/dts/dra7-evm-common.dtsi new file +258 -0

258 lines not on this page · raw message

arch/arm/dts/dra7-evm.dts +58 -500

681 lines not on this page · raw message

arch/arm/dts/dra7.dtsi +82 -19

286 lines not on this page · raw message

arch/arm/dts/dra71-evm.dts +40 -5

92 lines not on this page · raw message

arch/arm/dts/dra72-evm-common.dtsi +23 -8
index c83f87fa79..2e485a13df 100644
@@ -20,7 +20,6 @@
 
 	chosen {
 		stdout-path = &uart1;
-		tick-timer = &timer2;
 	};
 
 	evm_12v0: fixedregulator-evm12v0 {
@@ -221,9 +220,17 @@
 	status = "okay";
 	clock-frequency = <400000>;
 
+	pcf_lcd: gpio at 20 {
+		compatible = "nxp,pcf8575";
+		reg = <0x20>;
+		gpio-controller;
+		#gpio-cells = <2>;
+		interrupt-controller;
+		#interrupt-cells = <2>;
+	};
+
 	pcf_gpio_21: gpio at 21 {
 		compatible = "ti,pcf8575", "nxp,pcf8575";
-		u-boot,i2c-offset-len = <0>;
 		reg = <0x21>;
 		lines-initial-states = <0x1408>;
 		gpio-controller;
@@ -254,7 +261,6 @@
 
 	pcf_hdmi: pcf8575 at 26 {
 		compatible = "ti,pcf8575", "nxp,pcf8575";
-		u-boot,i2c-offset-len = <0>;
 		reg = <0x26>;
 		gpio-controller;
 		#gpio-cells = <2>;
@@ -287,7 +293,12 @@
 };
 
 &gpmc {
-	status = "okay";
+	/*
+	 * For the existing IOdelay configuration via U-Boot we don't
+	 * support NAND on dra72-evm. Keep it disabled. Enabling it
+	 * requires a different configuration by U-Boot.
+	 */
+	status = "disabled";
 	ranges = <0 0 0x08000000 0x01000000>;	/* minimum GPMC partition = 16MB */
 	nand at 0,0 {
 		/* To use NAND, DIP switch SW5 must be set like so:
@@ -300,6 +311,7 @@
 		interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
 			     <1 IRQ_TYPE_NONE>;	/* termcount */
 		rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
+		ti,nand-xfer-type = "prefetch-dma";
 		ti,nand-ecc-opt = "bch8";
 		ti,elm-id = <&elm>;
 		nand-bus-width = <16>;
@@ -381,7 +393,8 @@
 };
 
 &usb1 {
-	dr_mode = "peripheral";
+	dr_mode = "otg";
+	extcon = <&extcon_usb1>;
 };
 
 &usb2 {
@@ -407,8 +420,6 @@
 	status = "okay";
 	pinctrl-names = "default";
 	pinctrl-0 = <&mmc2_pins_default>;
-
-	vmmc-supply = <&evm_3v3_sw>;
 	bus-width = <8>;
 	ti,non-removable;
 	max-frequency = <192000000>;
@@ -431,7 +442,7 @@
 
 	spi-max-frequency = <76800000>;
 	m25p80 at 0 {
-		compatible = "s25fl256s1", "spi-flash";
+		compatible = "s25fl256s1";
 		spi-max-frequency = <76800000>;
 		reg = <0>;
 		spi-tx-bus-width = <1>;
@@ -552,3 +563,7 @@
 		status = "okay";
 	};
 };
+
+&pcie1_rc {
+	status = "okay";
+};
arch/arm/dts/dra72-evm-revc.dts +40 -2

76 lines not on this page · raw message

arch/arm/dts/dra72-evm-tps65917.dtsi +16 -0
index ee6dac44ed..57bfe5caf5 100644
@@ -132,3 +132,19 @@
 		ti,palmas-long-press-seconds = <6>;
 	};
 };
+
+&usb2_phy1 {
+	phy-supply = <&ldo4_reg>;
+};
+
+&usb2_phy2 {
+	phy-supply = <&ldo4_reg>;
+};
+
+&dss {
+	vdda_video-supply = <&ldo5_reg>;
+};
+
+&mmc1 {
+	vqmmc-supply = <&ldo1_reg>;
+};
arch/arm/dts/dra72-evm.dts +32 -0
index cd9c4ff126..c572693b16 100644
@@ -6,6 +6,7 @@
  * published by the Free Software Foundation.
  */
 #include "dra72-evm-common.dtsi"
+#include "dra72x-mmc-iodelay.dtsi"
 / {
 	model = "TI DRA722";
 
@@ -13,6 +14,16 @@
 		device_type = "memory";
 		reg = <0x0 0x80000000 0x0 0x40000000>; /* 1024 MB */
 	};
+
+	evm_1v8_sw: fixedregulator-evm_1v8 {
+		compatible = "regulator-fixed";
+		regulator-name = "evm_1v8";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		vin-supply = <&smps4_reg>;
+		regulator-always-on;
+		regulator-boot-on;
+	};
 };
 
 &i2c1 {
@@ -43,3 +54,24 @@
 	phy_id = <&davinci_mdio>, <3>;
 	phy-mode = "rgmii";
 };
+
+&mmc1 {
+	pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50", "sdr104";
+	pinctrl-0 = <&mmc1_pins_default>;
+	pinctrl-1 = <&mmc1_pins_hs>;
+	pinctrl-2 = <&mmc1_pins_sdr12>;
+	pinctrl-3 = <&mmc1_pins_sdr25>;
+	pinctrl-4 = <&mmc1_pins_sdr50>;
+	pinctrl-5 = <&mmc1_pins_ddr50_rev10>;
+	pinctrl-6 = <&mmc1_pins_sdr104 &mmc1_iodelay_sdr104_rev10_conf>;
+	vqmmc-supply = <&ldo1_reg>;
+};
+
+&mmc2 {
+	pinctrl-names = "default", "hs", "ddr_1_8v", "hs200_1_8v";
+	pinctrl-0 = <&mmc2_pins_default>;
+	pinctrl-1 = <&mmc2_pins_hs>;
+	pinctrl-2 = <&mmc2_pins_ddr_rev10>;
+	pinctrl-3 = <&mmc2_pins_hs200 &mmc2_iodelay_hs200_rev10_conf>;
+	vmmc-supply = <&evm_1v8_sw>;
+};
arch/arm/dts/dra72x-mmc-iodelay.dtsi new file +350 -0

143 lines not on this page · raw message

arch/arm/dts/dra72x.dtsi +21 -16
index eaca143faa..67107605fb 100644

Lines of this file are not shown. View the raw message.

arch/arm/dts/dra74x-mmc-iodelay.dtsi new file +647 -0

647 lines not on this page · raw message

arch/arm/dts/dra74x.dtsi +64 -28

92 lines not on this page · raw message

arch/arm/dts/dra76-evm.dts new file +423 -0

423 lines not on this page · raw message

arch/arm/dts/dra76x.dtsi new file +19 -0
new file mode 100644
index 0000000000..1c88c581ff

Lines of this file are not shown. View the raw message.

arch/arm/dts/dra7xx-clocks.dtsi +20 -0
index 3330738e4c..cf229dfabf 100644

Lines of this file are not shown. View the raw message.

include/dt-bindings/pinctrl/dra.h +3 -0
index 5c75e80915..18ec5df5a5 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Signature · 1 line
2.13.0

Part of the diff is not shown here. View the raw message.

#23 lore raw

PATCH v2 11/13 arm: dts: dra7: sync DT with latest Linux

Quoted 6 lines · Lokesh Vutla

Sync all dra7* specific dts files with the upstream kernel including changes queued for 4.14

https://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git/log/?h=omap-for-v4.14/dt-v3

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170823/3ca80891/attachment.sig>
#24 lore raw

PATCH v2 11/13 arm: dts: dra7: sync DT with latest Linux

In reply to Lokesh Vutla
Quoted 7 lines · Lokesh Vutla

Sync all dra7* specific dts files with the upstream kernel including changes queued for 4.14

https://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git/log/?h=omap-for-v4.14/dt-v3

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/733d9396/attachment.sig>
#25 lore raw

PATCH v2 12/13 arm: dts: Add u-boot specific compatibles

In reply to Lokesh Vutla

Separate out u-boot specific compatibles from dts files. This will help in syncing dts files in future.
Also these will get deleted eventually once respective drivers are capable of handling Linux dts files.

---
 arch/arm/dts/dra71-evm-u-boot.dtsi      | 23 +++++++++++++++++++++++
 arch/arm/dts/dra72-evm-revc-u-boot.dtsi | 23 +++++++++++++++++++++++
 arch/arm/dts/dra76-evm-u-boot.dtsi      | 15 +++++++++++++++
 arch/arm/dts/omap5-u-boot.dtsi          |  7 +++++++
 4 files changed, 68 insertions(+)
 create mode 100644 arch/arm/dts/dra71-evm-u-boot.dtsi
 create mode 100644 arch/arm/dts/dra72-evm-revc-u-boot.dtsi
 create mode 100644 arch/arm/dts/dra76-evm-u-boot.dtsi
arch/arm/dts/dra71-evm-u-boot.dtsi new file +23 -0
new file mode 100644
index 0000000000..8ae64c0a3c
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include "omap5-u-boot.dtsi"
+
+&pcf_gpio_21{
+	u-boot,i2c-offset-len = <0>;
+};
+
+&pcf_hdmi{
+	u-boot,i2c-offset-len = <0>;
+};
+
+&cpsw_emac0 {
+	phy-handle = <&dp83867_0>;
+};
+
+&cpsw_emac1 {
+	phy-handle = <&dp83867_1>;
+};
arch/arm/dts/dra72-evm-revc-u-boot.dtsi new file +23 -0
new file mode 100644
index 0000000000..8ae64c0a3c
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include "omap5-u-boot.dtsi"
+
+&pcf_gpio_21{
+	u-boot,i2c-offset-len = <0>;
+};
+
+&pcf_hdmi{
+	u-boot,i2c-offset-len = <0>;
+};
+
+&cpsw_emac0 {
+	phy-handle = <&dp83867_0>;
+};
+
+&cpsw_emac1 {
+	phy-handle = <&dp83867_1>;
+};
arch/arm/dts/dra76-evm-u-boot.dtsi new file +15 -0
new file mode 100644
index 0000000000..b007f78d46
@@ -0,0 +1,15 @@
+/*
+ * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#include "omap5-u-boot.dtsi"
+
+&cpsw_emac0 {
+	phy-handle = <&dp83867_0>;
+};
+
+&cpsw_emac1 {
+	phy-handle = <&dp83867_1>;
+};
arch/arm/dts/omap5-u-boot.dtsi +7 -0
index 17602909a6..2eeed6f4a0 100644
@@ -8,6 +8,10 @@
  */
 
 /{
+	chosen {
+		tick-timer = &timer2;
+	};
+
 	ocp {
 		u-boot,dm-spl;
 
@@ -19,10 +23,12 @@
 
 &uart1 {
 	u-boot,dm-spl;
+	reg-shift = <2>;
 };
 
 &uart3 {
 	u-boot,dm-spl;
+	reg-shift = <2>;
 };
 
 &mmc1 {
@@ -49,6 +55,7 @@
 	u-boot,dm-spl;
 
 	m25p80 at 0 {
+		compatible = "spi-flash";
 		u-boot,dm-spl;
 	};
 };
Signature · 1 line
2.13.0
#26 lore raw

PATCH v2 12/13 arm: dts: Add u-boot specific compatibles

Quoted 6 lines · Lokesh Vutla

Separate out u-boot specific compatibles from dts files. This will help in syncing dts files in future.
Also these will get deleted eventually once respective drivers are capable of handling Linux dts files.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170823/1a8c1837/attachment.sig>
#27 lore raw

PATCH v2 12/13 arm: dts: Add u-boot specific compatibles

In reply to Lokesh Vutla
Quoted 7 lines · Lokesh Vutla

Separate out u-boot specific compatibles from dts files. This will help in syncing dts files in future.
Also these will get deleted eventually once respective drivers are capable of handling Linux dts files.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/214e301a/attachment.sig>
#28 lore raw

PATCH v2 13/13 board: ti: dra76: Add dt support

In reply to Lokesh Vutla

Add support for selecting proper dtb for
dra76x u-boot from FIT.

---
 arch/arm/dts/Makefile           | 2 +-
 board/ti/dra7xx/evm.c           | 4 +++-
 configs/dra7xx_evm_defconfig    | 2 +-
 configs/dra7xx_hs_evm_defconfig | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)
arch/arm/dts/Makefile +1 -1
index d07715fc4f..f1dbdce9be 100644
@@ -175,7 +175,7 @@ dtb-$(CONFIG_ARCH_SOCFPGA) +=				\
 	socfpga_cyclone5_vining_fpga.dtb
 
 dtb-$(CONFIG_TARGET_DRA7XX_EVM) += dra72-evm.dtb dra7-evm.dtb	\
-	dra72-evm-revc.dtb dra71-evm.dtb
+	dra72-evm-revc.dtb dra71-evm.dtb dra76-evm.dtb
 dtb-$(CONFIG_TARGET_AM57XX_EVM) += am57xx-beagle-x15.dtb \
 	am57xx-beagle-x15-revb1.dtb \
 	am572x-idk.dtb	\
board/ti/dra7xx/evm.c +3 -1
index 87b7403070..bd871fa749 100644
@@ -1115,7 +1115,9 @@ int board_fit_config_name_match(const char *name)
 		} else if (!strcmp(name, "dra72-evm")) {
 			return 0;
 		}
-	} else if (!is_dra72x() && !strcmp(name, "dra7-evm")) {
+	} else if (is_dra76x() && !strcmp(name, "dra76-evm")) {
+		return 0;
+	} else if (!is_dra72x() && !is_dra76x() && !strcmp(name, "dra7-evm")) {
 		return 0;
 	}
 
configs/dra7xx_evm_defconfig +1 -1
index 4fff0cf734..30243bd132 100644
@@ -38,7 +38,7 @@ CONFIG_CMD_SPL=y
 CONFIG_ISO_PARTITION=y
 CONFIG_OF_CONTROL=y
 CONFIG_SPL_OF_CONTROL=y
-CONFIG_OF_LIST="dra7-evm dra72-evm dra72-evm-revc dra71-evm"
+CONFIG_OF_LIST="dra7-evm dra72-evm dra72-evm-revc dra71-evm dra76-evm"
 CONFIG_DM=y
 CONFIG_SPL_DM=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
configs/dra7xx_hs_evm_defconfig +1 -1
index 5572472d01..17fc92cebe 100644
@@ -42,7 +42,7 @@ CONFIG_FASTBOOT_FLASH_MMC_DEV=1
 CONFIG_ISO_PARTITION=y
 CONFIG_OF_CONTROL=y
 CONFIG_SPL_OF_CONTROL=y
-CONFIG_OF_LIST="dra7-evm dra72-evm dra72-evm-revc dra71-evm"
+CONFIG_OF_LIST="dra7-evm dra72-evm dra72-evm-revc dra71-evm dra76-evm"
 CONFIG_DM=y
 CONFIG_SPL_DM=y
 CONFIG_REGMAP=y
Signature · 1 line
2.13.0
#29 lore raw

PATCH v2 13/13 board: ti: dra76: Add dt support

Quoted 4 lines · Lokesh Vutla

Add support for selecting proper dtb for
dra76x u-boot from FIT.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170823/b168464f/attachment.sig>
#30 lore raw

PATCH v2 13/13 board: ti: dra76: Add dt support

In reply to Lokesh Vutla
Quoted 5 lines · Lokesh Vutla

Add support for selecting proper dtb for
dra76x u-boot from FIT.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170912/2d208649/attachment.sig>