xref: /freebsd/sys/arm64/cavium/thunder_pcie_pem.h (revision 95ee2897e98f5d444f26ed2334cc7c439f9c16c6)
19ccaab6dSZbigniew Bodek /*
29ccaab6dSZbigniew Bodek  * Copyright (C) 2016 Cavium Inc.
39ccaab6dSZbigniew Bodek  * All rights reserved.
49ccaab6dSZbigniew Bodek  *
59ccaab6dSZbigniew Bodek  * Developed by Semihalf.
69ccaab6dSZbigniew Bodek  *
79ccaab6dSZbigniew Bodek  * Redistribution and use in source and binary forms, with or without
89ccaab6dSZbigniew Bodek  * modification, are permitted provided that the following conditions
99ccaab6dSZbigniew Bodek  * are met:
109ccaab6dSZbigniew Bodek  * 1. Redistributions of source code must retain the above copyright
119ccaab6dSZbigniew Bodek  *    notice, this list of conditions and the following disclaimer.
129ccaab6dSZbigniew Bodek  * 2. Redistributions in binary form must reproduce the above copyright
139ccaab6dSZbigniew Bodek  *    notice, this list of conditions and the following disclaimer in the
149ccaab6dSZbigniew Bodek  *    documentation and/or other materials provided with the distribution.
159ccaab6dSZbigniew Bodek  *
169ccaab6dSZbigniew Bodek  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
179ccaab6dSZbigniew Bodek  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
189ccaab6dSZbigniew Bodek  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
199ccaab6dSZbigniew Bodek  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
209ccaab6dSZbigniew Bodek  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
219ccaab6dSZbigniew Bodek  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
229ccaab6dSZbigniew Bodek  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
239ccaab6dSZbigniew Bodek  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
249ccaab6dSZbigniew Bodek  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
259ccaab6dSZbigniew Bodek  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
269ccaab6dSZbigniew Bodek  * SUCH DAMAGE.
279ccaab6dSZbigniew Bodek  *
289ccaab6dSZbigniew Bodek  */
299ccaab6dSZbigniew Bodek 
309ccaab6dSZbigniew Bodek #ifndef __THUNDER_PCIE_PEM_H__
319ccaab6dSZbigniew Bodek #define	__THUNDER_PCIE_PEM_H__
329ccaab6dSZbigniew Bodek 
339ccaab6dSZbigniew Bodek #define	THUNDER_PEM_DESC		"ThunderX PEM"
349ccaab6dSZbigniew Bodek 
359ccaab6dSZbigniew Bodek struct thunder_pem_softc {
369ccaab6dSZbigniew Bodek 	device_t		dev;
379ccaab6dSZbigniew Bodek 	struct resource		*reg;
389ccaab6dSZbigniew Bodek 	bus_space_tag_t		reg_bst;
399ccaab6dSZbigniew Bodek 	bus_space_handle_t	reg_bsh;
40*2760c2caSAndrew Turner 	bus_dma_tag_t		dmat;
41fb05500bSWojciech Macek 	struct pcie_range	ranges[MAX_RANGES_TUPLES];
429ccaab6dSZbigniew Bodek 	struct rman		mem_rman;
439ccaab6dSZbigniew Bodek 	struct rman		io_rman;
449ccaab6dSZbigniew Bodek 	bus_space_handle_t	pem_sli_base;
459ccaab6dSZbigniew Bodek 	uint32_t		node;
469ccaab6dSZbigniew Bodek 	uint32_t		id;
479ccaab6dSZbigniew Bodek 	uint32_t		sli;
489ccaab6dSZbigniew Bodek 	uint32_t		sli_group;
499ccaab6dSZbigniew Bodek 	uint64_t		sli_window_base;
509ccaab6dSZbigniew Bodek };
519ccaab6dSZbigniew Bodek 
529ccaab6dSZbigniew Bodek #endif
53