On Fri, Jan 31, 2020 at 4:09 AM Philippe Mathieu-Daudé <f4...@amsat.org> wrote: > > Hi Aleksandar, > > Cc'ing Thomas & Daniel who are not lawyers but tried to explain me few > times how licensing works. > > On Fri, Jan 31, 2020 at 2:56 AM Aleksandar Markovic > <aleksandar.m.m...@gmail.com> wrote: > > On Fri, Jan 31, 2020 at 1:03 AM Aleksandar Markovic > > <aleksandar.marko...@rt-rk.com> wrote: > > > > > > From: Philippe Mathieu-Daudé <f4...@amsat.org> > > > > > > Add some AVR microcontrollers from the ATmega family: > > > > > > - middle range: ATmega168 and ATmega328 > > > - high range: ATmega1280 and ATmega2560 > > > > > > For product comparison: > > > > > > https://www.microchip.com/wwwproducts/ProductCompare/ATmega168P/ATmega328P > > > > > > https://www.microchip.com/wwwproducts/ProductCompare/ATmega1280/ATmega2560 > > > > > > Datasheets: > > > > > > http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf > > > > > > http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf > > > > > > [AM: Remove word 'Atmel' from filenames and all elements of code] > > > Suggested-by: Aleksandar Markovic <aleksandar.m.m...@gmail.com> > > > > > > Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> > > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > > > Signed-off-by: Aleksandar Markovic <aleksandar.m.m...@gmail.com> > > > --- > > > hw/avr/Kconfig | 5 + > > > hw/avr/Makefile.objs | 1 + > > > hw/avr/atmega.c | 470 > > > +++++++++++++++++++++++++++++++++++++++++++++++++++ > > > hw/avr/atmega.h | 48 ++++++ > > > 4 files changed, 524 insertions(+) > > > create mode 100644 hw/avr/Kconfig > > > create mode 100644 hw/avr/atmega.c > > > create mode 100644 hw/avr/atmega.h > > > > > > diff --git a/hw/avr/Kconfig b/hw/avr/Kconfig > > > new file mode 100644 > > > index 0000000..9e6527e > > > --- /dev/null > > > +++ b/hw/avr/Kconfig > > > @@ -0,0 +1,5 @@ > > > +config AVR_ATMEGA_MCU > > > + bool > > > + select AVR_TIMER16 > > > + select AVR_USART > > > + select AVR_POWER > > > diff --git a/hw/avr/Makefile.objs b/hw/avr/Makefile.objs > > > index 123f174..af0fdde 100644 > > > --- a/hw/avr/Makefile.objs > > > +++ b/hw/avr/Makefile.objs > > > @@ -1 +1,2 @@ > > > obj-y += boot.o > > > +obj-$(CONFIG_AVR_ATMEGA_MCU) += atmega.o > > > diff --git a/hw/avr/atmega.c b/hw/avr/atmega.c > > > new file mode 100644 > > > index 0000000..8cdf28b > > > --- /dev/null > > > +++ b/hw/avr/atmega.c > > > @@ -0,0 +1,470 @@ > > > +/* > > > + * QEMU ATmega MCU > > > + * > > > + * Copyright (c) 2019 Philippe Mathieu-Daudé > > > + * > > > + * This work is licensed under the terms of the GNU GPLv2 or later. > > > + * See the COPYING file in the top-level directory. > > > + * SPDX-License-Identifier: GPL-2.0-or-later > > > + */ > > > > Philippe, > > > > Michael and I already agreed at some moment that the whole target AVR > > should have harmonized licenses, and Sarrah agreed to change her > > license to achieve this. Do you agree to harmonize your licenses with > > the rest of the project? (This would mean changing the preable, but of > > course you remain copyright carrier as is now.) > > What license do you want to use? I always use "GPLv2 or later" with > QEMU, mostly following what the others do. > > Per https://wiki.qemu.org/License: > > Source files with no licensing information are released under the > GNU General Public License, version 2 or (at your option) any later > version. > > Reading about licensing is not fun :( >
Philippe, here is the deal: All new files for AVR platform has the following preamble, that Michael chose from the outset: + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see + * <http://www.gnu.org/licenses/lgpl-2.1.html> Now, it is preferable that licenses are harmonized within a module, and I ask you to change the preamble to be the same as the rest of the module, that is all. This practically means LGPL2.1+later instead LGPL2.0+later. I think it is reasonable that we want to simplify out license stuff, not complicate it with different licenses within a module. There are examples of complications in cases of different license within the same module, so it would be ideal if we avoid such situations. Aleksandar > > > > Thanks, > > Aleksandar