xref: /rk3399_ARM-atf/plat/intel/soc/common/drivers/combophy/combophy.h (revision 6f7f8b18e9641d34c5b02b5f5e050d6e0fae12fc)
1ddaf02d1SJit Loon Lim /*
2ddaf02d1SJit Loon Lim  * Copyright (c) 2022-2023, Intel Corporation. All rights reserved.
3*6f7f8b18SGirisha Dengi  * Copyright (c) 2025, Altera Corporation. All rights reserved.
4ddaf02d1SJit Loon Lim  *
5ddaf02d1SJit Loon Lim  * SPDX-License-Identifier: BSD-3-Clause
6ddaf02d1SJit Loon Lim  */
7ddaf02d1SJit Loon Lim 
8ddaf02d1SJit Loon Lim #ifndef COMBOPHY_H
9ddaf02d1SJit Loon Lim #define COMBOPHY_H
10ddaf02d1SJit Loon Lim 
11ddaf02d1SJit Loon Lim #include <lib/mmio.h>
12ddaf02d1SJit Loon Lim 
13ddaf02d1SJit Loon Lim #include "socfpga_handoff.h"
14ddaf02d1SJit Loon Lim 
15ddaf02d1SJit Loon Lim #define PERIPHERAL_SDMMC_MASK		0x60
16ddaf02d1SJit Loon Lim #define PERIPHERAL_SDMMC_OFFSET		6
17ddaf02d1SJit Loon Lim #define DFI_INTF_MASK			0x1
18ddaf02d1SJit Loon Lim 
196993598fSGirisha Dengi /* Peripheral configuration, power gate enable bit masks */
206993598fSGirisha Dengi #define POWER_GATE_EN_USB2_X		BIT(0)
216993598fSGirisha Dengi #define POWER_GATE_EN_USB3_X		BIT(1)
226993598fSGirisha Dengi #define POWER_GATE_EN_EMAC0		BIT(2)
236993598fSGirisha Dengi #define POWER_GATE_EN_EMAC1		BIT(3)
246993598fSGirisha Dengi #define POWER_GATE_EN_EMAC2		BIT(4)
256993598fSGirisha Dengi #define POWER_GATE_EN_NAND		BIT(5)
266993598fSGirisha Dengi #define POWER_GATE_EN_SDEMMC		BIT(6)
276993598fSGirisha Dengi #define POWER_GATE_EN_CORESIGHT		BIT(7)
286993598fSGirisha Dengi 
296993598fSGirisha Dengi #define DFI_CTRL_SEL_HPNFC		0x00	/* Non-volatile flash controller */
306993598fSGirisha Dengi #define DFI_CTRL_SEL_SDEMMC		0x01	/* SDMMC controller */
316993598fSGirisha Dengi 
32ddaf02d1SJit Loon Lim /* FUNCTION DEFINATION */
33ddaf02d1SJit Loon Lim /*
34ddaf02d1SJit Loon Lim  * @brief Nand controller initialization function
35ddaf02d1SJit Loon Lim  *
36ddaf02d1SJit Loon Lim  * @hoff_ptr: Pointer to the hand-off data
37ddaf02d1SJit Loon Lim  * Return: 0 on success, a negative errno on failure
38ddaf02d1SJit Loon Lim  */
39ddaf02d1SJit Loon Lim int combo_phy_init(handoff *hoff_ptr);
40ddaf02d1SJit Loon Lim int dfi_select(handoff *hoff_ptr);
41ddaf02d1SJit Loon Lim 
42ddaf02d1SJit Loon Lim #endif