forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
797 B
38 lines
797 B
// SPDX-License-Identifier: GPL-2.0 |
|
|
|
/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. |
|
* Copyright (C) 2019-2020 Linaro Ltd. |
|
*/ |
|
|
|
#include <linux/io.h> |
|
|
|
#include "ipa.h" |
|
#include "ipa_reg.h" |
|
|
|
int ipa_reg_init(struct ipa *ipa) |
|
{ |
|
struct device *dev = &ipa->pdev->dev; |
|
struct resource *res; |
|
|
|
/* Setup IPA register memory */ |
|
res = platform_get_resource_byname(ipa->pdev, IORESOURCE_MEM, |
|
"ipa-reg"); |
|
if (!res) { |
|
dev_err(dev, "DT error getting \"ipa-reg\" memory property\n"); |
|
return -ENODEV; |
|
} |
|
|
|
ipa->reg_virt = ioremap(res->start, resource_size(res)); |
|
if (!ipa->reg_virt) { |
|
dev_err(dev, "unable to remap \"ipa-reg\" memory\n"); |
|
return -ENOMEM; |
|
} |
|
ipa->reg_addr = res->start; |
|
|
|
return 0; |
|
} |
|
|
|
void ipa_reg_exit(struct ipa *ipa) |
|
{ |
|
iounmap(ipa->reg_virt); |
|
}
|
|
|