14562236bSHarry Wentland /* 24562236bSHarry Wentland * Copyright 2012-15 Advanced Micro Devices, Inc. 34562236bSHarry Wentland * 44562236bSHarry Wentland * Permission is hereby granted, free of charge, to any person obtaining a 54562236bSHarry Wentland * copy of this software and associated documentation files (the "Software"), 64562236bSHarry Wentland * to deal in the Software without restriction, including without limitation 74562236bSHarry Wentland * the rights to use, copy, modify, merge, publish, distribute, sublicense, 84562236bSHarry Wentland * and/or sell copies of the Software, and to permit persons to whom the 94562236bSHarry Wentland * Software is furnished to do so, subject to the following conditions: 104562236bSHarry Wentland * 114562236bSHarry Wentland * The above copyright notice and this permission notice shall be included in 124562236bSHarry Wentland * all copies or substantial portions of the Software. 134562236bSHarry Wentland * 144562236bSHarry Wentland * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 154562236bSHarry Wentland * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 164562236bSHarry Wentland * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 174562236bSHarry Wentland * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR 184562236bSHarry Wentland * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 194562236bSHarry Wentland * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 204562236bSHarry Wentland * OTHER DEALINGS IN THE SOFTWARE. 214562236bSHarry Wentland * 224562236bSHarry Wentland * Authors: AMD 234562236bSHarry Wentland * 244562236bSHarry Wentland */ 254562236bSHarry Wentland 264562236bSHarry Wentland #ifndef __DAL_HW_HPD_H__ 274562236bSHarry Wentland #define __DAL_HW_HPD_H__ 284562236bSHarry Wentland 294562236bSHarry Wentland #include "hpd_regs.h" 304562236bSHarry Wentland 314562236bSHarry Wentland struct hw_hpd { 324562236bSHarry Wentland struct hw_gpio base; 334562236bSHarry Wentland const struct hpd_registers *regs; 344562236bSHarry Wentland const struct hpd_sh_mask *shifts; 354562236bSHarry Wentland const struct hpd_sh_mask *masks; 364562236bSHarry Wentland }; 374562236bSHarry Wentland 384562236bSHarry Wentland #define HW_HPD_FROM_BASE(hw_gpio) \ 394562236bSHarry Wentland container_of((HW_GPIO_FROM_BASE(hw_gpio)), struct hw_hpd, base) 404562236bSHarry Wentland 4191db9311SSu Sung Chung void dal_hw_hpd_init( 4291db9311SSu Sung Chung struct hw_hpd **hw_hpd, 434562236bSHarry Wentland struct dc_context *ctx, 444562236bSHarry Wentland enum gpio_id id, 454562236bSHarry Wentland uint32_t en); 464562236bSHarry Wentland 4791db9311SSu Sung Chung struct hw_gpio_pin *dal_hw_hpd_get_pin(struct gpio *gpio); 4891db9311SSu Sung Chung 494562236bSHarry Wentland #endif 50