From e2cafea49115af21f84e315e228121ec10dd4cb3 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 11 Oct 2024 12:32:46 +0100 Subject: [PATCH 1318/1350] drivers: media: imx500: Enable LS correction This correction is calibrated to approx 5000K. Signed-off-by: Naushir Patuck --- drivers/media/i2c/imx500.c | 387 +++++++++++++++++++++++++++++++++++++ 1 file changed, 387 insertions(+) --- a/drivers/media/i2c/imx500.c +++ b/drivers/media/i2c/imx500.c @@ -887,6 +887,393 @@ static const struct cci_reg_sequence dnn { CCI_REG32(0xd950), 0xfb00f7 }, { CCI_REG16(0xd954), 0xff }, { CCI_REG8(0xd826), 1 }, + /* LSC */ + { CCI_REG32(0xe000), 0x2e502a0 }, + { CCI_REG32(0xe004), 0x2c80283 }, + { CCI_REG32(0xe008), 0x2700233 }, + { CCI_REG32(0xe00c), 0x22d01f6 }, + { CCI_REG32(0xe010), 0x1f401c3 }, + { CCI_REG32(0xe014), 0x1c5019c }, + { CCI_REG32(0xe018), 0x1bb0192 }, + { CCI_REG32(0xe01c), 0x1ba0192 }, + { CCI_REG32(0xe020), 0x1b90192 }, + { CCI_REG32(0xe024), 0x1ba0192 }, + { CCI_REG32(0xe028), 0x1ca019f }, + { CCI_REG32(0xe02c), 0x1fb01c8 }, + { CCI_REG32(0xe030), 0x23601fb }, + { CCI_REG32(0xe034), 0x27a0239 }, + { CCI_REG32(0xe038), 0x2d5028a }, + { CCI_REG32(0xe03c), 0x2f302a8 }, + { CCI_REG32(0xe040), 0x2c60283 }, + { CCI_REG32(0xe044), 0x27c0240 }, + { CCI_REG32(0xe048), 0x22d01f6 }, + { CCI_REG32(0xe04c), 0x1fd01cd }, + { CCI_REG32(0xe050), 0x1c4019c }, + { CCI_REG32(0xe054), 0x19c017b }, + { CCI_REG32(0xe058), 0x1810165 }, + { CCI_REG32(0xe05c), 0x175015c }, + { CCI_REG32(0xe060), 0x175015c }, + { CCI_REG32(0xe064), 0x1840167 }, + { CCI_REG32(0xe068), 0x1a0017e }, + { CCI_REG32(0xe06c), 0x1cc01a1 }, + { CCI_REG32(0xe070), 0x20501d1 }, + { CCI_REG32(0xe074), 0x23601fc }, + { CCI_REG32(0xe078), 0x2890246 }, + { CCI_REG32(0xe07c), 0x2d3028a }, + { CCI_REG32(0xe080), 0x2800243 }, + { CCI_REG32(0xe084), 0x245020e }, + { CCI_REG32(0xe088), 0x1ff01ce }, + { CCI_REG32(0xe08c), 0x1c4019c }, + { CCI_REG32(0xe090), 0x19a017b }, + { CCI_REG32(0xe094), 0x1650150 }, + { CCI_REG32(0xe098), 0x14a013a }, + { CCI_REG32(0xe09c), 0x13f0131 }, + { CCI_REG32(0xe0a0), 0x1400131 }, + { CCI_REG32(0xe0a4), 0x14d013c }, + { CCI_REG32(0xe0a8), 0x16a0154 }, + { CCI_REG32(0xe0ac), 0x1a1017e }, + { CCI_REG32(0xe0b0), 0x1cc01a1 }, + { CCI_REG32(0xe0b4), 0x20801d3 }, + { CCI_REG32(0xe0b8), 0x2510214 }, + { CCI_REG32(0xe0bc), 0x28b0249 }, + { CCI_REG32(0xe0c0), 0x2640229 }, + { CCI_REG32(0xe0c4), 0x22101ed }, + { CCI_REG32(0xe0c8), 0x1dc01b0 }, + { CCI_REG32(0xe0cc), 0x19c017c }, + { CCI_REG32(0xe0d0), 0x1650150 }, + { CCI_REG32(0xe0d4), 0x148013a }, + { CCI_REG32(0xe0d8), 0x123011c }, + { CCI_REG32(0xe0dc), 0x1190113 }, + { CCI_REG32(0xe0e0), 0x1190113 }, + { CCI_REG32(0xe0e4), 0x1280120 }, + { CCI_REG32(0xe0e8), 0x14c013c }, + { CCI_REG32(0xe0ec), 0x16b0154 }, + { CCI_REG32(0xe0f0), 0x1a30181 }, + { CCI_REG32(0xe0f4), 0x1e601b6 }, + { CCI_REG32(0xe0f8), 0x22c01f3 }, + { CCI_REG32(0xe0fc), 0x2700230 }, + { CCI_REG32(0xe100), 0x257021d }, + { CCI_REG32(0xe104), 0x20901d8 }, + { CCI_REG32(0xe108), 0x1c4019d }, + { CCI_REG32(0xe10c), 0x1820167 }, + { CCI_REG32(0xe110), 0x14b013b }, + { CCI_REG32(0xe114), 0x124011c }, + { CCI_REG32(0xe118), 0x1170113 }, + { CCI_REG32(0xe11c), 0x1010101 }, + { CCI_REG32(0xe120), 0x1030102 }, + { CCI_REG32(0xe124), 0x1190113 }, + { CCI_REG32(0xe128), 0x1280120 }, + { CCI_REG32(0xe12c), 0x14f013f }, + { CCI_REG32(0xe130), 0x189016c }, + { CCI_REG32(0xe134), 0x1ce01a3 }, + { CCI_REG32(0xe138), 0x21601df }, + { CCI_REG32(0xe13c), 0x2630224 }, + { CCI_REG32(0xe140), 0x257021d }, + { CCI_REG32(0xe144), 0x20101d0 }, + { CCI_REG32(0xe148), 0x1ba0194 }, + { CCI_REG32(0xe14c), 0x176015d }, + { CCI_REG32(0xe150), 0x13e0132 }, + { CCI_REG32(0xe154), 0x1190114 }, + { CCI_REG32(0xe158), 0x1010101 }, + { CCI_REG32(0xe15c), 0x1000100 }, + { CCI_REG32(0xe160), 0x1010100 }, + { CCI_REG32(0xe164), 0x1040103 }, + { CCI_REG32(0xe168), 0x11d0118 }, + { CCI_REG32(0xe16c), 0x1450136 }, + { CCI_REG32(0xe170), 0x17d0163 }, + { CCI_REG32(0xe174), 0x1c4019a }, + { CCI_REG32(0xe178), 0x20d01d6 }, + { CCI_REG32(0xe17c), 0x2630224 }, + { CCI_REG32(0xe180), 0x257021d }, + { CCI_REG32(0xe184), 0x20001d0 }, + { CCI_REG32(0xe188), 0x1b90194 }, + { CCI_REG32(0xe18c), 0x175015d }, + { CCI_REG32(0xe190), 0x13e0132 }, + { CCI_REG32(0xe194), 0x1180114 }, + { CCI_REG32(0xe198), 0x1040103 }, + { CCI_REG32(0xe19c), 0x1000100 }, + { CCI_REG32(0xe1a0), 0x1030102 }, + { CCI_REG32(0xe1a4), 0x1050103 }, + { CCI_REG32(0xe1a8), 0x11d0118 }, + { CCI_REG32(0xe1ac), 0x1450136 }, + { CCI_REG32(0xe1b0), 0x17d0163 }, + { CCI_REG32(0xe1b4), 0x1c4019a }, + { CCI_REG32(0xe1b8), 0x20d01d6 }, + { CCI_REG32(0xe1bc), 0x2640224 }, + { CCI_REG32(0xe1c0), 0x258021f }, + { CCI_REG32(0xe1c4), 0x20e01db }, + { CCI_REG32(0xe1c8), 0x1c7019f }, + { CCI_REG32(0xe1cc), 0x1840169 }, + { CCI_REG32(0xe1d0), 0x14d013e }, + { CCI_REG32(0xe1d4), 0x1290120 }, + { CCI_REG32(0xe1d8), 0x1180114 }, + { CCI_REG32(0xe1dc), 0x1050103 }, + { CCI_REG32(0xe1e0), 0x1050103 }, + { CCI_REG32(0xe1e4), 0x11e0117 }, + { CCI_REG32(0xe1e8), 0x12c0123 }, + { CCI_REG32(0xe1ec), 0x1530142 }, + { CCI_REG32(0xe1f0), 0x18d016f }, + { CCI_REG32(0xe1f4), 0x1d201a6 }, + { CCI_REG32(0xe1f8), 0x21a01e2 }, + { CCI_REG32(0xe1fc), 0x2640225 }, + { CCI_REG32(0xe200), 0x269022d }, + { CCI_REG32(0xe204), 0x22601f1 }, + { CCI_REG32(0xe208), 0x1e101b4 }, + { CCI_REG32(0xe20c), 0x1a10181 }, + { CCI_REG32(0xe210), 0x16c0156 }, + { CCI_REG32(0xe214), 0x14d013e }, + { CCI_REG32(0xe218), 0x1290120 }, + { CCI_REG32(0xe21c), 0x11f0118 }, + { CCI_REG32(0xe220), 0x11f0118 }, + { CCI_REG32(0xe224), 0x12b0123 }, + { CCI_REG32(0xe228), 0x1530142 }, + { CCI_REG32(0xe22c), 0x172015a }, + { CCI_REG32(0xe230), 0x1aa0187 }, + { CCI_REG32(0xe234), 0x1ec01bb }, + { CCI_REG32(0xe238), 0x23301f8 }, + { CCI_REG32(0xe23c), 0x2750233 }, + { CCI_REG32(0xe240), 0x28b024c }, + { CCI_REG32(0xe244), 0x24f0216 }, + { CCI_REG32(0xe248), 0x20701d4 }, + { CCI_REG32(0xe24c), 0x1ce01a4 }, + { CCI_REG32(0xe250), 0x1a10181 }, + { CCI_REG32(0xe254), 0x16c0156 }, + { CCI_REG32(0xe258), 0x1520141 }, + { CCI_REG32(0xe25c), 0x1480138 }, + { CCI_REG32(0xe260), 0x1480138 }, + { CCI_REG32(0xe264), 0x1550143 }, + { CCI_REG32(0xe268), 0x172015a }, + { CCI_REG32(0xe26c), 0x1aa0187 }, + { CCI_REG32(0xe270), 0x1d701a9 }, + { CCI_REG32(0xe274), 0x21201db }, + { CCI_REG32(0xe278), 0x25d021d }, + { CCI_REG32(0xe27c), 0x2990254 }, + { CCI_REG32(0xe280), 0x2d70291 }, + { CCI_REG32(0xe284), 0x28c024c }, + { CCI_REG32(0xe288), 0x2390201 }, + { CCI_REG32(0xe28c), 0x20701d4 }, + { CCI_REG32(0xe290), 0x1ce01a4 }, + { CCI_REG32(0xe294), 0x1a70184 }, + { CCI_REG32(0xe298), 0x18c016e }, + { CCI_REG32(0xe29c), 0x1810164 }, + { CCI_REG32(0xe2a0), 0x1810164 }, + { CCI_REG32(0xe2a4), 0x1900170 }, + { CCI_REG32(0xe2a8), 0x1ad0188 }, + { CCI_REG32(0xe2ac), 0x1d601a9 }, + { CCI_REG32(0xe2b0), 0x21201da }, + { CCI_REG32(0xe2b4), 0x2450207 }, + { CCI_REG32(0xe2b8), 0x29a0254 }, + { CCI_REG32(0xe2bc), 0x2ea029d }, + { CCI_REG32(0xe2c0), 0x2f602ae }, + { CCI_REG32(0xe2c4), 0x2d80291 }, + { CCI_REG32(0xe2c8), 0x280023f }, + { CCI_REG32(0xe2cc), 0x2390200 }, + { CCI_REG32(0xe2d0), 0x1fe01cc }, + { CCI_REG32(0xe2d4), 0x1d201a4 }, + { CCI_REG32(0xe2d8), 0x1c6019b }, + { CCI_REG32(0xe2dc), 0x1c6019b }, + { CCI_REG32(0xe2e0), 0x1c6019b }, + { CCI_REG32(0xe2e4), 0x1c8019b }, + { CCI_REG32(0xe2e8), 0x1d701a9 }, + { CCI_REG32(0xe2ec), 0x20801d1 }, + { CCI_REG32(0xe2f0), 0x2450206 }, + { CCI_REG32(0xe2f4), 0x28e0248 }, + { CCI_REG32(0xe2f8), 0x2ec029d }, + { CCI_REG32(0xe2fc), 0x30902b9 }, + { CCI_REG32(0xe300), 0x2a002a4 }, + { CCI_REG32(0xe304), 0x2830286 }, + { CCI_REG32(0xe308), 0x2330234 }, + { CCI_REG32(0xe30c), 0x1f601f7 }, + { CCI_REG32(0xe310), 0x1c301c4 }, + { CCI_REG32(0xe314), 0x19c019c }, + { CCI_REG32(0xe318), 0x1920193 }, + { CCI_REG32(0xe31c), 0x1920193 }, + { CCI_REG32(0xe320), 0x1920192 }, + { CCI_REG32(0xe324), 0x1920193 }, + { CCI_REG32(0xe328), 0x19f01a1 }, + { CCI_REG32(0xe32c), 0x1c801ca }, + { CCI_REG32(0xe330), 0x1fb01fe }, + { CCI_REG32(0xe334), 0x239023e }, + { CCI_REG32(0xe338), 0x28a0292 }, + { CCI_REG32(0xe33c), 0x2a802b0 }, + { CCI_REG32(0xe340), 0x2830287 }, + { CCI_REG32(0xe344), 0x2400242 }, + { CCI_REG32(0xe348), 0x1f601f8 }, + { CCI_REG32(0xe34c), 0x1cd01ce }, + { CCI_REG32(0xe350), 0x19c019d }, + { CCI_REG32(0xe354), 0x17b017d }, + { CCI_REG32(0xe358), 0x1650166 }, + { CCI_REG32(0xe35c), 0x15c015d }, + { CCI_REG32(0xe360), 0x15c015d }, + { CCI_REG32(0xe364), 0x1670168 }, + { CCI_REG32(0xe368), 0x17e0180 }, + { CCI_REG32(0xe36c), 0x1a101a3 }, + { CCI_REG32(0xe370), 0x1d101d3 }, + { CCI_REG32(0xe374), 0x1fc0200 }, + { CCI_REG32(0xe378), 0x246024c }, + { CCI_REG32(0xe37c), 0x28a0291 }, + { CCI_REG32(0xe380), 0x2430245 }, + { CCI_REG32(0xe384), 0x20e0211 }, + { CCI_REG32(0xe388), 0x1ce01d0 }, + { CCI_REG32(0xe38c), 0x19c019e }, + { CCI_REG32(0xe390), 0x17b017c }, + { CCI_REG32(0xe394), 0x1500152 }, + { CCI_REG32(0xe398), 0x13a013c }, + { CCI_REG32(0xe39c), 0x1310134 }, + { CCI_REG32(0xe3a0), 0x1310134 }, + { CCI_REG32(0xe3a4), 0x13c013f }, + { CCI_REG32(0xe3a8), 0x1540156 }, + { CCI_REG32(0xe3ac), 0x17e0180 }, + { CCI_REG32(0xe3b0), 0x1a101a4 }, + { CCI_REG32(0xe3b4), 0x1d301d8 }, + { CCI_REG32(0xe3b8), 0x2140219 }, + { CCI_REG32(0xe3bc), 0x249024e }, + { CCI_REG32(0xe3c0), 0x229022b }, + { CCI_REG32(0xe3c4), 0x1ed01ef }, + { CCI_REG32(0xe3c8), 0x1b001b2 }, + { CCI_REG32(0xe3cc), 0x17c017e }, + { CCI_REG32(0xe3d0), 0x1500151 }, + { CCI_REG32(0xe3d4), 0x13a013c }, + { CCI_REG32(0xe3d8), 0x11c011f }, + { CCI_REG32(0xe3dc), 0x1130117 }, + { CCI_REG32(0xe3e0), 0x1130117 }, + { CCI_REG32(0xe3e4), 0x1200123 }, + { CCI_REG32(0xe3e8), 0x13c013f }, + { CCI_REG32(0xe3ec), 0x1540156 }, + { CCI_REG32(0xe3f0), 0x1810183 }, + { CCI_REG32(0xe3f4), 0x1b601ba }, + { CCI_REG32(0xe3f8), 0x1f301f6 }, + { CCI_REG32(0xe3fc), 0x2300234 }, + { CCI_REG32(0xe400), 0x21d0221 }, + { CCI_REG32(0xe404), 0x1d801db }, + { CCI_REG32(0xe408), 0x19d019f }, + { CCI_REG32(0xe40c), 0x1670169 }, + { CCI_REG32(0xe410), 0x13b013d }, + { CCI_REG32(0xe414), 0x11c011f }, + { CCI_REG32(0xe418), 0x1130117 }, + { CCI_REG32(0xe41c), 0x1010106 }, + { CCI_REG32(0xe420), 0x1020108 }, + { CCI_REG32(0xe424), 0x1130117 }, + { CCI_REG32(0xe428), 0x1200123 }, + { CCI_REG32(0xe42c), 0x13f0142 }, + { CCI_REG32(0xe430), 0x16c016f }, + { CCI_REG32(0xe434), 0x1a301a6 }, + { CCI_REG32(0xe438), 0x1df01e2 }, + { CCI_REG32(0xe43c), 0x2240228 }, + { CCI_REG32(0xe440), 0x21d0220 }, + { CCI_REG32(0xe444), 0x1d001d3 }, + { CCI_REG32(0xe448), 0x1940196 }, + { CCI_REG32(0xe44c), 0x15d0160 }, + { CCI_REG32(0xe450), 0x1320135 }, + { CCI_REG32(0xe454), 0x1140118 }, + { CCI_REG32(0xe458), 0x1010106 }, + { CCI_REG32(0xe45c), 0x1000106 }, + { CCI_REG32(0xe460), 0x1000106 }, + { CCI_REG32(0xe464), 0x1030109 }, + { CCI_REG32(0xe468), 0x118011b }, + { CCI_REG32(0xe46c), 0x136013a }, + { CCI_REG32(0xe470), 0x1630165 }, + { CCI_REG32(0xe474), 0x19a019c }, + { CCI_REG32(0xe478), 0x1d601d9 }, + { CCI_REG32(0xe47c), 0x2240227 }, + { CCI_REG32(0xe480), 0x21d0220 }, + { CCI_REG32(0xe484), 0x1d001d3 }, + { CCI_REG32(0xe488), 0x1940196 }, + { CCI_REG32(0xe48c), 0x15d0160 }, + { CCI_REG32(0xe490), 0x1320135 }, + { CCI_REG32(0xe494), 0x1140118 }, + { CCI_REG32(0xe498), 0x1030109 }, + { CCI_REG32(0xe49c), 0x1000106 }, + { CCI_REG32(0xe4a0), 0x1020108 }, + { CCI_REG32(0xe4a4), 0x1030109 }, + { CCI_REG32(0xe4a8), 0x118011b }, + { CCI_REG32(0xe4ac), 0x1360139 }, + { CCI_REG32(0xe4b0), 0x1630165 }, + { CCI_REG32(0xe4b4), 0x19a019c }, + { CCI_REG32(0xe4b8), 0x1d601d9 }, + { CCI_REG32(0xe4bc), 0x2240227 }, + { CCI_REG32(0xe4c0), 0x21f0221 }, + { CCI_REG32(0xe4c4), 0x1db01de }, + { CCI_REG32(0xe4c8), 0x19f01a2 }, + { CCI_REG32(0xe4cc), 0x169016c }, + { CCI_REG32(0xe4d0), 0x13e0141 }, + { CCI_REG32(0xe4d4), 0x1200124 }, + { CCI_REG32(0xe4d8), 0x1140119 }, + { CCI_REG32(0xe4dc), 0x1030109 }, + { CCI_REG32(0xe4e0), 0x1030109 }, + { CCI_REG32(0xe4e4), 0x117011c }, + { CCI_REG32(0xe4e8), 0x1230126 }, + { CCI_REG32(0xe4ec), 0x1420145 }, + { CCI_REG32(0xe4f0), 0x16f0171 }, + { CCI_REG32(0xe4f4), 0x1a601a8 }, + { CCI_REG32(0xe4f8), 0x1e201e4 }, + { CCI_REG32(0xe4fc), 0x2250227 }, + { CCI_REG32(0xe500), 0x22d0231 }, + { CCI_REG32(0xe504), 0x1f101f4 }, + { CCI_REG32(0xe508), 0x1b401b7 }, + { CCI_REG32(0xe50c), 0x1810183 }, + { CCI_REG32(0xe510), 0x1560159 }, + { CCI_REG32(0xe514), 0x13e0141 }, + { CCI_REG32(0xe518), 0x1200124 }, + { CCI_REG32(0xe51c), 0x118011c }, + { CCI_REG32(0xe520), 0x118011c }, + { CCI_REG32(0xe524), 0x1230126 }, + { CCI_REG32(0xe528), 0x1420145 }, + { CCI_REG32(0xe52c), 0x15a015c }, + { CCI_REG32(0xe530), 0x1870188 }, + { CCI_REG32(0xe534), 0x1bb01bd }, + { CCI_REG32(0xe538), 0x1f801fb }, + { CCI_REG32(0xe53c), 0x2330236 }, + { CCI_REG32(0xe540), 0x24c0250 }, + { CCI_REG32(0xe544), 0x2160219 }, + { CCI_REG32(0xe548), 0x1d401d7 }, + { CCI_REG32(0xe54c), 0x1a401a6 }, + { CCI_REG32(0xe550), 0x1810183 }, + { CCI_REG32(0xe554), 0x1560158 }, + { CCI_REG32(0xe558), 0x1410144 }, + { CCI_REG32(0xe55c), 0x138013b }, + { CCI_REG32(0xe560), 0x138013b }, + { CCI_REG32(0xe564), 0x1430146 }, + { CCI_REG32(0xe568), 0x15a015c }, + { CCI_REG32(0xe56c), 0x1870188 }, + { CCI_REG32(0xe570), 0x1a901ab }, + { CCI_REG32(0xe574), 0x1db01dd }, + { CCI_REG32(0xe578), 0x21d0221 }, + { CCI_REG32(0xe57c), 0x2540259 }, + { CCI_REG32(0xe580), 0x2910296 }, + { CCI_REG32(0xe584), 0x24c0251 }, + { CCI_REG32(0xe588), 0x2010204 }, + { CCI_REG32(0xe58c), 0x1d401d6 }, + { CCI_REG32(0xe590), 0x1a401a5 }, + { CCI_REG32(0xe594), 0x1840186 }, + { CCI_REG32(0xe598), 0x16e0170 }, + { CCI_REG32(0xe59c), 0x1640167 }, + { CCI_REG32(0xe5a0), 0x1640167 }, + { CCI_REG32(0xe5a4), 0x1700173 }, + { CCI_REG32(0xe5a8), 0x188018a }, + { CCI_REG32(0xe5ac), 0x1a901ab }, + { CCI_REG32(0xe5b0), 0x1da01dd }, + { CCI_REG32(0xe5b4), 0x207020a }, + { CCI_REG32(0xe5b8), 0x2540259 }, + { CCI_REG32(0xe5bc), 0x29d02a3 }, + { CCI_REG32(0xe5c0), 0x2ae02b4 }, + { CCI_REG32(0xe5c4), 0x2910297 }, + { CCI_REG32(0xe5c8), 0x23f0243 }, + { CCI_REG32(0xe5cc), 0x2000201 }, + { CCI_REG32(0xe5d0), 0x1cc01cd }, + { CCI_REG32(0xe5d4), 0x1a401a6 }, + { CCI_REG32(0xe5d8), 0x19b019d }, + { CCI_REG32(0xe5dc), 0x19b019d }, + { CCI_REG32(0xe5e0), 0x19b019d }, + { CCI_REG32(0xe5e4), 0x19b019e }, + { CCI_REG32(0xe5e8), 0x1a901ab }, + { CCI_REG32(0xe5ec), 0x1d101d3 }, + { CCI_REG32(0xe5f0), 0x2060209 }, + { CCI_REG32(0xe5f4), 0x248024b }, + { CCI_REG32(0xe5f8), 0x29d02a3 }, + { CCI_REG32(0xe5fc), 0x2b902c0 }, + { CCI_REG8(0xd822), 0x01 }, + { CCI_REG8(0xd823), 0x0f }, }; /* Mode configs */