]> code.ossystems Code Review - openembedded-core.git/blob
902f87943d546ef44e1a250ac55eb906e1649373
[openembedded-core.git] /
1 From 742cc1e62f0d04333c51630f3020da000aeb6de1 Mon Sep 17 00:00:00 2001
2 From: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
3 Date: Mon, 2 Mar 2009 19:36:26 +0200
4 Subject: [PATCH] omap3: Add base address definitions and resources for OMAP 3 ISP
5
6 This replaces earlier patch from Sergio Aguirre titled "[REVIEW PATCH 03/14]
7 OMAP34XX: CAM: Resources fixes".
8
9 Signed-off-by: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
10 ---
11  arch/arm/mach-omap2/devices.c              |   66 ++++++++++++++++++++++++---
12  arch/arm/plat-omap/include/mach/omap34xx.h |   28 +++++++++++-
13  2 files changed, 85 insertions(+), 9 deletions(-)
14
15 diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
16 index dad4528..2568b0c 100644
17 --- a/arch/arm/mach-omap2/devices.c
18 +++ b/arch/arm/mach-omap2/devices.c
19 @@ -56,10 +56,60 @@ static inline void omap_init_camera(void)
20  
21  #elif defined(CONFIG_VIDEO_OMAP3) || defined(CONFIG_VIDEO_OMAP3_MODULE)
22  
23 -static struct resource cam_resources[] = {
24 +static struct resource omap3isp_resources[] = {
25 +       {
26 +               .start          = OMAP3430_ISP_BASE,
27 +               .end            = OMAP3430_ISP_END,
28 +               .flags          = IORESOURCE_MEM,
29 +       },
30 +       {
31 +               .start          = OMAP3430_ISP_CBUFF_BASE,
32 +               .end            = OMAP3430_ISP_CBUFF_END,
33 +               .flags          = IORESOURCE_MEM,
34 +       },
35 +       {
36 +               .start          = OMAP3430_ISP_CCP2_BASE,
37 +               .end            = OMAP3430_ISP_CCP2_END,
38 +               .flags          = IORESOURCE_MEM,
39 +       },
40         {
41 -               .start          = OMAP34XX_CAMERA_BASE,
42 -               .end            = OMAP34XX_CAMERA_BASE + 0x1B70,
43 +               .start          = OMAP3430_ISP_CCDC_BASE,
44 +               .end            = OMAP3430_ISP_CCDC_END,
45 +               .flags          = IORESOURCE_MEM,
46 +       },
47 +       {
48 +               .start          = OMAP3430_ISP_HIST_BASE,
49 +               .end            = OMAP3430_ISP_HIST_END,
50 +               .flags          = IORESOURCE_MEM,
51 +       },
52 +       {
53 +               .start          = OMAP3430_ISP_H3A_BASE,
54 +               .end            = OMAP3430_ISP_H3A_END,
55 +               .flags          = IORESOURCE_MEM,
56 +       },
57 +       {
58 +               .start          = OMAP3430_ISP_PREV_BASE,
59 +               .end            = OMAP3430_ISP_PREV_END,
60 +               .flags          = IORESOURCE_MEM,
61 +       },
62 +       {
63 +               .start          = OMAP3430_ISP_RESZ_BASE,
64 +               .end            = OMAP3430_ISP_RESZ_END,
65 +               .flags          = IORESOURCE_MEM,
66 +       },
67 +       {
68 +               .start          = OMAP3430_ISP_SBL_BASE,
69 +               .end            = OMAP3430_ISP_SBL_END,
70 +               .flags          = IORESOURCE_MEM,
71 +       },
72 +       {
73 +               .start          = OMAP3430_ISP_CSI2A_BASE,
74 +               .end            = OMAP3430_ISP_CSI2A_END,
75 +               .flags          = IORESOURCE_MEM,
76 +       },
77 +       {
78 +               .start          = OMAP3430_ISP_CSI2PHY_BASE,
79 +               .end            = OMAP3430_ISP_CSI2PHY_END,
80                 .flags          = IORESOURCE_MEM,
81         },
82         {
83 @@ -68,16 +118,16 @@ static struct resource cam_resources[] = {
84         }
85  };
86  
87 -static struct platform_device omap_cam_device = {
88 -       .name           = "omap34xxcam",
89 +static struct platform_device omap3isp_device = {
90 +       .name           = "omap3isp",
91         .id             = -1,
92 -       .num_resources  = ARRAY_SIZE(cam_resources),
93 -       .resource       = cam_resources,
94 +       .num_resources  = ARRAY_SIZE(omap3isp_resources),
95 +       .resource       = omap3isp_resources,
96  };
97  
98  static inline void omap_init_camera(void)
99  {
100 -       platform_device_register(&omap_cam_device);
101 +       platform_device_register(&omap3isp_device);
102  }
103  #else
104  static inline void omap_init_camera(void)
105 diff --git a/arch/arm/plat-omap/include/mach/omap34xx.h b/arch/arm/plat-omap/include/mach/omap34xx.h
106 index 27a1e45..3bfbdf7 100644
107 --- a/arch/arm/plat-omap/include/mach/omap34xx.h
108 +++ b/arch/arm/plat-omap/include/mach/omap34xx.h
109 @@ -49,6 +49,33 @@
110  #define OMAP343X_CTRL_BASE     OMAP343X_SCM_BASE
111  
112  #define OMAP34XX_IC_BASE       0x48200000
113 +
114 +#define OMAP3430_ISP_BASE              (L4_34XX_BASE + 0xBC000)
115 +#define OMAP3430_ISP_CBUFF_BASE                (OMAP3430_ISP_BASE + 0x0100)
116 +#define OMAP3430_ISP_CCP2_BASE         (OMAP3430_ISP_BASE + 0x0400)
117 +#define OMAP3430_ISP_CCDC_BASE         (OMAP3430_ISP_BASE + 0x0600)
118 +#define OMAP3430_ISP_HIST_BASE         (OMAP3430_ISP_BASE + 0x0A00)
119 +#define OMAP3430_ISP_H3A_BASE          (OMAP3430_ISP_BASE + 0x0C00)
120 +#define OMAP3430_ISP_PREV_BASE         (OMAP3430_ISP_BASE + 0x0E00)
121 +#define OMAP3430_ISP_RESZ_BASE         (OMAP3430_ISP_BASE + 0x1000)
122 +#define OMAP3430_ISP_SBL_BASE          (OMAP3430_ISP_BASE + 0x1200)
123 +#define OMAP3430_ISP_MMU_BASE          (OMAP3430_ISP_BASE + 0x1400)
124 +#define OMAP3430_ISP_CSI2A_BASE                (OMAP3430_ISP_BASE + 0x1800)
125 +#define OMAP3430_ISP_CSI2PHY_BASE      (OMAP3430_ISP_BASE + 0x1970)
126 +
127 +#define OMAP3430_ISP_END               (OMAP3430_ISP_BASE         + 0x06F)
128 +#define OMAP3430_ISP_CBUFF_END         (OMAP3430_ISP_CBUFF_BASE   + 0x077)
129 +#define OMAP3430_ISP_CCP2_END          (OMAP3430_ISP_CCP2_BASE    + 0x1EF)
130 +#define OMAP3430_ISP_CCDC_END          (OMAP3430_ISP_CCDC_BASE    + 0x0A7)
131 +#define OMAP3430_ISP_HIST_END          (OMAP3430_ISP_HIST_BASE    + 0x047)
132 +#define OMAP3430_ISP_H3A_END           (OMAP3430_ISP_H3A_BASE     + 0x05F)
133 +#define OMAP3430_ISP_PREV_END          (OMAP3430_ISP_PREV_BASE    + 0x09F)
134 +#define OMAP3430_ISP_RESZ_END          (OMAP3430_ISP_RESZ_BASE    + 0x0AB)
135 +#define OMAP3430_ISP_SBL_END           (OMAP3430_ISP_SBL_BASE     + 0x0FB)
136 +#define OMAP3430_ISP_MMU_END           (OMAP3430_ISP_MMU_BASE     + 0x06F)
137 +#define OMAP3430_ISP_CSI2A_END         (OMAP3430_ISP_CSI2A_BASE   + 0x16F)
138 +#define OMAP3430_ISP_CSI2PHY_END       (OMAP3430_ISP_CSI2PHY_BASE + 0x007)
139 +
140  #define OMAP34XX_IVA_INTC_BASE 0x40000000
141  #define OMAP34XX_HSUSB_OTG_BASE        (L4_34XX_BASE + 0xAB000)
142  #define OMAP34XX_HSUSB_HOST_BASE       (L4_34XX_BASE + 0x64000)
143 @@ -56,7 +83,6 @@
144  #define OMAP34XX_SR1_BASE      0x480C9000
145  #define OMAP34XX_SR2_BASE      0x480CB000
146  
147 -#define OMAP34XX_CAMERA_BASE           (L4_34XX_BASE + 0xBC000)
148  #define OMAP34XX_MAILBOX_BASE          (L4_34XX_BASE + 0x94000)
149  
150  
151 -- 
152 1.5.6.5
153