[Skiboot] [PATCH 3/3] external/pflash: Remove unused files

Cyril Bur cyril.bur at au1.ibm.com
Tue Oct 11 18:51:22 AEDT 2016


Signed-off-by: Cyril Bur <cyril.bur at au1.ibm.com>
---
 external/pflash/lpc.h        |  31 ----
 external/pflash/powerpc_io.c | 341 -------------------------------------------
 2 files changed, 372 deletions(-)
 delete mode 100644 external/pflash/lpc.h
 delete mode 100644 external/pflash/powerpc_io.c

diff --git a/external/pflash/lpc.h b/external/pflash/lpc.h
deleted file mode 100644
index 0b16208..0000000
--- a/external/pflash/lpc.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2013-2014 IBM Corp.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * 	http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- * implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __PFLASH_LPC_H
-#define __PFLASH_LPC_H
-
-/* Fake routines for accessing the LPC bus from within linux used by pflash
- * and implemented by powerpc_io.c or arm_io.c */
-
-extern int64_t lpc_fw_read32(uint32_t *val, uint32_t addr);
-
-extern int64_t lpc_fw_write32(uint32_t val, uint32_t addr);
-
-extern void lpc_outb(uint8_t data, uint32_t addr);
-
-extern uint8_t lpc_inb(uint32_t addr);
-
-#endif /* __PFLASH_LPC_H */
diff --git a/external/pflash/powerpc_io.c b/external/pflash/powerpc_io.c
deleted file mode 100644
index 7678161..0000000
--- a/external/pflash/powerpc_io.c
+++ /dev/null
@@ -1,341 +0,0 @@
-#define _GNU_SOURCE /* for strcasestr */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <byteswap.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include <getopt.h>
-#include <limits.h>
-#include <arpa/inet.h>
-#include <assert.h>
-
-#include "io.h"
-
-/* Big endian warning/note:
- *
- * The register accessors return byteswapped data for registers
- */
-uint32_t (*ast_ahb_readl)(uint32_t offset);
-void (*ast_ahb_writel)(uint32_t val, uint32_t offset);
-int (*ast_copy_to_ahb)(uint32_t reg, const void *src, uint32_t len);
-int (*ast_copy_from_ahb)(void *dst, uint32_t reg, uint32_t len);
-
-static enum ppc_platform {
-	plat_unknown,
-	plat_rhesus,
-	plat_ast_bmc,
-} ppc_platform;
-
-static int lpc_io_fd = -1, lpc_fw_fd = -1;
-static uint32_t lpc_old_flash_reg;
-static uint32_t ahb_flash_base, ahb_flash_size, lpc_flash_offset;
-
-static void lpc_outb(uint8_t val, uint16_t port)
-{
-	int rc;
-
-	lseek(lpc_io_fd, port, SEEK_SET);
-	rc = write(lpc_io_fd, &val, 1);
-	if (rc != 1) {
-		perror("Can't write to LPC IO");
-		exit(1);
-	}
-}
-
-static uint8_t lpc_inb(uint16_t port)
-{
-	uint8_t val;
-	int rc;
-
-	lseek(lpc_io_fd, port, SEEK_SET);
-	rc = read(lpc_io_fd, &val, 1);
-	if (rc != 1) {
-		perror("Can't read from LPC IO");
-		exit(1);
-	}
-	return val;
-}
-
-int lpc_fw_write32(uint32_t val, uint32_t addr)
-{
-	int rc;
-
-	/* The value passed in is in big endian always */
-	lseek(lpc_fw_fd, addr, SEEK_SET);
-	rc = write(lpc_fw_fd, &val, 4);
-	if (rc != 4) {
-		perror("Can't write to LPC FW");
-		exit(1);
-	}
-	return 0;
-}
-
-int lpc_fw_read32(uint32_t *val, uint32_t addr)
-{
-	int rc;
-
-	lseek(lpc_fw_fd, addr, SEEK_SET);
-	rc = read(lpc_fw_fd, val, 4);
-	if (rc != 4) {
-		perror("Can't read from LPC FW");
-		exit(1);
-	}
-	return 0;
-}
-
-static void lpc_sio_outb(uint8_t val, uint8_t reg)
-{
-	lpc_outb(reg, 0x2e);
-	lpc_outb(val, 0x2f);
-}
-
-static uint8_t lpc_sio_inb(uint8_t reg)
-{
-	lpc_outb(reg, 0x2e);
-	return lpc_inb(0x2f);
-}
-
-static void lpc_ahb_prep(uint32_t reg, uint8_t type)
-{
-	/* Address */
-	lpc_sio_outb((reg >> 24) & 0xff, 0xf0);
-	lpc_sio_outb((reg >> 16) & 0xff, 0xf1);
-	lpc_sio_outb((reg >>  8) & 0xff, 0xf2);
-	lpc_sio_outb((reg      ) & 0xff, 0xf3);
-
-	/* 4 bytes cycle */
-	lpc_sio_outb(type, 0xf8);
-}
-
-static void lpc_ahb_writel(uint32_t val, uint32_t reg)
-{
-	lpc_ahb_prep(reg, 2);
-
-	/* Write data */
-	lpc_sio_outb(val >> 24, 0xf4);
-	lpc_sio_outb(val >> 16, 0xf5);
-	lpc_sio_outb(val >>  8, 0xf6);
-	lpc_sio_outb(val      , 0xf7);
-
-	/* Trigger */
-	lpc_sio_outb(0xcf, 0xfe);
-}
-
-static uint32_t lpc_ahb_readl(uint32_t reg)
-{
-	uint32_t val = 0;
-
-	lpc_ahb_prep(reg, 2);
-
-	/* Trigger */	
-	lpc_sio_inb(0xfe);
-
-	/* Read results */
-	val = (val << 8) | lpc_sio_inb(0xf4);
-	val = (val << 8) | lpc_sio_inb(0xf5);
-	val = (val << 8) | lpc_sio_inb(0xf6);
-	val = (val << 8) | lpc_sio_inb(0xf7);
-
-	return val;
-}
-
-static void lpc_ahb_init(bool bmc_flash)
-{
-	uint32_t b;
-
-	/* Send SuperIO password */
-	lpc_outb(0xa5, 0x2e);
-	lpc_outb(0xa5, 0x2e);
-
-	/* Select logical dev d */
-	lpc_sio_outb(0x0d, 0x07);
-
-	/* Enable iLPC->AHB */
-	lpc_sio_outb(0x01, 0x30);
-
-	/* Save flash base */
-	lpc_old_flash_reg = b = lpc_ahb_readl(LPC_CTRL_BASE + 0x88);
-	/* Upate flash base */
-	if (bmc_flash) {
-		ahb_flash_base = BMC_FLASH_BASE;
-		ahb_flash_size = BMC_FLASH_SIZE;
-	} else {
-		ahb_flash_base = PNOR_FLASH_BASE;
-		ahb_flash_size = PNOR_FLASH_SIZE;
-	}
-	lpc_flash_offset = 0x0e000000;
-	b = (b & 0x0000ffff) | ahb_flash_base;
-	lpc_ahb_writel(b, LPC_CTRL_BASE + 0x88);
-	b = lpc_ahb_readl(LPC_CTRL_BASE + 0x88);
-}
-
-static int lpc_ast_copy_from_ahb(void *dst, uint32_t reg, uint32_t len)
-{
-	int rc;
-
-	if (reg < ahb_flash_base ||
-	    (reg + len) > (ahb_flash_base + ahb_flash_size))
-		return -1;
-	reg = (reg - ahb_flash_base) + lpc_flash_offset;
-
-	lseek(lpc_fw_fd, reg, SEEK_SET);
-	rc = read(lpc_fw_fd, dst, len);
-	if (rc != len) {
-		perror("Can't read bulk from LPC FW");
-		exit(1);
-	}
-	return 0;
-}
-
-static int lpc_ast_copy_to_ahb(uint32_t reg, const void *src, uint32_t len)
-{
-	int rc;
-
-	if (reg < ahb_flash_base ||
-	    (reg + len) > (ahb_flash_base + ahb_flash_size))
-		return -1;
-	reg = (reg - ahb_flash_base) + lpc_flash_offset;
-
-	lseek(lpc_fw_fd, reg, SEEK_SET);
-	rc = write(lpc_fw_fd, src, len);
-	if (rc != len) {
-		perror("Can't write bulk from LPC FW");
-		exit(1);
-	}
-	return 0;
-}
-
-/*
- * Write protect: TODO use custom IPMI to control lock from BMC
- */
-static uint32_t lpc_gpio_ctl_readl(uint32_t offset)
-{
-	return lpc_ahb_readl(GPIO_CTRL_BASE + offset);
-}
-
-static void lpc_gpio_ctl_writel(uint32_t val, uint32_t offset)
-{
-	lpc_ahb_writel(val, GPIO_CTRL_BASE + offset);
-}
-
-bool set_wrprotect(bool protect)
-{
-	uint32_t reg;
-	bool was_protected;
-
-	if (ppc_platform != plat_ast_bmc)
-		return false;
-
-	reg = lpc_gpio_ctl_readl(0x20);
-	was_protected = !!(reg & 0x00004000);
-	if (protect)
-		reg |= 0x00004000; /* GPIOF[6] value */
-	else
-		reg &= ~0x00004000; /* GPIOF[6] value */
-	lpc_gpio_ctl_writel(reg, 0x20);
-	reg = lpc_gpio_ctl_readl(0x24);
-	reg |= 0x00004000; /* GPIOF[6] direction */
-	lpc_gpio_ctl_writel(reg, 0x24);
-
-	return was_protected;
-}
-
-static void open_lpc(bool bmc_flash)
-{      
-	lpc_fw_fd = open("/sys/kernel/debug/powerpc/lpc/fw", O_RDWR);
-	if (lpc_fw_fd < 0) {
-		perror("can't open LPC MEM");
-		exit(1);
-	}
-
-	if (ppc_platform != plat_ast_bmc)
-		return;
-
-	lpc_io_fd = open("/sys/kernel/debug/powerpc/lpc/io", O_RDWR);
-	if (lpc_io_fd < 0) {
-		perror("can't open LPC IO");
-		exit(1);
-	}
-
-	ast_ahb_readl = lpc_ahb_readl;
-	ast_ahb_writel = lpc_ahb_writel;
-	ast_copy_to_ahb = lpc_ast_copy_to_ahb;
-	ast_copy_from_ahb = lpc_ast_copy_from_ahb;
-
-	lpc_ahb_init(bmc_flash);
-}
-
-void close_devs(void)
-{
-	if (lpc_io_fd < 0 ||  lpc_fw_fd < 0)
-		return;
-
-	if (ppc_platform != plat_ast_bmc)
-		return;
-
-	/* Restore flash base */
-	lpc_ahb_writel(lpc_old_flash_reg, LPC_CTRL_BASE + 0x88);
-}
-
-static void open_pci(bool bmc_flash)
-{
-	/* XXX */
-	fprintf(stderr, "WARNING: PCI access method not implemented !\n");
-	fprintf(stderr, "         Use -l or --lpc\n");
-	exit(1);
-}
-
-static void identify_platform(void)
-{
-	FILE *cpuinfo;
-	char *lptr = NULL;
-	size_t lsize = 0;
-	bool found = false;
-
-	ppc_platform = plat_unknown;
-
-	cpuinfo = fopen("/proc/cpuinfo", "r");
-	if (!cpuinfo) {
-		perror("Can't open /proc/cpuinfo");
-		exit(1);
-	}
-	while(!found && getline(&lptr, &lsize, cpuinfo) >= 0) {
-		if (!strncmp(lptr, "model", 5)) {
-			if (strcasestr(lptr, "rhesus"))
-				ppc_platform = plat_rhesus;
-			else if (strcasestr(lptr, "palmetto"))
-				ppc_platform = plat_ast_bmc;
-			found = true;
-		}
-		free(lptr);
-		lptr = NULL;
-		lsize = 0;
-	}
-}
-
-void open_devs(bool use_lpc, bool bmc_flash)
-{
-	if (ppc_platform == plat_unknown) {
-		fprintf(stderr, "Unsupported platform !\n");
-		exit(1);
-	}
-
-	if (use_lpc)
-		open_lpc(bmc_flash);
-	else
-		open_pci(bmc_flash);
-}
-
-void check_platform(bool *has_sfc, bool *has_ast)
-{
-	identify_platform();
-
-	*has_sfc = ppc_platform == plat_rhesus;
-	*has_ast = ppc_platform == plat_ast_bmc;
-}
-- 
2.10.0



More information about the Skiboot mailing list