#
6c2ccb39 |
|
19-Sep-2018 |
Mike Voydanoff <voydanoff@google.com> |
[gpio] Refactor the GPIO protocol This is a first step in a move toward using protocols to represent individual resources. A similar change will be made to the I2C protocol to bring it in line with how I2C is used on x86 platforms. From the client's point of view, an instance of the ZX_PROTOCOL_GPIO protocol now represents a single pin. The protocol remains the same, except the "uint32_t index" has been removed from all the protocol functions. For devices that have only one GPIO resource assigned to them, the driver can simply call device_get_protocol() to access the GPIO protocol for the pin. To for devices with more than one GPIO pins, a new API in the platform bus called pdev_get_protocol() must be used instead. In addition, we add a new protocol ZX_PROTOCOL_GPIO_IMPL, which is now implemented by the GPIO drivers. This protocol is essentially the same as the old GPIO protocol, except "index" has been renamed "pin". Board drivers may use this protocol directly when doing low level system configuration, specifying pin numbers directly. TEST: Booted on VIM2 and Hikey. On VIM2, USB, display, ethernet and the GPIO test driver are working properly On Hikey, the system boots and USB is functional. Change-Id: I44f1bc11ad9793543361a2d19d7a2de4458c334b
|
#
2d20e548 |
|
04-Sep-2018 |
Mike Voydanoff <voydanoff@google.com> |
[ddk][gpio] Break gpio_config() API into two functions gpio_config_in() is used to configure a pin for input, while gpio_config_out() is used to configure a pin for output. gpio_config_out() now takes an initial value for the pin, so the configuration and value can be set atomically to avoid a race condition or glitch between setting it as output and writing the value. Also removed some unnecessary GPIO configuration flags. Now we only have flags for configuring the pull-up in gpio_config_in(). gpio_get_interrupt() uses interrupt handle flags for configuring edge vs level triggered, so we don't need GPIO_* flags for these. TEST: manual testing on VIM2, astro and gauss ZX-2564 #in progress ZX-2465 #in progress Change-Id: I280c489ba951ca5953c0a2d57135c3482dd96c37
|
#
0d71f953 |
|
21-Aug-2018 |
Mike Voydanoff <voydanoff@google.com> |
[dev][platform-bus] Clean-up and simplify platform bus protocol: - Remove "flags" parameter from pbus_device_add(). Now platform devices can only be started in new devhosts. - Add new API pbus_protocol_device_add(), for binding drivers that implement platform bus protocols like GPIO and I2C_IMPL. pbus_protocol_device_add() is equivalent to pbus_device_add(PDEV_ADD_PBUS_DEVHOST) followed by pbus_wait_protocol(). - Remove pbus_wait_protocol(). pbus_protocol_device_add() does the wait for you automatically. - Rename pbus_set_protocol() to pbus_register_protocol() These changes will hopefully make the platform bus protocol easier to understand and use. I found two places where people accidentally using PDEV_ADD_PBUS_DEVHOST inappropriately (probably copy & paste errors), which resulted in the entire network stack and storage stack running in the platform bus devhost. Hopefully this change will make it impossible for mistakes like that to happen again. While doing this I also noticed that the gauss nand driver and vim2 ethernet driver were running in the platform bus devhost. This change fixes that. Also removed some remnants of the pbus_device_enable() API, which has been removed previously. TEST: boot up on qemu, VIM2, gauss and astro and verified platform devices all start up properly Change-Id: I580269bc6f53a63348ba8ab580259b1ba56dd393
|
#
eb8acef7 |
|
11-Jul-2018 |
Andres Oportus <andresoportus@google.com> |
[board][gauss] Add missing status update on thrd creation Test: build only Change-Id: I48decd2c8c3f6e25fa5d11fba10db4b5c6e807bb
|
#
f6e7f694 |
|
28-Jun-2018 |
Mike Voydanoff <voydanoff@google.com> |
[board][gauss] Remove support for USB dwc3 controller At the time the origininal code was written, I didn't realize that the A113 SOC used dwc3 for host only and used dwc2 for device mode. We don't support dwc2, so we only run gauss in host mode. dwc3 host support is the same as XHCI, so we can just use the xhci driver directly and do not need the dwc3 driver at all. Test: manual testing on gauss. USB ethernet dongle enumerates successfully. Change-Id: I4d90e8adb5e169aba9ac10778ad2ea8c9794973e
|
#
1fcd2dc2 |
|
24-May-2018 |
Mohan Srinivasan <srmohan@google.com> |
[gauss] Gauss board driver for Amlogic RAW_NAND. Change-Id: I0d7b657e184c43aa4b4d61bc7c1be0cb0f02dc54
|
#
0c0b48d9 |
|
28-Mar-2018 |
Gurjant Kalsi <gkalsi@google.com> |
[aml][pcie][dw] DW/Amlogic PCIe for Gauss Implements a low level PCIe driver for the Amlogic configuration of the DesignWare PCIe controller. The DW controller provides an address translation unit that can be programmed to translate addresses from the host address space into PCI address space. This driver configures one segment of the host's address space to translate into the PCI ECAM registers and programs the rest of the host's PCI address space to be reserved for BARs. A follow up patch will instantiate the PCI bus driver using these address spaces. Change-Id: I423f14ea2229af8f12b6f03882270b59acbc7a7b
|
#
4f9a7a76 |
|
14-Mar-2018 |
Mike Voydanoff <voydanoff@google.com> |
[board][gauss] Switch remaining io_buffer usage to BTI aware calls Change-Id: Ib5a8b87ef2938303e17338d8592c074fcf7f3703
|
#
3d7afe70 |
|
14-Mar-2018 |
Mike Voydanoff <voydanoff@google.com> |
[board][hikey] Switch remaining io_buffer usage to BTI aware calls Change-Id: I3b4af570cca1352d424d48a5466943380660ca25
|
#
18bd68a6 |
|
09-Mar-2018 |
Mike Voydanoff <voydanoff@google.com> |
[dev][board] Use io_buffer_init_physical_with_bti() instead of the deprecated io_buffer_init_physical() in the vim, hikey960 and gauss platform board drivers Change-Id: Ice59d6b890c1118ce15b104d2ac673bd6119114d
|
#
efccc459 |
|
12-Mar-2018 |
Mike Voydanoff <voydanoff@google.com> |
[dev][aml-i2c] Remove unnecessary header file Move the enum listing the gauss I2C ports into the gauss board driver and stop using it in the aml-i2c driver. Change-Id: Ic634a62fcb4108106ee3939b6c4bd72f732cdb11
|
#
8a8271fa |
|
15-Feb-2018 |
Gurjant Kalsi <gkalsi@google.com> |
[clk][amlogic][a113] Clock Protocol Driver Implements the clock enable/disable protocol for the aml113 (meson-axg) Change-Id: Id8d835f5fd9a384c2b8e783fb2e89088000f73b9
|
#
9a1a58e4 |
|
28-Jan-2018 |
Mike Voydanoff <voydanoff@google.com> |
[amlogic][i2c] Refactor the aml-a113 I2C driver The driver is now separately loadable and the a113 specific configuration is now in the gauss board driver. This will allow us to use the driver for other Amlogic platforms. Change-Id: I821c56562016fe449bc0896e81294ebe314fd9e3
|
#
1a42751a |
|
22-Jan-2018 |
Mike Voydanoff <voydanoff@google.com> |
[amlogic][gpio] Refactor the aml-a113 GPIO driver The driver is now separately loadable and the a113 specific configuration is now in the gauss board driver. This will allow us to use the driver for other Amlogic platforms. Change-Id: I2e056428c359bf8016a076f73eed97591f9b415e
|
#
ecab9d84 |
|
18-Jan-2018 |
Mike Voydanoff <voydanoff@google.com> |
[dev][platform-bus] Replace pbus_set_interface with pbus_set_protocol The interface provided by the board driver to the platform bus only supports retrieving protocols from the board driver, so it is simpler to just have the board drivers set protocols on the platform bus driver instead. Change-Id: I2d0a04504102c4a49082b3d4eeba3cf4380dacab
|
#
fc9d21de |
|
17-Jan-2018 |
Mike Voydanoff <voydanoff@google.com> |
[soc][aml-a113] GPIO driver refactoring Refactor the aml-a113 driver so we can use it for other Amlogic platforms Change-Id: I25f7a703e7006200643ae917317df4014e255de1
|
#
6e76dab1 |
|
17-Jan-2018 |
Mike Voydanoff <voydanoff@google.com> |
[soc][aml-a113][i2c] I2C refactoring Refactor aml-a113 driver so we can use it for other Amlogic platform Step 1 of general Amlogic SOC refactoring Change-Id: If9a02b934db72430498e7fc12246931360482225
|
#
0c1b90bc |
|
29-Nov-2017 |
Eric Holland <hollande@google.com> |
[gauss][clocks] set and use mpll2 Change-Id: I4364dd9e7ecf5d48feb8107033a119287b643be5
|
#
66b69d93 |
|
21-Nov-2017 |
Mike Voydanoff <voydanoff@google.com> |
[dev][soc][aml-a113] Break a113_bus_t into separate structs for GPIO and I2C Change-Id: I45f48f5065e5f21dfd9b5d7008b42ad8c32668d1
|
#
15b77498 |
|
14-Nov-2017 |
Bailey Forrest <bcf@google.com> |
[dev][gauss led] Implement LED driver for gauss Example usage: echo "1"> /dev/sys/platform/0003:0001:0004/gauss-led/reset echo "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24" > /dev/sys/platform/0003:0001:0004/gauss-led/pwm echo "153" > /dev/sys/platform/0003:0001:0004/gauss-led/duty_cycle cat /dev/sys/platform/0003:0001:0004/gauss-led/pwm cat /dev/sys/platform/0003:0001:0004/gauss-led/duty_cycle Bug: 69431907 Test: Manual on device. Change-Id: Ic229d214af4d7fe389e9ff757d23195fc5bfe2f4
|
#
8b50077a |
|
20-Nov-2017 |
Eric Holland <hollande@google.com> |
[gauss][board] refactor audio out dev Change-Id: Iaffc4e01af94bbc682a57279e83b941c9b3af4e7
|
#
2d321c39 |
|
14-Nov-2017 |
Mike Voydanoff <voydanoff@google.com> |
[gauss] Refactor gauss platform bus driver Move platform bus support driver for gauss to system/dev/board/gauss. Also move gauss i2c test driver to system/dev/board/gauss. Amlogic A113 specific code remains in system/dev/soc/aml-a113, which is now a static library. Later we may move code (i2c, gpio, etc) that works for other Amlogic SOCs may get broken out into separate libraries. Change-Id: If2133824563be3086a8ea41064e5955d6ae4d609
|