blob: 07297aaf37a759cec212cdb72e3c5e947a95a9f4 [file] [log] [blame]
Angel Ponsf4702c22020-04-03 01:22:49 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +01002
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +01003#include <device/device.h>
Angel Pons95de2312020-02-17 13:08:53 +01004#include <northbridge/intel/ironlake/ironlake.h>
Keith Hui940cbed2024-04-13 16:19:46 -04005#include <southbridge/intel/ibexpeak/pch.h>
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +01006#include <ec/acpi/ec.h>
Vladimir Serbinenkoa2a906e2014-09-01 01:41:37 +02007#include <drivers/intel/gma/int15.h>
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +01008#include <pc80/keyboard.h>
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +01009
Kyösti Mälkki219bacc2018-05-23 14:20:45 +030010static void mainboard_enable(struct device *dev)
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +010011{
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +010012 int i;
Elyes HAOUAS74295c12016-10-01 09:06:41 +020013 const u8 dmp[256] = {
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +010014 0x00, 0x20, 0x00, 0x00, 0x00, 0x02, 0x89, 0xe4, 0x30, 0x00, 0x40, 0x14, 0x00, 0x00, 0x00, 0x11,
15 0x03, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
17 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
18 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0xf4, 0x01, 0x00, 0x00, 0x01,
19 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
21 0x62, 0x01, 0x04, 0x00, 0x08, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08,
22 0x42, 0x07, 0x09, 0x09, 0xf0, 0x00, 0x00, 0xf0, 0xa9, 0x00, 0x00, 0x06, 0x00, 0x00, 0xff, 0x00,
23 0x00, 0x01, 0x00, 0x04, 0xff, 0xff, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0b,
24 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x28, 0x1b, 0x21, 0x00, 0x2c, 0x3b, 0x13, 0x00,
25 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
26 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
27 0x55, 0x5a, 0x57, 0x5c, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00,
28 0x52, 0x10, 0x52, 0x10, 0x64, 0x00, 0x00, 0x00, 0x74, 0x30, 0x00, 0x60, 0x00, 0x00, 0xaf, 0x0b,
29 0x30, 0x45, 0x2e, 0x30, 0x38, 0x41, 0x43, 0x2e, 0x30, 0x31, 0x2e, 0x31, 0x36, 0x20, 0x00, 0x00,
Elyes HAOUAS74295c12016-10-01 09:06:41 +020030 };
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +010031
32 for (i = 0; i < 256; i++)
Elyes Haouase0991762023-09-10 10:34:47 +020033 ec_write(i, dmp[i]);
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +010034
Vladimir Serbinenkoa2a906e2014-09-01 01:41:37 +020035 install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_LFP, 2);
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +010036
37 /* This sneaked in here, because EasyNote has no SuperIO chip.
38 */
Timothy Pearson448e3862015-11-24 14:12:01 -060039 pc_keyboard_init(NO_AUX_DEVICE);
Vladimir Serbinenkob1ccccc2014-02-19 22:20:14 +010040}
41
42struct chip_operations mainboard_ops = {
43 .enable_dev = mainboard_enable,
44};