mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-10 15:58:47 +00:00
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:
commit
443318e0b7
@ -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.
|
||||||
|
@ -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>;
|
||||||
|
@ -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>;
|
||||||
|
@ -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>,
|
||||||
|
@ -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 {
|
||||||
|
@ -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>;
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
};
|
};
|
||||||
|
@ -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},
|
||||||
{},
|
{},
|
||||||
|
@ -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",},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user