18fcbfd53SPratap Nirujogi /* SPDX-License-Identifier: MIT */ 28fcbfd53SPratap Nirujogi /* 38fcbfd53SPratap Nirujogi * Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. 48fcbfd53SPratap Nirujogi * All Rights Reserved. 58fcbfd53SPratap Nirujogi * 68fcbfd53SPratap Nirujogi * Permission is hereby granted, free of charge, to any person obtaining a 78fcbfd53SPratap Nirujogi * copy of this software and associated documentation files (the 88fcbfd53SPratap Nirujogi * "Software"), to deal in the Software without restriction, including 98fcbfd53SPratap Nirujogi * without limitation the rights to use, copy, modify, merge, publish, 108fcbfd53SPratap Nirujogi * distribute, sub license, and/or sell copies of the Software, and to 118fcbfd53SPratap Nirujogi * permit persons to whom the Software is furnished to do so, subject to 128fcbfd53SPratap Nirujogi * the following conditions: 138fcbfd53SPratap Nirujogi * 148fcbfd53SPratap Nirujogi * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 158fcbfd53SPratap Nirujogi * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 168fcbfd53SPratap Nirujogi * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 178fcbfd53SPratap Nirujogi * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, 188fcbfd53SPratap Nirujogi * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 198fcbfd53SPratap Nirujogi * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 208fcbfd53SPratap Nirujogi * USE OR OTHER DEALINGS IN THE SOFTWARE. 218fcbfd53SPratap Nirujogi * 228fcbfd53SPratap Nirujogi * The above copyright notice and this permission notice (including the 238fcbfd53SPratap Nirujogi * next paragraph) shall be included in all copies or substantial portions 248fcbfd53SPratap Nirujogi * of the Software. 258fcbfd53SPratap Nirujogi * 268fcbfd53SPratap Nirujogi */ 278fcbfd53SPratap Nirujogi 288fcbfd53SPratap Nirujogi #ifndef __AMDGPU_ISP_H__ 298fcbfd53SPratap Nirujogi #define __AMDGPU_ISP_H__ 308fcbfd53SPratap Nirujogi 318fcbfd53SPratap Nirujogi #define ISP_REGS_OFFSET_END 0x629A4 328fcbfd53SPratap Nirujogi 3305bafe95SPratap Nirujogi struct amdgpu_isp; 340253d718SPratap Nirujogi 358fcbfd53SPratap Nirujogi struct isp_platform_data { 368fcbfd53SPratap Nirujogi void *adev; 378fcbfd53SPratap Nirujogi u32 asic_type; 388fcbfd53SPratap Nirujogi resource_size_t base_rmmio_size; 398fcbfd53SPratap Nirujogi }; 408fcbfd53SPratap Nirujogi 4105bafe95SPratap Nirujogi struct isp_funcs { 4205bafe95SPratap Nirujogi int (*hw_init)(struct amdgpu_isp *isp); 4305bafe95SPratap Nirujogi int (*hw_fini)(struct amdgpu_isp *isp); 4405bafe95SPratap Nirujogi }; 4505bafe95SPratap Nirujogi 468fcbfd53SPratap Nirujogi struct amdgpu_isp { 478fcbfd53SPratap Nirujogi struct device *parent; 4805bafe95SPratap Nirujogi struct amdgpu_device *adev; 4905bafe95SPratap Nirujogi const struct isp_funcs *funcs; 508fcbfd53SPratap Nirujogi struct mfd_cell *isp_cell; 518fcbfd53SPratap Nirujogi struct resource *isp_res; 5225dd25f8SVenkata Narendra Kumar Gutta struct resource *isp_i2c_res; 53*dce1b823SBenjamin Chan struct resource *isp_gpio_res; 548fcbfd53SPratap Nirujogi struct isp_platform_data *isp_pdata; 558fcbfd53SPratap Nirujogi unsigned int harvest_config; 568fcbfd53SPratap Nirujogi const struct firmware *fw; 578fcbfd53SPratap Nirujogi }; 588fcbfd53SPratap Nirujogi 5905bafe95SPratap Nirujogi extern const struct amdgpu_ip_block_version isp_v4_1_0_ip_block; 6005bafe95SPratap Nirujogi extern const struct amdgpu_ip_block_version isp_v4_1_1_ip_block; 618fcbfd53SPratap Nirujogi 628fcbfd53SPratap Nirujogi #endif /* __AMDGPU_ISP_H__ */ 63