1*8c13a1c7Sriastradh /* $NetBSD: amdccpvar.h,v 1.2 2022/03/19 11:55:03 riastradh Exp $ */ 2450b8dafSjakllsch 3450b8dafSjakllsch /* 4450b8dafSjakllsch * Copyright (c) 2018 Jonathan A. Kollasch 5450b8dafSjakllsch * All rights reserved. 6450b8dafSjakllsch * 7450b8dafSjakllsch * Redistribution and use in source and binary forms, with or without 8450b8dafSjakllsch * modification, are permitted provided that the following conditions 9450b8dafSjakllsch * are met: 10450b8dafSjakllsch * 1. Redistributions of source code must retain the above copyright 11450b8dafSjakllsch * notice, this list of conditions and the following disclaimer. 12450b8dafSjakllsch * 2. Redistributions in binary form must reproduce the above copyright 13450b8dafSjakllsch * notice, this list of conditions and the following disclaimer in the 14450b8dafSjakllsch * documentation and/or other materials provided with the distribution. 15450b8dafSjakllsch * 16450b8dafSjakllsch * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17450b8dafSjakllsch * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18450b8dafSjakllsch * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19450b8dafSjakllsch * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 20450b8dafSjakllsch * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21450b8dafSjakllsch * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22450b8dafSjakllsch * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 23450b8dafSjakllsch * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24450b8dafSjakllsch * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 25450b8dafSjakllsch * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 26450b8dafSjakllsch * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27450b8dafSjakllsch */ 28450b8dafSjakllsch 29450b8dafSjakllsch #include <sys/rndsource.h> 30450b8dafSjakllsch #include <sys/mutex.h> 31450b8dafSjakllsch #include <sys/bus.h> 32450b8dafSjakllsch #include <sys/device.h> 33450b8dafSjakllsch 34450b8dafSjakllsch #define CCP_TRNG_REG 0x000c 35450b8dafSjakllsch 36450b8dafSjakllsch struct amdccp_softc { 37450b8dafSjakllsch device_t sc_dev; 38450b8dafSjakllsch bus_space_tag_t sc_bst; 39450b8dafSjakllsch bus_space_handle_t sc_bsh; 40450b8dafSjakllsch 41450b8dafSjakllsch krndsource_t sc_rndsource; 42450b8dafSjakllsch }; 43450b8dafSjakllsch 44450b8dafSjakllsch void amdccp_common_attach(struct amdccp_softc *); 45