From patchwork Sat Jan 16 23:44:43 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 569184 X-Patchwork-Delegate: sjg@chromium.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id B4997140B98 for ; Sun, 17 Jan 2016 10:45:42 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b=Xtq3TRWz; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A3688A77EE; Sun, 17 Jan 2016 00:45:36 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Lovrhs6jtlMp; Sun, 17 Jan 2016 00:45:36 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id E619FA77F0; Sun, 17 Jan 2016 00:45:17 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id D4F0EA7797 for ; Sun, 17 Jan 2016 00:45:08 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id W9eGwv_FV9OG for ; Sun, 17 Jan 2016 00:45:08 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-ob0-f181.google.com (mail-ob0-f181.google.com [209.85.214.181]) by theia.denx.de (Postfix) with ESMTPS id 190C7A778F for ; Sun, 17 Jan 2016 00:45:01 +0100 (CET) Received: by mail-ob0-f181.google.com with SMTP id vt7so137585197obb.1 for ; Sat, 16 Jan 2016 15:45:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=Y8Q0U9voT43q7V6jZGqQwN8Y4wS7HCJAMWVUOiZEMMc=; b=Xtq3TRWz9QEZarFlxB/I6mIr7RI5ER2uvw2cd026yc3o7wFaUQmyQdEKndD3H5YKbO PbHZqX8U9pXv0B7xNgDO1kXZW5t3MJss9zKT0iCUfRq0LUWMqejQkh7ldeZv6L8SoGNx ndR8148klzQKBnTou6gs2H0FBzqWpWPM/QrGCQdW+S+HeQAqMd4aSH/4NhtsUa5KbMKj QOtjUz3b9ky92h6j8Y9aFkfPAB71JkHPR0pqpnOu4JavguCCcWSY7+FSSZFY4KN1yeE9 NN5/JPLu9wEikyds7DR1Smdj+Oj9lMFeqzSQ4zJIIyCfGCh1CU3KBVMhpMOxo6QwW95B 2lSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=Y8Q0U9voT43q7V6jZGqQwN8Y4wS7HCJAMWVUOiZEMMc=; b=XOFL+4y6Gnkl8viRDYIhwqrPy1IWBRFhWQE0f8DrWx7cVvro6C9f/NuPrkVDWbQ/YS 3agn1/fMdoEf/4AvBYQr2/Xs6tT3LcQBiWypLWWz+I2xfZ68CKRWiXqiTytqXmfU4zOH zu+mxVPFL8wxVV9K6/muH01a7Yb6LPxqGqpi/2xnn4VYERutL5MUQhHoxK9fakZ9LRXj ZLFZIrAyZWx36EBkdCUk6hA25Oe9C/rLiZBbV9GwTQuILgbdApK9uzj3yaQMULTQPIL5 A2Q8qqkBKbtiDhd1mWtH97AmbPIYlCupo/oIiR/lDQ7Bwb9XA8MzDR2r/OAbahFFcD3v H0JA== X-Gm-Message-State: ALoCoQkhGb1MpB/3YiHXqCf6rNplm0ncSh6da1uxf2zrw6NyKnvI0qXIsqH6PkUcvi19EjwwDloa/ccPm+PFoc3pBNOow5vv/A== X-Received: by 10.60.116.169 with SMTP id jx9mr13824897oeb.30.1452987900554; Sat, 16 Jan 2016 15:45:00 -0800 (PST) Received: from kaki.bld.corp.google.com ([172.29.216.32]) by smtp.gmail.com with ESMTPSA id a65sm9651850oih.14.2016.01.16.15.44.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 16 Jan 2016 15:44:59 -0800 (PST) Received: by kaki.bld.corp.google.com (Postfix, from userid 121222) id 702D32219C1; Sat, 16 Jan 2016 16:44:56 -0700 (MST) From: Simon Glass To: U-Boot Mailing List Date: Sat, 16 Jan 2016 16:44:43 -0700 Message-Id: <1452987885-21970-7-git-send-email-sjg@chromium.org> X-Mailer: git-send-email 2.6.0.rc2.230.g3dd15c0 In-Reply-To: <1452987885-21970-1-git-send-email-sjg@chromium.org> References: <1452987885-21970-1-git-send-email-sjg@chromium.org> Subject: [U-Boot] [PATCH v4 6/8] dm: x86: Add a driver for Intel PCH9 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" At some point we may need to distinguish between different types of PCHs, but for existing supported platforms we only need to worry about version 7 and version 9 bridges. Add a driver for the PCH9. Signed-off-by: Simon Glass Reviewed-by: Bin Meng --- Changes in v4: None Changes in v3: None Changes in v2: - Rename the PCH functions - Update the get_version() handle to use an enum drivers/pch/Makefile | 1 + drivers/pch/pch9.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 drivers/pch/pch9.c diff --git a/drivers/pch/Makefile b/drivers/pch/Makefile index 33aa727..dde9e86 100644 --- a/drivers/pch/Makefile +++ b/drivers/pch/Makefile @@ -4,3 +4,4 @@ obj-y += pch-uclass.o obj-y += pch7.o +obj-y += pch9.o diff --git a/drivers/pch/pch9.c b/drivers/pch/pch9.c new file mode 100644 index 0000000..529cb02 --- /dev/null +++ b/drivers/pch/pch9.c @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2014 Google, Inc + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include + +#define SBASE_ADDR 0x54 + +static int pch9_get_sbase(struct udevice *dev, ulong *sbasep) +{ + uint32_t sbase_addr; + + dm_pci_read_config32(dev, SBASE_ADDR, &sbase_addr); + *sbasep = sbase_addr & 0xfffffe00; + + return 0; +} + +static enum pch_version pch9_get_version(struct udevice *dev) +{ + return PCHV_9; +} + +static const struct pch_ops pch9_ops = { + .get_sbase = pch9_get_sbase, + .get_version = pch9_get_version, +}; + +static const struct udevice_id pch9_ids[] = { + { .compatible = "intel,pch9" }, + { } +}; + +U_BOOT_DRIVER(pch9_drv) = { + .name = "intel-pch9", + .id = UCLASS_PCH, + .of_match = pch9_ids, + .ops = &pch9_ops, +};