AMD_FCH_GPIO_FLAG_DIRECTION
writel_relaxed(readl_relaxed(ptr) & ~AMD_FCH_GPIO_FLAG_DIRECTION, ptr);
writel_relaxed(val | AMD_FCH_GPIO_FLAG_DIRECTION, ptr);
ret = (readl_relaxed(ptr) & AMD_FCH_GPIO_FLAG_DIRECTION);