Lines Matching refs:base_addr

22 static inline bool probe_component(uintptr_t base_addr, uint8_t component)  in probe_component()  argument
24 uint32_t aidr = read_iri_aidr(base_addr); in probe_component()
47 static void iwb_configure_domainr(uintptr_t base_addr, struct gicv5_wire_props wire) in iwb_configure_domainr() argument
51 uint32_t val = read_iwb_wdomainr(base_addr, reg_index) & in iwb_configure_domainr()
54 write_iwb_wdomainr(base_addr, reg_index, val | wire.domain << reg_offset); in iwb_configure_domainr()
57 static void iwb_configure_wtmr(uintptr_t base_addr, struct gicv5_wire_props wire) in iwb_configure_wtmr() argument
61 uint32_t val = read_iwb_wtmr(base_addr, reg_index) & ~(1U << reg_offset); in iwb_configure_wtmr()
63 write_iwb_wtmr(base_addr, reg_index, val | wire.tm << reg_offset); in iwb_configure_wtmr()
68 uintptr_t base_addr = config->config_frame; in iwb_enable() local
72 assert(probe_component(base_addr, IRI_AIDR_COMPONENT_IWB)); in iwb_enable()
74 idr0 = read_iwb_idr0(base_addr); in iwb_enable()
79 write_iwb_wenabler(base_addr, i, 0U); in iwb_enable()
84 write_iwb_wdomainr(base_addr, i, 0x55555555); in iwb_enable()
91 iwb_configure_domainr(base_addr, config->wires[i]); in iwb_enable()
92 iwb_configure_wtmr(base_addr, config->wires[i]); in iwb_enable()
95 write_iwb_cr0(base_addr, IWB_CR0_IWBEN_BIT); in iwb_enable()
96 WAIT_FOR_IDLE_IWB_WENABLE_STATUSR(base_addr); in iwb_enable()
97 WAIT_FOR_IDLE_IWB_WDOMAIN_STATUSR(base_addr); in iwb_enable()
98 WAIT_FOR_IDLE_IWB_CR0(base_addr); in iwb_enable()
101 static void irs_configure_wire(uintptr_t base_addr, uint32_t wire, uint8_t domain) in irs_configure_wire() argument
103 write_irs_spi_selr(base_addr, wire); in irs_configure_wire()
104 WAIT_FOR_VIDLE_IRS_SPI_STATUSR(base_addr); in irs_configure_wire()
106 write_irs_spi_domainr(base_addr, domain); in irs_configure_wire()
107 WAIT_FOR_VIDLE_IRS_SPI_STATUSR(base_addr); in irs_configure_wire()
113 uintptr_t base_addr = config->el3_config_frame; in irs_enable() local
115 spi_base = EXTRACT(IRS_IDR7_SPI_BASE, read_irs_idr7(base_addr)); in irs_enable()
116 spi_range = EXTRACT(IRS_IDR6_SPI_IRS_RANGE, read_irs_idr6(base_addr)); in irs_enable()
118 assert(probe_component(base_addr, IRI_AIDR_COMPONENT_IRS)); in irs_enable()
126 irs_configure_wire(base_addr, i, INTDMN_NS); in irs_enable()
133 irs_configure_wire(base_addr, config->spis[i].id, config->spis[i].domain); in irs_enable()
137 write_irs_spi_cfgr(base_addr, config->spis[i].tm); in irs_enable()
138 WAIT_FOR_VIDLE_IRS_SPI_STATUSR(base_addr); in irs_enable()