Fixes for omaps, mostly a fix for power power consumption

creeping up during idle, and two l3-noc device fixes:
 
 - Fix power consumption creeping up with I2C4 staying on
 - Fix n900 microphone bias voltages
 - Fix dra7 l3-noc for host clock
 - Fix omap5 l3-noc id address decoding
 
 The rest are all just minor dts fixes:
 
 - Fix changed EXTCON_USB_GPIO_USB in defconfig
 - Fix missing isp and iva #iommu-cells property
 - Various beagle x15 dts fixes for pre-production changes
 - Fix am437x-sk display dts entries
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJVR9VWAAoJEBvUPslcq6VzQSEP/1D526fNwGoivn3MmV5yi2yV
 alVYxbcxOAbRrintH+ip2LXOzuQ4OdsMD+PbF9OzdiW2ynPiINq/tuchwC0vVcvU
 Tv7kUA9GjeT/s+0pNodQYLRxAksw0SnBmz4ZnUwaY46MjGwO6nRirKtE1Ucb96M2
 A61swMKtE+lYxc4Zxrr0QU7MRas7ukC9IGOjAFDasTzr3T/xm0IsWz79PE3rMVlI
 kUncW+g42RigeikzpqTELU5lvmRzobO47MWHWsECyyIiLp9fsei+r8HmJc0gosaz
 CTuUydUYNbxM9xbCKFXb2n7hBCzGiySQpFR25LXHJ8AAXKhR44rwjoZMwCF6j50C
 ad5NXik/FcLuI8HSqFOPc0gIFIk4oM+0AmRGGvaKgBt1Wv2gViCtd+0CNuk07/vE
 sFCc0Mnek9oLdWMwvSQ0g4ehJP/ejWiu1ZGsrQN7OliMe84340AkIVblMrHF6v4I
 OULFeMr1e+/XVNaj15YXQBMRbNK7JcR+npPzhGZvuXnio73VuwbIOaz42CSnY3EI
 ZiRLBfr8yGP5NQXOWNPp5ig+zcRviNRvr5o7hYR8LRtIyHvOGOafpSRn+7T0FEXK
 SBD1u1yXoCB2rwoulTSWWVplUD5yn8duv0gDAGXgBuWhTuTdHc5FPbLf8KZ0KSsW
 qGh6zuo3GvYJHi88DVjX
 =tOGf
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.1/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

Merge "omap fixes against v4.1-rc1" from Tony Lindgren:

Fixes for omaps, mostly a fix for power power consumption
creeping up during idle, and two l3-noc device fixes:

- Fix power consumption creeping up with I2C4 staying on
- Fix n900 microphone bias voltages
- Fix dra7 l3-noc for host clock
- Fix omap5 l3-noc id address decoding

The rest are all just minor dts fixes:

- Fix changed EXTCON_USB_GPIO_USB in defconfig
- Fix missing isp and iva #iommu-cells property
- Various beagle x15 dts fixes for pre-production changes
- Fix am437x-sk display dts entries

* tag 'omap-for-v4.1/fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  bus: omap_l3_noc: Fix master id address decoding for OMAP5
  bus: omap_l3_noc: Fix offset for DRA7 CLK1_HOST_CLK1_2 instance
  ARM: dts: dra7: Fix efuse register size for ABB
  ARM: dts: am57xx-beagle-x15: Switch GPIO fan number
  ARM: dts: am57xx-beagle-x15: Switch UART mux pins
  ARM: dts: am437x-sk: reduce col-scan-delay-us
  ARM: dts: am437x-sk: fix for new newhaven display module revision
  ARM: dts: am57xx-beagle-x15: Fix RTC aliases
  ARM: dts: am57xx-beagle-x15: Fix IRQ type for mcp7941x
  ARM: dts: omap3: Add #iommu-cells to isp and iva iommu
  ARM: omap2plus_defconfig: Enable EXTCON_USB_GPIO
  ARM: dts: OMAP3-N900: Add microphone bias voltages
  ARM: OMAP2+: Fix omap off idle power consumption creeping up
This commit is contained in:
Arnd Bergmann 2015-05-07 18:25:38 +02:00
commit 443318e0b7
16 changed files with 81 additions and 32 deletions

View File

@ -6,6 +6,7 @@ provided by Arteris.
Required properties: Required properties:
- compatible : Should be "ti,omap3-l3-smx" for OMAP3 family - compatible : Should be "ti,omap3-l3-smx" for OMAP3 family
Should be "ti,omap4-l3-noc" for OMAP4 family Should be "ti,omap4-l3-noc" for OMAP4 family
Should be "ti,omap5-l3-noc" for OMAP5 family
Should be "ti,dra7-l3-noc" for DRA7 family Should be "ti,dra7-l3-noc" for DRA7 family
Should be "ti,am4372-l3-noc" for AM43 family Should be "ti,am4372-l3-noc" for AM43 family
- reg: Contains L3 register address range for each noc domain. - reg: Contains L3 register address range for each noc domain.

View File

@ -49,7 +49,7 @@
pinctrl-0 = <&matrix_keypad_pins>; pinctrl-0 = <&matrix_keypad_pins>;
debounce-delay-ms = <5>; debounce-delay-ms = <5>;
col-scan-delay-us = <1500>; col-scan-delay-us = <5>;
row-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH /* Bank5, pin5 */ row-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH /* Bank5, pin5 */
&gpio5 6 GPIO_ACTIVE_HIGH>; /* Bank5, pin6 */ &gpio5 6 GPIO_ACTIVE_HIGH>; /* Bank5, pin6 */
@ -473,7 +473,7 @@
interrupt-parent = <&gpio0>; interrupt-parent = <&gpio0>;
interrupts = <31 0>; interrupts = <31 0>;
wake-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; reset-gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
touchscreen-size-x = <480>; touchscreen-size-x = <480>;
touchscreen-size-y = <272>; touchscreen-size-y = <272>;

View File

@ -18,6 +18,7 @@
aliases { aliases {
rtc0 = &mcp_rtc; rtc0 = &mcp_rtc;
rtc1 = &tps659038_rtc; rtc1 = &tps659038_rtc;
rtc2 = &rtc;
}; };
memory { memory {
@ -83,7 +84,7 @@
gpio_fan: gpio_fan { gpio_fan: gpio_fan {
/* Based on 5v 500mA AFB02505HHB */ /* Based on 5v 500mA AFB02505HHB */
compatible = "gpio-fan"; compatible = "gpio-fan";
gpios = <&tps659038_gpio 1 GPIO_ACTIVE_HIGH>; gpios = <&tps659038_gpio 2 GPIO_ACTIVE_HIGH>;
gpio-fan,speed-map = <0 0>, gpio-fan,speed-map = <0 0>,
<13000 1>; <13000 1>;
#cooling-cells = <2>; #cooling-cells = <2>;
@ -130,8 +131,8 @@
uart3_pins_default: uart3_pins_default { uart3_pins_default: uart3_pins_default {
pinctrl-single,pins = < pinctrl-single,pins = <
0x248 (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd.rxd */ 0x3f8 (PIN_INPUT_SLEW | MUX_MODE2) /* uart2_ctsn.uart3_rxd */
0x24c (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd.txd */ 0x3fc (PIN_INPUT_SLEW | MUX_MODE1) /* uart2_rtsn.uart3_txd */
>; >;
}; };
@ -455,7 +456,7 @@
mcp_rtc: rtc@6f { mcp_rtc: rtc@6f {
compatible = "microchip,mcp7941x"; compatible = "microchip,mcp7941x";
reg = <0x6f>; reg = <0x6f>;
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_LOW>; /* IRQ_SYS_1N */ interrupts = <GIC_SPI 2 IRQ_TYPE_EDGE_RISING>; /* IRQ_SYS_1N */
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mcp79410_pins_default>; pinctrl-0 = <&mcp79410_pins_default>;
@ -478,7 +479,7 @@
&uart3 { &uart3 {
status = "okay"; status = "okay";
interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
<&dra7_pmx_core 0x248>; <&dra7_pmx_core 0x3f8>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart3_pins_default>; pinctrl-0 = <&uart3_pins_default>;

View File

@ -911,7 +911,7 @@
ti,clock-cycles = <16>; ti,clock-cycles = <16>;
reg = <0x4ae07ddc 0x4>, <0x4ae07de0 0x4>, reg = <0x4ae07ddc 0x4>, <0x4ae07de0 0x4>,
<0x4ae06014 0x4>, <0x4a003b20 0x8>, <0x4ae06014 0x4>, <0x4a003b20 0xc>,
<0x4ae0c158 0x4>; <0x4ae0c158 0x4>;
reg-names = "setup-address", "control-address", reg-names = "setup-address", "control-address",
"int-address", "efuse-address", "int-address", "efuse-address",
@ -944,7 +944,7 @@
ti,clock-cycles = <16>; ti,clock-cycles = <16>;
reg = <0x4ae07e34 0x4>, <0x4ae07e24 0x4>, reg = <0x4ae07e34 0x4>, <0x4ae07e24 0x4>,
<0x4ae06010 0x4>, <0x4a0025cc 0x8>, <0x4ae06010 0x4>, <0x4a0025cc 0xc>,
<0x4a002470 0x4>; <0x4a002470 0x4>;
reg-names = "setup-address", "control-address", reg-names = "setup-address", "control-address",
"int-address", "efuse-address", "int-address", "efuse-address",
@ -977,7 +977,7 @@
ti,clock-cycles = <16>; ti,clock-cycles = <16>;
reg = <0x4ae07e30 0x4>, <0x4ae07e20 0x4>, reg = <0x4ae07e30 0x4>, <0x4ae07e20 0x4>,
<0x4ae06010 0x4>, <0x4a0025e0 0x8>, <0x4ae06010 0x4>, <0x4a0025e0 0xc>,
<0x4a00246c 0x4>; <0x4a00246c 0x4>;
reg-names = "setup-address", "control-address", reg-names = "setup-address", "control-address",
"int-address", "efuse-address", "int-address", "efuse-address",
@ -1010,7 +1010,7 @@
ti,clock-cycles = <16>; ti,clock-cycles = <16>;
reg = <0x4ae07de4 0x4>, <0x4ae07de8 0x4>, reg = <0x4ae07de4 0x4>, <0x4ae07de8 0x4>,
<0x4ae06010 0x4>, <0x4a003b08 0x8>, <0x4ae06010 0x4>, <0x4a003b08 0xc>,
<0x4ae0c154 0x4>; <0x4ae0c154 0x4>;
reg-names = "setup-address", "control-address", reg-names = "setup-address", "control-address",
"int-address", "efuse-address", "int-address", "efuse-address",
@ -1203,7 +1203,7 @@
status = "disabled"; status = "disabled";
}; };
rtc@48838000 { rtc: rtc@48838000 {
compatible = "ti,am3352-rtc"; compatible = "ti,am3352-rtc";
reg = <0x48838000 0x100>; reg = <0x48838000 0x100>;
interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 217 IRQ_TYPE_LEVEL_HIGH>,

View File

@ -498,6 +498,8 @@
DRVDD-supply = <&vmmc2>; DRVDD-supply = <&vmmc2>;
IOVDD-supply = <&vio>; IOVDD-supply = <&vio>;
DVDD-supply = <&vio>; DVDD-supply = <&vio>;
ai3x-micbias-vg = <1>;
}; };
tlv320aic3x_aux: tlv320aic3x@19 { tlv320aic3x_aux: tlv320aic3x@19 {
@ -509,6 +511,8 @@
DRVDD-supply = <&vmmc2>; DRVDD-supply = <&vmmc2>;
IOVDD-supply = <&vio>; IOVDD-supply = <&vio>;
DVDD-supply = <&vio>; DVDD-supply = <&vio>;
ai3x-micbias-vg = <2>;
}; };
tsl2563: tsl2563@29 { tsl2563: tsl2563@29 {

View File

@ -456,6 +456,7 @@
}; };
mmu_isp: mmu@480bd400 { mmu_isp: mmu@480bd400 {
#iommu-cells = <0>;
compatible = "ti,omap2-iommu"; compatible = "ti,omap2-iommu";
reg = <0x480bd400 0x80>; reg = <0x480bd400 0x80>;
interrupts = <24>; interrupts = <24>;
@ -464,6 +465,7 @@
}; };
mmu_iva: mmu@5d000000 { mmu_iva: mmu@5d000000 {
#iommu-cells = <0>;
compatible = "ti,omap2-iommu"; compatible = "ti,omap2-iommu";
reg = <0x5d000000 0x80>; reg = <0x5d000000 0x80>;
interrupts = <28>; interrupts = <28>;

View File

@ -128,7 +128,7 @@
* hierarchy. * hierarchy.
*/ */
ocp { ocp {
compatible = "ti,omap4-l3-noc", "simple-bus"; compatible = "ti,omap5-l3-noc", "simple-bus";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
ranges; ranges;

View File

@ -393,7 +393,7 @@ CONFIG_TI_EDMA=y
CONFIG_DMA_OMAP=y CONFIG_DMA_OMAP=y
# CONFIG_IOMMU_SUPPORT is not set # CONFIG_IOMMU_SUPPORT is not set
CONFIG_EXTCON=m CONFIG_EXTCON=m
CONFIG_EXTCON_GPIO=m CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON_PALMAS=m CONFIG_EXTCON_PALMAS=m
CONFIG_TI_EMIF=m CONFIG_TI_EMIF=m
CONFIG_PWM=y CONFIG_PWM=y

View File

@ -112,6 +112,7 @@
#define OMAP3430_VC_CMD_ONLP_SHIFT 16 #define OMAP3430_VC_CMD_ONLP_SHIFT 16
#define OMAP3430_VC_CMD_RET_SHIFT 8 #define OMAP3430_VC_CMD_RET_SHIFT 8
#define OMAP3430_VC_CMD_OFF_SHIFT 0 #define OMAP3430_VC_CMD_OFF_SHIFT 0
#define OMAP3430_SREN_MASK (1 << 4)
#define OMAP3430_HSEN_MASK (1 << 3) #define OMAP3430_HSEN_MASK (1 << 3)
#define OMAP3430_MCODE_MASK (0x7 << 0) #define OMAP3430_MCODE_MASK (0x7 << 0)
#define OMAP3430_VALID_MASK (1 << 24) #define OMAP3430_VALID_MASK (1 << 24)

View File

@ -35,6 +35,7 @@
#define OMAP4430_GLOBAL_WARM_SW_RST_SHIFT 1 #define OMAP4430_GLOBAL_WARM_SW_RST_SHIFT 1
#define OMAP4430_GLOBAL_WUEN_MASK (1 << 16) #define OMAP4430_GLOBAL_WUEN_MASK (1 << 16)
#define OMAP4430_HSMCODE_MASK (0x7 << 0) #define OMAP4430_HSMCODE_MASK (0x7 << 0)
#define OMAP4430_SRMODEEN_MASK (1 << 4)
#define OMAP4430_HSMODEEN_MASK (1 << 3) #define OMAP4430_HSMODEEN_MASK (1 << 3)
#define OMAP4430_HSSCLL_SHIFT 24 #define OMAP4430_HSSCLL_SHIFT 24
#define OMAP4430_ICEPICK_RST_SHIFT 9 #define OMAP4430_ICEPICK_RST_SHIFT 9

View File

@ -316,7 +316,8 @@ static void __init omap3_vc_init_pmic_signaling(struct voltagedomain *voltdm)
* idle. And we can also scale voltages to zero for off-idle. * idle. And we can also scale voltages to zero for off-idle.
* Note that no actual voltage scaling during off-idle will * Note that no actual voltage scaling during off-idle will
* happen unless the board specific twl4030 PMIC scripts are * happen unless the board specific twl4030 PMIC scripts are
* loaded. * loaded. See also omap_vc_i2c_init for comments regarding
* erratum i531.
*/ */
val = voltdm->read(OMAP3_PRM_VOLTCTRL_OFFSET); val = voltdm->read(OMAP3_PRM_VOLTCTRL_OFFSET);
if (!(val & OMAP3430_PRM_VOLTCTRL_SEL_OFF)) { if (!(val & OMAP3430_PRM_VOLTCTRL_SEL_OFF)) {
@ -704,9 +705,16 @@ static void __init omap_vc_i2c_init(struct voltagedomain *voltdm)
return; return;
} }
/*
* Note that for omap3 OMAP3430_SREN_MASK clears SREN to work around
* erratum i531 "Extra Power Consumed When Repeated Start Operation
* Mode Is Enabled on I2C Interface Dedicated for Smart Reflex (I2C4)".
* Otherwise I2C4 eventually leads into about 23mW extra power being
* consumed even during off idle using VMODE.
*/
i2c_high_speed = voltdm->pmic->i2c_high_speed; i2c_high_speed = voltdm->pmic->i2c_high_speed;
if (i2c_high_speed) if (i2c_high_speed)
voltdm->rmw(vc->common->i2c_cfg_hsen_mask, voltdm->rmw(vc->common->i2c_cfg_clear_mask,
vc->common->i2c_cfg_hsen_mask, vc->common->i2c_cfg_hsen_mask,
vc->common->i2c_cfg_reg); vc->common->i2c_cfg_reg);

View File

@ -34,6 +34,7 @@ struct voltagedomain;
* @cmd_ret_shift: RET field shift in PRM_VC_CMD_VAL_* register * @cmd_ret_shift: RET field shift in PRM_VC_CMD_VAL_* register
* @cmd_off_shift: OFF field shift in PRM_VC_CMD_VAL_* register * @cmd_off_shift: OFF field shift in PRM_VC_CMD_VAL_* register
* @i2c_cfg_reg: I2C configuration register offset * @i2c_cfg_reg: I2C configuration register offset
* @i2c_cfg_clear_mask: high-speed mode bit clear mask in I2C config register
* @i2c_cfg_hsen_mask: high-speed mode bit field mask in I2C config register * @i2c_cfg_hsen_mask: high-speed mode bit field mask in I2C config register
* @i2c_mcode_mask: MCODE field mask for I2C config register * @i2c_mcode_mask: MCODE field mask for I2C config register
* *
@ -52,6 +53,7 @@ struct omap_vc_common {
u8 cmd_ret_shift; u8 cmd_ret_shift;
u8 cmd_off_shift; u8 cmd_off_shift;
u8 i2c_cfg_reg; u8 i2c_cfg_reg;
u8 i2c_cfg_clear_mask;
u8 i2c_cfg_hsen_mask; u8 i2c_cfg_hsen_mask;
u8 i2c_mcode_mask; u8 i2c_mcode_mask;
}; };

View File

@ -40,6 +40,7 @@ static struct omap_vc_common omap3_vc_common = {
.cmd_onlp_shift = OMAP3430_VC_CMD_ONLP_SHIFT, .cmd_onlp_shift = OMAP3430_VC_CMD_ONLP_SHIFT,
.cmd_ret_shift = OMAP3430_VC_CMD_RET_SHIFT, .cmd_ret_shift = OMAP3430_VC_CMD_RET_SHIFT,
.cmd_off_shift = OMAP3430_VC_CMD_OFF_SHIFT, .cmd_off_shift = OMAP3430_VC_CMD_OFF_SHIFT,
.i2c_cfg_clear_mask = OMAP3430_SREN_MASK | OMAP3430_HSEN_MASK,
.i2c_cfg_hsen_mask = OMAP3430_HSEN_MASK, .i2c_cfg_hsen_mask = OMAP3430_HSEN_MASK,
.i2c_cfg_reg = OMAP3_PRM_VC_I2C_CFG_OFFSET, .i2c_cfg_reg = OMAP3_PRM_VC_I2C_CFG_OFFSET,
.i2c_mcode_mask = OMAP3430_MCODE_MASK, .i2c_mcode_mask = OMAP3430_MCODE_MASK,

View File

@ -42,6 +42,7 @@ static const struct omap_vc_common omap4_vc_common = {
.cmd_ret_shift = OMAP4430_RET_SHIFT, .cmd_ret_shift = OMAP4430_RET_SHIFT,
.cmd_off_shift = OMAP4430_OFF_SHIFT, .cmd_off_shift = OMAP4430_OFF_SHIFT,
.i2c_cfg_reg = OMAP4_PRM_VC_CFG_I2C_MODE_OFFSET, .i2c_cfg_reg = OMAP4_PRM_VC_CFG_I2C_MODE_OFFSET,
.i2c_cfg_clear_mask = OMAP4430_SRMODEEN_MASK | OMAP4430_HSMODEEN_MASK,
.i2c_cfg_hsen_mask = OMAP4430_HSMODEEN_MASK, .i2c_cfg_hsen_mask = OMAP4430_HSMODEEN_MASK,
.i2c_mcode_mask = OMAP4430_HSMCODE_MASK, .i2c_mcode_mask = OMAP4430_HSMCODE_MASK,
}; };

View File

@ -1,7 +1,7 @@
/* /*
* OMAP L3 Interconnect error handling driver * OMAP L3 Interconnect error handling driver
* *
* Copyright (C) 2011-2014 Texas Instruments Incorporated - http://www.ti.com/ * Copyright (C) 2011-2015 Texas Instruments Incorporated - http://www.ti.com/
* Santosh Shilimkar <santosh.shilimkar@ti.com> * Santosh Shilimkar <santosh.shilimkar@ti.com>
* Sricharan <r.sricharan@ti.com> * Sricharan <r.sricharan@ti.com>
* *
@ -233,7 +233,8 @@ static irqreturn_t l3_interrupt_handler(int irq, void *_l3)
} }
static const struct of_device_id l3_noc_match[] = { static const struct of_device_id l3_noc_match[] = {
{.compatible = "ti,omap4-l3-noc", .data = &omap_l3_data}, {.compatible = "ti,omap4-l3-noc", .data = &omap4_l3_data},
{.compatible = "ti,omap5-l3-noc", .data = &omap5_l3_data},
{.compatible = "ti,dra7-l3-noc", .data = &dra_l3_data}, {.compatible = "ti,dra7-l3-noc", .data = &dra_l3_data},
{.compatible = "ti,am4372-l3-noc", .data = &am4372_l3_data}, {.compatible = "ti,am4372-l3-noc", .data = &am4372_l3_data},
{}, {},

View File

@ -1,7 +1,7 @@
/* /*
* OMAP L3 Interconnect error handling driver header * OMAP L3 Interconnect error handling driver header
* *
* Copyright (C) 2011-2014 Texas Instruments Incorporated - http://www.ti.com/ * Copyright (C) 2011-2015 Texas Instruments Incorporated - http://www.ti.com/
* Santosh Shilimkar <santosh.shilimkar@ti.com> * Santosh Shilimkar <santosh.shilimkar@ti.com>
* sricharan <r.sricharan@ti.com> * sricharan <r.sricharan@ti.com>
* *
@ -175,16 +175,14 @@ static struct l3_flagmux_data omap_l3_flagmux_clk2 = {
}; };
static struct l3_target_data omap_l3_target_data_clk3[] = { static struct l3_target_data omap4_l3_target_data_clk3[] = {
{0x0100, "EMUSS",}, {0x0100, "DEBUGSS",},
{0x0300, "DEBUG SOURCE",},
{0x0, "HOST CLK3",},
}; };
static struct l3_flagmux_data omap_l3_flagmux_clk3 = { static struct l3_flagmux_data omap4_l3_flagmux_clk3 = {
.offset = 0x0200, .offset = 0x0200,
.l3_targ = omap_l3_target_data_clk3, .l3_targ = omap4_l3_target_data_clk3,
.num_targ_data = ARRAY_SIZE(omap_l3_target_data_clk3), .num_targ_data = ARRAY_SIZE(omap4_l3_target_data_clk3),
}; };
static struct l3_masters_data omap_l3_masters[] = { static struct l3_masters_data omap_l3_masters[] = {
@ -215,21 +213,49 @@ static struct l3_masters_data omap_l3_masters[] = {
{ 0x32, "USBHOSTFS"} { 0x32, "USBHOSTFS"}
}; };
static struct l3_flagmux_data *omap_l3_flagmux[] = { static struct l3_flagmux_data *omap4_l3_flagmux[] = {
&omap_l3_flagmux_clk1, &omap_l3_flagmux_clk1,
&omap_l3_flagmux_clk2, &omap_l3_flagmux_clk2,
&omap_l3_flagmux_clk3, &omap4_l3_flagmux_clk3,
}; };
static const struct omap_l3 omap_l3_data = { static const struct omap_l3 omap4_l3_data = {
.l3_flagmux = omap_l3_flagmux, .l3_flagmux = omap4_l3_flagmux,
.num_modules = ARRAY_SIZE(omap_l3_flagmux), .num_modules = ARRAY_SIZE(omap4_l3_flagmux),
.l3_masters = omap_l3_masters, .l3_masters = omap_l3_masters,
.num_masters = ARRAY_SIZE(omap_l3_masters), .num_masters = ARRAY_SIZE(omap_l3_masters),
/* The 6 MSBs of register field used to distinguish initiator */ /* The 6 MSBs of register field used to distinguish initiator */
.mst_addr_mask = 0xFC, .mst_addr_mask = 0xFC,
}; };
/* OMAP5 data */
static struct l3_target_data omap5_l3_target_data_clk3[] = {
{0x0100, "L3INSTR",},
{0x0300, "DEBUGSS",},
{0x0, "HOSTCLK3",},
};
static struct l3_flagmux_data omap5_l3_flagmux_clk3 = {
.offset = 0x0200,
.l3_targ = omap5_l3_target_data_clk3,
.num_targ_data = ARRAY_SIZE(omap5_l3_target_data_clk3),
};
static struct l3_flagmux_data *omap5_l3_flagmux[] = {
&omap_l3_flagmux_clk1,
&omap_l3_flagmux_clk2,
&omap5_l3_flagmux_clk3,
};
static const struct omap_l3 omap5_l3_data = {
.l3_flagmux = omap5_l3_flagmux,
.num_modules = ARRAY_SIZE(omap5_l3_flagmux),
.l3_masters = omap_l3_masters,
.num_masters = ARRAY_SIZE(omap_l3_masters),
/* The 6 MSBs of register field used to distinguish initiator */
.mst_addr_mask = 0x7E0,
};
/* DRA7 data */ /* DRA7 data */
static struct l3_target_data dra_l3_target_data_clk1[] = { static struct l3_target_data dra_l3_target_data_clk1[] = {
{0x2a00, "AES1",}, {0x2a00, "AES1",},
@ -274,7 +300,7 @@ static struct l3_flagmux_data dra_l3_flagmux_clk1 = {
static struct l3_target_data dra_l3_target_data_clk2[] = { static struct l3_target_data dra_l3_target_data_clk2[] = {
{0x0, "HOST CLK1",}, {0x0, "HOST CLK1",},
{0x0, "HOST CLK2",}, {0x800000, "HOST CLK2",},
{0xdead, L3_TARGET_NOT_SUPPORTED,}, {0xdead, L3_TARGET_NOT_SUPPORTED,},
{0x3400, "SHA2_2",}, {0x3400, "SHA2_2",},
{0x0900, "BB2D",}, {0x0900, "BB2D",},