RE: [PATCH v2] OMAP3: introduce OMAP3630
Muxes for OMAP 3630. Signed-off-by: Allen Pais allen.p...@ti.com diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index b5fac32..93abb74 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c @@ -551,6 +551,42 @@ MUX_CFG_34XX(AF13_3430_MMC3_DAT3, 0x5e2, MUX_CFG_34XX(AF26_34XX_SYS_NIRQ, 0x1E0, OMAP3_WAKEUP_EN | OMAP34XX_PIN_INPUT_PULLUP | OMAP34XX_MUX_MODE0) + +/*Muxes for 3630 */ +MUX_CFG_34XX(H26_3630_DSS_DATA18, 0x100, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(H25_3630_DSS_DATA19, 0x102, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(E28_3630_DSS_DATA20, 0x104, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(J26_3630_DSS_DATA21, 0x106, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AC27_3630_DSS_DATA22, 0x108, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AC28_3630_DSS_DATA23, 0x10A, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) + +MUX_CFG_34XX(AF9_3630_ETKD8, 0x5EC, + OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AG9_3630_ETKD9, 0x5EE, + OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AG7_3630_ETKD12, 0x5F0, + OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLDOWN) + +MUX_CFG_34XX(AA25_3630_UART2_TX, 0x178, + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AD25_3630_UART2_RX, 0x17A, + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AB25_3630_UART2_RTS, 0x176, + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AB26_3630_UART2_CTS, 0x174, + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) + +MUX_CFG_34XX(H20_UART3_RX_IRRX, 0x19E, + OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(H21_UART3_TX_IRTX, 0x1A0, + OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN) + }; #define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins) diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h index 0f49d2d..8d8cbe1 100644 --- a/arch/arm/plat-omap/include/mach/mux.h +++ b/arch/arm/plat-omap/include/mach/mux.h @@ -890,6 +890,32 @@ enum omap34xx_index { /* SYS_NIRQ T2 INT1 */ AF26_34XX_SYS_NIRQ, + + /*Muxes for 3630*/ + K28_3630_CAM_D6, + L28_3630_CAM_D7, + K27_3630_CAM_D8, + L27_3630_CAM_D9, + + H26_3630_DSS_DATA18, + H25_3630_DSS_DATA19, + E28_3630_DSS_DATA20, + J26_3630_DSS_DATA21, + AC27_3630_DSS_DATA22, + AC28_3630_DSS_DATA23, + + AF9_3630_ETKD8, + AG9_3630_ETKD9, + AG7_3630_ETK12, + + AA25_3630_UART2_TX, + AD25_3630_UART2_RX, + AB25_3630_UART2_RTS, + AB26_3630_UART2_CTS, + + H20_UART3_RX_IRRX, + H21_UART3_TX_IRTX, + }; struct omap_mux_cfg {-- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH v2] OMAP3: introduce OMAP3630
Muxes for OMAP 3630. What is the plan to add omap_cfg_reg calls for these new pins, which actually configures these pin muxes. Thanks Hemanth Signed-off-by: Allen Pais allen.p...@ti.com diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index b5fac32..93abb74 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c @@ -551,6 +551,42 @@ MUX_CFG_34XX(AF13_3430_MMC3_DAT3, 0x5e2, MUX_CFG_34XX(AF26_34XX_SYS_NIRQ, 0x1E0, OMAP3_WAKEUP_EN | OMAP34XX_PIN_INPUT_PULLUP | OMAP34XX_MUX_MODE0) + +/*Muxes for 3630 */ +MUX_CFG_34XX(H26_3630_DSS_DATA18, 0x100, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(H25_3630_DSS_DATA19, 0x102, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(E28_3630_DSS_DATA20, 0x104, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(J26_3630_DSS_DATA21, 0x106, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AC27_3630_DSS_DATA22, 0x108, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AC28_3630_DSS_DATA23, 0x10A, + OMAP34XX_MUX_MODE3 | OMAP34XX_PIN_INPUT_PULLDOWN) + +MUX_CFG_34XX(AF9_3630_ETKD8, 0x5EC, + OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AG9_3630_ETKD9, 0x5EE, + OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AG7_3630_ETKD12, 0x5F0, + OMAP34XX_MUX_MODE1 | OMAP34XX_PIN_INPUT_PULLDOWN) + +MUX_CFG_34XX(AA25_3630_UART2_TX, 0x178, + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AD25_3630_UART2_RX, 0x17A, + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AB25_3630_UART2_RTS, 0x176, + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(AB26_3630_UART2_CTS, 0x174, + OMAP34XX_MUX_MODE5 | OMAP34XX_PIN_INPUT_PULLDOWN) + +MUX_CFG_34XX(H20_UART3_RX_IRRX, 0x19E, + OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN) +MUX_CFG_34XX(H21_UART3_TX_IRTX, 0x1A0, + OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN) + }; #define OMAP34XX_PINS_SZ ARRAY_SIZE(omap34xx_pins) diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h index 0f49d2d..8d8cbe1 100644 --- a/arch/arm/plat-omap/include/mach/mux.h +++ b/arch/arm/plat-omap/include/mach/mux.h @@ -890,6 +890,32 @@ enum omap34xx_index { /* SYS_NIRQ T2 INT1 */ AF26_34XX_SYS_NIRQ, + + /*Muxes for 3630*/ + K28_3630_CAM_D6, + L28_3630_CAM_D7, + K27_3630_CAM_D8, + L27_3630_CAM_D9, + + H26_3630_DSS_DATA18, + H25_3630_DSS_DATA19, + E28_3630_DSS_DATA20, + J26_3630_DSS_DATA21, + AC27_3630_DSS_DATA22, + AC28_3630_DSS_DATA23, + + AF9_3630_ETKD8, + AG9_3630_ETKD9, + AG7_3630_ETK12, + + AA25_3630_UART2_TX, + AD25_3630_UART2_RX, + AB25_3630_UART2_RTS, + AB26_3630_UART2_CTS, + + H20_UART3_RX_IRRX, + H21_UART3_TX_IRTX, + }; struct omap_mux_cfg {-- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
RE: [PATCH v2] OMAP3: introduce OMAP3630
-Original Message- From: Menon, Nishanth Sent: Thursday, October 08, 2009 12:32 PM To: linux-omap Cc: Menon, Nishanth; Chikkature Rajashekar, Madhusudhan; Pandita, Vikram; Pais, Allen; Gadiyar, Anand; Cousson, Benoit; Felipe Balbi; Kevin Hilman; Premi, Sanjeev; Shilimkar, Santosh; Aguirre Rodriguez, Sergio Alberto; Tony Lindgren Subject: [PATCH v2] OMAP3: introduce OMAP3630 Device intro: OMAP3630 is the latest in the family of OMAP3 devices and among the changes it introduces are: New OPP levels for new voltage and frequency levels. a bunch of Bug fixes to various modules feature additions, notably with ISP, sDMA etc. Details about the chip is available here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?t emplateId=6123navigationId=12836contentId=52606 Strategy used: Strategy to introduce this device into Linux was discussed here: Ref: http://marc.info/?t=12534330343r=1w=2 Two approaches were available: a) Consider 3630 generation of devices as a new family of silicon b) Consider 3630 as an offshoot of 3430 family of devices As a common consensus, (b) seems to be more valid for 3630 as: * There are changes which are easily handled by using FEATURES infrastructure. For details how to do this, see thread: http://marc.info/?t=12505099851r=1w=2 * Most of existing 34xx infrastructure can be reused(almost 90%+) - so no ugly if (cpu_is_omap34xx() || cpu_is_omap36xx()) all over the place - lesser chance of bugs due to reuse of proven code flow - 36xx specific handling can still be done where required within the existing infrastructure NOTE: * If additional 34xx series are added, OMAP3430_REV_ES can be added on top of the existing 3630 ones are renumbered This patch was tested on SDP3430. zoom3/sdp3630 support needs further follow on patches Signed-off-by: Madhusudhan Chikkature Rajashekar madhu...@ti.com Signed-off-by: Nishanth Menon n...@ti.com Signed-off-by: Vikram Pandita vikram.pand...@ti.com Cc: Allen Pais allen.p...@ti.com Cc: Anand Gadiyar gadi...@ti.com Cc: Benoit Cousson b-cous...@ti.com Cc: Felipe Balbi felipe.ba...@nokia.com Cc: Kevin Hilman khil...@deeprootsystems.com Cc: Sanjeev Premi pr...@ti.com Cc: Santosh Shilimkar santosh.shilim...@ti.com Cc: Sergio Alberto Aguirre Rodriguez saagui...@ti.com Cc: Tony Lindgren t...@atomide.com --- arch/arm/mach-omap2/id.c | 31 --- arch/arm/plat-omap/include/mach/cpu.h |6 ++ 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index 03b80f2..3fc5e4e 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c @@ -186,6 +186,7 @@ void __init omap3_check_revision(void) { u32 cpuid, idcode; u16 hawkeye; + u16 omap_type; u8 rev; char *rev_name = ES1.0; @@ -210,7 +211,10 @@ void __init omap3_check_revision(void) hawkeye = (idcode 12) 0x; rev = (idcode 28) 0xff; - if (hawkeye == 0xb7ae) { + omap_type = omap_rev() 16; This is wrong. omap_rev() returns omap_revision static var, which is not yet assigned at this point. So, this line needs to go _after_ below switch. [1] + switch (hawkeye) { + case 0xb7ae: + /* Handle 34xx devices */ switch (rev) { case 0: omap_revision = OMAP3430_REV_ES2_0; @@ -231,12 +235,33 @@ void __init omap3_check_revision(void) default: /* Use the latest known revision as default */ omap_revision = OMAP3430_REV_ES3_1; - rev_name = Unknown revision\n; + rev_name = Unknown 34xx revision\n; } + break; + case 0xb891: + /* Handle 36xx devices + * But, override for display purposes + */ + omap_type = 0x3630; + switch (rev) { + case 0: + omap_revision = OMAP3630_REV_ES1_0; + rev_name = ES1.0; + break; + default: + /* Use the latest known revision as default */ + omap_revision = OMAP3630_REV_ES1_0; + rev_name = Unknown 36xx revision\n; + } + break; + default: + /* Unknown default to latest rev as default*/ + omap_revision = OMAP3630_REV_ES1_0; + rev_name = Unknown revision\n; } [1] Here: omap_type = omap_rev() 16; Regards, Sergio out: - pr_info(OMAP%04x %s\n, omap_rev() 16, rev_name); + pr_info(OMAP%04x %s\n, omap_type, rev_name); } #define OMAP3_SHOW_FEATURE(feat) \ diff --git a/arch/arm/plat-omap/include/mach/cpu.h
RE: [PATCH v2] OMAP3: introduce OMAP3630
From: linux-omap-ow...@vger.kernel.org [mailto:linux-omap-ow...@vger.kernel.org] On Behalf Of Aguirre Rodriguez, Sergio Alberto Sent: Thursday, October 08, 2009 2:59 PM From: Menon, Nishanth Sent: Thursday, October 08, 2009 12:32 PM Device intro: OMAP3630 is the latest in the family of OMAP3 devices and among the changes it introduces are: New OPP levels for new voltage and frequency levels. a bunch of Bug fixes to various modules feature additions, notably with ISP, sDMA etc. Details about the chip is available here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?t emplateId=6123navigationId=12836contentId=52606 Strategy used: Strategy to introduce this device into Linux was discussed here: Ref: http://marc.info/?t=12534330343r=1w=2 Two approaches were available: a) Consider 3630 generation of devices as a new family of silicon b) Consider 3630 as an offshoot of 3430 family of devices As a common consensus, (b) seems to be more valid for 3630 as: * There are changes which are easily handled by using FEATURES infrastructure. For details how to do this, see thread: http://marc.info/?t=12505099851r=1w=2 * Most of existing 34xx infrastructure can be reused(almost 90%+) - so no ugly if (cpu_is_omap34xx() || cpu_is_omap36xx()) all over the place - lesser chance of bugs due to reuse of proven code flow - 36xx specific handling can still be done where required within the existing infrastructure NOTE: * If additional 34xx series are added, OMAP3430_REV_ES can be added on top of the existing 3630 ones are renumbered This patch was tested on SDP3430. zoom3/sdp3630 support needs further follow on patches Signed-off-by: Madhusudhan Chikkature Rajashekar madhu...@ti.com Signed-off-by: Nishanth Menon n...@ti.com Signed-off-by: Vikram Pandita vikram.pand...@ti.com Cc: Allen Pais allen.p...@ti.com Cc: Anand Gadiyar gadi...@ti.com Cc: Benoit Cousson b-cous...@ti.com Cc: Felipe Balbi felipe.ba...@nokia.com Cc: Kevin Hilman khil...@deeprootsystems.com Cc: Sanjeev Premi pr...@ti.com Cc: Santosh Shilimkar santosh.shilim...@ti.com Cc: Sergio Alberto Aguirre Rodriguez saagui...@ti.com Cc: Tony Lindgren t...@atomide.com --- arch/arm/mach-omap2/id.c | 31 --- arch/arm/plat-omap/include/mach/cpu.h |6 ++ 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c index 03b80f2..3fc5e4e 100644 --- a/arch/arm/mach-omap2/id.c +++ b/arch/arm/mach-omap2/id.c @@ -186,6 +186,7 @@ void __init omap3_check_revision(void) { u32 cpuid, idcode; u16 hawkeye; + u16 omap_type; u8 rev; char *rev_name = ES1.0; @@ -210,7 +211,10 @@ void __init omap3_check_revision(void) hawkeye = (idcode 12) 0x; rev = (idcode 28) 0xff; - if (hawkeye == 0xb7ae) { + omap_type = omap_rev() 16; This is wrong. omap_rev() returns omap_revision static var, which is not yet assigned at this point. So, this line needs to go _after_ below switch. [1] Actually, omap_type is not used anywhere else than the end printk, so why creating a var for that? How about this instead: #define omap_type() (omap_rev() 16) Regards, Sergio + switch (hawkeye) { + case 0xb7ae: + /* Handle 34xx devices */ switch (rev) { case 0: omap_revision = OMAP3430_REV_ES2_0; @@ -231,12 +235,33 @@ void __init omap3_check_revision(void) default: /* Use the latest known revision as default */ omap_revision = OMAP3430_REV_ES3_1; - rev_name = Unknown revision\n; + rev_name = Unknown 34xx revision\n; } + break; + case 0xb891: + /* Handle 36xx devices +* But, override for display purposes +*/ + omap_type = 0x3630; + switch (rev) { + case 0: + omap_revision = OMAP3630_REV_ES1_0; + rev_name = ES1.0; + break; + default: + /* Use the latest known revision as default */ + omap_revision = OMAP3630_REV_ES1_0; + rev_name = Unknown 36xx revision\n; + } + break; + default: + /* Unknown default to latest rev as default*/ + omap_revision = OMAP3630_REV_ES1_0; + rev_name = Unknown revision\n; } [1] Here: omap_type = omap_rev() 16; Regards, Sergio out: - pr_info(OMAP%04x %s\n, omap_rev() 16, rev_name); + pr_info(OMAP%04x %s\n, omap_type, rev_name); } #define OMAP3_SHOW_FEATURE(feat) \ diff --git