40 lines
		
	
	
		
			727 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			727 B
		
	
	
	
		
			C
		
	
	
	
| // SPDX-License-Identifier: GPL-2.0
 | |
| /*
 | |
|  * Sandbox P2SB for testing
 | |
|  *
 | |
|  * Copyright 2019 Google LLC
 | |
|  */
 | |
| 
 | |
| #define LOG_CATEGORY UCLASS_P2SB
 | |
| 
 | |
| #include <common.h>
 | |
| #include <dm.h>
 | |
| #include <asm/io.h>
 | |
| #include <p2sb.h>
 | |
| 
 | |
| struct sandbox_p2sb_priv {
 | |
| 	ulong base;
 | |
| };
 | |
| 
 | |
| static int sandbox_p2sb_probe(struct udevice *dev)
 | |
| {
 | |
| 	struct p2sb_uc_priv *upriv = dev_get_uclass_priv(dev);
 | |
| 
 | |
| 	upriv->mmio_base = dm_pci_read_bar32(dev, 0);
 | |
| 
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| static const struct udevice_id sandbox_p2sb_ids[] = {
 | |
| 	{ .compatible = "sandbox,p2sb" },
 | |
| 	{ }
 | |
| };
 | |
| 
 | |
| U_BOOT_DRIVER(p2sb_sandbox) = {
 | |
| 	.name = "p2sb_sandbox",
 | |
| 	.id = UCLASS_P2SB,
 | |
| 	.of_match = sandbox_p2sb_ids,
 | |
| 	.probe = sandbox_p2sb_probe,
 | |
| 	.priv_auto_alloc_size = sizeof(struct sandbox_p2sb_priv),
 | |
| };
 |